@bitgo/account-lib 2.19.0-rc.1 → 2.19.0-rc.12

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 (180) hide show
  1. package/DEVELOPER.md +1 -1
  2. package/dist/browser/bitgo-account-lib.js +1 -1
  3. package/dist/browser/bitgo-account-lib.js.LICENSE.txt +4 -4
  4. package/dist/package.json +10 -10
  5. package/dist/src/coin/algo/ifaces.d.ts +1 -0
  6. package/dist/src/coin/algo/ifaces.d.ts.map +1 -1
  7. package/dist/src/coin/algo/ifaces.js +1 -1
  8. package/dist/src/coin/algo/index.d.ts +2 -0
  9. package/dist/src/coin/algo/index.d.ts.map +1 -1
  10. package/dist/src/coin/algo/index.js +23 -2
  11. package/dist/src/coin/algo/keyRegistrationBuilder.d.ts +24 -5
  12. package/dist/src/coin/algo/keyRegistrationBuilder.d.ts.map +1 -1
  13. package/dist/src/coin/algo/keyRegistrationBuilder.js +100 -21
  14. package/dist/src/coin/algo/transaction.d.ts.map +1 -1
  15. package/dist/src/coin/algo/transaction.js +15 -6
  16. package/dist/src/coin/algo/txnSchema.d.ts.map +1 -1
  17. package/dist/src/coin/algo/txnSchema.js +2 -1
  18. package/dist/src/coin/algo/utils.d.ts +5 -0
  19. package/dist/src/coin/algo/utils.d.ts.map +1 -1
  20. package/dist/src/coin/algo/utils.js +19 -2
  21. package/dist/src/coin/avaxc/resources.js +3 -3
  22. package/dist/src/coin/avaxc/transactionBuilder.d.ts +1 -1
  23. package/dist/src/coin/avaxc/transactionBuilder.d.ts.map +1 -1
  24. package/dist/src/coin/avaxc/transactionBuilder.js +1 -1
  25. package/dist/src/coin/baseCoin/blsKeyPair.js +7 -7
  26. package/dist/src/coin/baseCoin/errors.d.ts +6 -0
  27. package/dist/src/coin/baseCoin/errors.d.ts.map +1 -1
  28. package/dist/src/coin/baseCoin/errors.js +13 -2
  29. package/dist/src/coin/baseCoin/index.d.ts +1 -0
  30. package/dist/src/coin/baseCoin/index.d.ts.map +1 -1
  31. package/dist/src/coin/baseCoin/index.js +4 -2
  32. package/dist/src/coin/celo/stakingBuilder.d.ts +1 -1
  33. package/dist/src/coin/celo/stakingBuilder.d.ts.map +1 -1
  34. package/dist/src/coin/celo/stakingBuilder.js +1 -1
  35. package/dist/src/coin/celo/transactionBuilder.d.ts +1 -1
  36. package/dist/src/coin/celo/transactionBuilder.d.ts.map +1 -1
  37. package/dist/src/coin/celo/transactionBuilder.js +1 -1
  38. package/dist/src/coin/cspr/delegateBuilder.d.ts +1 -1
  39. package/dist/src/coin/cspr/delegateBuilder.d.ts.map +1 -1
  40. package/dist/src/coin/cspr/delegateBuilder.js +1 -1
  41. package/dist/src/coin/cspr/transaction.d.ts +1 -1
  42. package/dist/src/coin/cspr/transaction.d.ts.map +1 -1
  43. package/dist/src/coin/cspr/transaction.js +1 -1
  44. package/dist/src/coin/cspr/transactionBuilder.d.ts +1 -1
  45. package/dist/src/coin/cspr/transactionBuilder.d.ts.map +1 -1
  46. package/dist/src/coin/cspr/transactionBuilder.js +1 -1
  47. package/dist/src/coin/cspr/transactionBuilderFactory.d.ts +1 -1
  48. package/dist/src/coin/cspr/transactionBuilderFactory.d.ts.map +1 -1
  49. package/dist/src/coin/cspr/transactionBuilderFactory.js +1 -1
  50. package/dist/src/coin/cspr/transferBuilder.d.ts +1 -1
  51. package/dist/src/coin/cspr/transferBuilder.d.ts.map +1 -1
  52. package/dist/src/coin/cspr/transferBuilder.js +1 -1
  53. package/dist/src/coin/cspr/undelegateBuilder.d.ts +1 -1
  54. package/dist/src/coin/cspr/undelegateBuilder.d.ts.map +1 -1
  55. package/dist/src/coin/cspr/undelegateBuilder.js +1 -1
  56. package/dist/src/coin/cspr/walletInitializationBuilder.d.ts +1 -1
  57. package/dist/src/coin/cspr/walletInitializationBuilder.d.ts.map +1 -1
  58. package/dist/src/coin/cspr/walletInitializationBuilder.js +1 -1
  59. package/dist/src/coin/dot/batchTransactionBuilder.d.ts.map +1 -1
  60. package/dist/src/coin/dot/batchTransactionBuilder.js +1 -1
  61. package/dist/src/coin/dot/iface.d.ts +8 -2
  62. package/dist/src/coin/dot/iface.d.ts.map +1 -1
  63. package/dist/src/coin/dot/iface.js +2 -1
  64. package/dist/src/coin/dot/index.d.ts +2 -0
  65. package/dist/src/coin/dot/index.d.ts.map +1 -1
  66. package/dist/src/coin/dot/index.js +6 -2
  67. package/dist/src/coin/dot/keyPair.d.ts.map +1 -1
  68. package/dist/src/coin/dot/keyPair.js +4 -2
  69. package/dist/src/coin/dot/singletonRegistry.d.ts +7 -0
  70. package/dist/src/coin/dot/singletonRegistry.d.ts.map +1 -0
  71. package/dist/src/coin/dot/singletonRegistry.js +23 -0
  72. package/dist/src/coin/dot/transaction.d.ts +24 -3
  73. package/dist/src/coin/dot/transaction.d.ts.map +1 -1
  74. package/dist/src/coin/dot/transaction.js +73 -66
  75. package/dist/src/coin/dot/transactionBuilder.d.ts +7 -2
  76. package/dist/src/coin/dot/transactionBuilder.d.ts.map +1 -1
  77. package/dist/src/coin/dot/transactionBuilder.js +21 -9
  78. package/dist/src/coin/dot/transactionBuilderFactory.d.ts +2 -1
  79. package/dist/src/coin/dot/transactionBuilderFactory.d.ts.map +1 -1
  80. package/dist/src/coin/dot/transactionBuilderFactory.js +6 -7
  81. package/dist/src/coin/dot/transferBuilder.d.ts.map +1 -1
  82. package/dist/src/coin/dot/transferBuilder.js +4 -3
  83. package/dist/src/coin/dot/txnSchema.d.ts +1 -0
  84. package/dist/src/coin/dot/txnSchema.d.ts.map +1 -1
  85. package/dist/src/coin/dot/txnSchema.js +5 -2
  86. package/dist/src/coin/dot/utils.d.ts +37 -4
  87. package/dist/src/coin/dot/utils.d.ts.map +1 -1
  88. package/dist/src/coin/dot/utils.js +61 -11
  89. package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts +38 -0
  90. package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts.map +1 -0
  91. package/dist/src/coin/dot/withdrawUnstakedBuilder.js +112 -0
  92. package/dist/src/coin/etc/transactionBuilder.d.ts +1 -1
  93. package/dist/src/coin/etc/transactionBuilder.d.ts.map +1 -1
  94. package/dist/src/coin/etc/transactionBuilder.js +1 -1
  95. package/dist/src/coin/eth2/keyPair.js +2 -2
  96. package/dist/src/coin/hbar/transaction.d.ts +1 -1
  97. package/dist/src/coin/hbar/transaction.d.ts.map +1 -1
  98. package/dist/src/coin/hbar/transaction.js +1 -1
  99. package/dist/src/coin/hbar/transactionBuilder.d.ts +1 -1
  100. package/dist/src/coin/hbar/transactionBuilder.d.ts.map +1 -1
  101. package/dist/src/coin/hbar/transactionBuilder.js +1 -1
  102. package/dist/src/coin/hbar/transactionBuilderFactory.d.ts +1 -1
  103. package/dist/src/coin/hbar/transactionBuilderFactory.d.ts.map +1 -1
  104. package/dist/src/coin/hbar/transactionBuilderFactory.js +1 -1
  105. package/dist/src/coin/hbar/transferBuilder.d.ts +1 -1
  106. package/dist/src/coin/hbar/transferBuilder.d.ts.map +1 -1
  107. package/dist/src/coin/hbar/transferBuilder.js +1 -1
  108. package/dist/src/coin/hbar/walletInitializationBuilder.d.ts +1 -1
  109. package/dist/src/coin/hbar/walletInitializationBuilder.d.ts.map +1 -1
  110. package/dist/src/coin/hbar/walletInitializationBuilder.js +1 -1
  111. package/dist/src/coin/near/iface.d.ts +29 -0
  112. package/dist/src/coin/near/iface.d.ts.map +1 -0
  113. package/dist/src/coin/near/iface.js +8 -0
  114. package/dist/src/coin/near/transaction.d.ts +26 -2
  115. package/dist/src/coin/near/transaction.d.ts.map +1 -1
  116. package/dist/src/coin/near/transaction.js +110 -10
  117. package/dist/src/coin/near/transactionBuilder.d.ts +41 -7
  118. package/dist/src/coin/near/transactionBuilder.d.ts.map +1 -1
  119. package/dist/src/coin/near/transactionBuilder.js +70 -14
  120. package/dist/src/coin/near/transferBuilder.d.ts +14 -0
  121. package/dist/src/coin/near/transferBuilder.d.ts.map +1 -1
  122. package/dist/src/coin/near/transferBuilder.js +52 -2
  123. package/dist/src/coin/near/utils.d.ts +18 -2
  124. package/dist/src/coin/near/utils.d.ts.map +1 -1
  125. package/dist/src/coin/near/utils.js +36 -9
  126. package/dist/src/coin/rbtc/transactionBuilder.d.ts +1 -1
  127. package/dist/src/coin/rbtc/transactionBuilder.d.ts.map +1 -1
  128. package/dist/src/coin/rbtc/transactionBuilder.js +1 -1
  129. package/dist/src/coin/sol/ataInitializationBuilder.d.ts +2 -0
  130. package/dist/src/coin/sol/ataInitializationBuilder.d.ts.map +1 -1
  131. package/dist/src/coin/sol/ataInitializationBuilder.js +7 -5
  132. package/dist/src/coin/sol/ataInitializationTransaction.d.ts +14 -0
  133. package/dist/src/coin/sol/ataInitializationTransaction.d.ts.map +1 -0
  134. package/dist/src/coin/sol/ataInitializationTransaction.js +104 -0
  135. package/dist/src/coin/sol/constants.d.ts +3 -1
  136. package/dist/src/coin/sol/constants.d.ts.map +1 -1
  137. package/dist/src/coin/sol/constants.js +4 -1
  138. package/dist/src/coin/sol/iface.d.ts +12 -3
  139. package/dist/src/coin/sol/iface.d.ts.map +1 -1
  140. package/dist/src/coin/sol/iface.js +1 -1
  141. package/dist/src/coin/sol/index.d.ts +2 -1
  142. package/dist/src/coin/sol/index.d.ts.map +1 -1
  143. package/dist/src/coin/sol/index.js +4 -2
  144. package/dist/src/coin/sol/instructionParamsFactory.d.ts.map +1 -1
  145. package/dist/src/coin/sol/instructionParamsFactory.js +17 -1
  146. package/dist/src/coin/sol/solInstructionFactory.d.ts.map +1 -1
  147. package/dist/src/coin/sol/solInstructionFactory.js +33 -1
  148. package/dist/src/coin/sol/tokenEncodeDecode.d.ts +85 -0
  149. package/dist/src/coin/sol/tokenEncodeDecode.d.ts.map +1 -0
  150. package/dist/src/coin/sol/tokenEncodeDecode.js +162 -0
  151. package/dist/src/coin/sol/tokenTransferBuilder.d.ts +27 -0
  152. package/dist/src/coin/sol/tokenTransferBuilder.d.ts.map +1 -0
  153. package/dist/src/coin/sol/tokenTransferBuilder.js +146 -0
  154. package/dist/src/coin/sol/transaction.d.ts +5 -2
  155. package/dist/src/coin/sol/transaction.d.ts.map +1 -1
  156. package/dist/src/coin/sol/transaction.js +25 -22
  157. package/dist/src/coin/sol/transactionBuilder.d.ts +1 -1
  158. package/dist/src/coin/sol/transactionBuilder.d.ts.map +1 -1
  159. package/dist/src/coin/sol/transactionBuilder.js +1 -1
  160. package/dist/src/coin/sol/transactionBuilderFactory.d.ts +6 -1
  161. package/dist/src/coin/sol/transactionBuilderFactory.d.ts.map +1 -1
  162. package/dist/src/coin/sol/transactionBuilderFactory.js +19 -4
  163. package/dist/src/coin/sol/transferBuilder.d.ts.map +1 -1
  164. package/dist/src/coin/sol/transferBuilder.js +1 -1
  165. package/dist/src/coin/sol/utils.d.ts.map +1 -1
  166. package/dist/src/coin/sol/utils.js +4 -3
  167. package/dist/src/coin/stx/utils.d.ts +29 -0
  168. package/dist/src/coin/stx/utils.d.ts.map +1 -1
  169. package/dist/src/coin/stx/utils.js +50 -2
  170. package/dist/src/index.d.ts +2 -0
  171. package/dist/src/index.d.ts.map +1 -1
  172. package/dist/src/index.js +7 -2
  173. package/dist/src/mpc/tss.d.ts +6 -6
  174. package/dist/src/mpc/tss.d.ts.map +1 -1
  175. package/dist/src/mpc/tss.js +3 -2
  176. package/dist/src/utils/crypto.d.ts +15 -0
  177. package/dist/src/utils/crypto.d.ts.map +1 -1
  178. package/dist/src/utils/crypto.js +33 -2
  179. package/dist/tsconfig.tsbuildinfo +1 -0
  180. package/package.json +10 -10
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.decodeTransferCheckedInstruction = exports.TokenInvalidInstructionTypeError = exports.TokenInvalidInstructionKeysError = exports.TokenInvalidInstructionProgramError = exports.TokenError = exports.TokenInstruction = void 0;
19
+ var spl_token_1 = require("@solana/spl-token");
20
+ var BigNumber = require('bignumber.js');
21
+ /*
22
+ IMPORTANT:
23
+
24
+ Since token transfer encoding and decoding is in alpha (v 0.2.0-alpha.2), a version that is currently not functional due to typing bugs,
25
+ this file is the cherry-picked methods that are required to complete the token transfer feature. When the Solana foundation releases a stable
26
+ version, this file should be deleted and the spl-token methods should be used.
27
+ */
28
+ var TokenInstruction;
29
+ (function (TokenInstruction) {
30
+ TokenInstruction[TokenInstruction["InitializeMint"] = 0] = "InitializeMint";
31
+ TokenInstruction[TokenInstruction["InitializeAccount"] = 1] = "InitializeAccount";
32
+ TokenInstruction[TokenInstruction["InitializeMultisig"] = 2] = "InitializeMultisig";
33
+ TokenInstruction[TokenInstruction["Transfer"] = 3] = "Transfer";
34
+ TokenInstruction[TokenInstruction["Approve"] = 4] = "Approve";
35
+ TokenInstruction[TokenInstruction["Revoke"] = 5] = "Revoke";
36
+ TokenInstruction[TokenInstruction["SetAuthority"] = 6] = "SetAuthority";
37
+ TokenInstruction[TokenInstruction["MintTo"] = 7] = "MintTo";
38
+ TokenInstruction[TokenInstruction["Burn"] = 8] = "Burn";
39
+ TokenInstruction[TokenInstruction["CloseAccount"] = 9] = "CloseAccount";
40
+ TokenInstruction[TokenInstruction["FreezeAccount"] = 10] = "FreezeAccount";
41
+ TokenInstruction[TokenInstruction["ThawAccount"] = 11] = "ThawAccount";
42
+ TokenInstruction[TokenInstruction["TransferChecked"] = 12] = "TransferChecked";
43
+ TokenInstruction[TokenInstruction["ApproveChecked"] = 13] = "ApproveChecked";
44
+ TokenInstruction[TokenInstruction["MintToChecked"] = 14] = "MintToChecked";
45
+ TokenInstruction[TokenInstruction["BurnChecked"] = 15] = "BurnChecked";
46
+ TokenInstruction[TokenInstruction["InitializeAccount2"] = 16] = "InitializeAccount2";
47
+ TokenInstruction[TokenInstruction["SyncNative"] = 17] = "SyncNative";
48
+ TokenInstruction[TokenInstruction["InitializeAccount3"] = 18] = "InitializeAccount3";
49
+ TokenInstruction[TokenInstruction["InitializeMultisig2"] = 19] = "InitializeMultisig2";
50
+ TokenInstruction[TokenInstruction["InitializeMint2"] = 20] = "InitializeMint2";
51
+ })(TokenInstruction = exports.TokenInstruction || (exports.TokenInstruction = {}));
52
+ var TokenError = /** @class */ (function (_super) {
53
+ __extends(TokenError, _super);
54
+ function TokenError(message) {
55
+ return _super.call(this, message) || this;
56
+ }
57
+ return TokenError;
58
+ }(Error));
59
+ exports.TokenError = TokenError;
60
+ /** Thrown if an instruction's program is invalid */
61
+ var TokenInvalidInstructionProgramError = /** @class */ (function (_super) {
62
+ __extends(TokenInvalidInstructionProgramError, _super);
63
+ function TokenInvalidInstructionProgramError() {
64
+ var _this = _super !== null && _super.apply(this, arguments) || this;
65
+ _this.name = 'TokenInvalidInstructionProgramError';
66
+ return _this;
67
+ }
68
+ return TokenInvalidInstructionProgramError;
69
+ }(TokenError));
70
+ exports.TokenInvalidInstructionProgramError = TokenInvalidInstructionProgramError;
71
+ /** Thrown if an instruction's keys are invalid */
72
+ var TokenInvalidInstructionKeysError = /** @class */ (function (_super) {
73
+ __extends(TokenInvalidInstructionKeysError, _super);
74
+ function TokenInvalidInstructionKeysError() {
75
+ var _this = _super !== null && _super.apply(this, arguments) || this;
76
+ _this.name = 'TokenInvalidInstructionKeysError';
77
+ return _this;
78
+ }
79
+ return TokenInvalidInstructionKeysError;
80
+ }(TokenError));
81
+ exports.TokenInvalidInstructionKeysError = TokenInvalidInstructionKeysError;
82
+ /** Thrown if an instruction's type is invalid */
83
+ var TokenInvalidInstructionTypeError = /** @class */ (function (_super) {
84
+ __extends(TokenInvalidInstructionTypeError, _super);
85
+ function TokenInvalidInstructionTypeError() {
86
+ var _this = _super !== null && _super.apply(this, arguments) || this;
87
+ _this.name = 'TokenInvalidInstructionTypeError';
88
+ return _this;
89
+ }
90
+ return TokenInvalidInstructionTypeError;
91
+ }(TokenError));
92
+ exports.TokenInvalidInstructionTypeError = TokenInvalidInstructionTypeError;
93
+ /**
94
+ * Decode a TransferChecked instruction and validate it
95
+ *
96
+ * @param instruction Transaction instruction to decode
97
+ * @param programId SPL Token program account
98
+ *
99
+ * @return Decoded, valid instruction
100
+ */
101
+ function decodeTransferCheckedInstruction(instruction, programId) {
102
+ if (programId === void 0) { programId = spl_token_1.TOKEN_PROGRAM_ID; }
103
+ if (!instruction.programId.equals(programId))
104
+ throw new TokenInvalidInstructionProgramError();
105
+ var _a = decodeTransferCheckedInstructionUnchecked(instruction), _b = _a.keys, source = _b.source, mint = _b.mint, destination = _b.destination, owner = _b.owner, multiSigners = _b.multiSigners, data = _a.data;
106
+ if (data.instruction !== TokenInstruction.TransferChecked)
107
+ throw new TokenInvalidInstructionTypeError();
108
+ if (!source || !mint || !destination || !owner)
109
+ throw new TokenInvalidInstructionKeysError();
110
+ return {
111
+ programId: programId,
112
+ keys: {
113
+ source: source,
114
+ mint: mint,
115
+ destination: destination,
116
+ owner: owner,
117
+ multiSigners: multiSigners,
118
+ },
119
+ data: data,
120
+ };
121
+ }
122
+ exports.decodeTransferCheckedInstruction = decodeTransferCheckedInstruction;
123
+ function readBigUInt64LE(buffer, offset) {
124
+ if (offset === void 0) { offset = 0; }
125
+ var first = buffer[offset];
126
+ var last = buffer[offset + 7];
127
+ if (first === undefined || last === undefined) {
128
+ throw new Error('Out of bounds');
129
+ }
130
+ var lo = first + buffer[++offset] * Math.pow(2, 8) + buffer[++offset] * Math.pow(2, 16) + buffer[++offset] * Math.pow(2, 24);
131
+ var hi = buffer[++offset] + buffer[++offset] * Math.pow(2, 8) + buffer[++offset] * Math.pow(2, 16) + last * Math.pow(2, 24);
132
+ return (BigNumber(lo) + (BigNumber(hi) << BigNumber(32))) / 10;
133
+ }
134
+ /**
135
+ * Decode a TransferChecked instruction without validating it
136
+ *
137
+ * @param instruction Transaction instruction to decode
138
+ *
139
+ * @return Decoded, non-validated instruction
140
+ */
141
+ function decodeTransferCheckedInstructionUnchecked(_a) {
142
+ var programId = _a.programId, _b = _a.keys, source = _b[0], mint = _b[1], destination = _b[2], owner = _b[3], multiSigners = _b.slice(4), data = _a.data;
143
+ var type = data.slice(0, 1).readUInt8(0);
144
+ var amount = readBigUInt64LE(data.slice(1, 9), 0);
145
+ var decimals = data.slice(9).readUInt8(0);
146
+ return {
147
+ programId: programId,
148
+ keys: {
149
+ source: source,
150
+ mint: mint,
151
+ destination: destination,
152
+ owner: owner,
153
+ multiSigners: multiSigners,
154
+ },
155
+ data: {
156
+ instruction: type,
157
+ amount: amount,
158
+ decimals: decimals,
159
+ },
160
+ };
161
+ }
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5FbmNvZGVEZWNvZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9zb2wvdG9rZW5FbmNvZGVEZWNvZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSUEsK0NBQXFEO0FBQ3JELElBQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUUxQzs7Ozs7O0dBTUc7QUFFSCxJQUFZLGdCQXNCWDtBQXRCRCxXQUFZLGdCQUFnQjtJQUMxQiwyRUFBa0IsQ0FBQTtJQUNsQixpRkFBcUIsQ0FBQTtJQUNyQixtRkFBc0IsQ0FBQTtJQUN0QiwrREFBWSxDQUFBO0lBQ1osNkRBQVcsQ0FBQTtJQUNYLDJEQUFVLENBQUE7SUFDVix1RUFBZ0IsQ0FBQTtJQUNoQiwyREFBVSxDQUFBO0lBQ1YsdURBQVEsQ0FBQTtJQUNSLHVFQUFnQixDQUFBO0lBQ2hCLDBFQUFrQixDQUFBO0lBQ2xCLHNFQUFnQixDQUFBO0lBQ2hCLDhFQUFvQixDQUFBO0lBQ3BCLDRFQUFtQixDQUFBO0lBQ25CLDBFQUFrQixDQUFBO0lBQ2xCLHNFQUFnQixDQUFBO0lBQ2hCLG9GQUF1QixDQUFBO0lBQ3ZCLG9FQUFlLENBQUE7SUFDZixvRkFBdUIsQ0FBQTtJQUN2QixzRkFBd0IsQ0FBQTtJQUN4Qiw4RUFBb0IsQ0FBQTtBQUN0QixDQUFDLEVBdEJXLGdCQUFnQixHQUFoQix3QkFBZ0IsS0FBaEIsd0JBQWdCLFFBc0IzQjtBQUVEO0lBQXlDLDhCQUFLO0lBRTVDLG9CQUFZLE9BQWdCO2VBQzFCLGtCQUFNLE9BQU8sQ0FBQztJQUNoQixDQUFDO0lBQ0gsaUJBQUM7QUFBRCxDQUFDLEFBTEQsQ0FBeUMsS0FBSyxHQUs3QztBQUxxQixnQ0FBVTtBQU9oQyxvREFBb0Q7QUFDcEQ7SUFBeUQsdURBQVU7SUFBbkU7UUFBQSxxRUFFQztRQURDLFVBQUksR0FBRyxxQ0FBcUMsQ0FBQzs7SUFDL0MsQ0FB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QUFFLENBQUM7QUFDakUsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILFNBQVMseUNBQXlDLENBQUMsRUFJMUI7UUFIdkIsU0FBUyxlQUFBLEVBQ1QsWUFBeUQsRUFBbEQsTUFBTSxRQUFBLEVBQUUsSUFBSSxRQUFBLEVBQUUsV0FBVyxRQUFBLEVBQUUsS0FBSyxRQUFBLEVBQUssWUFBWSxjQUFBLEVBQ3hELElBQUksVUFBQTtJQUVKLElBQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQyxJQUFNLE1BQU0sR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDcEQsSUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUMsT0FBTztRQUNMLFNBQVMsV0FBQTtRQUNULElBQUksRUFBRTtZQUNKLE1BQU0sUUFBQTtZQUNOLElBQUksTUFBQTtZQUNKLFdBQVcsYUFBQTtZQUNYLEtBQUssT0FBQTtZQUNMLFlBQVksY0FBQTtTQUNiO1FBQ0QsSUFBSSxFQUFFO1lBQ0osV0FBVyxFQUFFLElBQUk7WUFDakIsTUFBTSxFQUFFLE1BQU07WUFDZCxRQUFRLEVBQUUsUUFBUTtTQUNuQjtLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IHsgQWNjb3VudE1ldGEsIFB1YmxpY0tleSwgVHJhbnNhY3Rpb25JbnN0cnVjdGlvbiB9IGZyb20gJ0Bzb2xhbmEvd2ViMy5qcyc7XG5pbXBvcnQgeyBUT0tFTl9QUk9HUkFNX0lEIH0gZnJvbSAnQHNvbGFuYS9zcGwtdG9rZW4nO1xuY29uc3QgQmlnTnVtYmVyID0gcmVxdWlyZSgnYmlnbnVtYmVyLmpzJyk7XG5cbi8qXG4gIElNUE9SVEFOVDpcblxuICBTaW5jZSB0b2tlbiB0cmFuc2ZlciBlbmNvZGluZyBhbmQgZGVjb2RpbmcgaXMgaW4gYWxwaGEgKHYgMC4yLjAtYWxwaGEuMiksIGEgdmVyc2lvbiB0aGF0IGlzIGN1cnJlbnRseSBub3QgZnVuY3Rpb25hbCBkdWUgdG8gdHlwaW5nIGJ1Z3MsXG4gIHRoaXMgZmlsZSBpcyB0aGUgY2hlcnJ5LXBpY2tlZCBtZXRob2RzIHRoYXQgYXJlIHJlcXVpcmVkIHRvIGNvbXBsZXRlIHRoZSB0b2tlbiB0cmFuc2ZlciBmZWF0dXJlLiBXaGVuIHRoZSBTb2xhbmEgZm91bmRhdGlvbiByZWxlYXNlcyBhIHN0YWJsZVxuICB2ZXJzaW9uLCB0aGlzIGZpbGUgc2hvdWxkIGJlIGRlbGV0ZWQgYW5kIHRoZSBzcGwtdG9rZW4gbWV0aG9kcyBzaG91bGQgYmUgdXNlZC5cbiAqL1xuXG5leHBvcnQgZW51bSBUb2tlbkluc3RydWN0aW9uIHtcbiAgSW5pdGlhbGl6ZU1pbnQgPSAwLFxuICBJbml0aWFsaXplQWNjb3VudCA9IDEsXG4gIEluaXRpYWxpemVNdWx0aXNpZyA9IDIsXG4gIFRyYW5zZmVyID0gMyxcbiAgQXBwcm92ZSA9IDQsXG4gIFJldm9rZSA9IDUsXG4gIFNldEF1dGhvcml0eSA9IDYsXG4gIE1pbnRUbyA9IDcsXG4gIEJ1cm4gPSA4LFxuICBDbG9zZUFjY291bnQgPSA5LFxuICBGcmVlemVBY2NvdW50ID0gMTAsXG4gIFRoYXdBY2NvdW50ID0gMTEsXG4gIFRyYW5zZmVyQ2hlY2tlZCA9IDEyLFxuICBBcHByb3ZlQ2hlY2tlZCA9IDEzLFxuICBNaW50VG9DaGVja2VkID0gMTQsXG4gIEJ1cm5DaGVja2VkID0gMTUsXG4gIEluaXRpYWxpemVBY2NvdW50MiA9IDE2LFxuICBTeW5jTmF0aXZlID0gMTcsXG4gIEluaXRpYWxpemVBY2NvdW50MyA9IDE4LFxuICBJbml0aWFsaXplTXVsdGlzaWcyID0gMTksXG4gIEluaXRpYWxpemVNaW50MiA9IDIwLFxufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVG9rZW5FcnJvciBleHRlbmRzIEVycm9yIHtcbiAgbmFtZTogc3RyaW5nO1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gIH1cbn1cblxuLyoqIFRocm93biBpZiBhbiBpbnN0cnVjdGlvbidzIHByb2dyYW0gaXMgaW52YWxpZCAqL1xuZXhwb3J0IGNsYXNzIFRva2VuSW52YWxpZEluc3RydWN0aW9uUHJvZ3JhbUVycm9yIGV4dGVuZHMgVG9rZW5FcnJvciB7XG4gIG5hbWUgPSAnVG9rZW5JbnZhbGlkSW5zdHJ1Y3Rpb25Qcm9ncmFtRXJyb3InO1xufVxuXG4vKiogVGhyb3duIGlmIGFuIGluc3RydWN0aW9uJ3Mga2V5cyBhcmUgaW52YWxpZCAqL1xuZXhwb3J0IGNsYXNzIFRva2VuSW52YWxpZEluc3RydWN0aW9uS2V5c0Vycm9yIGV4dGVuZHMgVG9rZW5FcnJvciB7XG4gIG5hbWUgPSAnVG9rZW5JbnZhbGlkSW5zdHJ1Y3Rpb25LZXlzRXJyb3InO1xufVxuXG4vKiogVGhyb3duIGlmIGFuIGluc3RydWN0aW9uJ3MgdHlwZSBpcyBpbnZhbGlkICovXG5leHBvcnQgY2xhc3MgVG9rZW5JbnZhbGlkSW5zdHJ1Y3Rpb25UeXBlRXJyb3IgZXh0ZW5kcyBUb2tlbkVycm9yIHtcbiAgbmFtZSA9ICdUb2tlbkludmFsaWRJbnN0cnVjdGlvblR5cGVFcnJvcic7XG59XG5cbi8qKiBBIGRlY29kZWQsIHZhbGlkIFRyYW5zZmVyQ2hlY2tlZCBpbnN0cnVjdGlvbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZWNvZGVkVHJhbnNmZXJDaGVja2VkSW5zdHJ1Y3Rpb24ge1xuICBwcm9ncmFtSWQ6IFB1YmxpY0tleTtcbiAga2V5czoge1xuICAgIHNvdXJjZTogQWNjb3VudE1ldGE7XG4gICAgbWludDogQWNjb3VudE1ldGE7XG4gICAgZGVzdGluYXRpb246IEFjY291bnRNZXRhO1xuICAgIG93bmVyOiBBY2NvdW50TWV0YTtcbiAgICBtdWx0aVNpZ25lcnM6IEFjY291bnRNZXRhW107XG4gIH07XG4gIGRhdGE6IHtcbiAgICBpbnN0cnVjdGlvbjogVG9rZW5JbnN0cnVjdGlvbi5UcmFuc2ZlckNoZWNrZWQ7XG4gICAgYW1vdW50OiBudW1iZXI7XG4gICAgZGVjaW1hbHM6IG51bWJlcjtcbiAgfTtcbn1cblxuLyoqXG4gKiBEZWNvZGUgYSBUcmFuc2ZlckNoZWNrZWQgaW5zdHJ1Y3Rpb24gYW5kIHZhbGlkYXRlIGl0XG4gKlxuICogQHBhcmFtIGluc3RydWN0aW9uIFRyYW5zYWN0aW9uIGluc3RydWN0aW9uIHRvIGRlY29kZVxuICogQHBhcmFtIHByb2dyYW1JZCAgIFNQTCBUb2tlbiBwcm9ncmFtIGFjY291bnRcbiAqXG4gKiBAcmV0dXJuIERlY29kZWQsIHZhbGlkIGluc3RydWN0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWNvZGVUcmFuc2ZlckNoZWNrZWRJbnN0cnVjdGlvbihcbiAgaW5zdHJ1Y3Rpb246IFRyYW5zYWN0aW9uSW5zdHJ1Y3Rpb24sXG4gIHByb2dyYW1JZCA9IFRPS0VOX1BST0dSQU1fSUQsXG4pOiBEZWNvZGVkVHJhbnNmZXJDaGVja2VkSW5zdHJ1Y3Rpb24ge1xuICBpZiAoIWluc3RydWN0aW9uLnByb2dyYW1JZC5lcXVhbHMocHJvZ3JhbUlkKSkgdGhyb3cgbmV3IFRva2VuSW52YWxpZEluc3RydWN0aW9uUHJvZ3JhbUVycm9yKCk7XG5cbiAgY29uc3Qge1xuICAgIGtleXM6IHsgc291cmNlLCBtaW50LCBkZXN0aW5hdGlvbiwgb3duZXIsIG11bHRpU2lnbmVycyB9LFxuICAgIGRhdGEsXG4gIH0gPSBkZWNvZGVUcmFuc2ZlckNoZWNrZWRJbnN0cnVjdGlvblVuY2hlY2tlZChpbnN0cnVjdGlvbik7XG4gIGlmIChkYXRhLmluc3RydWN0aW9uICE9PSBUb2tlbkluc3RydWN0aW9uLlRyYW5zZmVyQ2hlY2tlZCkgdGhyb3cgbmV3IFRva2VuSW52YWxpZEluc3RydWN0aW9uVHlwZUVycm9yKCk7XG4gIGlmICghc291cmNlIHx8ICFtaW50IHx8ICFkZXN0aW5hdGlvbiB8fCAhb3duZXIpIHRocm93IG5ldyBUb2tlbkludmFsaWRJbnN0cnVjdGlvbktleXNFcnJvcigpO1xuXG4gIHJldHVybiB7XG4gICAgcHJvZ3JhbUlkLFxuICAgIGtleXM6IHtcbiAgICAgIHNvdXJjZSxcbiAgICAgIG1pbnQsXG4gICAgICBkZXN0aW5hdGlvbixcbiAgICAgIG93bmVyLFxuICAgICAgbXVsdGlTaWduZXJzLFxuICAgIH0sXG4gICAgZGF0YSxcbiAgfTtcbn1cblxuLyoqIEEgZGVjb2RlZCwgbm9uLXZhbGlkYXRlZCBUcmFuc2ZlckNoZWNrZWQgaW5zdHJ1Y3Rpb24gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVjb2RlZFRyYW5zZmVyQ2hlY2tlZEluc3RydWN0aW9uVW5jaGVja2VkIHtcbiAgcHJvZ3JhbUlkOiBQdWJsaWNLZXk7XG4gIGtleXM6IHtcbiAgICBzb3VyY2U6IEFjY291bnRNZXRhIHwgdW5kZWZpbmVkO1xuICAgIG1pbnQ6IEFjY291bnRNZXRhIHwgdW5kZWZpbmVkO1xuICAgIGRlc3RpbmF0aW9uOiBBY2NvdW50TWV0YSB8IHVuZGVmaW5lZDtcbiAgICBvd25lcjogQWNjb3VudE1ldGEgfCB1bmRlZmluZWQ7XG4gICAgbXVsdGlTaWduZXJzOiBBY2NvdW50TWV0YVtdO1xuICB9O1xuICBkYXRhOiB7XG4gICAgaW5zdHJ1Y3Rpb246IG51bWJlcjtcbiAgICBhbW91bnQ6IG51bWJlcjtcbiAgICBkZWNpbWFsczogbnVtYmVyO1xuICB9O1xufVxuXG5mdW5jdGlvbiByZWFkQmlnVUludDY0TEUoYnVmZmVyLCBvZmZzZXQgPSAwKSB7XG4gIGNvbnN0IGZpcnN0ID0gYnVmZmVyW29mZnNldF07XG4gIGNvbnN0IGxhc3QgPSBidWZmZXJbb2Zmc2V0ICsgN107XG4gIGlmIChmaXJzdCA9PT0gdW5kZWZpbmVkIHx8IGxhc3QgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignT3V0IG9mIGJvdW5kcycpO1xuICB9XG5cbiAgY29uc3QgbG8gPSBmaXJzdCArIGJ1ZmZlclsrK29mZnNldF0gKiAyICoqIDggKyBidWZmZXJbKytvZmZzZXRdICogMiAqKiAxNiArIGJ1ZmZlclsrK29mZnNldF0gKiAyICoqIDI0O1xuICBjb25zdCBoaSA9IGJ1ZmZlclsrK29mZnNldF0gKyBidWZmZXJbKytvZmZzZXRdICogMiAqKiA4ICsgYnVmZmVyWysrb2Zmc2V0XSAqIDIgKiogMTYgKyBsYXN0ICogMiAqKiAyNDtcblxuICByZXR1cm4gKEJpZ051bWJlcihsbykgKyAoQmlnTnVtYmVyKGhpKSA8PCBCaWdOdW1iZXIoMzIpKSkgLyAxMDtcbn1cblxuLyoqXG4gKiBEZWNvZGUgYSBUcmFuc2ZlckNoZWNrZWQgaW5zdHJ1Y3Rpb24gd2l0aG91dCB2YWxpZGF0aW5nIGl0XG4gKlxuICogQHBhcmFtIGluc3RydWN0aW9uIFRyYW5zYWN0aW9uIGluc3RydWN0aW9uIHRvIGRlY29kZVxuICpcbiAqIEByZXR1cm4gRGVjb2RlZCwgbm9uLXZhbGlkYXRlZCBpbnN0cnVjdGlvblxuICovXG5mdW5jdGlvbiBkZWNvZGVUcmFuc2ZlckNoZWNrZWRJbnN0cnVjdGlvblVuY2hlY2tlZCh7XG4gIHByb2dyYW1JZCxcbiAga2V5czogW3NvdXJjZSwgbWludCwgZGVzdGluYXRpb24sIG93bmVyLCAuLi5tdWx0aVNpZ25lcnNdLFxuICBkYXRhLFxufTogVHJhbnNhY3Rpb25JbnN0cnVjdGlvbik6IERlY29kZWRUcmFuc2ZlckNoZWNrZWRJbnN0cnVjdGlvblVuY2hlY2tlZCB7XG4gIGNvbnN0IHR5cGUgPSBkYXRhLnNsaWNlKDAsIDEpLnJlYWRVSW50OCgwKTtcbiAgY29uc3QgYW1vdW50ID0gcmVhZEJpZ1VJbnQ2NExFKGRhdGEuc2xpY2UoMSwgOSksIDApO1xuICBjb25zdCBkZWNpbWFscyA9IGRhdGEuc2xpY2UoOSkucmVhZFVJbnQ4KDApO1xuICByZXR1cm4ge1xuICAgIHByb2dyYW1JZCxcbiAgICBrZXlzOiB7XG4gICAgICBzb3VyY2UsXG4gICAgICBtaW50LFxuICAgICAgZGVzdGluYXRpb24sXG4gICAgICBvd25lcixcbiAgICAgIG11bHRpU2lnbmVycyxcbiAgICB9LFxuICAgIGRhdGE6IHtcbiAgICAgIGluc3RydWN0aW9uOiB0eXBlLFxuICAgICAgYW1vdW50OiBhbW91bnQsXG4gICAgICBkZWNpbWFsczogZGVjaW1hbHMsXG4gICAgfSxcbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,27 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo/statics';
2
+ import { Transaction } from './transaction';
3
+ import { TransactionType } from '../baseCoin';
4
+ import { TransactionBuilder } from './transactionBuilder';
5
+ export interface SendParams {
6
+ address: string;
7
+ amount: string;
8
+ mintAddress: string;
9
+ }
10
+ export declare class TokenTransferBuilder extends TransactionBuilder {
11
+ private _sendParams;
12
+ constructor(_coinConfig: Readonly<CoinConfig>);
13
+ protected get transactionType(): TransactionType;
14
+ initBuilder(tx: Transaction): void;
15
+ /**
16
+ * Set a transfer
17
+ *
18
+ * @param {string} fromAddress - the sender address
19
+ * @param {string} amount - the amount sent
20
+ * @param {string} mintAddress - the token's mint address
21
+ * @returns {TransactionBuilder} This transaction builder
22
+ */
23
+ send({ address, amount, mintAddress }: SendParams): this;
24
+ /** @inheritdoc */
25
+ protected buildImplementation(): Promise<Transaction>;
26
+ }
27
+ //# sourceMappingURL=tokenTransferBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenTransferBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/sol/tokenTransferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAK9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI1D,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,oBAAqB,SAAQ,kBAAkB;IAC1D,OAAO,CAAC,WAAW,CAAoB;gBAE3B,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAgBlC;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,UAAU,GAAG,IAAI;IAWxD,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;CAwB5D"}
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (_) try {
33
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
53
+ var __importDefault = (this && this.__importDefault) || function (mod) {
54
+ return (mod && mod.__esModule) ? mod : { "default": mod };
55
+ };
56
+ Object.defineProperty(exports, "__esModule", { value: true });
57
+ exports.TokenTransferBuilder = void 0;
58
+ var errors_1 = require("../baseCoin/errors");
59
+ var utils_1 = require("./utils");
60
+ var baseCoin_1 = require("../baseCoin");
61
+ var constants_1 = require("./constants");
62
+ var assert_1 = __importDefault(require("assert"));
63
+ var transactionBuilder_1 = require("./transactionBuilder");
64
+ var web3_js_1 = require("@solana/web3.js");
65
+ var spl_token_1 = require("@solana/spl-token");
66
+ var TokenTransferBuilder = /** @class */ (function (_super) {
67
+ __extends(TokenTransferBuilder, _super);
68
+ function TokenTransferBuilder(_coinConfig) {
69
+ var _this = _super.call(this, _coinConfig) || this;
70
+ _this._sendParams = [];
71
+ return _this;
72
+ }
73
+ Object.defineProperty(TokenTransferBuilder.prototype, "transactionType", {
74
+ get: function () {
75
+ return baseCoin_1.TransactionType.Send;
76
+ },
77
+ enumerable: false,
78
+ configurable: true
79
+ });
80
+ TokenTransferBuilder.prototype.initBuilder = function (tx) {
81
+ _super.prototype.initBuilder.call(this, tx);
82
+ for (var _i = 0, _a = this._instructionsData; _i < _a.length; _i++) {
83
+ var instruction = _a[_i];
84
+ if (instruction.type === constants_1.InstructionBuilderTypes.TokenTransfer) {
85
+ var transferInstruction = instruction;
86
+ this.sender(transferInstruction.params.fromAddress);
87
+ this.send({
88
+ address: transferInstruction.params.toAddress,
89
+ amount: transferInstruction.params.amount,
90
+ mintAddress: transferInstruction.params.mintAddress,
91
+ });
92
+ }
93
+ }
94
+ };
95
+ /**
96
+ * Set a transfer
97
+ *
98
+ * @param {string} fromAddress - the sender address
99
+ * @param {string} amount - the amount sent
100
+ * @param {string} mintAddress - the token's mint address
101
+ * @returns {TransactionBuilder} This transaction builder
102
+ */
103
+ TokenTransferBuilder.prototype.send = function (_a) {
104
+ var address = _a.address, amount = _a.amount, mintAddress = _a.mintAddress;
105
+ utils_1.validateAddress(address, 'address');
106
+ if (!amount || !utils_1.isValidAmount(amount)) {
107
+ throw new errors_1.BuildTransactionError('Invalid or missing amount, got: ' + amount);
108
+ }
109
+ this._sendParams.push({ address: address, amount: amount, mintAddress: mintAddress });
110
+ return this;
111
+ };
112
+ /** @inheritdoc */
113
+ TokenTransferBuilder.prototype.buildImplementation = function () {
114
+ return __awaiter(this, void 0, void 0, function () {
115
+ var sourceAddress, transferData;
116
+ var _this = this;
117
+ return __generator(this, function (_a) {
118
+ switch (_a.label) {
119
+ case 0:
120
+ assert_1.default(this._sender, 'Sender must be set before building the transaction');
121
+ return [4 /*yield*/, spl_token_1.Token.getAssociatedTokenAddress(spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID, spl_token_1.TOKEN_PROGRAM_ID, new web3_js_1.PublicKey(this._sendParams[0].mintAddress), new web3_js_1.PublicKey(this._sender))];
122
+ case 1:
123
+ sourceAddress = _a.sent();
124
+ transferData = this._sendParams.map(function (sendParams) {
125
+ return {
126
+ type: constants_1.InstructionBuilderTypes.TokenTransfer,
127
+ params: {
128
+ fromAddress: _this._sender,
129
+ toAddress: sendParams.address,
130
+ amount: sendParams.amount,
131
+ mintAddress: sendParams.mintAddress,
132
+ sourceAddress: sourceAddress.toString(),
133
+ },
134
+ };
135
+ });
136
+ this._instructionsData = transferData;
137
+ return [4 /*yield*/, _super.prototype.buildImplementation.call(this)];
138
+ case 2: return [2 /*return*/, _a.sent()];
139
+ }
140
+ });
141
+ });
142
+ };
143
+ return TokenTransferBuilder;
144
+ }(transactionBuilder_1.TransactionBuilder));
145
+ exports.TokenTransferBuilder = TokenTransferBuilder;
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5UcmFuc2ZlckJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9zb2wvdG9rZW5UcmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsNkNBQTJEO0FBRTNELGlDQUF5RDtBQUN6RCx3Q0FBOEM7QUFDOUMseUNBQXNEO0FBR3RELGtEQUE0QjtBQUM1QiwyREFBMEQ7QUFDMUQsMkNBQTRDO0FBQzVDLCtDQUF5RjtBQVF6RjtJQUEwQyx3Q0FBa0I7SUFHMUQsOEJBQVksV0FBaUM7UUFBN0MsWUFDRSxrQkFBTSxXQUFXLENBQUMsU0FDbkI7UUFKTyxpQkFBVyxHQUFpQixFQUFFLENBQUM7O0lBSXZDLENBQUM7SUFFRCxzQkFBYyxpREFBZTthQUE3QjtZQUNFLE9BQU8sMEJBQWUsQ0FBQyxJQUFJLENBQUM7UUFDOUIsQ0FBQzs7O09BQUE7SUFFRCwwQ0FBVyxHQUFYLFVBQVksRUFBZTtRQUN6QixpQkFBTSxXQUFXLFlBQUMsRUFBRSxDQUFDLENBQUM7UUFFdEIsS0FBMEIsVUFBc0IsRUFBdEIsS0FBQSxJQUFJLENBQUMsaUJBQWlCLEVBQXRCLGNBQXNCLEVBQXRCLElBQXNCLEVBQUU7WUFBN0MsSUFBTSxXQUFXLFNBQUE7WUFDcEIsSUFBSSxXQUFXLENBQUMsSUFBSSxLQUFLLG1DQUF1QixDQUFDLGFBQWEsRUFBRTtnQkFDOUQsSUFBTSxtQkFBbUIsR0FBa0IsV0FBVyxDQUFDO2dCQUN2RCxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQztvQkFDUixPQUFPLEVBQUUsbUJBQW1CLENBQUMsTUFBTSxDQUFDLFNBQVM7b0JBQzdDLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsTUFBTTtvQkFDekMsV0FBVyxFQUFFLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxXQUFXO2lCQUNwRCxDQUFDLENBQUM7YUFDSjtTQUNGO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxtQ0FBSSxHQUFKLFVBQUssRUFBNEM7WUFBMUMsT0FBTyxhQUFBLEVBQUUsTUFBTSxZQUFBLEVBQUUsV0FBVyxpQkFBQTtRQUNqQyx1QkFBZSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMscUJBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNyQyxNQUFNLElBQUksOEJBQXFCLENBQUMsa0NBQWtDLEdBQUcsTUFBTSxDQUFDLENBQUM7U0FDOUU7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sU0FBQSxFQUFFLE1BQU0sUUFBQSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBRXJFLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGtCQUFrQjtJQUNGLGtEQUFtQixHQUFuQzs7Ozs7Ozt3QkFDRSxnQkFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsb0RBQW9ELENBQUMsQ0FBQzt3QkFDckQscUJBQU0saUJBQUssQ0FBQyx5QkFBeUIsQ0FDekQsdUNBQTJCLEVBQzNCLDRCQUFnQixFQUNoQixJQUFJLG1CQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFDOUMsSUFBSSxtQkFBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FDNUIsRUFBQTs7d0JBTEssYUFBYSxHQUFHLFNBS3JCO3dCQUNLLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxVQUFDLFVBQXNCOzRCQUMvRCxPQUFPO2dDQUNMLElBQUksRUFBRSxtQ0FBdUIsQ0FBQyxhQUFhO2dDQUMzQyxNQUFNLEVBQUU7b0NBQ04sV0FBVyxFQUFFLEtBQUksQ0FBQyxPQUFPO29DQUN6QixTQUFTLEVBQUUsVUFBVSxDQUFDLE9BQU87b0NBQzdCLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTTtvQ0FDekIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxXQUFXO29DQUNuQyxhQUFhLEVBQUUsYUFBYSxDQUFDLFFBQVEsRUFBRTtpQ0FDeEM7NkJBQ0YsQ0FBQzt3QkFDSixDQUFDLENBQUMsQ0FBQzt3QkFDSCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsWUFBWSxDQUFDO3dCQUUvQixxQkFBTSxpQkFBTSxtQkFBbUIsV0FBRSxFQUFBOzRCQUF4QyxzQkFBTyxTQUFpQyxFQUFDOzs7O0tBQzFDO0lBQ0gsMkJBQUM7QUFBRCxDQUFDLEFBdkVELENBQTBDLHVDQUFrQixHQXVFM0Q7QUF2RVksb0RBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciB9IGZyb20gJy4uL2Jhc2VDb2luL2Vycm9ycyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgaXNWYWxpZEFtb3VudCwgdmFsaWRhdGVBZGRyZXNzIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICcuLi9iYXNlQ29pbic7XG5pbXBvcnQgeyBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcyB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IFRva2VuVHJhbnNmZXIgfSBmcm9tICcuL2lmYWNlJztcblxuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgUHVibGljS2V5IH0gZnJvbSAnQHNvbGFuYS93ZWIzLmpzJztcbmltcG9ydCB7IEFTU09DSUFURURfVE9LRU5fUFJPR1JBTV9JRCwgVG9rZW4sIFRPS0VOX1BST0dSQU1fSUQgfSBmcm9tICdAc29sYW5hL3NwbC10b2tlbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VuZFBhcmFtcyB7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgYW1vdW50OiBzdHJpbmc7XG4gIG1pbnRBZGRyZXNzOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBUb2tlblRyYW5zZmVyQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgX3NlbmRQYXJhbXM6IFNlbmRQYXJhbXNbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TZW5kO1xuICB9XG5cbiAgaW5pdEJ1aWxkZXIodHg6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgc3VwZXIuaW5pdEJ1aWxkZXIodHgpO1xuXG4gICAgZm9yIChjb25zdCBpbnN0cnVjdGlvbiBvZiB0aGlzLl9pbnN0cnVjdGlvbnNEYXRhKSB7XG4gICAgICBpZiAoaW5zdHJ1Y3Rpb24udHlwZSA9PT0gSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuVG9rZW5UcmFuc2Zlcikge1xuICAgICAgICBjb25zdCB0cmFuc2Zlckluc3RydWN0aW9uOiBUb2tlblRyYW5zZmVyID0gaW5zdHJ1Y3Rpb247XG4gICAgICAgIHRoaXMuc2VuZGVyKHRyYW5zZmVySW5zdHJ1Y3Rpb24ucGFyYW1zLmZyb21BZGRyZXNzKTtcbiAgICAgICAgdGhpcy5zZW5kKHtcbiAgICAgICAgICBhZGRyZXNzOiB0cmFuc2Zlckluc3RydWN0aW9uLnBhcmFtcy50b0FkZHJlc3MsXG4gICAgICAgICAgYW1vdW50OiB0cmFuc2Zlckluc3RydWN0aW9uLnBhcmFtcy5hbW91bnQsXG4gICAgICAgICAgbWludEFkZHJlc3M6IHRyYW5zZmVySW5zdHJ1Y3Rpb24ucGFyYW1zLm1pbnRBZGRyZXNzLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogIFNldCBhIHRyYW5zZmVyXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmcm9tQWRkcmVzcyAtIHRoZSBzZW5kZXIgYWRkcmVzc1xuICAgKiBAcGFyYW0ge3N0cmluZ30gYW1vdW50IC0gdGhlIGFtb3VudCBzZW50XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtaW50QWRkcmVzcyAtIHRoZSB0b2tlbidzIG1pbnQgYWRkcmVzc1xuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXJcbiAgICovXG4gIHNlbmQoeyBhZGRyZXNzLCBhbW91bnQsIG1pbnRBZGRyZXNzIH06IFNlbmRQYXJhbXMpOiB0aGlzIHtcbiAgICB2YWxpZGF0ZUFkZHJlc3MoYWRkcmVzcywgJ2FkZHJlc3MnKTtcbiAgICBpZiAoIWFtb3VudCB8fCAhaXNWYWxpZEFtb3VudChhbW91bnQpKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIG9yIG1pc3NpbmcgYW1vdW50LCBnb3Q6ICcgKyBhbW91bnQpO1xuICAgIH1cblxuICAgIHRoaXMuX3NlbmRQYXJhbXMucHVzaCh7IGFkZHJlc3MsIGFtb3VudCwgbWludEFkZHJlc3M6IG1pbnRBZGRyZXNzIH0pO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIGFzc2VydCh0aGlzLl9zZW5kZXIsICdTZW5kZXIgbXVzdCBiZSBzZXQgYmVmb3JlIGJ1aWxkaW5nIHRoZSB0cmFuc2FjdGlvbicpO1xuICAgIGNvbnN0IHNvdXJjZUFkZHJlc3MgPSBhd2FpdCBUb2tlbi5nZXRBc3NvY2lhdGVkVG9rZW5BZGRyZXNzKFxuICAgICAgQVNTT0NJQVRFRF9UT0tFTl9QUk9HUkFNX0lELFxuICAgICAgVE9LRU5fUFJPR1JBTV9JRCxcbiAgICAgIG5ldyBQdWJsaWNLZXkodGhpcy5fc2VuZFBhcmFtc1swXS5taW50QWRkcmVzcyksXG4gICAgICBuZXcgUHVibGljS2V5KHRoaXMuX3NlbmRlciksXG4gICAgKTtcbiAgICBjb25zdCB0cmFuc2ZlckRhdGEgPSB0aGlzLl9zZW5kUGFyYW1zLm1hcCgoc2VuZFBhcmFtczogU2VuZFBhcmFtcyk6IFRva2VuVHJhbnNmZXIgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuVG9rZW5UcmFuc2ZlcixcbiAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgZnJvbUFkZHJlc3M6IHRoaXMuX3NlbmRlcixcbiAgICAgICAgICB0b0FkZHJlc3M6IHNlbmRQYXJhbXMuYWRkcmVzcyxcbiAgICAgICAgICBhbW91bnQ6IHNlbmRQYXJhbXMuYW1vdW50LFxuICAgICAgICAgIG1pbnRBZGRyZXNzOiBzZW5kUGFyYW1zLm1pbnRBZGRyZXNzLFxuICAgICAgICAgIHNvdXJjZUFkZHJlc3M6IHNvdXJjZUFkZHJlc3MudG9TdHJpbmcoKSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfSk7XG4gICAgdGhpcy5faW5zdHJ1Y3Rpb25zRGF0YSA9IHRyYW5zZmVyRGF0YTtcblxuICAgIHJldHVybiBhd2FpdCBzdXBlci5idWlsZEltcGxlbWVudGF0aW9uKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,11 +1,13 @@
1
1
  /// <reference types="node" />
2
+ import BigNumber from 'bignumber.js';
2
3
  import { BaseTransaction, TransactionType } from '../baseCoin';
3
4
  import { BaseCoin as CoinConfig } from '@bitgo/statics';
4
5
  import { Transaction as SolTransaction } from '@solana/web3.js';
5
- import { TransactionExplanation, TxData } from './iface';
6
+ import { DurableNonceParams, TransactionExplanation, TxData } from './iface';
6
7
  import { KeyPair } from '.';
8
+ import { TransactionRecipient } from '../baseCoin/iface';
7
9
  export declare class Transaction extends BaseTransaction {
8
- private _solTransaction;
10
+ protected _solTransaction: SolTransaction;
9
11
  private _lamportsPerSignature;
10
12
  protected _type: TransactionType;
11
13
  constructor(_coinConfig: Readonly<CoinConfig>);
@@ -55,5 +57,6 @@ export declare class Transaction extends BaseTransaction {
55
57
  loadInputsAndOutputs(): void;
56
58
  /** @inheritDoc */
57
59
  explainTransaction(): TransactionExplanation;
60
+ protected getExplainedTransaction(outputAmount: BigNumber, outputs: TransactionRecipient[], memo?: undefined | string, durableNonce?: undefined | DurableNonceParams): TransactionExplanation;
58
61
  }
59
62
  //# sourceMappingURL=transaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/coin/sol/transaction.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAmD,WAAW,IAAI,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjH,OAAO,EAOL,sBAAsB,EAEtB,MAAM,EAEP,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAS5B,qBAAa,WAAY,SAAQ,eAAe;IAC9C,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,qBAAqB,CAAqB;IAClD,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC;gBAErB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,IAAI,cAAc,IAAI,cAAc,CAEnC;IAED,IAAI,cAAc,CAAC,EAAE,EAAE,cAAc,EAEpC;IAED,OAAO,KAAK,0BAA0B,GAErC;IAED,kBAAkB;IAClB,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,mBAAmB;IACnB,IAAI,EAAE,IAAI,MAAM,CAOf;IAED,IAAI,oBAAoB,IAAI,MAAM,GAAG,SAAS,CAE7C;IAED,IAAI,oBAAoB,CAAC,oBAAoB,EAAE,MAAM,GAAG,SAAS,EAEhE;IAED,kBAAkB;IAClB,IAAI,SAAS,IAAI,MAAM,EAAE,CAUxB;IAED;;;;OAIG;IACH,kBAAkB,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAI1D,kBAAkB;IAClB,OAAO,IAAI,OAAO;IAIlB;;;;OAIG;IACG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBvD,kBAAkB;IAClB,iBAAiB,IAAI,MAAM;IAiB3B;;;;OAIG;IACH,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAmChD,kBAAkB;IAClB,MAAM,IAAI,MAAM;IA0BhB;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAUhB;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAwE5B,kBAAkB;IAClB,kBAAkB,IAAI,sBAAsB;CA+F7C"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/coin/sol/transaction.ts"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAmD,WAAW,IAAI,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjH,OAAO,EACL,kBAAkB,EAKlB,sBAAsB,EAEtB,MAAM,EAEP,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAG5B,OAAO,EAAS,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAIhE,qBAAa,WAAY,SAAQ,eAAe;IAC9C,SAAS,CAAC,eAAe,EAAE,cAAc,CAAC;IAC1C,OAAO,CAAC,qBAAqB,CAAqB;IAClD,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC;gBAErB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,IAAI,cAAc,IAAI,cAAc,CAEnC;IAED,IAAI,cAAc,CAAC,EAAE,EAAE,cAAc,EAEpC;IAED,OAAO,KAAK,0BAA0B,GAErC;IAED,kBAAkB;IAClB,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,mBAAmB;IACnB,IAAI,EAAE,IAAI,MAAM,CAOf;IAED,IAAI,oBAAoB,IAAI,MAAM,GAAG,SAAS,CAE7C;IAED,IAAI,oBAAoB,CAAC,oBAAoB,EAAE,MAAM,GAAG,SAAS,EAEhE;IAED,kBAAkB;IAClB,IAAI,SAAS,IAAI,MAAM,EAAE,CAUxB;IAED;;;;OAIG;IACH,kBAAkB,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAI1D,kBAAkB;IAClB,OAAO,IAAI,OAAO;IAIlB;;;;OAIG;IACG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBvD,kBAAkB;IAClB,iBAAiB,IAAI,MAAM;IAiB3B;;;;OAIG;IACH,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAkChD,kBAAkB;IAClB,MAAM,IAAI,MAAM;IA0BhB;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAUhB;;OAEG;IACH,oBAAoB,IAAI,IAAI;IA4E5B,kBAAkB;IAClB,kBAAkB,IAAI,sBAAsB;IA4D5C,SAAS,CAAC,uBAAuB,CAC/B,YAAY,EAAE,SAAS,EACvB,OAAO,EAAE,oBAAoB,EAAE,EAC/B,IAAI,GAAE,SAAS,GAAG,MAAkB,EACpC,YAAY,GAAE,SAAS,GAAG,kBAA8B,GACvD,sBAAsB;CAgC1B"}