@bitgo-beta/sdk-coin-apt 1.0.1-beta.91 → 1.0.1-beta.911

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 (145) hide show
  1. package/dist/src/apt.d.ts +9 -2
  2. package/dist/src/apt.d.ts.map +1 -1
  3. package/dist/src/apt.js +37 -11
  4. package/dist/src/aptNFTCollection.d.ts +18 -0
  5. package/dist/src/aptNFTCollection.d.ts.map +1 -0
  6. package/dist/src/aptNFTCollection.js +52 -0
  7. package/dist/src/aptToken.d.ts +19 -0
  8. package/dist/src/aptToken.d.ts.map +1 -0
  9. package/dist/src/aptToken.js +52 -0
  10. package/dist/src/index.d.ts +2 -0
  11. package/dist/src/index.d.ts.map +1 -1
  12. package/dist/src/index.js +3 -1
  13. package/dist/src/lib/constants.d.ts +16 -0
  14. package/dist/src/lib/constants.d.ts.map +1 -1
  15. package/dist/src/lib/constants.js +18 -2
  16. package/dist/src/lib/iface.d.ts +98 -2
  17. package/dist/src/lib/iface.d.ts.map +1 -1
  18. package/dist/src/lib/iface.js +1 -1
  19. package/dist/src/lib/index.d.ts +18 -4
  20. package/dist/src/lib/index.d.ts.map +1 -1
  21. package/dist/src/lib/index.js +35 -7
  22. package/dist/src/lib/transaction/abstractDelegationPoolAmountBasedTransaction.d.ts +21 -0
  23. package/dist/src/lib/transaction/abstractDelegationPoolAmountBasedTransaction.d.ts.map +1 -0
  24. package/dist/src/lib/transaction/abstractDelegationPoolAmountBasedTransaction.js +61 -0
  25. package/dist/src/lib/transaction/abstractDelegationPoolTransaction.d.ts +13 -0
  26. package/dist/src/lib/transaction/abstractDelegationPoolTransaction.d.ts.map +1 -0
  27. package/dist/src/lib/transaction/abstractDelegationPoolTransaction.js +23 -0
  28. package/dist/src/lib/transaction/abstractTransferTransaction.d.ts +10 -0
  29. package/dist/src/lib/transaction/abstractTransferTransaction.d.ts.map +1 -0
  30. package/dist/src/lib/transaction/abstractTransferTransaction.js +39 -0
  31. package/dist/src/lib/transaction/customTransaction.d.ts +89 -0
  32. package/dist/src/lib/transaction/customTransaction.d.ts.map +1 -0
  33. package/dist/src/lib/transaction/customTransaction.js +278 -0
  34. package/dist/src/lib/transaction/delegationPoolAddStakeTransaction.d.ts +10 -0
  35. package/dist/src/lib/transaction/delegationPoolAddStakeTransaction.d.ts.map +1 -0
  36. package/dist/src/lib/transaction/delegationPoolAddStakeTransaction.js +48 -0
  37. package/dist/src/lib/transaction/delegationPoolUnlockTransaction.d.ts +10 -0
  38. package/dist/src/lib/transaction/delegationPoolUnlockTransaction.d.ts.map +1 -0
  39. package/dist/src/lib/transaction/delegationPoolUnlockTransaction.js +24 -0
  40. package/dist/src/lib/transaction/delegationPoolWithdrawTransaction.d.ts +10 -0
  41. package/dist/src/lib/transaction/delegationPoolWithdrawTransaction.d.ts.map +1 -0
  42. package/dist/src/lib/transaction/delegationPoolWithdrawTransaction.js +43 -0
  43. package/dist/src/lib/transaction/digitalAssetTransfer.d.ts +10 -0
  44. package/dist/src/lib/transaction/digitalAssetTransfer.d.ts.map +1 -0
  45. package/dist/src/lib/transaction/digitalAssetTransfer.js +45 -0
  46. package/dist/src/lib/transaction/fungibleAssetTransfer.d.ts +12 -0
  47. package/dist/src/lib/transaction/fungibleAssetTransfer.d.ts.map +1 -0
  48. package/dist/src/lib/transaction/fungibleAssetTransfer.js +73 -0
  49. package/dist/src/lib/transaction/transaction.d.ts +45 -7
  50. package/dist/src/lib/transaction/transaction.d.ts.map +1 -1
  51. package/dist/src/lib/transaction/transaction.js +175 -61
  52. package/dist/src/lib/transaction/transferTransaction.d.ts +10 -8
  53. package/dist/src/lib/transaction/transferTransaction.d.ts.map +1 -1
  54. package/dist/src/lib/transaction/transferTransaction.js +48 -41
  55. package/dist/src/lib/transactionBuilder/customTransactionBuilder.d.ts +64 -0
  56. package/dist/src/lib/transactionBuilder/customTransactionBuilder.d.ts.map +1 -0
  57. package/dist/src/lib/transactionBuilder/customTransactionBuilder.js +127 -0
  58. package/dist/src/lib/transactionBuilder/delegationPoolAddStakeTransactionBuilder.d.ts +15 -0
  59. package/dist/src/lib/transactionBuilder/delegationPoolAddStakeTransactionBuilder.d.ts.map +1 -0
  60. package/dist/src/lib/transactionBuilder/delegationPoolAddStakeTransactionBuilder.js +50 -0
  61. package/dist/src/lib/transactionBuilder/delegationPoolUnlockTransactionBuilder.d.ts +15 -0
  62. package/dist/src/lib/transactionBuilder/delegationPoolUnlockTransactionBuilder.d.ts.map +1 -0
  63. package/dist/src/lib/transactionBuilder/delegationPoolUnlockTransactionBuilder.js +50 -0
  64. package/dist/src/lib/transactionBuilder/delegationPoolWithdrawTransactionBuilder.d.ts +15 -0
  65. package/dist/src/lib/transactionBuilder/delegationPoolWithdrawTransactionBuilder.d.ts.map +1 -0
  66. package/dist/src/lib/transactionBuilder/delegationPoolWithdrawTransactionBuilder.js +50 -0
  67. package/dist/src/lib/transactionBuilder/digitalAssetTransferBuilder.d.ts +14 -0
  68. package/dist/src/lib/transactionBuilder/digitalAssetTransferBuilder.d.ts.map +1 -0
  69. package/dist/src/lib/transactionBuilder/digitalAssetTransferBuilder.js +55 -0
  70. package/dist/src/lib/transactionBuilder/fungibleAssetTransferBuilder.d.ts +15 -0
  71. package/dist/src/lib/transactionBuilder/fungibleAssetTransferBuilder.d.ts.map +1 -0
  72. package/dist/src/lib/transactionBuilder/fungibleAssetTransferBuilder.js +61 -0
  73. package/dist/src/lib/{transactionBuilder.d.ts → transactionBuilder/transactionBuilder.d.ts} +25 -11
  74. package/dist/src/lib/transactionBuilder/transactionBuilder.d.ts.map +1 -0
  75. package/dist/src/lib/transactionBuilder/transactionBuilder.js +169 -0
  76. package/dist/src/lib/{transferBuilder.d.ts → transactionBuilder/transferBuilder.d.ts} +5 -7
  77. package/dist/src/lib/transactionBuilder/transferBuilder.d.ts.map +1 -0
  78. package/dist/src/lib/transactionBuilder/transferBuilder.js +56 -0
  79. package/dist/src/lib/transactionBuilderFactory.d.ts +26 -10
  80. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  81. package/dist/src/lib/transactionBuilderFactory.js +82 -18
  82. package/dist/src/lib/utils/validation.d.ts +32 -0
  83. package/dist/src/lib/utils/validation.d.ts.map +1 -0
  84. package/dist/src/lib/utils/validation.js +99 -0
  85. package/dist/src/lib/utils.d.ts +29 -5
  86. package/dist/src/lib/utils.d.ts.map +1 -1
  87. package/dist/src/lib/utils.js +111 -28
  88. package/dist/src/register.d.ts.map +1 -1
  89. package/dist/src/register.js +9 -1
  90. package/dist/test/integration/index.d.ts +1 -0
  91. package/dist/test/integration/index.d.ts.map +1 -0
  92. package/dist/test/integration/index.js +1 -0
  93. package/dist/test/resources/apt.d.ts +56 -0
  94. package/dist/test/resources/apt.d.ts.map +1 -0
  95. package/dist/test/resources/apt.js +115 -0
  96. package/dist/test/unit/apt.d.ts +2 -0
  97. package/dist/test/unit/apt.d.ts.map +1 -0
  98. package/dist/test/unit/apt.js +375 -0
  99. package/dist/test/unit/aptToken.d.ts +2 -0
  100. package/dist/test/unit/aptToken.d.ts.map +1 -0
  101. package/dist/test/unit/aptToken.js +92 -0
  102. package/dist/test/unit/customTransaction.test.d.ts +2 -0
  103. package/dist/test/unit/customTransaction.test.d.ts.map +1 -0
  104. package/dist/test/unit/customTransaction.test.js +264 -0
  105. package/dist/test/unit/getBuilderFactory.d.ts +3 -0
  106. package/dist/test/unit/getBuilderFactory.d.ts.map +1 -0
  107. package/dist/test/unit/getBuilderFactory.js +10 -0
  108. package/dist/test/unit/keyPair.d.ts +2 -0
  109. package/dist/test/unit/keyPair.d.ts.map +1 -0
  110. package/dist/test/unit/keyPair.js +71 -0
  111. package/dist/test/unit/transactionBuilder/customTransactionBuilder.d.ts +2 -0
  112. package/dist/test/unit/transactionBuilder/customTransactionBuilder.d.ts.map +1 -0
  113. package/dist/test/unit/transactionBuilder/customTransactionBuilder.js +743 -0
  114. package/dist/test/unit/transactionBuilder/delegationPoolAddStakeTransactionBuilder.d.ts +2 -0
  115. package/dist/test/unit/transactionBuilder/delegationPoolAddStakeTransactionBuilder.d.ts.map +1 -0
  116. package/dist/test/unit/transactionBuilder/delegationPoolAddStakeTransactionBuilder.js +172 -0
  117. package/dist/test/unit/transactionBuilder/delegationPoolUnlockTransactionBuilder.d.ts +2 -0
  118. package/dist/test/unit/transactionBuilder/delegationPoolUnlockTransactionBuilder.d.ts.map +1 -0
  119. package/dist/test/unit/transactionBuilder/delegationPoolUnlockTransactionBuilder.js +148 -0
  120. package/dist/test/unit/transactionBuilder/delegationPoolWithdrawTransactionBuilder.d.ts +2 -0
  121. package/dist/test/unit/transactionBuilder/delegationPoolWithdrawTransactionBuilder.d.ts.map +1 -0
  122. package/dist/test/unit/transactionBuilder/delegationPoolWithdrawTransactionBuilder.js +172 -0
  123. package/dist/test/unit/transactionBuilder/digitalAssetTransferBuilder.d.ts +2 -0
  124. package/dist/test/unit/transactionBuilder/digitalAssetTransferBuilder.d.ts.map +1 -0
  125. package/dist/test/unit/transactionBuilder/digitalAssetTransferBuilder.js +276 -0
  126. package/dist/test/unit/transactionBuilder/fungibleAssetTransferBuilder.d.ts +2 -0
  127. package/dist/test/unit/transactionBuilder/fungibleAssetTransferBuilder.d.ts.map +1 -0
  128. package/dist/test/unit/transactionBuilder/fungibleAssetTransferBuilder.js +449 -0
  129. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts +2 -0
  130. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts.map +1 -0
  131. package/dist/test/unit/transactionBuilder/transferBuilder.js +529 -0
  132. package/dist/test/unit/utils.d.ts +2 -0
  133. package/dist/test/unit/utils.d.ts.map +1 -0
  134. package/dist/test/unit/utils.js +108 -0
  135. package/dist/tsconfig.tsbuildinfo +1 -0
  136. package/package.json +14 -11
  137. package/.eslintignore +0 -4
  138. package/.gitignore +0 -3
  139. package/.mocharc.yml +0 -8
  140. package/.prettierignore +0 -2
  141. package/CHANGELOG.md +0 -72
  142. package/dist/src/lib/transactionBuilder.d.ts.map +0 -1
  143. package/dist/src/lib/transactionBuilder.js +0 -118
  144. package/dist/src/lib/transferBuilder.d.ts.map +0 -1
  145. package/dist/src/lib/transferBuilder.js +0 -25
@@ -0,0 +1,278 @@
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.CustomTransaction = void 0;
7
+ const ts_sdk_1 = require("@aptos-labs/ts-sdk");
8
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
9
+ const utils_1 = __importDefault(require("../utils"));
10
+ const validation_1 = require("../utils/validation");
11
+ const abstractTransferTransaction_1 = require("./abstractTransferTransaction");
12
+ /**
13
+ * Transaction class for custom Aptos transactions.
14
+ */
15
+ class CustomTransaction extends abstractTransferTransaction_1.AbstractTransferTransaction {
16
+ constructor(coinConfig) {
17
+ super(coinConfig);
18
+ this._typeArguments = [];
19
+ this._functionArguments = [];
20
+ this._type = sdk_core_1.TransactionType.CustomTx;
21
+ }
22
+ /**
23
+ * Set the custom transaction parameters
24
+ */
25
+ setCustomTransactionParams(params) {
26
+ (0, validation_1.validateModuleName)(params.moduleName);
27
+ (0, validation_1.validateFunctionName)(params.functionName);
28
+ this._moduleName = params.moduleName;
29
+ this._functionName = params.functionName;
30
+ this._typeArguments = params.typeArguments || [];
31
+ this._functionArguments = params.functionArguments || [];
32
+ this._entryFunctionAbi = params.abi;
33
+ }
34
+ /**
35
+ * Set the entry function ABI
36
+ */
37
+ setEntryFunctionAbi(abi) {
38
+ this._entryFunctionAbi = abi;
39
+ }
40
+ /**
41
+ * Get the full function name
42
+ */
43
+ get fullFunctionName() {
44
+ if (!this._moduleName || !this._functionName) {
45
+ return '';
46
+ }
47
+ return `${this._moduleName}::${this._functionName}`;
48
+ }
49
+ /**
50
+ * Parse a transaction payload to extract the custom transaction data
51
+ * Requires ABI information for proper type-aware conversion
52
+ *
53
+ * @param {TransactionPayload} payload - The transaction payload to parse
54
+ */
55
+ parseTransactionPayload(payload) {
56
+ if (!(payload instanceof ts_sdk_1.TransactionPayloadEntryFunction)) {
57
+ throw new sdk_core_1.InvalidTransactionError('Expected entry function payload for custom transaction');
58
+ }
59
+ const entryFunction = payload.entryFunction;
60
+ // Extract function data
61
+ const moduleAddress = entryFunction.module_name.address.toString();
62
+ const moduleIdentifier = entryFunction.module_name.name.identifier;
63
+ const functionIdentifier = entryFunction.function_name.identifier;
64
+ const moduleName = `${moduleAddress}::${moduleIdentifier}`;
65
+ // Validate
66
+ (0, validation_1.validateModuleName)(moduleName);
67
+ (0, validation_1.validateFunctionName)(functionIdentifier);
68
+ this._moduleName = moduleName;
69
+ this._functionName = functionIdentifier;
70
+ this._typeArguments = entryFunction.type_args.map((typeArg) => typeArg.toString());
71
+ // Parse arguments using ABI information
72
+ // If ABI is available, parse with type awareness; otherwise store raw args for later processing
73
+ if (this._entryFunctionAbi?.parameters) {
74
+ this._functionArguments = entryFunction.args.map((arg, index) => {
75
+ const paramType = this._entryFunctionAbi?.parameters?.[index];
76
+ if (!paramType) {
77
+ throw new sdk_core_1.InvalidTransactionError(`Missing ABI parameter type for argument ${index} in ${this._moduleName}::${this._functionName}. ` +
78
+ 'ABI parameter count mismatch.');
79
+ }
80
+ return this.convertArgumentByABI(arg, paramType);
81
+ });
82
+ }
83
+ else {
84
+ // Store raw arguments temporarily - transaction will be re-parsed when ABI is provided
85
+ this._functionArguments = entryFunction.args.map((arg) => arg);
86
+ }
87
+ }
88
+ /**
89
+ * Generate transaction payload data
90
+ */
91
+ getTransactionPayloadData() {
92
+ const functionName = this.getValidatedFullFunctionName();
93
+ // Arguments are pre-processed during parsing phase
94
+ const processedArguments = this._functionArguments;
95
+ return {
96
+ function: functionName,
97
+ typeArguments: this._typeArguments,
98
+ functionArguments: processedArguments,
99
+ abi: this._entryFunctionAbi,
100
+ };
101
+ }
102
+ /**
103
+ * Convert argument based on ABI type information
104
+ */
105
+ convertArgumentByABI(arg, paramType) {
106
+ // Handle primitive values (string, number, boolean)
107
+ if (typeof arg === 'string' || typeof arg === 'number' || typeof arg === 'boolean') {
108
+ return this.convertPrimitiveArgument(arg, paramType);
109
+ }
110
+ // Handle BCS-encoded data with 'data' property
111
+ if (arg && typeof arg === 'object' && 'data' in arg && arg.data) {
112
+ return this.convertBcsDataArgument(arg, paramType);
113
+ }
114
+ // Handle nested BCS structures with 'value' property
115
+ if (arg && typeof arg === 'object' && 'value' in arg && arg.value) {
116
+ return this.convertNestedBcsArgument(arg, paramType);
117
+ }
118
+ // For anything else, return as-is
119
+ return arg;
120
+ }
121
+ /**
122
+ * Convert primitive argument values based on parameter type
123
+ */
124
+ convertPrimitiveArgument(arg, paramType) {
125
+ // Address conversion for hex strings
126
+ if (paramType instanceof ts_sdk_1.TypeTagAddress && typeof arg === 'string' && arg.startsWith('0x')) {
127
+ return utils_1.default.tryParseAccountAddress(arg);
128
+ }
129
+ // Type conversions based on parameter type
130
+ if (paramType instanceof ts_sdk_1.TypeTagBool)
131
+ return Boolean(arg);
132
+ // Use unified numeric type handling
133
+ if (this.isNumericType(paramType)) {
134
+ return this.convertPrimitiveNumericArgument(arg);
135
+ }
136
+ return arg;
137
+ }
138
+ /**
139
+ * Convert primitive numeric arguments to string
140
+ * - Big numbers break JavaScript (precision loss)
141
+ * - String safer for large U64/U128/U256 values
142
+ * - Aptos SDK converts string to correct type automatically
143
+ */
144
+ convertPrimitiveNumericArgument(arg) {
145
+ // Always string - safer for big numbers
146
+ return String(arg);
147
+ }
148
+ /**
149
+ * Convert BCS data argument with 'data' property
150
+ */
151
+ convertBcsDataArgument(arg, paramType) {
152
+ const bytes = Array.from(arg.data);
153
+ const hexString = utils_1.default.bytesToHex(bytes);
154
+ return paramType instanceof ts_sdk_1.TypeTagAddress ? utils_1.default.tryParseAccountAddress(hexString) : hexString;
155
+ }
156
+ /**
157
+ * Convert nested BCS argument with 'value' property
158
+ */
159
+ convertNestedBcsArgument(arg, paramType) {
160
+ // Check if inner value is a Uint8Array (common for U64 arguments)
161
+ if (arg.value.value && arg.value.value instanceof Uint8Array) {
162
+ const bytes = Array.from(arg.value.value);
163
+ if (this.isNumericType(paramType)) {
164
+ return this.convertNumericArgument(bytes, paramType);
165
+ }
166
+ // For non-numeric types, convert to hex string
167
+ return utils_1.default.bytesToHex(bytes);
168
+ }
169
+ // Simple value wrapper - fix the bug in original implementation
170
+ if (typeof arg.value !== 'object' || !('value' in arg.value)) {
171
+ return this.convertArgumentByABI(arg.value, paramType);
172
+ }
173
+ // Double nested structure with numeric keys
174
+ const bytes = this.extractBytesFromBcsObject(arg.value.value);
175
+ if (bytes.length === 0)
176
+ return arg;
177
+ let extractedValue;
178
+ // Convert bytes based on parameter type using unified approach
179
+ if (this.isNumericType(paramType)) {
180
+ extractedValue = this.convertNumericArgument(bytes, paramType);
181
+ }
182
+ else if (paramType instanceof ts_sdk_1.TypeTagAddress) {
183
+ extractedValue = utils_1.default.bytesToHex(bytes);
184
+ }
185
+ else if (paramType instanceof ts_sdk_1.TypeTagBool) {
186
+ extractedValue = bytes[0] === 1;
187
+ }
188
+ else {
189
+ extractedValue = utils_1.default.bytesToHex(bytes);
190
+ }
191
+ return this.convertArgumentByABI(extractedValue, paramType);
192
+ }
193
+ /**
194
+ * Extract bytes from BCS object with numeric keys
195
+ */
196
+ extractBytesFromBcsObject(bcsObject) {
197
+ const keys = Object.keys(bcsObject)
198
+ .filter((k) => !isNaN(parseInt(k, 10)))
199
+ .sort((a, b) => parseInt(a, 10) - parseInt(b, 10));
200
+ if (keys.length === 0)
201
+ return [];
202
+ return keys.map((k) => bcsObject[k]);
203
+ }
204
+ /**
205
+ * Get custom transaction parameters
206
+ */
207
+ getCustomTransactionParams() {
208
+ return {
209
+ moduleName: this._moduleName || '',
210
+ functionName: this._functionName || '',
211
+ typeArguments: this._typeArguments,
212
+ functionArguments: this._functionArguments,
213
+ abi: this._entryFunctionAbi,
214
+ };
215
+ }
216
+ /**
217
+ * Override recipient getter for custom transactions
218
+ */
219
+ get recipient() {
220
+ if (this._recipients.length === 0) {
221
+ return {
222
+ address: '',
223
+ amount: '0',
224
+ };
225
+ }
226
+ return this._recipients[0];
227
+ }
228
+ /**
229
+ * Get validated full function name
230
+ */
231
+ getValidatedFullFunctionName() {
232
+ if (!this._moduleName || !this._functionName) {
233
+ throw new Error('Module name and function name must be set before building transaction');
234
+ }
235
+ const fullName = `${this._moduleName}::${this._functionName}`;
236
+ // Basic validation
237
+ const fullFunctionPattern = /^(0x[a-fA-F0-9]{1,64}|[a-zA-Z_][a-zA-Z0-9_]*)::[a-zA-Z_][a-zA-Z0-9_]*::[a-zA-Z_][a-zA-Z0-9_]*$/;
238
+ if (!fullFunctionPattern.test(fullName)) {
239
+ throw new Error(`Invalid full function name format: "${fullName}". Expected format: "address::module::function"`);
240
+ }
241
+ return fullName;
242
+ }
243
+ /**
244
+ * Check if a parameter type is a numeric type
245
+ */
246
+ isNumericType(paramType) {
247
+ return (paramType instanceof ts_sdk_1.TypeTagU8 ||
248
+ paramType instanceof ts_sdk_1.TypeTagU16 ||
249
+ paramType instanceof ts_sdk_1.TypeTagU32 ||
250
+ paramType instanceof ts_sdk_1.TypeTagU64 ||
251
+ paramType instanceof ts_sdk_1.TypeTagU128 ||
252
+ paramType instanceof ts_sdk_1.TypeTagU256);
253
+ }
254
+ /**
255
+ * Convert byte arrays to string numbers
256
+ * - Small types (U8/U16/U32): 1-4 bytes, parse manually
257
+ * - Large types (U64/U128/U256): 8+ bytes, use existing utility
258
+ * - Both return string for consistency
259
+ */
260
+ convertNumericArgument(bytes, paramType) {
261
+ if (paramType instanceof ts_sdk_1.TypeTagU8 || paramType instanceof ts_sdk_1.TypeTagU16 || paramType instanceof ts_sdk_1.TypeTagU32) {
262
+ // Small types: parse bytes manually (1-4 bytes)
263
+ let result = 0;
264
+ for (let i = bytes.length - 1; i >= 0; i--) {
265
+ result = result * 256 + bytes[i];
266
+ }
267
+ return result.toString();
268
+ }
269
+ if (paramType instanceof ts_sdk_1.TypeTagU64 || paramType instanceof ts_sdk_1.TypeTagU128 || paramType instanceof ts_sdk_1.TypeTagU256) {
270
+ // Large types: use existing method (needs 8+ bytes)
271
+ return utils_1.default.getAmountFromPayloadArgs(new Uint8Array(bytes));
272
+ }
273
+ // Unknown type: convert to hex
274
+ return utils_1.default.bytesToHex(bytes);
275
+ }
276
+ }
277
+ exports.CustomTransaction = CustomTransaction;
278
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uL2N1c3RvbVRyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLCtDQWdCNEI7QUFDNUIsbURBQWdGO0FBR2hGLHFEQUE2QjtBQUM3QixvREFBK0U7QUFDL0UsK0VBQTRFO0FBRTVFOztHQUVHO0FBQ0gsTUFBYSxpQkFBa0IsU0FBUSx5REFBMkI7SUFPaEUsWUFBWSxVQUFnQztRQUMxQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFMWixtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQUM5Qix1QkFBa0IsR0FBeUUsRUFBRSxDQUFDO1FBS3BHLElBQUksQ0FBQyxLQUFLLEdBQUcsMEJBQWUsQ0FBQyxRQUFRLENBQUM7SUFDeEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsMEJBQTBCLENBQUMsTUFBK0I7UUFDeEQsSUFBQSwrQkFBa0IsRUFBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdEMsSUFBQSxpQ0FBb0IsRUFBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFMUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztRQUN6QyxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO1FBQ2pELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLENBQUMsaUJBQWlCLElBQUksRUFBRSxDQUFDO1FBQ3pELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7T0FFRztJQUNILG1CQUFtQixDQUFDLEdBQXFCO1FBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUM7SUFDL0IsQ0FB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WUFDRCxPQUFPLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMzQixDQUFDO1FBRUQsSUFBSSxTQUFTLFlBQVksbUJBQVUsSUFBSSxTQUFTLFlBQVksb0JBQVcsSUFBSSxTQUFTLFlBQVksb0JBQVcsRUFBRSxDQUFDO1lBQzVHLG9EQUFvRDtZQUNwRCxPQUFPLGVBQUssQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQy9ELENBQUM7UUFFRCwrQkFBK0I7UUFDL0IsT0FBTyxlQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7Q0FDRjtBQXRURCw4Q0FzVEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBY2NvdW50QWRkcmVzcyxcbiAgRW50cnlGdW5jdGlvbkFCSSxcbiAgRW50cnlGdW5jdGlvbkFyZ3VtZW50VHlwZXMsXG4gIElucHV0R2VuZXJhdGVUcmFuc2FjdGlvblBheWxvYWREYXRhLFxuICBTaW1wbGVFbnRyeUZ1bmN0aW9uQXJndW1lbnRUeXBlcyxcbiAgVHJhbnNhY3Rpb25QYXlsb2FkLFxuICBUcmFuc2FjdGlvblBheWxvYWRFbnRyeUZ1bmN0aW9uLFxuICBUeXBlVGFnQWRkcmVzcyxcbiAgVHlwZVRhZ0Jvb2wsXG4gIFR5cGVUYWdVMTI4LFxuICBUeXBlVGFnVTE2LFxuICBUeXBlVGFnVTI1NixcbiAgVHlwZVRhZ1UzMixcbiAgVHlwZVRhZ1U2NCxcbiAgVHlwZVRhZ1U4LFxufSBmcm9tICdAYXB0b3MtbGFicy90cy1zZGsnO1xuaW1wb3J0IHsgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEN1c3RvbVRyYW5zYWN0aW9uUGFyYW1zIH0gZnJvbSAnLi4vaWZhY2UnO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IHZhbGlkYXRlRnVuY3Rpb25OYW1lLCB2YWxpZGF0ZU1vZHVsZU5hbWUgfSBmcm9tICcuLi91dGlscy92YWxpZGF0aW9uJztcbmltcG9ydCB7IEFic3RyYWN0VHJhbnNmZXJUcmFuc2FjdGlvbiB9IGZyb20gJy4vYWJzdHJhY3RUcmFuc2ZlclRyYW5zYWN0aW9uJztcblxuLyoqXG4gKiBUcmFuc2FjdGlvbiBjbGFzcyBmb3IgY3VzdG9tIEFwdG9zIHRyYW5zYWN0aW9ucy5cbiAqL1xuZXhwb3J0IGNsYXNzIEN1c3RvbVRyYW5zYWN0aW9uIGV4dGVuZHMgQWJzdHJhY3RUcmFuc2ZlclRyYW5zYWN0aW9uIHtcbiAgcHJpdmF0ZSBfbW9kdWxlTmFtZTogc3RyaW5nO1xuICBwcml2YXRlIF9mdW5jdGlvbk5hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSBfdHlwZUFyZ3VtZW50czogc3RyaW5nW10gPSBbXTtcbiAgcHJpdmF0ZSBfZnVuY3Rpb25Bcmd1bWVudHM6IEFycmF5PEVudHJ5RnVuY3Rpb25Bcmd1bWVudFR5cGVzIHwgU2ltcGxlRW50cnlGdW5jdGlvbkFyZ3VtZW50VHlwZXM+ID0gW107XG4gIHByaXZhdGUgX2VudHJ5RnVuY3Rpb25BYmk/OiBFbnRyeUZ1bmN0aW9uQUJJO1xuXG4gIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fdHlwZSA9IFRyYW5zYWN0aW9uVHlwZS5DdXN0b21UeDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGN1c3RvbSB0cmFuc2FjdGlvbiBwYXJhbWV0ZXJzXG4gICAqL1xuICBzZXRDdXN0b21UcmFuc2FjdGlvblBhcmFtcyhwYXJhbXM6IEN1c3RvbVRyYW5zYWN0aW9uUGFyYW1zKTogdm9pZCB7XG4gICAgdmFsaWRhdGVNb2R1bGVOYW1lKHBhcmFtcy5tb2R1bGVOYW1lKTtcbiAgICB2YWxpZGF0ZUZ1bmN0aW9uTmFtZShwYXJhbXMuZnVuY3Rpb25OYW1lKTtcblxuICAgIHRoaXMuX21vZHVsZU5hbWUgPSBwYXJhbXMubW9kdWxlTmFtZTtcbiAgICB0aGlzLl9mdW5jdGlvbk5hbWUgPSBwYXJhbXMuZnVuY3Rpb25OYW1lO1xuICAgIHRoaXMuX3R5cGVBcmd1bWVudHMgPSBwYXJhbXMudHlwZUFyZ3VtZW50cyB8fCBbXTtcbiAgICB0aGlzLl9mdW5jdGlvbkFyZ3VtZW50cyA9IHBhcmFtcy5mdW5jdGlvbkFyZ3VtZW50cyB8fCBbXTtcbiAgICB0aGlzLl9lbnRyeUZ1bmN0aW9uQWJpID0gcGFyYW1zLmFiaTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGVudHJ5IGZ1bmN0aW9uIEFCSVxuICAgKi9cbiAgc2V0RW50cnlGdW5jdGlvbkFiaShhYmk6IEVudHJ5RnVuY3Rpb25BQkkpOiB2b2lkIHtcbiAgICB0aGlzLl9lbnRyeUZ1bmN0aW9uQWJpID0gYWJpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgZnVsbCBmdW5jdGlvbiBuYW1lXG4gICAqL1xuICBnZXQgZnVsbEZ1bmN0aW9uTmFtZSgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5fbW9kdWxlTmFtZSB8fCAhdGhpcy5fZnVuY3Rpb25OYW1lKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHJldHVybiBgJHt0aGlzLl9tb2R1bGVOYW1lfTo6JHt0aGlzLl9mdW5jdGlvbk5hbWV9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXJzZSBhIHRyYW5zYWN0aW9uIHBheWxvYWQgdG8gZXh0cmFjdCB0aGUgY3VzdG9tIHRyYW5zYWN0aW9uIGRhdGFcbiAgICogUmVxdWlyZXMgQUJJIGluZm9ybWF0aW9uIGZvciBwcm9wZXIgdHlwZS1hd2FyZSBjb252ZXJzaW9uXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb25QYXlsb2FkfSBwYXlsb2FkIC0gVGhlIHRyYW5zYWN0aW9uIHBheWxvYWQgdG8gcGFyc2VcbiAgICovXG4gIHByb3RlY3RlZCBwYXJzZVRyYW5zYWN0aW9uUGF5bG9hZChwYXlsb2FkOiBUcmFuc2FjdGlvblBheWxvYWQpOiB2b2lkIHtcbiAgICBpZiAoIShwYXlsb2FkIGluc3RhbmNlb2YgVHJhbnNhY3Rpb25QYXlsb2FkRW50cnlGdW5jdGlvbikpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRXhwZWN0ZWQgZW50cnkgZnVuY3Rpb24gcGF5bG9hZCBmb3IgY3VzdG9tIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuXG4gICAgY29uc3QgZW50cnlGdW5jdGlvbiA9IHBheWxvYWQuZW50cnlGdW5jdGlvbjtcblxuICAgIC8vIEV4dHJhY3QgZnVuY3Rpb24gZGF0YVxuICAgIGNvbnN0IG1vZHVsZUFkZHJlc3MgPSBlbnRyeUZ1bmN0aW9uLm1vZHVsZV9uYW1lLmFkZHJlc3MudG9TdHJpbmcoKTtcbiAgICBjb25zdCBtb2R1bGVJZGVudGlmaWVyID0gZW50cnlGdW5jdGlvbi5tb2R1bGVfbmFtZS5uYW1lLmlkZW50aWZpZXI7XG4gICAgY29uc3QgZnVuY3Rpb25JZGVudGlmaWVyID0gZW50cnlGdW5jdGlvbi5mdW5jdGlvbl9uYW1lLmlkZW50aWZpZXI7XG5cbiAgICBjb25zdCBtb2R1bGVOYW1lID0gYCR7bW9kdWxlQWRkcmVzc306OiR7bW9kdWxlSWRlbnRpZmllcn1gO1xuXG4gICAgLy8gVmFsaWRhdGVcbiAgICB2YWxpZGF0ZU1vZHVsZU5hbWUobW9kdWxlTmFtZSk7XG4gICAgdmFsaWRhdGVGdW5jdGlvbk5hbWUoZnVuY3Rpb25JZGVudGlmaWVyKTtcblxuICAgIHRoaXMuX21vZHVsZU5hbWUgPSBtb2R1bGVOYW1lO1xuICAgIHRoaXMuX2Z1bmN0aW9uTmFtZSA9IGZ1bmN0aW9uSWRlbnRpZmllcjtcbiAgICB0aGlzLl90eXBlQXJndW1lbnRzID0gZW50cnlGdW5jdGlvbi50eXBlX2FyZ3MubWFwKCh0eXBlQXJnKSA9PiB0eXBlQXJnLnRvU3RyaW5nKCkpO1xuXG4gICAgLy8gUGFyc2UgYXJndW1lbnRzIHVzaW5nIEFCSSBpbmZvcm1hdGlvblxuICAgIC8vIElmIEFCSSBpcyBhdmFpbGFibGUsIHBhcnNlIHdpdGggdHlwZSBhd2FyZW5lc3M7IG90aGVyd2lzZSBzdG9yZSByYXcgYXJncyBmb3IgbGF0ZXIgcHJvY2Vzc2luZ1xuICAgIGlmICh0aGlzLl9lbnRyeUZ1bmN0aW9uQWJpPy5wYXJhbWV0ZXJzKSB7XG4gICAgICB0aGlzLl9mdW5jdGlvbkFyZ3VtZW50cyA9IGVudHJ5RnVuY3Rpb24uYXJncy5tYXAoKGFyZzogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhcmFtVHlwZSA9IHRoaXMuX2VudHJ5RnVuY3Rpb25BYmk/LnBhcmFtZXRlcnM/LltpbmRleF07XG4gICAgICAgIGlmICghcGFyYW1UeXBlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKFxuICAgICAgICAgICAgYE1pc3NpbmcgQUJJIHBhcmFtZXRlciB0eXBlIGZvciBhcmd1bWVudCAke2luZGV4fSBpbiAke3RoaXMuX21vZHVsZU5hbWV9Ojoke3RoaXMuX2Z1bmN0aW9uTmFtZX0uIGAgK1xuICAgICAgICAgICAgICAnQUJJIHBhcmFtZXRlciBjb3VudCBtaXNtYXRjaC4nXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5jb252ZXJ0QXJndW1lbnRCeUFCSShhcmcsIHBhcmFtVHlwZSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gU3RvcmUgcmF3IGFyZ3VtZW50cyB0ZW1wb3JhcmlseSAtIHRyYW5zYWN0aW9uIHdpbGwgYmUgcmUtcGFyc2VkIHdoZW4gQUJJIGlzIHByb3ZpZGVkXG4gICAgICB0aGlzLl9mdW5jdGlvbkFyZ3VtZW50cyA9IGVudHJ5RnVuY3Rpb24uYXJncy5tYXAoKGFyZzogYW55KSA9PiBhcmcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSB0cmFuc2FjdGlvbiBwYXlsb2FkIGRhdGFcbiAgICovXG4gIHByb3RlY3RlZCBnZXRUcmFuc2FjdGlvblBheWxvYWREYXRhKCk6IElucHV0R2VuZXJhdGVUcmFuc2FjdGlvblBheWxvYWREYXRhIHtcbiAgICBjb25zdCBmdW5jdGlvbk5hbWUgPSB0aGlzLmdldFZhbGlkYXRlZEZ1bGxGdW5jdGlvbk5hbWUoKTtcblxuICAgIC8vIEFyZ3VtZW50cyBhcmUgcHJlLXByb2Nlc3NlZCBkdXJpbmcgcGFyc2luZyBwaGFzZVxuICAgIGNvbnN0IHByb2Nlc3NlZEFyZ3VtZW50cyA9IHRoaXMuX2Z1bmN0aW9uQXJndW1lbnRzO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGZ1bmN0aW9uOiBmdW5jdGlvbk5hbWUsXG4gICAgICB0eXBlQXJndW1lbnRzOiB0aGlzLl90eXBlQXJndW1lbnRzLFxuICAgICAgZnVuY3Rpb25Bcmd1bWVudHM6IHByb2Nlc3NlZEFyZ3VtZW50cyxcbiAgICAgIGFiaTogdGhpcy5fZW50cnlGdW5jdGlvbkFiaSxcbiAgICB9IGFzIElucHV0R2VuZXJhdGVUcmFuc2FjdGlvblBheWxvYWREYXRhO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgYXJndW1lbnQgYmFzZWQgb24gQUJJIHR5cGUgaW5mb3JtYXRpb25cbiAgICovXG4gIHByaXZhdGUgY29udmVydEFyZ3VtZW50QnlBQkkoYXJnOiBhbnksIHBhcmFtVHlwZTogYW55KTogYW55IHtcbiAgICAvLyBIYW5kbGUgcHJpbWl0aXZlIHZhbHVlcyAoc3RyaW5nLCBudW1iZXIsIGJvb2xlYW4pXG4gICAgaWYgKHR5cGVvZiBhcmcgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBhcmcgPT09ICdudW1iZXInIHx8IHR5cGVvZiBhcmcgPT09ICdib29sZWFuJykge1xuICAgICAgcmV0dXJuIHRoaXMuY29udmVydFByaW1pdGl2ZUFyZ3VtZW50KGFyZywgcGFyYW1UeXBlKTtcbiAgICB9XG5cbiAgICAvLyBIYW5kbGUgQkNTLWVuY29kZWQgZGF0YSB3aXRoICdkYXRhJyBwcm9wZXJ0eVxuICAgIGlmIChhcmcgJiYgdHlwZW9mIGFyZyA9PT0gJ29iamVjdCcgJiYgJ2RhdGEnIGluIGFyZyAmJiBhcmcuZGF0YSkge1xuICAgICAgcmV0dXJuIHRoaXMuY29udmVydEJjc0RhdGFBcmd1bWVudChhcmcsIHBhcmFtVHlwZSk7XG4gICAgfVxuXG4gICAgLy8gSGFuZGxlIG5lc3RlZCBCQ1Mgc3RydWN0dXJlcyB3aXRoICd2YWx1ZScgcHJvcGVydHlcbiAgICBpZiAoYXJnICYmIHR5cGVvZiBhcmcgPT09ICdvYmplY3QnICYmICd2YWx1ZScgaW4gYXJnICYmIGFyZy52YWx1ZSkge1xuICAgICAgcmV0dXJuIHRoaXMuY29udmVydE5lc3RlZEJjc0FyZ3VtZW50KGFyZywgcGFyYW1UeXBlKTtcbiAgICB9XG5cbiAgICAvLyBGb3IgYW55dGhpbmcgZWxzZSwgcmV0dXJuIGFzLWlzXG4gICAgcmV0dXJuIGFyZztcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0IHByaW1pdGl2ZSBhcmd1bWVudCB2YWx1ZXMgYmFzZWQgb24gcGFyYW1ldGVyIHR5cGVcbiAgICovXG4gIHByaXZhdGUgY29udmVydFByaW1pdGl2ZUFyZ3VtZW50KFxuICAgIGFyZzogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbixcbiAgICBwYXJhbVR5cGU6IGFueVxuICApOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgQWNjb3VudEFkZHJlc3Mge1xuICAgIC8vIEFkZHJlc3MgY29udmVyc2lvbiBmb3IgaGV4IHN0cmluZ3NcbiAgICBpZiAocGFyYW1UeXBlIGluc3RhbmNlb2YgVHlwZVRhZ0FkZHJlc3MgJiYgdHlwZW9mIGFyZyA9PT0gJ3N0cmluZycgJiYgYXJnLnN0YXJ0c1dpdGgoJzB4JykpIHtcbiAgICAgIHJldHVybiB1dGlscy50cnlQYXJzZUFjY291bnRBZGRyZXNzKGFyZyk7XG4gICAgfVxuXG4gICAgLy8gVHlwZSBjb252ZXJzaW9ucyBiYXNlZCBvbiBwYXJhbWV0ZXIgdHlwZVxuICAgIGlmIChwYXJhbVR5cGUgaW5zdGFuY2VvZiBUeXBlVGFnQm9vbCkgcmV0dXJuIEJvb2xlYW4oYXJnKTtcblxuICAgIC8vIFVzZSB1bmlmaWVkIG51bWVyaWMgdHlwZSBoYW5kbGluZ1xuICAgIGlmICh0aGlzLmlzTnVtZXJpY1R5cGUocGFyYW1UeXBlKSkge1xuICAgICAgcmV0dXJuIHRoaXMuY29udmVydFByaW1pdGl2ZU51bWVyaWNBcmd1bWVudChhcmcpO1xuICAgIH1cblxuICAgIHJldHVybiBhcmc7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCBwcmltaXRpdmUgbnVtZXJpYyBhcmd1bWVudHMgdG8gc3RyaW5nXG4gICAqIC0gQmlnIG51bWJlcnMgYnJlYWsgSmF2YVNjcmlwdCAocHJlY2lzaW9uIGxvc3MpXG4gICAqIC0gU3RyaW5nIHNhZmVyIGZvciBsYXJnZSBVNjQvVTEyOC9VMjU2IHZhbHVlc1xuICAgKiAtIEFwdG9zIFNESyBjb252ZXJ0cyBzdHJpbmcgdG8gY29ycmVjdCB0eXBlIGF1dG9tYXRpY2FsbHlcbiAgICovXG4gIHByaXZhdGUgY29udmVydFByaW1pdGl2ZU51bWVyaWNBcmd1bWVudChhcmc6IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4pOiBzdHJpbmcge1xuICAgIC8vIEFsd2F5cyBzdHJpbmcgLSBzYWZlciBmb3IgYmlnIG51bWJlcnNcbiAgICByZXR1cm4gU3RyaW5nKGFyZyk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCBCQ1MgZGF0YSBhcmd1bWVudCB3aXRoICdkYXRhJyBwcm9wZXJ0eVxuICAgKi9cbiAgcHJpdmF0ZSBjb252ZXJ0QmNzRGF0YUFyZ3VtZW50KGFyZzogYW55LCBwYXJhbVR5cGU6IGFueSk6IHN0cmluZyB8IEFjY291bnRBZGRyZXNzIHtcbiAgICBjb25zdCBieXRlcyA9IEFycmF5LmZyb20oYXJnLmRhdGEpIGFzIG51bWJlcltdO1xuICAgIGNvbnN0IGhleFN0cmluZyA9IHV0aWxzLmJ5dGVzVG9IZXgoYnl0ZXMpO1xuXG4gICAgcmV0dXJuIHBhcmFtVHlwZSBpbnN0YW5jZW9mIFR5cGVUYWdBZGRyZXNzID8gdXRpbHMudHJ5UGFyc2VBY2NvdW50QWRkcmVzcyhoZXhTdHJpbmcpIDogaGV4U3RyaW5nO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgbmVzdGVkIEJDUyBhcmd1bWVudCB3aXRoICd2YWx1ZScgcHJvcGVydHlcbiAgICovXG4gIHByaXZhdGUgY29udmVydE5lc3RlZEJjc0FyZ3VtZW50KGFyZzogYW55LCBwYXJhbVR5cGU6IGFueSk6IGFueSB7XG4gICAgLy8gQ2hlY2sgaWYgaW5uZXIgdmFsdWUgaXMgYSBVaW50OEFycmF5IChjb21tb24gZm9yIFU2NCBhcmd1bWVudHMpXG4gICAgaWYgKGFyZy52YWx1ZS52YWx1ZSAmJiBhcmcudmFsdWUudmFsdWUgaW5zdGFuY2VvZiBVaW50OEFycmF5KSB7XG4gICAgICBjb25zdCBieXRlcyA9IEFycmF5LmZyb20oYXJnLnZhbHVlLnZhbHVlKSBhcyBudW1iZXJbXTtcbiAgICAgIGlmICh0aGlzLmlzTnVtZXJpY1R5cGUocGFyYW1UeXBlKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb252ZXJ0TnVtZXJpY0FyZ3VtZW50KGJ5dGVzLCBwYXJhbVR5cGUpO1xuICAgICAgfVxuICAgICAgLy8gRm9yIG5vbi1udW1lcmljIHR5cGVzLCBjb252ZXJ0IHRvIGhleCBzdHJpbmdcbiAgICAgIHJldHVybiB1dGlscy5ieXRlc1RvSGV4KGJ5dGVzKTtcbiAgICB9XG5cbiAgICAvLyBTaW1wbGUgdmFsdWUgd3JhcHBlciAtIGZpeCB0aGUgYnVnIGluIG9yaWdpbmFsIGltcGxlbWVudGF0aW9uXG4gICAgaWYgKHR5cGVvZiBhcmcudmFsdWUgIT09ICdvYmplY3QnIHx8ICEoJ3ZhbHVlJyBpbiBhcmcudmFsdWUpKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb252ZXJ0QXJndW1lbnRCeUFCSShhcmcudmFsdWUsIHBhcmFtVHlwZSk7XG4gICAgfVxuXG4gICAgLy8gRG91YmxlIG5lc3RlZCBzdHJ1Y3R1cmUgd2l0aCBudW1lcmljIGtleXNcbiAgICBjb25zdCBieXRlcyA9IHRoaXMuZXh0cmFjdEJ5dGVzRnJvbUJjc09iamVjdChhcmcudmFsdWUudmFsdWUpO1xuICAgIGlmIChieXRlcy5sZW5ndGggPT09IDApIHJldHVybiBhcmc7XG5cbiAgICBsZXQgZXh0cmFjdGVkVmFsdWU6IGFueTtcblxuICAgIC8vIENvbnZlcnQgYnl0ZXMgYmFzZWQgb24gcGFyYW1ldGVyIHR5cGUgdXNpbmcgdW5pZmllZCBhcHByb2FjaFxuICAgIGlmICh0aGlzLmlzTnVtZXJpY1R5cGUocGFyYW1UeXBlKSkge1xuICAgICAgZXh0cmFjdGVkVmFsdWUgPSB0aGlzLmNvbnZlcnROdW1lcmljQXJndW1lbnQoYnl0ZXMsIHBhcmFtVHlwZSk7XG4gICAgfSBlbHNlIGlmIChwYXJhbVR5cGUgaW5zdGFuY2VvZiBUeXBlVGFnQWRkcmVzcykge1xuICAgICAgZXh0cmFjdGVkVmFsdWUgPSB1dGlscy5ieXRlc1RvSGV4KGJ5dGVzKTtcbiAgICB9IGVsc2UgaWYgKHBhcmFtVHlwZSBpbnN0YW5jZW9mIFR5cGVUYWdCb29sKSB7XG4gICAgICBleHRyYWN0ZWRWYWx1ZSA9IGJ5dGVzWzBdID09PSAxO1xuICAgIH0gZWxzZSB7XG4gICAgICBleHRyYWN0ZWRWYWx1ZSA9IHV0aWxzLmJ5dGVzVG9IZXgoYnl0ZXMpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNvbnZlcnRBcmd1bWVudEJ5QUJJKGV4dHJhY3RlZFZhbHVlLCBwYXJhbVR5cGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4dHJhY3QgYnl0ZXMgZnJvbSBCQ1Mgb2JqZWN0IHdpdGggbnVtZXJpYyBrZXlzXG4gICAqL1xuICBwcml2YXRlIGV4dHJhY3RCeXRlc0Zyb21CY3NPYmplY3QoYmNzT2JqZWN0OiBhbnkpOiBudW1iZXJbXSB7XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGJjc09iamVjdClcbiAgICAgIC5maWx0ZXIoKGspID0+ICFpc05hTihwYXJzZUludChrLCAxMCkpKVxuICAgICAgLnNvcnQoKGEsIGIpID0+IHBhcnNlSW50KGEsIDEwKSAtIHBhcnNlSW50KGIsIDEwKSk7XG5cbiAgICBpZiAoa2V5cy5sZW5ndGggPT09IDApIHJldHVybiBbXTtcblxuICAgIHJldHVybiBrZXlzLm1hcCgoaykgPT4gYmNzT2JqZWN0W2tdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY3VzdG9tIHRyYW5zYWN0aW9uIHBhcmFtZXRlcnNcbiAgICovXG4gIGdldEN1c3RvbVRyYW5zYWN0aW9uUGFyYW1zKCk6IEN1c3RvbVRyYW5zYWN0aW9uUGFyYW1zIHtcbiAgICByZXR1cm4ge1xuICAgICAgbW9kdWxlTmFtZTogdGhpcy5fbW9kdWxlTmFtZSB8fCAnJyxcbiAgICAgIGZ1bmN0aW9uTmFtZTogdGhpcy5fZnVuY3Rpb25OYW1lIHx8ICcnLFxuICAgICAgdHlwZUFyZ3VtZW50czogdGhpcy5fdHlwZUFyZ3VtZW50cyxcbiAgICAgIGZ1bmN0aW9uQXJndW1lbnRzOiB0aGlzLl9mdW5jdGlvbkFyZ3VtZW50cyxcbiAgICAgIGFiaTogdGhpcy5fZW50cnlGdW5jdGlvbkFiaSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlIHJlY2lwaWVudCBnZXR0ZXIgZm9yIGN1c3RvbSB0cmFuc2FjdGlvbnNcbiAgICovXG4gIGdldCByZWNpcGllbnQoKTogYW55IHtcbiAgICBpZiAodGhpcy5fcmVjaXBpZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFkZHJlc3M6ICcnLFxuICAgICAgICBhbW91bnQ6ICcwJyxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9yZWNpcGllbnRzWzBdO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB2YWxpZGF0ZWQgZnVsbCBmdW5jdGlvbiBuYW1lXG4gICAqL1xuICBwcml2YXRlIGdldFZhbGlkYXRlZEZ1bGxGdW5jdGlvbk5hbWUoKTogYCR7c3RyaW5nfTo6JHtzdHJpbmd9Ojoke3N0cmluZ31gIHtcbiAgICBpZiAoIXRoaXMuX21vZHVsZU5hbWUgfHwgIXRoaXMuX2Z1bmN0aW9uTmFtZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNb2R1bGUgbmFtZSBhbmQgZnVuY3Rpb24gbmFtZSBtdXN0IGJlIHNldCBiZWZvcmUgYnVpbGRpbmcgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG5cbiAgICBjb25zdCBmdWxsTmFtZSA9IGAke3RoaXMuX21vZHVsZU5hbWV9Ojoke3RoaXMuX2Z1bmN0aW9uTmFtZX1gO1xuXG4gICAgLy8gQmFzaWMgdmFsaWRhdGlvblxuICAgIGNvbnN0IGZ1bGxGdW5jdGlvblBhdHRlcm4gPVxuICAgICAgL14oMHhbYS1mQS1GMC05XXsxLDY0fXxbYS16QS1aX11bYS16QS1aMC05X10qKTo6W2EtekEtWl9dW2EtekEtWjAtOV9dKjo6W2EtekEtWl9dW2EtekEtWjAtOV9dKiQvO1xuICAgIGlmICghZnVsbEZ1bmN0aW9uUGF0dGVybi50ZXN0KGZ1bGxOYW1lKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGZ1bGwgZnVuY3Rpb24gbmFtZSBmb3JtYXQ6IFwiJHtmdWxsTmFtZX1cIi4gRXhwZWN0ZWQgZm9ybWF0OiBcImFkZHJlc3M6Om1vZHVsZTo6ZnVuY3Rpb25cImApO1xuICAgIH1cblxuICAgIHJldHVybiBmdWxsTmFtZSBhcyBgJHtzdHJpbmd9Ojoke3N0cmluZ306OiR7c3RyaW5nfWA7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgYSBwYXJhbWV0ZXIgdHlwZSBpcyBhIG51bWVyaWMgdHlwZVxuICAgKi9cbiAgcHJpdmF0ZSBpc051bWVyaWNUeXBlKHBhcmFtVHlwZTogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHBhcmFtVHlwZSBpbnN0YW5jZW9mIFR5cGVUYWdVOCB8fFxuICAgICAgcGFyYW1UeXBlIGluc3RhbmNlb2YgVHlwZVRhZ1UxNiB8fFxuICAgICAgcGFyYW1UeXBlIGluc3RhbmNlb2YgVHlwZVRhZ1UzMiB8fFxuICAgICAgcGFyYW1UeXBlIGluc3RhbmNlb2YgVHlwZVRhZ1U2NCB8fFxuICAgICAgcGFyYW1UeXBlIGluc3RhbmNlb2YgVHlwZVRhZ1UxMjggfHxcbiAgICAgIHBhcmFtVHlwZSBpbnN0YW5jZW9mIFR5cGVUYWdVMjU2XG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0IGJ5dGUgYXJyYXlzIHRvIHN0cmluZyBudW1iZXJzXG4gICAqIC0gU21hbGwgdHlwZXMgKFU4L1UxNi9VMzIpOiAxLTQgYnl0ZXMsIHBhcnNlIG1hbnVhbGx5XG4gICAqIC0gTGFyZ2UgdHlwZXMgKFU2NC9VMTI4L1UyNTYpOiA4KyBieXRlcywgdXNlIGV4aXN0aW5nIHV0aWxpdHlcbiAgICogLSBCb3RoIHJldHVybiBzdHJpbmcgZm9yIGNvbnNpc3RlbmN5XG4gICAqL1xuICBwcml2YXRlIGNvbnZlcnROdW1lcmljQXJndW1lbnQoYnl0ZXM6IG51bWJlcltdLCBwYXJhbVR5cGU6IGFueSk6IHN0cmluZyB7XG4gICAgaWYgKHBhcmFtVHlwZSBpbnN0YW5jZW9mIFR5cGVUYWdVOCB8fCBwYXJhbVR5cGUgaW5zdGFuY2VvZiBUeXBlVGFnVTE2IHx8IHBhcmFtVHlwZSBpbnN0YW5jZW9mIFR5cGVUYWdVMzIpIHtcbiAgICAgIC8vIFNtYWxsIHR5cGVzOiBwYXJzZSBieXRlcyBtYW51YWxseSAoMS00IGJ5dGVzKVxuICAgICAgbGV0IHJlc3VsdCA9IDA7XG4gICAgICBmb3IgKGxldCBpID0gYnl0ZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0ICogMjU2ICsgYnl0ZXNbaV07XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0LnRvU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgaWYgKHBhcmFtVHlwZSBpbnN0YW5jZW9mIFR5cGVUYWdVNjQgfHwgcGFyYW1UeXBlIGluc3RhbmNlb2YgVHlwZVRhZ1UxMjggfHwgcGFyYW1UeXBlIGluc3RhbmNlb2YgVHlwZVRhZ1UyNTYpIHtcbiAgICAgIC8vIExhcmdlIHR5cGVzOiB1c2UgZXhpc3RpbmcgbWV0aG9kIChuZWVkcyA4KyBieXRlcylcbiAgICAgIHJldHVybiB1dGlscy5nZXRBbW91bnRGcm9tUGF5bG9hZEFyZ3MobmV3IFVpbnQ4QXJyYXkoYnl0ZXMpKTtcbiAgICB9XG5cbiAgICAvLyBVbmtub3duIHR5cGU6IGNvbnZlcnQgdG8gaGV4XG4gICAgcmV0dXJuIHV0aWxzLmJ5dGVzVG9IZXgoYnl0ZXMpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,10 @@
1
+ import { MoveFunctionId } from '@aptos-labs/ts-sdk';
2
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
+ import { AbstractDelegationPoolAmountBasedTransaction } from './abstractDelegationPoolAmountBasedTransaction';
4
+ import { InputsAndOutputs } from './transaction';
5
+ export declare class DelegationPoolAddStakeTransaction extends AbstractDelegationPoolAmountBasedTransaction {
6
+ constructor(coinConfig: Readonly<CoinConfig>);
7
+ moveFunctionId(): MoveFunctionId;
8
+ inputsAndOutputs(): InputsAndOutputs;
9
+ }
10
+ //# sourceMappingURL=delegationPoolAddStakeTransaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegationPoolAddStakeTransaction.d.ts","sourceRoot":"","sources":["../../../../src/lib/transaction/delegationPoolAddStakeTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,4CAA4C,EAAE,MAAM,gDAAgD,CAAC;AAC9G,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,qBAAa,iCAAkC,SAAQ,4CAA4C;gBACrF,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAKnC,cAAc,IAAI,cAAc;IAIhC,gBAAgB,IAAI,gBAAgB;CA4B9C"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DelegationPoolAddStakeTransaction = void 0;
4
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
5
+ const constants_1 = require("../constants");
6
+ const abstractDelegationPoolAmountBasedTransaction_1 = require("./abstractDelegationPoolAmountBasedTransaction");
7
+ class DelegationPoolAddStakeTransaction extends abstractDelegationPoolAmountBasedTransaction_1.AbstractDelegationPoolAmountBasedTransaction {
8
+ constructor(coinConfig) {
9
+ super(coinConfig);
10
+ this._type = sdk_core_1.TransactionType.StakingDelegate;
11
+ }
12
+ moveFunctionId() {
13
+ return constants_1.DELEGATION_POOL_ADD_STAKE_FUNCTION;
14
+ }
15
+ inputsAndOutputs() {
16
+ const { sender, validatorAddress, amount } = this;
17
+ if (sender === undefined)
18
+ throw new Error('sender is undefined');
19
+ if (validatorAddress === undefined)
20
+ throw new Error('validatorAddress is undefined');
21
+ if (amount === undefined)
22
+ throw new Error('amount is undefined');
23
+ return {
24
+ inputs: [
25
+ {
26
+ address: sender,
27
+ value: amount,
28
+ coin: this._coinConfig.name,
29
+ },
30
+ ],
31
+ outputs: [
32
+ {
33
+ address: validatorAddress,
34
+ value: amount,
35
+ coin: this._coinConfig.name,
36
+ },
37
+ ],
38
+ externalOutputs: [
39
+ {
40
+ address: validatorAddress,
41
+ amount: amount,
42
+ },
43
+ ],
44
+ };
45
+ }
46
+ }
47
+ exports.DelegationPoolAddStakeTransaction = DelegationPoolAddStakeTransaction;
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdhdGlvblBvb2xBZGRTdGFrZVRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbi9kZWxlZ2F0aW9uUG9vbEFkZFN0YWtlVHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsbURBQXVEO0FBR3ZELDRDQUFrRTtBQUNsRSxpSEFBOEc7QUFHOUcsTUFBYSxpQ0FBa0MsU0FBUSwyRkFBNEM7SUFDakcsWUFBWSxVQUFnQztRQUMxQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRywwQkFBZSxDQUFDLGVBQWUsQ0FBQztJQUMvQyxDQUFDO0lBRVEsY0FBYztRQUNyQixPQUFPLDhDQUFrQyxDQUFDO0lBQzVDLENBQUM7SUFFUSxnQkFBZ0I7UUFDdkIsTUFBTSxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDbEQsSUFBSSxNQUFNLEtBQUssU0FBUztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNqRSxJQUFJLGdCQUFnQixLQUFLLFNBQVM7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDckYsSUFBSSxNQUFNLEtBQUssU0FBUztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNqRSxPQUFPO1lBQ0wsTUFBTSxFQUFFO2dCQUNOO29CQUNFLE9BQU8sRUFBRSxNQUFNO29CQUNmLEtBQUssRUFBRSxNQUFNO29CQUNiLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUk7aUJBQzVCO2FBQ0Y7WUFDRCxPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsT0FBTyxFQUFFLGdCQUFnQjtvQkFDekIsS0FBSyxFQUFFLE1BQU07b0JBQ2IsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSTtpQkFDNUI7YUFDRjtZQUNELGVBQWUsRUFBRTtnQkFDZjtvQkFDRSxPQUFPLEVBQUUsZ0JBQWdCO29CQUN6QixNQUFNLEVBQUUsTUFBTTtpQkFDZjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXRDRCw4RUFzQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb3ZlRnVuY3Rpb25JZCB9IGZyb20gJ0BhcHRvcy1sYWJzL3RzLXNkayc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5cbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IERFTEVHQVRJT05fUE9PTF9BRERfU1RBS0VfRlVOQ1RJT04gfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQWJzdHJhY3REZWxlZ2F0aW9uUG9vbEFtb3VudEJhc2VkVHJhbnNhY3Rpb24gfSBmcm9tICcuL2Fic3RyYWN0RGVsZWdhdGlvblBvb2xBbW91bnRCYXNlZFRyYW5zYWN0aW9uJztcbmltcG9ydCB7IElucHV0c0FuZE91dHB1dHMgfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcblxuZXhwb3J0IGNsYXNzIERlbGVnYXRpb25Qb29sQWRkU3Rha2VUcmFuc2FjdGlvbiBleHRlbmRzIEFic3RyYWN0RGVsZWdhdGlvblBvb2xBbW91bnRCYXNlZFRyYW5zYWN0aW9uIHtcbiAgY29uc3RydWN0b3IoY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihjb2luQ29uZmlnKTtcbiAgICB0aGlzLl90eXBlID0gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdEZWxlZ2F0ZTtcbiAgfVxuXG4gIG92ZXJyaWRlIG1vdmVGdW5jdGlvbklkKCk6IE1vdmVGdW5jdGlvbklkIHtcbiAgICByZXR1cm4gREVMRUdBVElPTl9QT09MX0FERF9TVEFLRV9GVU5DVElPTjtcbiAgfVxuXG4gIG92ZXJyaWRlIGlucHV0c0FuZE91dHB1dHMoKTogSW5wdXRzQW5kT3V0cHV0cyB7XG4gICAgY29uc3QgeyBzZW5kZXIsIHZhbGlkYXRvckFkZHJlc3MsIGFtb3VudCB9ID0gdGhpcztcbiAgICBpZiAoc2VuZGVyID09PSB1bmRlZmluZWQpIHRocm93IG5ldyBFcnJvcignc2VuZGVyIGlzIHVuZGVmaW5lZCcpO1xuICAgIGlmICh2YWxpZGF0b3JBZGRyZXNzID09PSB1bmRlZmluZWQpIHRocm93IG5ldyBFcnJvcigndmFsaWRhdG9yQWRkcmVzcyBpcyB1bmRlZmluZWQnKTtcbiAgICBpZiAoYW1vdW50ID09PSB1bmRlZmluZWQpIHRocm93IG5ldyBFcnJvcignYW1vdW50IGlzIHVuZGVmaW5lZCcpO1xuICAgIHJldHVybiB7XG4gICAgICBpbnB1dHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGFkZHJlc3M6IHNlbmRlcixcbiAgICAgICAgICB2YWx1ZTogYW1vdW50LFxuICAgICAgICAgIGNvaW46IHRoaXMuX2NvaW5Db25maWcubmFtZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBvdXRwdXRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBhZGRyZXNzOiB2YWxpZGF0b3JBZGRyZXNzLFxuICAgICAgICAgIHZhbHVlOiBhbW91bnQsXG4gICAgICAgICAgY29pbjogdGhpcy5fY29pbkNvbmZpZy5uYW1lLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGV4dGVybmFsT3V0cHV0czogW1xuICAgICAgICB7XG4gICAgICAgICAgYWRkcmVzczogdmFsaWRhdG9yQWRkcmVzcyxcbiAgICAgICAgICBhbW91bnQ6IGFtb3VudCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -0,0 +1,10 @@
1
+ import { MoveFunctionId } from '@aptos-labs/ts-sdk';
2
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
+ import { AbstractDelegationPoolAmountBasedTransaction } from './abstractDelegationPoolAmountBasedTransaction';
4
+ import { InputsAndOutputs } from './transaction';
5
+ export declare class DelegationPoolUnlockTransaction extends AbstractDelegationPoolAmountBasedTransaction {
6
+ constructor(coinConfig: Readonly<CoinConfig>);
7
+ moveFunctionId(): MoveFunctionId;
8
+ inputsAndOutputs(): InputsAndOutputs;
9
+ }
10
+ //# sourceMappingURL=delegationPoolUnlockTransaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegationPoolUnlockTransaction.d.ts","sourceRoot":"","sources":["../../../../src/lib/transaction/delegationPoolUnlockTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,4CAA4C,EAAE,MAAM,gDAAgD,CAAC;AAC9G,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,qBAAa,+BAAgC,SAAQ,4CAA4C;gBACnF,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAKnC,cAAc,IAAI,cAAc;IAIhC,gBAAgB,IAAI,gBAAgB;CAO9C"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DelegationPoolUnlockTransaction = void 0;
4
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
5
+ const constants_1 = require("../constants");
6
+ const abstractDelegationPoolAmountBasedTransaction_1 = require("./abstractDelegationPoolAmountBasedTransaction");
7
+ class DelegationPoolUnlockTransaction extends abstractDelegationPoolAmountBasedTransaction_1.AbstractDelegationPoolAmountBasedTransaction {
8
+ constructor(coinConfig) {
9
+ super(coinConfig);
10
+ this._type = sdk_core_1.TransactionType.StakingUnlock;
11
+ }
12
+ moveFunctionId() {
13
+ return constants_1.DELEGATION_POOL_UNLOCK_FUNCTION;
14
+ }
15
+ inputsAndOutputs() {
16
+ return {
17
+ inputs: [],
18
+ outputs: [],
19
+ externalOutputs: [],
20
+ };
21
+ }
22
+ }
23
+ exports.DelegationPoolUnlockTransaction = DelegationPoolUnlockTransaction;
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdhdGlvblBvb2xVbmxvY2tUcmFuc2FjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb24vZGVsZWdhdGlvblBvb2xVbmxvY2tUcmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxtREFBdUQ7QUFHdkQsNENBQStEO0FBQy9ELGlIQUE4RztBQUc5RyxNQUFhLCtCQUFnQyxTQUFRLDJGQUE0QztJQUMvRixZQUFZLFVBQWdDO1FBQzFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLDBCQUFlLENBQUMsYUFBYSxDQUFDO0lBQzdDLENBQUM7SUFFUSxjQUFjO1FBQ3JCLE9BQU8sMkNBQStCLENBQUM7SUFDekMsQ0FBQztJQUVRLGdCQUFnQjtRQUN2QixPQUFPO1lBQ0wsTUFBTSxFQUFFLEVBQUU7WUFDVixPQUFPLEVBQUUsRUFBRTtZQUNYLGVBQWUsRUFBRSxFQUFFO1NBQ3BCLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFqQkQsMEVBaUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW92ZUZ1bmN0aW9uSWQgfSBmcm9tICdAYXB0b3MtbGFicy90cy1zZGsnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuXG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBERUxFR0FUSU9OX1BPT0xfVU5MT0NLX0ZVTkNUSU9OIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEFic3RyYWN0RGVsZWdhdGlvblBvb2xBbW91bnRCYXNlZFRyYW5zYWN0aW9uIH0gZnJvbSAnLi9hYnN0cmFjdERlbGVnYXRpb25Qb29sQW1vdW50QmFzZWRUcmFuc2FjdGlvbic7XG5pbXBvcnQgeyBJbnB1dHNBbmRPdXRwdXRzIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBEZWxlZ2F0aW9uUG9vbFVubG9ja1RyYW5zYWN0aW9uIGV4dGVuZHMgQWJzdHJhY3REZWxlZ2F0aW9uUG9vbEFtb3VudEJhc2VkVHJhbnNhY3Rpb24ge1xuICBjb25zdHJ1Y3Rvcihjb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKGNvaW5Db25maWcpO1xuICAgIHRoaXMuX3R5cGUgPSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1VubG9jaztcbiAgfVxuXG4gIG92ZXJyaWRlIG1vdmVGdW5jdGlvbklkKCk6IE1vdmVGdW5jdGlvbklkIHtcbiAgICByZXR1cm4gREVMRUdBVElPTl9QT09MX1VOTE9DS19GVU5DVElPTjtcbiAgfVxuXG4gIG92ZXJyaWRlIGlucHV0c0FuZE91dHB1dHMoKTogSW5wdXRzQW5kT3V0cHV0cyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlucHV0czogW10sXG4gICAgICBvdXRwdXRzOiBbXSxcbiAgICAgIGV4dGVybmFsT3V0cHV0czogW10sXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -0,0 +1,10 @@
1
+ import { MoveFunctionId } from '@aptos-labs/ts-sdk';
2
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
+ import { AbstractDelegationPoolAmountBasedTransaction } from './abstractDelegationPoolAmountBasedTransaction';
4
+ import { InputsAndOutputs } from './transaction';
5
+ export declare class DelegationPoolWithdrawTransaction extends AbstractDelegationPoolAmountBasedTransaction {
6
+ constructor(coinConfig: Readonly<CoinConfig>);
7
+ moveFunctionId(): MoveFunctionId;
8
+ inputsAndOutputs(): InputsAndOutputs;
9
+ }
10
+ //# sourceMappingURL=delegationPoolWithdrawTransaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegationPoolWithdrawTransaction.d.ts","sourceRoot":"","sources":["../../../../src/lib/transaction/delegationPoolWithdrawTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,4CAA4C,EAAE,MAAM,gDAAgD,CAAC;AAC9G,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,qBAAa,iCAAkC,SAAQ,4CAA4C;gBACrF,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAKnC,cAAc,IAAI,cAAc;IAIhC,gBAAgB,IAAI,gBAAgB;CAuB9C"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DelegationPoolWithdrawTransaction = void 0;
4
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
5
+ const constants_1 = require("../constants");
6
+ const abstractDelegationPoolAmountBasedTransaction_1 = require("./abstractDelegationPoolAmountBasedTransaction");
7
+ class DelegationPoolWithdrawTransaction extends abstractDelegationPoolAmountBasedTransaction_1.AbstractDelegationPoolAmountBasedTransaction {
8
+ constructor(coinConfig) {
9
+ super(coinConfig);
10
+ this._type = sdk_core_1.TransactionType.StakingWithdraw;
11
+ }
12
+ moveFunctionId() {
13
+ return constants_1.DELEGATION_POOL_WITHDRAW_FUNCTION;
14
+ }
15
+ inputsAndOutputs() {
16
+ const { sender, validatorAddress, amount } = this;
17
+ if (sender === undefined)
18
+ throw new Error('sender is undefined');
19
+ if (validatorAddress === undefined)
20
+ throw new Error('validatorAddress is undefined');
21
+ if (amount === undefined)
22
+ throw new Error('amount is undefined');
23
+ return {
24
+ inputs: [
25
+ {
26
+ address: validatorAddress,
27
+ value: amount,
28
+ coin: this._coinConfig.name,
29
+ },
30
+ ],
31
+ outputs: [
32
+ {
33
+ address: sender,
34
+ value: amount,
35
+ coin: this._coinConfig.name,
36
+ },
37
+ ],
38
+ externalOutputs: [],
39
+ };
40
+ }
41
+ }
42
+ exports.DelegationPoolWithdrawTransaction = DelegationPoolWithdrawTransaction;
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdhdGlvblBvb2xXaXRoZHJhd1RyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbi9kZWxlZ2F0aW9uUG9vbFdpdGhkcmF3VHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsbURBQXVEO0FBR3ZELDRDQUFpRTtBQUNqRSxpSEFBOEc7QUFHOUcsTUFBYSxpQ0FBa0MsU0FBUSwyRkFBNEM7SUFDakcsWUFBWSxVQUFnQztRQUMxQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRywwQkFBZSxDQUFDLGVBQWUsQ0FBQztJQUMvQyxDQUFDO0lBRVEsY0FBYztRQUNyQixPQUFPLDZDQUFpQyxDQUFDO0lBQzNDLENBQUM7SUFFUSxnQkFBZ0I7UUFDdkIsTUFBTSxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDbEQsSUFBSSxNQUFNLEtBQUssU0FBUztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNqRSxJQUFJLGdCQUFnQixLQUFLLFNBQVM7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDckYsSUFBSSxNQUFNLEtBQUssU0FBUztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNqRSxPQUFPO1lBQ0wsTUFBTSxFQUFFO2dCQUNOO29CQUNFLE9BQU8sRUFBRSxnQkFBZ0I7b0JBQ3pCLEtBQUssRUFBRSxNQUFNO29CQUNiLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUk7aUJBQzVCO2FBQ0Y7WUFDRCxPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsT0FBTyxFQUFFLE1BQU07b0JBQ2YsS0FBSyxFQUFFLE1BQU07b0JBQ2IsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSTtpQkFDNUI7YUFDRjtZQUNELGVBQWUsRUFBRSxFQUFFO1NBQ3BCLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFqQ0QsOEVBaUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW92ZUZ1bmN0aW9uSWQgfSBmcm9tICdAYXB0b3MtbGFicy90cy1zZGsnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuXG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBERUxFR0FUSU9OX1BPT0xfV0lUSERSQVdfRlVOQ1RJT04gfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQWJzdHJhY3REZWxlZ2F0aW9uUG9vbEFtb3VudEJhc2VkVHJhbnNhY3Rpb24gfSBmcm9tICcuL2Fic3RyYWN0RGVsZWdhdGlvblBvb2xBbW91bnRCYXNlZFRyYW5zYWN0aW9uJztcbmltcG9ydCB7IElucHV0c0FuZE91dHB1dHMgfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcblxuZXhwb3J0IGNsYXNzIERlbGVnYXRpb25Qb29sV2l0aGRyYXdUcmFuc2FjdGlvbiBleHRlbmRzIEFic3RyYWN0RGVsZWdhdGlvblBvb2xBbW91bnRCYXNlZFRyYW5zYWN0aW9uIHtcbiAgY29uc3RydWN0b3IoY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihjb2luQ29uZmlnKTtcbiAgICB0aGlzLl90eXBlID0gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdXaXRoZHJhdztcbiAgfVxuXG4gIG92ZXJyaWRlIG1vdmVGdW5jdGlvbklkKCk6IE1vdmVGdW5jdGlvbklkIHtcbiAgICByZXR1cm4gREVMRUdBVElPTl9QT09MX1dJVEhEUkFXX0ZVTkNUSU9OO1xuICB9XG5cbiAgb3ZlcnJpZGUgaW5wdXRzQW5kT3V0cHV0cygpOiBJbnB1dHNBbmRPdXRwdXRzIHtcbiAgICBjb25zdCB7IHNlbmRlciwgdmFsaWRhdG9yQWRkcmVzcywgYW1vdW50IH0gPSB0aGlzO1xuICAgIGlmIChzZW5kZXIgPT09IHVuZGVmaW5lZCkgdGhyb3cgbmV3IEVycm9yKCdzZW5kZXIgaXMgdW5kZWZpbmVkJyk7XG4gICAgaWYgKHZhbGlkYXRvckFkZHJlc3MgPT09IHVuZGVmaW5lZCkgdGhyb3cgbmV3IEVycm9yKCd2YWxpZGF0b3JBZGRyZXNzIGlzIHVuZGVmaW5lZCcpO1xuICAgIGlmIChhbW91bnQgPT09IHVuZGVmaW5lZCkgdGhyb3cgbmV3IEVycm9yKCdhbW91bnQgaXMgdW5kZWZpbmVkJyk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlucHV0czogW1xuICAgICAgICB7XG4gICAgICAgICAgYWRkcmVzczogdmFsaWRhdG9yQWRkcmVzcyxcbiAgICAgICAgICB2YWx1ZTogYW1vdW50LFxuICAgICAgICAgIGNvaW46IHRoaXMuX2NvaW5Db25maWcubmFtZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBvdXRwdXRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBhZGRyZXNzOiBzZW5kZXIsXG4gICAgICAgICAgdmFsdWU6IGFtb3VudCxcbiAgICAgICAgICBjb2luOiB0aGlzLl9jb2luQ29uZmlnLm5hbWUsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgZXh0ZXJuYWxPdXRwdXRzOiBbXSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,10 @@
1
+ import { InputGenerateTransactionPayloadData, TransactionPayload } from '@aptos-labs/ts-sdk';
2
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
+ import { AbstractTransferTransaction } from './abstractTransferTransaction';
4
+ export declare class DigitalAssetTransfer extends AbstractTransferTransaction {
5
+ constructor(coinConfig: Readonly<CoinConfig>);
6
+ protected parseTransactionPayload(payload: TransactionPayload): void;
7
+ protected getTransactionPayloadData(): InputGenerateTransactionPayloadData;
8
+ private transferDigitalAssetAbi;
9
+ }
10
+ //# sourceMappingURL=digitalAssetTransfer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"digitalAssetTransfer.d.ts","sourceRoot":"","sources":["../../../../src/lib/transaction/digitalAssetTransfer.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,mCAAmC,EAGnC,kBAAkB,EAKnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAM7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,qBAAa,oBAAqB,SAAQ,2BAA2B;gBACvD,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK5C,SAAS,CAAC,uBAAuB,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAmBpE,SAAS,CAAC,yBAAyB,IAAI,mCAAmC;IAY1E,OAAO,CAAC,uBAAuB,CAG7B;CACH"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DigitalAssetTransfer = void 0;
4
+ const ts_sdk_1 = require("@aptos-labs/ts-sdk");
5
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
6
+ const constants_1 = require("../constants");
7
+ const abstractTransferTransaction_1 = require("./abstractTransferTransaction");
8
+ class DigitalAssetTransfer extends abstractTransferTransaction_1.AbstractTransferTransaction {
9
+ constructor(coinConfig) {
10
+ super(coinConfig);
11
+ this.transferDigitalAssetAbi = {
12
+ typeParameters: [{ constraints: [ts_sdk_1.MoveAbility.KEY] }],
13
+ parameters: [new ts_sdk_1.TypeTagStruct((0, ts_sdk_1.objectStructTag)(new ts_sdk_1.TypeTagGeneric(0))), new ts_sdk_1.TypeTagAddress()],
14
+ };
15
+ this._type = sdk_core_1.TransactionType.SendNFT;
16
+ }
17
+ parseTransactionPayload(payload) {
18
+ if (!(payload instanceof ts_sdk_1.TransactionPayloadEntryFunction) ||
19
+ payload.entryFunction.args.length !== 2 ||
20
+ payload.entryFunction.type_args.length !== 1 ||
21
+ constants_1.DIGITAL_ASSET_TYPE_ARGUMENT !== payload.entryFunction.type_args[0].toString()) {
22
+ throw new sdk_core_1.InvalidTransactionError('Invalid transaction payload');
23
+ }
24
+ const entryFunction = payload.entryFunction;
25
+ this._assetId = entryFunction.args[0].toString();
26
+ this.recipients = [
27
+ {
28
+ address: entryFunction.args[1].toString(),
29
+ amount: constants_1.DIGITAL_ASSET_TRANSFER_AMOUNT,
30
+ },
31
+ ];
32
+ }
33
+ getTransactionPayloadData() {
34
+ const recipientAddress = ts_sdk_1.AccountAddress.fromString(this.recipients[0].address);
35
+ const digitalAssetAddress = ts_sdk_1.AccountAddress.fromString(this._assetId);
36
+ return {
37
+ function: constants_1.DIGITAL_ASSET_TRANSFER_FUNCTION,
38
+ typeArguments: [constants_1.DIGITAL_ASSET_TYPE_ARGUMENT],
39
+ functionArguments: [digitalAssetAddress, recipientAddress],
40
+ abi: this.transferDigitalAssetAbi,
41
+ };
42
+ }
43
+ }
44
+ exports.DigitalAssetTransfer = DigitalAssetTransfer;
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlnaXRhbEFzc2V0VHJhbnNmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uL2RpZ2l0YWxBc3NldFRyYW5zZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtDQVc0QjtBQUM1QixtREFBc0c7QUFFdEcsNENBSXNCO0FBQ3RCLCtFQUE0RTtBQUU1RSxNQUFhLG9CQUFxQixTQUFRLHlEQUEyQjtJQUNuRSxZQUFZLFVBQWdDO1FBQzFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQW1DWiw0QkFBdUIsR0FBcUI7WUFDbEQsY0FBYyxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxvQkFBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDcEQsVUFBVSxFQUFFLENBQUMsSUFBSSxzQkFBYSxDQUFDLElBQUEsd0JBQWUsRUFBQyxJQUFJLHVCQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksdUJBQWMsRUFBRSxDQUFDO1NBQzlGLENBQUM7UUFyQ0EsSUFBSSxDQUFDLEtBQUssR0FBRywwQkFBZSxDQUFDLE9BQU8sQ0FBQztJQUN2QyxDQUFDO0lBRVMsdUJBQXVCLENBQUMsT0FBMkI7UUFDM0QsSUFDRSxDQUFDLENBQUMsT0FBTyxZQUFZLHdDQUErQixDQUFDO1lBQ3JELE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQ3ZDLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQzVDLHVDQUEyQixLQUFLLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUM3RSxDQUFDO1lBQ0QsTUFBTSxJQUFJLGtDQUF1QixDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFDbkUsQ0FBQztRQUNELE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDNUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pELElBQUksQ0FBQyxVQUFVLEdBQUc7WUFDaEI7Z0JBQ0UsT0FBTyxFQUFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO2dCQUN6QyxNQUFNLEVBQUUseUNBQTZCO2FBQ3RDO1NBQ3dCLENBQUM7SUFDOUIsQ0FBQztJQUVTLHlCQUF5QjtRQUNqQyxNQUFNLGdCQUFnQixHQUFHLHVCQUFjLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0UsTUFBTSxtQkFBbUIsR0FBRyx1QkFBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFckUsT0FBTztZQUNMLFFBQVEsRUFBRSwyQ0FBK0I7WUFDekMsYUFBYSxFQUFFLENBQUMsdUNBQTJCLENBQUM7WUFDNUMsaUJBQWlCLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxnQkFBZ0IsQ0FBQztZQUMxRCxHQUFHLEVBQUUsSUFBSSxDQUFDLHVCQUF1QjtTQUNsQyxDQUFDO0lBQ0osQ0FBQztDQU1GO0FBekNELG9EQXlDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFjY291bnRBZGRyZXNzLFxuICBFbnRyeUZ1bmN0aW9uQUJJLFxuICBJbnB1dEdlbmVyYXRlVHJhbnNhY3Rpb25QYXlsb2FkRGF0YSxcbiAgTW92ZUFiaWxpdHksXG4gIG9iamVjdFN0cnVjdFRhZyxcbiAgVHJhbnNhY3Rpb25QYXlsb2FkLFxuICBUcmFuc2FjdGlvblBheWxvYWRFbnRyeUZ1bmN0aW9uLFxuICBUeXBlVGFnQWRkcmVzcyxcbiAgVHlwZVRhZ0dlbmVyaWMsXG4gIFR5cGVUYWdTdHJ1Y3QsXG59IGZyb20gJ0BhcHRvcy1sYWJzL3RzLXNkayc7XG5pbXBvcnQgeyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25SZWNpcGllbnQsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7XG4gIERJR0lUQUxfQVNTRVRfVFJBTlNGRVJfQU1PVU5ULFxuICBESUdJVEFMX0FTU0VUX1RSQU5TRkVSX0ZVTkNUSU9OLFxuICBESUdJVEFMX0FTU0VUX1RZUEVfQVJHVU1FTlQsXG59IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBBYnN0cmFjdFRyYW5zZmVyVHJhbnNhY3Rpb24gfSBmcm9tICcuL2Fic3RyYWN0VHJhbnNmZXJUcmFuc2FjdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBEaWdpdGFsQXNzZXRUcmFuc2ZlciBleHRlbmRzIEFic3RyYWN0VHJhbnNmZXJUcmFuc2FjdGlvbiB7XG4gIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fdHlwZSA9IFRyYW5zYWN0aW9uVHlwZS5TZW5kTkZUO1xuICB9XG5cbiAgcHJvdGVjdGVkIHBhcnNlVHJhbnNhY3Rpb25QYXlsb2FkKHBheWxvYWQ6IFRyYW5zYWN0aW9uUGF5bG9hZCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICEocGF5bG9hZCBpbnN0YW5jZW9mIFRyYW5zYWN0aW9uUGF5bG9hZEVudHJ5RnVuY3Rpb24pIHx8XG4gICAgICBwYXlsb2FkLmVudHJ5RnVuY3Rpb24uYXJncy5sZW5ndGggIT09IDIgfHxcbiAgICAgIHBheWxvYWQuZW50cnlGdW5jdGlvbi50eXBlX2FyZ3MubGVuZ3RoICE9PSAxIHx8XG4gICAgICBESUdJVEFMX0FTU0VUX1RZUEVfQVJHVU1FTlQgIT09IHBheWxvYWQuZW50cnlGdW5jdGlvbi50eXBlX2FyZ3NbMF0udG9TdHJpbmcoKVxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uIHBheWxvYWQnKTtcbiAgICB9XG4gICAgY29uc3QgZW50cnlGdW5jdGlvbiA9IHBheWxvYWQuZW50cnlGdW5jdGlvbjtcbiAgICB0aGlzLl9hc3NldElkID0gZW50cnlGdW5jdGlvbi5hcmdzWzBdLnRvU3RyaW5nKCk7XG4gICAgdGhpcy5yZWNpcGllbnRzID0gW1xuICAgICAge1xuICAgICAgICBhZGRyZXNzOiBlbnRyeUZ1bmN0aW9uLmFyZ3NbMV0udG9TdHJpbmcoKSxcbiAgICAgICAgYW1vdW50OiBESUdJVEFMX0FTU0VUX1RSQU5TRkVSX0FNT1VOVCxcbiAgICAgIH0sXG4gICAgXSBhcyBUcmFuc2FjdGlvblJlY2lwaWVudFtdO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFRyYW5zYWN0aW9uUGF5bG9hZERhdGEoKTogSW5wdXRHZW5lcmF0ZVRyYW5zYWN0aW9uUGF5bG9hZERhdGEge1xuICAgIGNvbnN0IHJlY2lwaWVudEFkZHJlc3MgPSBBY2NvdW50QWRkcmVzcy5mcm9tU3RyaW5nKHRoaXMucmVjaXBpZW50c1swXS5hZGRyZXNzKTtcbiAgICBjb25zdCBkaWdpdGFsQXNzZXRBZGRyZXNzID0gQWNjb3VudEFkZHJlc3MuZnJvbVN0cmluZyh0aGlzLl9hc3NldElkKTtcblxuICAgIHJldHVybiB7XG4gICAgICBmdW5jdGlvbjogRElHSVRBTF9BU1NFVF9UUkFOU0ZFUl9GVU5DVElPTixcbiAgICAgIHR5cGVBcmd1bWVudHM6IFtESUdJVEFMX0FTU0VUX1RZUEVfQVJHVU1FTlRdLFxuICAgICAgZnVuY3Rpb25Bcmd1bWVudHM6IFtkaWdpdGFsQXNzZXRBZGRyZXNzLCByZWNpcGllbnRBZGRyZXNzXSxcbiAgICAgIGFiaTogdGhpcy50cmFuc2ZlckRpZ2l0YWxBc3NldEFiaSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSB0cmFuc2ZlckRpZ2l0YWxBc3NldEFiaTogRW50cnlGdW5jdGlvbkFCSSA9IHtcbiAgICB0eXBlUGFyYW1ldGVyczogW3sgY29uc3RyYWludHM6IFtNb3ZlQWJpbGl0eS5LRVldIH1dLFxuICAgIHBhcmFtZXRlcnM6IFtuZXcgVHlwZVRhZ1N0cnVjdChvYmplY3RTdHJ1Y3RUYWcobmV3IFR5cGVUYWdHZW5lcmljKDApKSksIG5ldyBUeXBlVGFnQWRkcmVzcygpXSxcbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,12 @@
1
+ import { InputGenerateTransactionPayloadData, TransactionPayload } from '@aptos-labs/ts-sdk';
2
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
+ import { AbstractTransferTransaction } from './abstractTransferTransaction';
4
+ export declare class FungibleAssetTransfer extends AbstractTransferTransaction {
5
+ constructor(coinConfig: Readonly<CoinConfig>);
6
+ protected parseTransactionPayload(payload: TransactionPayload): void;
7
+ protected getTransactionPayloadData(): InputGenerateTransactionPayloadData;
8
+ private isValidPayload;
9
+ private faTransferAbi;
10
+ private batchFaTransferAbi;
11
+ }
12
+ //# sourceMappingURL=fungibleAssetTransfer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fungibleAssetTransfer.d.ts","sourceRoot":"","sources":["../../../../src/lib/transaction/fungibleAssetTransfer.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,mCAAmC,EAEnC,kBAAkB,EAKnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAS7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,qBAAa,qBAAsB,SAAQ,2BAA2B;gBACxD,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK5C,SAAS,CAAC,uBAAuB,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAWpE,SAAS,CAAC,yBAAyB,IAAI,mCAAmC;IA2B1E,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,aAAa,CAGnB;IAEF,OAAO,CAAC,kBAAkB,CAOxB;CACH"}