@bitgo-beta/sdk-coin-vet 1.0.1-beta.13 → 1.0.1-beta.130

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 (55) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/dist/src/index.d.ts +1 -0
  3. package/dist/src/index.d.ts.map +1 -1
  4. package/dist/src/index.js +2 -1
  5. package/dist/src/lib/constants.d.ts +3 -1
  6. package/dist/src/lib/constants.d.ts.map +1 -1
  7. package/dist/src/lib/constants.js +5 -3
  8. package/dist/src/lib/iface.d.ts +27 -0
  9. package/dist/src/lib/iface.d.ts.map +1 -0
  10. package/dist/src/lib/iface.js +3 -0
  11. package/dist/src/lib/index.d.ts +11 -1
  12. package/dist/src/lib/index.d.ts.map +1 -1
  13. package/dist/src/lib/index.js +22 -2
  14. package/dist/src/lib/keyPair.d.ts +26 -0
  15. package/dist/src/lib/keyPair.d.ts.map +1 -0
  16. package/dist/src/lib/keyPair.js +65 -0
  17. package/dist/src/lib/transaction/addressInitializationTransaction.d.ts +31 -0
  18. package/dist/src/lib/transaction/addressInitializationTransaction.d.ts.map +1 -0
  19. package/dist/src/lib/transaction/addressInitializationTransaction.js +170 -0
  20. package/dist/src/lib/transaction/flushTokenTransaction.d.ts +20 -0
  21. package/dist/src/lib/transaction/flushTokenTransaction.d.ts.map +1 -0
  22. package/dist/src/lib/transaction/flushTokenTransaction.js +98 -0
  23. package/dist/src/lib/transaction/transaction.d.ts +106 -0
  24. package/dist/src/lib/transaction/transaction.d.ts.map +1 -0
  25. package/dist/src/lib/transaction/transaction.js +466 -0
  26. package/dist/src/lib/transactionBuilder/addressInitializationBuilder.d.ts +78 -0
  27. package/dist/src/lib/transactionBuilder/addressInitializationBuilder.d.ts.map +1 -0
  28. package/dist/src/lib/transactionBuilder/addressInitializationBuilder.js +158 -0
  29. package/dist/src/lib/transactionBuilder/flushTokenTransactionBuilder.d.ts +66 -0
  30. package/dist/src/lib/transactionBuilder/flushTokenTransactionBuilder.d.ts.map +1 -0
  31. package/dist/src/lib/transactionBuilder/flushTokenTransactionBuilder.js +129 -0
  32. package/dist/src/lib/transactionBuilder/transactionBuilder.d.ts +54 -0
  33. package/dist/src/lib/transactionBuilder/transactionBuilder.d.ts.map +1 -0
  34. package/dist/src/lib/transactionBuilder/transactionBuilder.js +155 -0
  35. package/dist/src/lib/transactionBuilder/transferBuilder.d.ts +10 -0
  36. package/dist/src/lib/transactionBuilder/transferBuilder.d.ts.map +1 -0
  37. package/dist/src/lib/transactionBuilder/transferBuilder.js +45 -0
  38. package/dist/src/lib/transactionBuilderFactory.d.ts +31 -0
  39. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -0
  40. package/dist/src/lib/transactionBuilderFactory.js +77 -0
  41. package/dist/src/lib/types.d.ts +8 -0
  42. package/dist/src/lib/types.d.ts.map +1 -0
  43. package/dist/src/lib/types.js +3 -0
  44. package/dist/src/lib/utils.d.ts +5 -1
  45. package/dist/src/lib/utils.d.ts.map +1 -1
  46. package/dist/src/lib/utils.js +54 -6
  47. package/dist/src/register.d.ts.map +1 -1
  48. package/dist/src/register.js +5 -1
  49. package/dist/src/vet.d.ts +9 -4
  50. package/dist/src/vet.d.ts.map +1 -1
  51. package/dist/src/vet.js +140 -10
  52. package/dist/src/vetToken.d.ts +19 -0
  53. package/dist/src/vetToken.d.ts.map +1 -0
  54. package/dist/src/vetToken.js +52 -0
  55. package/package.json +16 -7
package/CHANGELOG.md CHANGED
@@ -3,6 +3,77 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [2.0.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-vet@2.0.0...@bitgo/sdk-coin-vet@2.0.1) (2025-07-15)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **sdk-coin-vet:** fix deserialization in vet sdk ([5a7ce8e](https://github.com/BitGo/BitGoJS/commit/5a7ce8e834b0815a0e8315869e6a13b5ba2af6ec))
11
+
12
+ # [2.0.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-vet@1.6.2...@bitgo/sdk-coin-vet@2.0.0) (2025-07-10)
13
+
14
+ ### Bug Fixes
15
+
16
+ - **sdk-coin-vet:** correct signable payload for vechain transaction ([9152ce6](https://github.com/BitGo/BitGoJS/commit/9152ce6cf781a69762d0298aa88133438f70fda9))
17
+ - **sdk-coin-vet:** fix issues in addressinit builder and flushtoken builder ([ac55b9f](https://github.com/BitGo/BitGoJS/commit/ac55b9ff10331bdd864ea7e903ee983944ca4cd0))
18
+ - **sdk-coin-vet:** fix issues in fromRawTransaction ([3502030](https://github.com/BitGo/BitGoJS/commit/35020301db5ea6ef21afa44c5830d6a53a624174))
19
+
20
+ ### Features
21
+
22
+ - **sdk-coin-vet:** add address init builder ([09f5b21](https://github.com/BitGo/BitGoJS/commit/09f5b211deb3ee0b29b13d9844937ea02d712525))
23
+ - **sdk-coin-vet:** add flushtoken txbuilder ([f28db93](https://github.com/BitGo/BitGoJS/commit/f28db93b1a2a48dca326e4a01fcc2bac00b458e0))
24
+
25
+ ### BREAKING CHANGES
26
+
27
+ - **sdk-coin-vet:** interface TxData has been removed from sdk-coin-vet
28
+
29
+ interface VetTransactionData has been moved from modules/sdk-coin-vet/src/lib/transaction/transaction.ts to modules/sdk-coin-vet/src/lib/iface.ts
30
+
31
+ fromImplementation method has been moved from modules/sdk-coin-vet/src/lib/transactionBuilder/transactionBuilder.ts to modules/sdk-coin-vet/src/lib/transactionBuilder/transferBuilder.ts
32
+
33
+ ## [1.6.2](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-vet@1.6.1...@bitgo/sdk-coin-vet@1.6.2) (2025-07-03)
34
+
35
+ **Note:** Version bump only for package @bitgo/sdk-coin-vet
36
+
37
+ ## [1.6.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-vet@1.6.0...@bitgo/sdk-coin-vet@1.6.1) (2025-06-25)
38
+
39
+ **Note:** Version bump only for package @bitgo/sdk-coin-vet
40
+
41
+ # [1.6.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-vet@1.5.0...@bitgo/sdk-coin-vet@1.6.0) (2025-06-24)
42
+
43
+ ### Features
44
+
45
+ - add vechain token standard support ([f81cf23](https://github.com/BitGo/BitGoJS/commit/f81cf230afe4636ac87a2d94821b49947605d1ff))
46
+
47
+ # [1.5.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-vet@1.4.0...@bitgo/sdk-coin-vet@1.5.0) (2025-06-18)
48
+
49
+ ### Features
50
+
51
+ - **sdk-coin-vet:** implement isValidBlockId for vet ([2a7e6e7](https://github.com/BitGo/BitGoJS/commit/2a7e6e78b3972ef8d3858c9b2d9a83e713ae4437))
52
+
53
+ # [1.4.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-vet@1.3.0...@bitgo/sdk-coin-vet@1.4.0) (2025-06-10)
54
+
55
+ ### Features
56
+
57
+ - **sdk-coin-vet:** add transaction builder logic for vechain ([96c089f](https://github.com/BitGo/BitGoJS/commit/96c089fcbd2401c921d2bc9a43ef7bc112c80e8b))
58
+
59
+ # [1.3.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-vet@1.2.0...@bitgo/sdk-coin-vet@1.3.0) (2025-06-05)
60
+
61
+ ### Features
62
+
63
+ - **root:** support node 22 ([c4ad6af](https://github.com/BitGo/BitGoJS/commit/c4ad6af2e8896221417c303f0f6b84652b493216))
64
+ - **sdk-coin-vet:** add vechain keyPair ([3231af0](https://github.com/BitGo/BitGoJS/commit/3231af0679051bb6034a90f811707713075033ba))
65
+ - **sdk-coin-vet:** address and wallet creation ([7964875](https://github.com/BitGo/BitGoJS/commit/79648755454faac413c82761ca287aac721eb0e5))
66
+
67
+ # [1.2.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-vet@1.1.1...@bitgo/sdk-coin-vet@1.2.0) (2025-06-02)
68
+
69
+ ### Features
70
+
71
+ - rename audit function naming and signature ([1a885ab](https://github.com/BitGo/BitGoJS/commit/1a885ab60d30ca8595e284a728f2ab9d3c09994e))
72
+
73
+ ## [1.1.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-vet@1.1.0...@bitgo/sdk-coin-vet@1.1.1) (2025-05-28)
74
+
75
+ **Note:** Version bump only for package @bitgo/sdk-coin-vet
76
+
6
77
  # 1.1.0 (2025-05-22)
7
78
 
8
79
  ### Features
@@ -2,4 +2,5 @@ export * from './lib';
2
2
  export * from './vet';
3
3
  export * from './tvet';
4
4
  export * from './register';
5
+ export * from './vetToken';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
package/dist/src/index.js CHANGED
@@ -18,4 +18,5 @@ __exportStar(require("./lib"), exports);
18
18
  __exportStar(require("./vet"), exports);
19
19
  __exportStar(require("./tvet"), exports);
20
20
  __exportStar(require("./register"), exports);
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdDQUFzQjtBQUN0Qix3Q0FBc0I7QUFDdEIseUNBQXVCO0FBQ3ZCLDZDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliJztcbmV4cG9ydCAqIGZyb20gJy4vdmV0JztcbmV4cG9ydCAqIGZyb20gJy4vdHZldCc7XG5leHBvcnQgKiBmcm9tICcuL3JlZ2lzdGVyJztcbiJdfQ==
21
+ __exportStar(require("./vetToken"), exports);
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdDQUFzQjtBQUN0Qix3Q0FBc0I7QUFDdEIseUNBQXVCO0FBQ3ZCLDZDQUEyQjtBQUMzQiw2Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYic7XG5leHBvcnQgKiBmcm9tICcuL3ZldCc7XG5leHBvcnQgKiBmcm9tICcuL3R2ZXQnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWdpc3Rlcic7XG5leHBvcnQgKiBmcm9tICcuL3ZldFRva2VuJztcbiJdfQ==
@@ -1,2 +1,4 @@
1
- export declare const DEFAULT_GAS_UNIT_PRICE = 100;
1
+ export declare const VET_TRANSACTION_ID_LENGTH = 64;
2
+ export declare const VET_ADDRESS_LENGTH = 40;
3
+ export declare const VET_BLOCK_ID_LENGTH = 64;
2
4
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,MAAM,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAC5C,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,mBAAmB,KAAK,CAAC"}
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_GAS_UNIT_PRICE = void 0;
4
- exports.DEFAULT_GAS_UNIT_PRICE = 100;
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxzQkFBc0IsR0FBRyxHQUFHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgREVGQVVMVF9HQVNfVU5JVF9QUklDRSA9IDEwMDtcbiJdfQ==
3
+ exports.VET_BLOCK_ID_LENGTH = exports.VET_ADDRESS_LENGTH = exports.VET_TRANSACTION_ID_LENGTH = void 0;
4
+ exports.VET_TRANSACTION_ID_LENGTH = 64;
5
+ exports.VET_ADDRESS_LENGTH = 40;
6
+ exports.VET_BLOCK_ID_LENGTH = 64;
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSx5QkFBeUIsR0FBRyxFQUFFLENBQUM7QUFDL0IsUUFBQSxrQkFBa0IsR0FBRyxFQUFFLENBQUM7QUFDeEIsUUFBQSxtQkFBbUIsR0FBRyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgVkVUX1RSQU5TQUNUSU9OX0lEX0xFTkdUSCA9IDY0O1xuZXhwb3J0IGNvbnN0IFZFVF9BRERSRVNTX0xFTkdUSCA9IDQwO1xuZXhwb3J0IGNvbnN0IFZFVF9CTE9DS19JRF9MRU5HVEggPSA2NDtcbiJdfQ==
@@ -0,0 +1,27 @@
1
+ import { TransactionExplanation as BaseTransactionExplanation, TransactionType as BitGoTransactionType, TransactionRecipient } from '@bitgo-beta/sdk-core';
2
+ /**
3
+ * The transaction data returned from the toJson() function of a transaction
4
+ */
5
+ export interface VetTransactionData {
6
+ id: string;
7
+ chainTag: number;
8
+ blockRef: string;
9
+ expiration: number;
10
+ gasPriceCoef: number;
11
+ gas: number;
12
+ dependsOn: string | null;
13
+ nonce: number;
14
+ sender?: string;
15
+ feePayer?: string;
16
+ recipients?: TransactionRecipient[];
17
+ data?: string;
18
+ value?: string;
19
+ deployedAddress?: string;
20
+ to?: string;
21
+ tokenAddress?: string;
22
+ }
23
+ export interface VetTransactionExplanation extends BaseTransactionExplanation {
24
+ sender?: string;
25
+ type?: BitGoTransactionType;
26
+ }
27
+ //# sourceMappingURL=iface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,IAAI,0BAA0B,EACpD,eAAe,IAAI,oBAAoB,EACvC,oBAAoB,EACrB,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,yBAA0B,SAAQ,0BAA0B;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,oBAAoB,CAAC;CAC7B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGFzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLFxuICBUcmFuc2FjdGlvblR5cGUgYXMgQml0R29UcmFuc2FjdGlvblR5cGUsXG4gIFRyYW5zYWN0aW9uUmVjaXBpZW50LFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5cbi8qKlxuICogVGhlIHRyYW5zYWN0aW9uIGRhdGEgcmV0dXJuZWQgZnJvbSB0aGUgdG9Kc29uKCkgZnVuY3Rpb24gb2YgYSB0cmFuc2FjdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZldFRyYW5zYWN0aW9uRGF0YSB7XG4gIGlkOiBzdHJpbmc7XG4gIGNoYWluVGFnOiBudW1iZXI7XG4gIGJsb2NrUmVmOiBzdHJpbmc7XG4gIGV4cGlyYXRpb246IG51bWJlcjtcbiAgZ2FzUHJpY2VDb2VmOiBudW1iZXI7XG4gIGdhczogbnVtYmVyO1xuICBkZXBlbmRzT246IHN0cmluZyB8IG51bGw7XG4gIG5vbmNlOiBudW1iZXI7XG4gIHNlbmRlcj86IHN0cmluZztcbiAgZmVlUGF5ZXI/OiBzdHJpbmc7XG4gIHJlY2lwaWVudHM/OiBUcmFuc2FjdGlvblJlY2lwaWVudFtdO1xuICBkYXRhPzogc3RyaW5nO1xuICB2YWx1ZT86IHN0cmluZztcbiAgZGVwbG95ZWRBZGRyZXNzPzogc3RyaW5nO1xuICB0bz86IHN0cmluZztcbiAgdG9rZW5BZGRyZXNzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZldFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gIHNlbmRlcj86IHN0cmluZztcbiAgdHlwZT86IEJpdEdvVHJhbnNhY3Rpb25UeXBlO1xufVxuIl19
@@ -1,4 +1,14 @@
1
1
  import * as Constants from './constants';
2
2
  import * as Utils from './utils';
3
- export { Constants, Utils };
3
+ import * as Interface from './iface';
4
+ export { KeyPair } from './keyPair';
5
+ export { Transaction } from './transaction/transaction';
6
+ export { AddressInitializationTransaction } from './transaction/addressInitializationTransaction';
7
+ export { FlushTokenTransaction } from './transaction/flushTokenTransaction';
8
+ export { TransactionBuilder } from './transactionBuilder/transactionBuilder';
9
+ export { TransferBuilder } from './transactionBuilder/transferBuilder';
10
+ export { AddressInitializationBuilder } from './transactionBuilder/addressInitializationBuilder';
11
+ export { FlushTokenTransactionBuilder } from './transactionBuilder/flushTokenTransactionBuilder';
12
+ export { TransactionBuilderFactory } from './transactionBuilderFactory';
13
+ export { Constants, Utils, Interface };
4
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,SAAS,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,gCAAgC,EAAE,MAAM,gDAAgD,CAAC;AAClG,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,4BAA4B,EAAE,MAAM,mDAAmD,CAAC;AACjG,OAAO,EAAE,4BAA4B,EAAE,MAAM,mDAAmD,CAAC;AACjG,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC"}
@@ -33,9 +33,29 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.Utils = exports.Constants = void 0;
36
+ exports.Interface = exports.Utils = exports.Constants = exports.TransactionBuilderFactory = exports.FlushTokenTransactionBuilder = exports.AddressInitializationBuilder = exports.TransferBuilder = exports.TransactionBuilder = exports.FlushTokenTransaction = exports.AddressInitializationTransaction = exports.Transaction = exports.KeyPair = void 0;
37
37
  const Constants = __importStar(require("./constants"));
38
38
  exports.Constants = Constants;
39
39
  const Utils = __importStar(require("./utils"));
40
40
  exports.Utils = Utils;
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVEQUF5QztBQUdoQyw4QkFBUztBQUZsQiwrQ0FBaUM7QUFFYixzQkFBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIENvbnN0YW50cyBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgKiBhcyBVdGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IHsgQ29uc3RhbnRzLCBVdGlscyB9O1xuIl19
41
+ const Interface = __importStar(require("./iface"));
42
+ exports.Interface = Interface;
43
+ var keyPair_1 = require("./keyPair");
44
+ Object.defineProperty(exports, "KeyPair", { enumerable: true, get: function () { return keyPair_1.KeyPair; } });
45
+ var transaction_1 = require("./transaction/transaction");
46
+ Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return transaction_1.Transaction; } });
47
+ var addressInitializationTransaction_1 = require("./transaction/addressInitializationTransaction");
48
+ Object.defineProperty(exports, "AddressInitializationTransaction", { enumerable: true, get: function () { return addressInitializationTransaction_1.AddressInitializationTransaction; } });
49
+ var flushTokenTransaction_1 = require("./transaction/flushTokenTransaction");
50
+ Object.defineProperty(exports, "FlushTokenTransaction", { enumerable: true, get: function () { return flushTokenTransaction_1.FlushTokenTransaction; } });
51
+ var transactionBuilder_1 = require("./transactionBuilder/transactionBuilder");
52
+ Object.defineProperty(exports, "TransactionBuilder", { enumerable: true, get: function () { return transactionBuilder_1.TransactionBuilder; } });
53
+ var transferBuilder_1 = require("./transactionBuilder/transferBuilder");
54
+ Object.defineProperty(exports, "TransferBuilder", { enumerable: true, get: function () { return transferBuilder_1.TransferBuilder; } });
55
+ var addressInitializationBuilder_1 = require("./transactionBuilder/addressInitializationBuilder");
56
+ Object.defineProperty(exports, "AddressInitializationBuilder", { enumerable: true, get: function () { return addressInitializationBuilder_1.AddressInitializationBuilder; } });
57
+ var flushTokenTransactionBuilder_1 = require("./transactionBuilder/flushTokenTransactionBuilder");
58
+ Object.defineProperty(exports, "FlushTokenTransactionBuilder", { enumerable: true, get: function () { return flushTokenTransactionBuilder_1.FlushTokenTransactionBuilder; } });
59
+ var transactionBuilderFactory_1 = require("./transactionBuilderFactory");
60
+ Object.defineProperty(exports, "TransactionBuilderFactory", { enumerable: true, get: function () { return transactionBuilderFactory_1.TransactionBuilderFactory; } });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVEQUF5QztBQWFoQyw4QkFBUztBQVpsQiwrQ0FBaUM7QUFZYixzQkFBSztBQVh6QixtREFBcUM7QUFXViw4QkFBUztBQVRwQyxxQ0FBb0M7QUFBM0Isa0dBQUEsT0FBTyxPQUFBO0FBQ2hCLHlEQUF3RDtBQUEvQywwR0FBQSxXQUFXLE9BQUE7QUFDcEIsbUdBQWtHO0FBQXpGLG9KQUFBLGdDQUFnQyxPQUFBO0FBQ3pDLDZFQUE0RTtBQUFuRSw4SEFBQSxxQkFBcUIsT0FBQTtBQUM5Qiw4RUFBNkU7QUFBcEUsd0hBQUEsa0JBQWtCLE9BQUE7QUFDM0Isd0VBQXVFO0FBQTlELGtIQUFBLGVBQWUsT0FBQTtBQUN4QixrR0FBaUc7QUFBeEYsNElBQUEsNEJBQTRCLE9BQUE7QUFDckMsa0dBQWlHO0FBQXhGLDRJQUFBLDRCQUE0QixPQUFBO0FBQ3JDLHlFQUF3RTtBQUEvRCxzSUFBQSx5QkFBeUIsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIENvbnN0YW50cyBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgKiBhcyBVdGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCAqIGFzIEludGVyZmFjZSBmcm9tICcuL2lmYWNlJztcblxuZXhwb3J0IHsgS2V5UGFpciB9IGZyb20gJy4va2V5UGFpcic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuZXhwb3J0IHsgQWRkcmVzc0luaXRpYWxpemF0aW9uVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uL2FkZHJlc3NJbml0aWFsaXphdGlvblRyYW5zYWN0aW9uJztcbmV4cG9ydCB7IEZsdXNoVG9rZW5UcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24vZmx1c2hUb2tlblRyYW5zYWN0aW9uJztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5leHBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlci90cmFuc2ZlckJ1aWxkZXInO1xuZXhwb3J0IHsgQWRkcmVzc0luaXRpYWxpemF0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyL2FkZHJlc3NJbml0aWFsaXphdGlvbkJ1aWxkZXInO1xuZXhwb3J0IHsgRmx1c2hUb2tlblRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyL2ZsdXNoVG9rZW5UcmFuc2FjdGlvbkJ1aWxkZXInO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSc7XG5leHBvcnQgeyBDb25zdGFudHMsIFV0aWxzLCBJbnRlcmZhY2UgfTtcbiJdfQ==
@@ -0,0 +1,26 @@
1
+ import { DefaultKeys, KeyPairOptions, Secp256k1ExtendedKeyPair } from '@bitgo-beta/sdk-core';
2
+ /**
3
+ * Ethereum keys and address management.
4
+ */
5
+ export declare class KeyPair extends Secp256k1ExtendedKeyPair {
6
+ /**
7
+ * Public constructor. By default, creates a key pair with a random master seed.
8
+ *
9
+ * @param { KeyPairOptions } source Either a master seed, a private key (extended or raw), or a public key
10
+ * (extended, compressed, or uncompressed)
11
+ */
12
+ constructor(source?: KeyPairOptions);
13
+ /**
14
+ * Ethereum default keys format is raw private and uncompressed public key
15
+ *
16
+ * @returns { DefaultKeys } The keys in the protocol default key format
17
+ */
18
+ getKeys(): DefaultKeys;
19
+ /**
20
+ * Get an Ethereum public address
21
+ *
22
+ * @returns {string} The address derived from the public key
23
+ */
24
+ getAddress(): string;
25
+ }
26
+ //# sourceMappingURL=keyPair.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../src/lib/keyPair.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EAIX,cAAc,EACd,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAM9B;;GAEG;AACH,qBAAa,OAAQ,SAAQ,wBAAwB;IACnD;;;;;OAKG;gBACS,MAAM,CAAC,EAAE,cAAc;IAoBnC;;;;OAIG;IACH,OAAO,IAAI,WAAW;IAStB;;;;OAIG;IACH,UAAU,IAAI,MAAM;CAIrB"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KeyPair = void 0;
4
+ const ethereumjs_util_1 = require("ethereumjs-util");
5
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
6
+ const crypto_1 = require("crypto");
7
+ const secp256k1_1 = require("@bitgo-beta/secp256k1");
8
+ const DEFAULT_SEED_SIZE_BYTES = 64;
9
+ /**
10
+ * Ethereum keys and address management.
11
+ */
12
+ class KeyPair extends sdk_core_1.Secp256k1ExtendedKeyPair {
13
+ /**
14
+ * Public constructor. By default, creates a key pair with a random master seed.
15
+ *
16
+ * @param { KeyPairOptions } source Either a master seed, a private key (extended or raw), or a public key
17
+ * (extended, compressed, or uncompressed)
18
+ */
19
+ constructor(source) {
20
+ super(source);
21
+ if (!source) {
22
+ const seed = (0, crypto_1.randomBytes)(DEFAULT_SEED_SIZE_BYTES);
23
+ this.hdNode = secp256k1_1.bip32.fromSeed(seed);
24
+ }
25
+ else if ((0, sdk_core_1.isSeed)(source)) {
26
+ this.hdNode = secp256k1_1.bip32.fromSeed(source.seed);
27
+ }
28
+ else if ((0, sdk_core_1.isPrivateKey)(source)) {
29
+ this.recordKeysFromPrivateKey(source.prv);
30
+ }
31
+ else if ((0, sdk_core_1.isPublicKey)(source)) {
32
+ this.recordKeysFromPublicKey(source.pub);
33
+ }
34
+ else {
35
+ throw new Error('Invalid key pair options');
36
+ }
37
+ if (this.hdNode) {
38
+ this.keyPair = sdk_core_1.Secp256k1ExtendedKeyPair.toKeyPair(this.hdNode);
39
+ }
40
+ }
41
+ /**
42
+ * Ethereum default keys format is raw private and uncompressed public key
43
+ *
44
+ * @returns { DefaultKeys } The keys in the protocol default key format
45
+ */
46
+ getKeys() {
47
+ return {
48
+ pub: this.getPublicKey({ compressed: this.hdNode !== undefined })
49
+ .toString('hex')
50
+ .toUpperCase(),
51
+ prv: this.getPrivateKey()?.toString('hex').toUpperCase(),
52
+ };
53
+ }
54
+ /**
55
+ * Get an Ethereum public address
56
+ *
57
+ * @returns {string} The address derived from the public key
58
+ */
59
+ getAddress() {
60
+ const publicKey = Buffer.from(this.getKeys().pub, 'hex'); // first two characters identify a public key
61
+ return (0, ethereumjs_util_1.addHexPrefix)((0, ethereumjs_util_1.pubToAddress)(publicKey, true).toString('hex'));
62
+ }
63
+ }
64
+ exports.KeyPair = KeyPair;
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBNkQ7QUFDN0QsbURBTzhCO0FBQzlCLG1DQUFxQztBQUNyQyxxREFBOEM7QUFFOUMsTUFBTSx1QkFBdUIsR0FBRyxFQUFFLENBQUM7QUFFbkM7O0dBRUc7QUFDSCxNQUFhLE9BQVEsU0FBUSxtQ0FBd0I7SUFDbkQ7Ozs7O09BS0c7SUFDSCxZQUFZLE1BQXVCO1FBQ2pDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE1BQU0sSUFBSSxHQUFHLElBQUEsb0JBQVcsRUFBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxNQUFNLEdBQUcsaUJBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsQ0FBQzthQUFNLElBQUksSUFBQSxpQkFBTSxFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxpQkFBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsQ0FBQzthQUFNLElBQUksSUFBQSx1QkFBWSxFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QyxDQUFDO2FBQU0sSUFBSSxJQUFBLHNCQUFXLEVBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLG1DQUF3QixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakUsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsT0FBTztRQUNMLE9BQU87WUFDTCxHQUFHLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO2lCQUM5RCxRQUFRLENBQUMsS0FBSyxDQUFDO2lCQUNmLFdBQVcsRUFBRTtZQUNoQixHQUFHLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUU7U0FDekQsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVTtRQUNSLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLDZDQUE2QztRQUN2RyxPQUFPLElBQUEsOEJBQVksRUFBQyxJQUFBLDhCQUFZLEVBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7Q0FDRjtBQWxERCwwQkFrREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhZGRIZXhQcmVmaXgsIHB1YlRvQWRkcmVzcyB9IGZyb20gJ2V0aGVyZXVtanMtdXRpbCc7XG5pbXBvcnQge1xuICBEZWZhdWx0S2V5cyxcbiAgaXNQcml2YXRlS2V5LFxuICBpc1B1YmxpY0tleSxcbiAgaXNTZWVkLFxuICBLZXlQYWlyT3B0aW9ucyxcbiAgU2VjcDI1NmsxRXh0ZW5kZWRLZXlQYWlyLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyByYW5kb21CeXRlcyB9IGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgeyBiaXAzMiB9IGZyb20gJ0BiaXRnby1iZXRhL3NlY3AyNTZrMSc7XG5cbmNvbnN0IERFRkFVTFRfU0VFRF9TSVpFX0JZVEVTID0gNjQ7XG5cbi8qKlxuICogRXRoZXJldW0ga2V5cyBhbmQgYWRkcmVzcyBtYW5hZ2VtZW50LlxuICovXG5leHBvcnQgY2xhc3MgS2V5UGFpciBleHRlbmRzIFNlY3AyNTZrMUV4dGVuZGVkS2V5UGFpciB7XG4gIC8qKlxuICAgKiBQdWJsaWMgY29uc3RydWN0b3IuIEJ5IGRlZmF1bHQsIGNyZWF0ZXMgYSBrZXkgcGFpciB3aXRoIGEgcmFuZG9tIG1hc3RlciBzZWVkLlxuICAgKlxuICAgKiBAcGFyYW0geyBLZXlQYWlyT3B0aW9ucyB9IHNvdXJjZSBFaXRoZXIgYSBtYXN0ZXIgc2VlZCwgYSBwcml2YXRlIGtleSAoZXh0ZW5kZWQgb3IgcmF3KSwgb3IgYSBwdWJsaWMga2V5XG4gICAqICAgICAoZXh0ZW5kZWQsIGNvbXByZXNzZWQsIG9yIHVuY29tcHJlc3NlZClcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNvdXJjZT86IEtleVBhaXJPcHRpb25zKSB7XG4gICAgc3VwZXIoc291cmNlKTtcbiAgICBpZiAoIXNvdXJjZSkge1xuICAgICAgY29uc3Qgc2VlZCA9IHJhbmRvbUJ5dGVzKERFRkFVTFRfU0VFRF9TSVpFX0JZVEVTKTtcbiAgICAgIHRoaXMuaGROb2RlID0gYmlwMzIuZnJvbVNlZWQoc2VlZCk7XG4gICAgfSBlbHNlIGlmIChpc1NlZWQoc291cmNlKSkge1xuICAgICAgdGhpcy5oZE5vZGUgPSBiaXAzMi5mcm9tU2VlZChzb3VyY2Uuc2VlZCk7XG4gICAgfSBlbHNlIGlmIChpc1ByaXZhdGVLZXkoc291cmNlKSkge1xuICAgICAgdGhpcy5yZWNvcmRLZXlzRnJvbVByaXZhdGVLZXkoc291cmNlLnBydik7XG4gICAgfSBlbHNlIGlmIChpc1B1YmxpY0tleShzb3VyY2UpKSB7XG4gICAgICB0aGlzLnJlY29yZEtleXNGcm9tUHVibGljS2V5KHNvdXJjZS5wdWIpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQga2V5IHBhaXIgb3B0aW9ucycpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmhkTm9kZSkge1xuICAgICAgdGhpcy5rZXlQYWlyID0gU2VjcDI1NmsxRXh0ZW5kZWRLZXlQYWlyLnRvS2V5UGFpcih0aGlzLmhkTm9kZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEV0aGVyZXVtIGRlZmF1bHQga2V5cyBmb3JtYXQgaXMgcmF3IHByaXZhdGUgYW5kIHVuY29tcHJlc3NlZCBwdWJsaWMga2V5XG4gICAqXG4gICAqIEByZXR1cm5zIHsgRGVmYXVsdEtleXMgfSBUaGUga2V5cyBpbiB0aGUgcHJvdG9jb2wgZGVmYXVsdCBrZXkgZm9ybWF0XG4gICAqL1xuICBnZXRLZXlzKCk6IERlZmF1bHRLZXlzIHtcbiAgICByZXR1cm4ge1xuICAgICAgcHViOiB0aGlzLmdldFB1YmxpY0tleSh7IGNvbXByZXNzZWQ6IHRoaXMuaGROb2RlICE9PSB1bmRlZmluZWQgfSlcbiAgICAgICAgLnRvU3RyaW5nKCdoZXgnKVxuICAgICAgICAudG9VcHBlckNhc2UoKSxcbiAgICAgIHBydjogdGhpcy5nZXRQcml2YXRlS2V5KCk/LnRvU3RyaW5nKCdoZXgnKS50b1VwcGVyQ2FzZSgpLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFuIEV0aGVyZXVtIHB1YmxpYyBhZGRyZXNzXG4gICAqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBhZGRyZXNzIGRlcml2ZWQgZnJvbSB0aGUgcHVibGljIGtleVxuICAgKi9cbiAgZ2V0QWRkcmVzcygpOiBzdHJpbmcge1xuICAgIGNvbnN0IHB1YmxpY0tleSA9IEJ1ZmZlci5mcm9tKHRoaXMuZ2V0S2V5cygpLnB1YiwgJ2hleCcpOyAvLyBmaXJzdCB0d28gY2hhcmFjdGVycyBpZGVudGlmeSBhIHB1YmxpYyBrZXlcbiAgICByZXR1cm4gYWRkSGV4UHJlZml4KHB1YlRvQWRkcmVzcyhwdWJsaWNLZXksIHRydWUpLnRvU3RyaW5nKCdoZXgnKSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,31 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
+ import { Transaction as VetTransaction } from '@vechain/sdk-core';
3
+ import { Transaction } from './transaction';
4
+ import { VetTransactionData } from '../iface';
5
+ export declare class AddressInitializationTransaction extends Transaction {
6
+ private _baseAddress;
7
+ private _feeAddress;
8
+ private _salt;
9
+ private _initCode;
10
+ private _deployedAddress;
11
+ constructor(_coinConfig: Readonly<CoinConfig>);
12
+ get baseAddress(): string;
13
+ set baseAddress(address: string);
14
+ get feeAddress(): string;
15
+ set feeAddress(address: string);
16
+ get salt(): string;
17
+ set salt(salt: string);
18
+ get initCode(): string;
19
+ set initCode(initCode: string);
20
+ get deployedAddress(): string;
21
+ set deployedAddress(address: string);
22
+ /** @inheritdoc */
23
+ build(): Promise<void>;
24
+ /** @inheritdoc */
25
+ buildClauses(): void;
26
+ /** @inheritdoc */
27
+ toJson(): VetTransactionData;
28
+ /** @inheritdoc */
29
+ fromDeserializedSignedTransaction(signedTx: VetTransaction): void;
30
+ }
31
+ //# sourceMappingURL=addressInitializationTransaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addressInitializationTransaction.d.ts","sourceRoot":"","sources":["../../../../src/lib/transaction/addressInitializationTransaction.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAmB,MAAM,qBAAqB,CAAC;AAG9E,OAAO,EAAE,WAAW,IAAI,cAAc,EAAa,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,qBAAa,gCAAiC,SAAQ,WAAW;IAC/D,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,gBAAgB,CAAS;gBAErB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,WAAW,CAAC,OAAO,EAAE,MAAM,EAE9B;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,UAAU,CAAC,OAAO,EAAE,MAAM,EAE7B;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,EAEpB;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAE5B;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,IAAI,eAAe,CAAC,OAAO,EAAE,MAAM,EAElC;IAED,kBAAkB;IACZ,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB5B,kBAAkB;IAClB,YAAY,IAAI,IAAI;IAUpB,kBAAkB;IAClB,MAAM,IAAI,kBAAkB;IAmB5B,kBAAkB;IAClB,iCAAiC,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;CAmDlE"}
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.AddressInitializationTransaction = void 0;
40
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
41
+ const abstract_eth_1 = require("@bitgo-beta/abstract-eth");
42
+ const ethUtil = __importStar(require("ethereumjs-util"));
43
+ const ethereumjs_abi_1 = __importDefault(require("ethereumjs-abi"));
44
+ const sdk_core_2 = require("@vechain/sdk-core");
45
+ const transaction_1 = require("./transaction");
46
+ class AddressInitializationTransaction extends transaction_1.Transaction {
47
+ constructor(_coinConfig) {
48
+ super(_coinConfig);
49
+ this._type = sdk_core_1.TransactionType.AddressInitialization;
50
+ }
51
+ get baseAddress() {
52
+ return this._baseAddress;
53
+ }
54
+ set baseAddress(address) {
55
+ this._baseAddress = address;
56
+ }
57
+ get feeAddress() {
58
+ return this._feeAddress;
59
+ }
60
+ set feeAddress(address) {
61
+ this._feeAddress = address;
62
+ }
63
+ get salt() {
64
+ return this._salt;
65
+ }
66
+ set salt(salt) {
67
+ this._salt = salt;
68
+ }
69
+ get initCode() {
70
+ return this._initCode;
71
+ }
72
+ set initCode(initCode) {
73
+ this._initCode = initCode;
74
+ }
75
+ get deployedAddress() {
76
+ return this._deployedAddress;
77
+ }
78
+ set deployedAddress(address) {
79
+ this._deployedAddress = address;
80
+ }
81
+ /** @inheritdoc */
82
+ async build() {
83
+ super.build();
84
+ if (this._salt && this._initCode) {
85
+ const saltBuffer = ethUtil.setLengthLeft(ethUtil.toBuffer(this._salt), 32);
86
+ const { createForwarderParams, createForwarderTypes } = (0, abstract_eth_1.getCreateForwarderParamsAndTypes)(this._baseAddress, saltBuffer, this._feeAddress);
87
+ // Hash the wallet base address and fee address if present with the given salt, so the address directly relies on the base address and fee address
88
+ const calculationSalt = ethUtil.bufferToHex(ethereumjs_abi_1.default.soliditySHA3(createForwarderTypes, createForwarderParams));
89
+ this.deployedAddress = (0, abstract_eth_1.calculateForwarderV1Address)(this._contract, calculationSalt, this._initCode);
90
+ }
91
+ }
92
+ /** @inheritdoc */
93
+ buildClauses() {
94
+ this._clauses = [
95
+ {
96
+ to: this._contract,
97
+ value: '0x0',
98
+ data: this._transactionData,
99
+ },
100
+ ];
101
+ }
102
+ /** @inheritdoc */
103
+ toJson() {
104
+ const json = {
105
+ id: this.id,
106
+ chainTag: this.chainTag,
107
+ blockRef: this.blockRef,
108
+ expiration: this.expiration,
109
+ gasPriceCoef: this.gasPriceCoef,
110
+ gas: this.gas,
111
+ dependsOn: this.dependsOn,
112
+ nonce: this.nonce,
113
+ data: this.transactionData,
114
+ value: '0',
115
+ sender: this.sender,
116
+ to: this.contract,
117
+ deployedAddress: this.deployedAddress,
118
+ };
119
+ return json;
120
+ }
121
+ /** @inheritdoc */
122
+ fromDeserializedSignedTransaction(signedTx) {
123
+ try {
124
+ if (!signedTx || !signedTx.body) {
125
+ throw new sdk_core_1.InvalidTransactionError('Invalid transaction: missing transaction body');
126
+ }
127
+ // Store the raw transaction
128
+ this.rawTransaction = signedTx;
129
+ // Set transaction body properties
130
+ const body = signedTx.body;
131
+ this.chainTag = typeof body.chainTag === 'number' ? body.chainTag : 0;
132
+ this.blockRef = body.blockRef || '0x0';
133
+ this.expiration = typeof body.expiration === 'number' ? body.expiration : 64;
134
+ this.clauses = body.clauses || [];
135
+ this.gasPriceCoef = typeof body.gasPriceCoef === 'number' ? body.gasPriceCoef : 128;
136
+ this.gas = typeof body.gas === 'number' ? body.gas : Number(body.gas) || 0;
137
+ this.dependsOn = body.dependsOn || null;
138
+ this.nonce = typeof body.nonce === 'number' ? body.nonce : Number(body.nonce) || 0;
139
+ // Set data from clauses
140
+ this.contract = body.clauses[0]?.to || '0x0';
141
+ this.transactionData = body.clauses[0]?.data || '0x0';
142
+ this.type = sdk_core_1.TransactionType.AddressInitialization;
143
+ const { baseAddress, addressCreationSalt, feeAddress } = (0, abstract_eth_1.decodeForwarderCreationData)(this.transactionData);
144
+ this.baseAddress = baseAddress;
145
+ this.salt = addressCreationSalt;
146
+ this.feeAddress = feeAddress;
147
+ const forwarderImplementationAddress = this._coinConfig.network
148
+ .forwarderImplementationAddress;
149
+ this.initCode = (0, abstract_eth_1.getProxyInitcode)(forwarderImplementationAddress);
150
+ // Set sender address
151
+ if (signedTx.origin) {
152
+ this.sender = signedTx.origin.toString().toLowerCase();
153
+ }
154
+ // Set signatures if present
155
+ if (signedTx.signature) {
156
+ // First signature is sender's signature
157
+ this.senderSignature = Buffer.from(signedTx.signature.slice(0, sdk_core_2.Secp256k1.SIGNATURE_LENGTH));
158
+ // If there's additional signature data, it's the fee payer's signature
159
+ if (signedTx.signature.length > sdk_core_2.Secp256k1.SIGNATURE_LENGTH) {
160
+ this.feePayerSignature = Buffer.from(signedTx.signature.slice(sdk_core_2.Secp256k1.SIGNATURE_LENGTH));
161
+ }
162
+ }
163
+ }
164
+ catch (e) {
165
+ throw new sdk_core_1.InvalidTransactionError(`Failed to deserialize transaction: ${e.message}`);
166
+ }
167
+ }
168
+ }
169
+ exports.AddressInitializationTransaction = AddressInitializationTransaction;
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzc0luaXRpYWxpemF0aW9uVHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uL2FkZHJlc3NJbml0aWFsaXphdGlvblRyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1EQUFnRjtBQUNoRiwyREFLa0M7QUFFbEMseURBQTJDO0FBQzNDLG9FQUF5QztBQUN6QyxnREFBNkU7QUFDN0UsK0NBQTRDO0FBRzVDLE1BQWEsZ0NBQWlDLFNBQVEseUJBQVc7SUFPL0QsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRywwQkFBZSxDQUFDLHFCQUFxQixDQUFDO0lBQ3JELENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksV0FBVyxDQUFDLE9BQWU7UUFDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxVQUFVLENBQUMsT0FBZTtRQUM1QixJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxJQUFZO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLFFBQWdCO1FB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QyxzQ0FBc0MsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDdkYsQ0FBQztJQUNILENBQUM7Q0FDRjtBQTNKRCw0RUEySkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUsIEludmFsaWRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHtcbiAgZ2V0Q3JlYXRlRm9yd2FyZGVyUGFyYW1zQW5kVHlwZXMsXG4gIGNhbGN1bGF0ZUZvcndhcmRlclYxQWRkcmVzcyxcbiAgZGVjb2RlRm9yd2FyZGVyQ3JlYXRpb25EYXRhLFxuICBnZXRQcm94eUluaXRjb2RlLFxufSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC1ldGgnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZywgRXRoZXJldW1OZXR3b3JrIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgKiBhcyBldGhVdGlsIGZyb20gJ2V0aGVyZXVtanMtdXRpbCc7XG5pbXBvcnQgRXRoZXJldW1BYmkgZnJvbSAnZXRoZXJldW1qcy1hYmknO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gYXMgVmV0VHJhbnNhY3Rpb24sIFNlY3AyNTZrMSB9IGZyb20gJ0B2ZWNoYWluL3Nkay1jb3JlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBWZXRUcmFuc2FjdGlvbkRhdGEgfSBmcm9tICcuLi9pZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBBZGRyZXNzSW5pdGlhbGl6YXRpb25UcmFuc2FjdGlvbiBleHRlbmRzIFRyYW5zYWN0aW9uIHtcbiAgcHJpdmF0ZSBfYmFzZUFkZHJlc3M6IHN0cmluZztcbiAgcHJpdmF0ZSBfZmVlQWRkcmVzczogc3RyaW5nO1xuICBwcml2YXRlIF9zYWx0OiBzdHJpbmc7XG4gIHByaXZhdGUgX2luaXRDb2RlOiBzdHJpbmc7XG4gIHByaXZhdGUgX2RlcGxveWVkQWRkcmVzczogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl90eXBlID0gVHJhbnNhY3Rpb25UeXBlLkFkZHJlc3NJbml0aWFsaXphdGlvbjtcbiAgfVxuXG4gIGdldCBiYXNlQWRkcmVzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9iYXNlQWRkcmVzcztcbiAgfVxuXG4gIHNldCBiYXNlQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9iYXNlQWRkcmVzcyA9IGFkZHJlc3M7XG4gIH1cblxuICBnZXQgZmVlQWRkcmVzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mZWVBZGRyZXNzO1xuICB9XG5cbiAgc2V0IGZlZUFkZHJlc3MoYWRkcmVzczogc3RyaW5nKSB7XG4gICAgdGhpcy5fZmVlQWRkcmVzcyA9IGFkZHJlc3M7XG4gIH1cblxuICBnZXQgc2FsdCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zYWx0O1xuICB9XG5cbiAgc2V0IHNhbHQoc2FsdDogc3RyaW5nKSB7XG4gICAgdGhpcy5fc2FsdCA9IHNhbHQ7XG4gIH1cblxuICBnZXQgaW5pdENvZGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5faW5pdENvZGU7XG4gIH1cblxuICBzZXQgaW5pdENvZGUoaW5pdENvZGU6IHN0cmluZykge1xuICAgIHRoaXMuX2luaXRDb2RlID0gaW5pdENvZGU7XG4gIH1cblxuICBnZXQgZGVwbG95ZWRBZGRyZXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2RlcGxveWVkQWRkcmVzcztcbiAgfVxuXG4gIHNldCBkZXBsb3llZEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKSB7XG4gICAgdGhpcy5fZGVwbG95ZWRBZGRyZXNzID0gYWRkcmVzcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBhc3luYyBidWlsZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBzdXBlci5idWlsZCgpO1xuICAgIGlmICh0aGlzLl9zYWx0ICYmIHRoaXMuX2luaXRDb2RlKSB7XG4gICAgICBjb25zdCBzYWx0QnVmZmVyID0gZXRoVXRpbC5zZXRMZW5ndGhMZWZ0KGV0aFV0aWwudG9CdWZmZXIodGhpcy5fc2FsdCksIDMyKTtcblxuICAgICAgY29uc3QgeyBjcmVhdGVGb3J3YXJkZXJQYXJhbXMsIGNyZWF0ZUZvcndhcmRlclR5cGVzIH0gPSBnZXRDcmVhdGVGb3J3YXJkZXJQYXJhbXNBbmRUeXBlcyhcbiAgICAgICAgdGhpcy5fYmFzZUFkZHJlc3MsXG4gICAgICAgIHNhbHRCdWZmZXIsXG4gICAgICAgIHRoaXMuX2ZlZUFkZHJlc3NcbiAgICAgICk7XG5cbiAgICAgIC8vIEhhc2ggdGhlIHdhbGxldCBiYXNlIGFkZHJlc3MgYW5kIGZlZSBhZGRyZXNzIGlmIHByZXNlbnQgd2l0aCB0aGUgZ2l2ZW4gc2FsdCwgc28gdGhlIGFkZHJlc3MgZGlyZWN0bHkgcmVsaWVzIG9uIHRoZSBiYXNlIGFkZHJlc3MgYW5kIGZlZSBhZGRyZXNzXG4gICAgICBjb25zdCBjYWxjdWxhdGlvblNhbHQgPSBldGhVdGlsLmJ1ZmZlclRvSGV4KFxuICAgICAgICBFdGhlcmV1bUFiaS5zb2xpZGl0eVNIQTMoY3JlYXRlRm9yd2FyZGVyVHlwZXMsIGNyZWF0ZUZvcndhcmRlclBhcmFtcylcbiAgICAgICk7XG4gICAgICB0aGlzLmRlcGxveWVkQWRkcmVzcyA9IGNhbGN1bGF0ZUZvcndhcmRlclYxQWRkcmVzcyh0aGlzLl9jb250cmFjdCwgY2FsY3VsYXRpb25TYWx0LCB0aGlzLl9pbml0Q29kZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGJ1aWxkQ2xhdXNlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9jbGF1c2VzID0gW1xuICAgICAge1xuICAgICAgICB0bzogdGhpcy5fY29udHJhY3QsXG4gICAgICAgIHZhbHVlOiAnMHgwJyxcbiAgICAgICAgZGF0YTogdGhpcy5fdHJhbnNhY3Rpb25EYXRhLFxuICAgICAgfSxcbiAgICBdO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHRvSnNvbigpOiBWZXRUcmFuc2FjdGlvbkRhdGEge1xuICAgIGNvbnN0IGpzb246IFZldFRyYW5zYWN0aW9uRGF0YSA9IHtcbiAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgY2hhaW5UYWc6IHRoaXMuY2hhaW5UYWcsXG4gICAgICBibG9ja1JlZjogdGhpcy5ibG9ja1JlZixcbiAgICAgIGV4cGlyYXRpb246IHRoaXMuZXhwaXJhdGlvbixcbiAgICAgIGdhc1ByaWNlQ29lZjogdGhpcy5nYXNQcmljZUNvZWYsXG4gICAgICBnYXM6IHRoaXMuZ2FzLFxuICAgICAgZGVwZW5kc09uOiB0aGlzLmRlcGVuZHNPbixcbiAgICAgIG5vbmNlOiB0aGlzLm5vbmNlLFxuICAgICAgZGF0YTogdGhpcy50cmFuc2FjdGlvbkRhdGEsXG4gICAgICB2YWx1ZTogJzAnLFxuICAgICAgc2VuZGVyOiB0aGlzLnNlbmRlcixcbiAgICAgIHRvOiB0aGlzLmNvbnRyYWN0LFxuICAgICAgZGVwbG95ZWRBZGRyZXNzOiB0aGlzLmRlcGxveWVkQWRkcmVzcyxcbiAgICB9O1xuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGZyb21EZXNlcmlhbGl6ZWRTaWduZWRUcmFuc2FjdGlvbihzaWduZWRUeDogVmV0VHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgaWYgKCFzaWduZWRUeCB8fCAhc2lnbmVkVHguYm9keSkge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb246IG1pc3NpbmcgdHJhbnNhY3Rpb24gYm9keScpO1xuICAgICAgfVxuXG4gICAgICAvLyBTdG9yZSB0aGUgcmF3IHRyYW5zYWN0aW9uXG4gICAgICB0aGlzLnJhd1RyYW5zYWN0aW9uID0gc2lnbmVkVHg7XG5cbiAgICAgIC8vIFNldCB0cmFuc2FjdGlvbiBib2R5IHByb3BlcnRpZXNcbiAgICAgIGNvbnN0IGJvZHkgPSBzaWduZWRUeC5ib2R5O1xuICAgICAgdGhpcy5jaGFpblRhZyA9IHR5cGVvZiBib2R5LmNoYWluVGFnID09PSAnbnVtYmVyJyA/IGJvZHkuY2hhaW5UYWcgOiAwO1xuICAgICAgdGhpcy5ibG9ja1JlZiA9IGJvZHkuYmxvY2tSZWYgfHwgJzB4MCc7XG4gICAgICB0aGlzLmV4cGlyYXRpb24gPSB0eXBlb2YgYm9keS5leHBpcmF0aW9uID09PSAnbnVtYmVyJyA/IGJvZHkuZXhwaXJhdGlvbiA6IDY0O1xuICAgICAgdGhpcy5jbGF1c2VzID0gYm9keS5jbGF1c2VzIHx8IFtdO1xuICAgICAgdGhpcy5nYXNQcmljZUNvZWYgPSB0eXBlb2YgYm9keS5nYXNQcmljZUNvZWYgPT09ICdudW1iZXInID8gYm9keS5nYXNQcmljZUNvZWYgOiAxMjg7XG4gICAgICB0aGlzLmdhcyA9IHR5cGVvZiBib2R5LmdhcyA9PT0gJ251bWJlcicgPyBib2R5LmdhcyA6IE51bWJlcihib2R5LmdhcykgfHwgMDtcbiAgICAgIHRoaXMuZGVwZW5kc09uID0gYm9keS5kZXBlbmRzT24gfHwgbnVsbDtcbiAgICAgIHRoaXMubm9uY2UgPSB0eXBlb2YgYm9keS5ub25jZSA9PT0gJ251bWJlcicgPyBib2R5Lm5vbmNlIDogTnVtYmVyKGJvZHkubm9uY2UpIHx8IDA7XG4gICAgICAvLyBTZXQgZGF0YSBmcm9tIGNsYXVzZXNcbiAgICAgIHRoaXMuY29udHJhY3QgPSBib2R5LmNsYXVzZXNbMF0/LnRvIHx8ICcweDAnO1xuICAgICAgdGhpcy50cmFuc2FjdGlvbkRhdGEgPSBib2R5LmNsYXVzZXNbMF0/LmRhdGEgfHwgJzB4MCc7XG4gICAgICB0aGlzLnR5cGUgPSBUcmFuc2FjdGlvblR5cGUuQWRkcmVzc0luaXRpYWxpemF0aW9uO1xuICAgICAgY29uc3QgeyBiYXNlQWRkcmVzcywgYWRkcmVzc0NyZWF0aW9uU2FsdCwgZmVlQWRkcmVzcyB9ID0gZGVjb2RlRm9yd2FyZGVyQ3JlYXRpb25EYXRhKHRoaXMudHJhbnNhY3Rpb25EYXRhKTtcblxuICAgICAgdGhpcy5iYXNlQWRkcmVzcyA9IGJhc2VBZGRyZXNzIGFzIHN0cmluZztcbiAgICAgIHRoaXMuc2FsdCA9IGFkZHJlc3NDcmVhdGlvblNhbHQgYXMgc3RyaW5nO1xuICAgICAgdGhpcy5mZWVBZGRyZXNzID0gZmVlQWRkcmVzcyBhcyBzdHJpbmc7XG4gICAgICBjb25zdCBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAodGhpcy5fY29pbkNvbmZpZy5uZXR3b3JrIGFzIEV0aGVyZXVtTmV0d29yaylcbiAgICAgICAgLmZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyBhcyBzdHJpbmc7XG4gICAgICB0aGlzLmluaXRDb2RlID0gZ2V0UHJveHlJbml0Y29kZShmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MpO1xuXG4gICAgICAvLyBTZXQgc2VuZGVyIGFkZHJlc3NcbiAgICAgIGlmIChzaWduZWRUeC5vcmlnaW4pIHtcbiAgICAgICAgdGhpcy5zZW5kZXIgPSBzaWduZWRUeC5vcmlnaW4udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgfVxuXG4gICAgICAvLyBTZXQgc2lnbmF0dXJlcyBpZiBwcmVzZW50XG4gICAgICBpZiAoc2lnbmVkVHguc2lnbmF0dXJlKSB7XG4gICAgICAgIC8vIEZpcnN0IHNpZ25hdHVyZSBpcyBzZW5kZXIncyBzaWduYXR1cmVcbiAgICAgICAgdGhpcy5zZW5kZXJTaWduYXR1cmUgPSBCdWZmZXIuZnJvbShzaWduZWRUeC5zaWduYXR1cmUuc2xpY2UoMCwgU2VjcDI1NmsxLlNJR05BVFVSRV9MRU5HVEgpKTtcblxuICAgICAgICAvLyBJZiB0aGVyZSdzIGFkZGl0aW9uYWwgc2lnbmF0dXJlIGRhdGEsIGl0J3MgdGhlIGZlZSBwYXllcidzIHNpZ25hdHVyZVxuICAgICAgICBpZiAoc2lnbmVkVHguc2lnbmF0dXJlLmxlbmd0aCA+IFNlY3AyNTZrMS5TSUdOQVRVUkVfTEVOR1RIKSB7XG4gICAgICAgICAgdGhpcy5mZWVQYXllclNpZ25hdHVyZSA9IEJ1ZmZlci5mcm9tKHNpZ25lZFR4LnNpZ25hdHVyZS5zbGljZShTZWNwMjU2azEuU0lHTkFUVVJFX0xFTkdUSCkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBGYWlsZWQgdG8gZGVzZXJpYWxpemUgdHJhbnNhY3Rpb246ICR7ZS5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,20 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
+ import { Transaction as VetTransaction } from '@vechain/sdk-core';
3
+ import { Transaction } from './transaction';
4
+ import { VetTransactionData } from '../iface';
5
+ export declare class FlushTokenTransaction extends Transaction {
6
+ private _forwarderVersion;
7
+ private _tokenAddress;
8
+ constructor(_coinConfig: Readonly<CoinConfig>);
9
+ get forwarderVersion(): number;
10
+ set forwarderVersion(forwarderVersion: number);
11
+ get tokenAddress(): string;
12
+ set tokenAddress(address: string);
13
+ /** @inheritdoc */
14
+ buildClauses(): void;
15
+ /** @inheritdoc */
16
+ toJson(): VetTransactionData;
17
+ /** @inheritdoc */
18
+ fromDeserializedSignedTransaction(signedTx: VetTransaction): void;
19
+ }
20
+ //# sourceMappingURL=flushTokenTransaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flushTokenTransaction.d.ts","sourceRoot":"","sources":["../../../../src/lib/transaction/flushTokenTransaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,WAAW,IAAI,cAAc,EAAa,MAAM,mBAAmB,CAAC;AAG7E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,qBAAa,qBAAsB,SAAQ,WAAW;IACpD,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,aAAa,CAAS;gBAElB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,IAAI,gBAAgB,IAAI,MAAM,CAE7B;IAED,IAAI,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,EAE5C;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,YAAY,CAAC,OAAO,EAAE,MAAM,EAE/B;IAED,kBAAkB;IAClB,YAAY,IAAI,IAAI;IAUpB,kBAAkB;IAClB,MAAM,IAAI,kBAAkB;IAmB5B,kBAAkB;IAClB,iCAAiC,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;CA6ClE"}