@bitgo-beta/sdk-coin-flrp 1.0.1-beta.9 → 1.0.1-beta.91

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 (91) hide show
  1. package/dist/src/flrp.d.ts +82 -61
  2. package/dist/src/flrp.d.ts.map +1 -1
  3. package/dist/src/flrp.js +293 -134
  4. package/dist/src/lib/atomicTransactionBuilder.d.ts +42 -6
  5. package/dist/src/lib/atomicTransactionBuilder.d.ts.map +1 -1
  6. package/dist/src/lib/atomicTransactionBuilder.js +233 -29
  7. package/dist/src/lib/constants.d.ts +160 -1
  8. package/dist/src/lib/constants.d.ts.map +1 -1
  9. package/dist/src/lib/constants.js +213 -3
  10. package/dist/src/lib/delegatorTxBuilder.d.ts +58 -0
  11. package/dist/src/lib/delegatorTxBuilder.d.ts.map +1 -0
  12. package/dist/src/lib/delegatorTxBuilder.js +224 -0
  13. package/dist/src/lib/exportInCTxBuilder.d.ts +1 -1
  14. package/dist/src/lib/exportInCTxBuilder.d.ts.map +1 -1
  15. package/dist/src/lib/exportInCTxBuilder.js +46 -17
  16. package/dist/src/lib/exportInPTxBuilder.d.ts +1 -1
  17. package/dist/src/lib/exportInPTxBuilder.d.ts.map +1 -1
  18. package/dist/src/lib/exportInPTxBuilder.js +70 -6
  19. package/dist/src/lib/iface.d.ts +52 -1
  20. package/dist/src/lib/iface.d.ts.map +1 -1
  21. package/dist/src/lib/iface.js +1 -1
  22. package/dist/src/lib/importInCTxBuilder.d.ts +67 -0
  23. package/dist/src/lib/importInCTxBuilder.d.ts.map +1 -0
  24. package/dist/src/lib/importInCTxBuilder.js +403 -0
  25. package/dist/src/lib/importInPTxBuilder.d.ts +73 -0
  26. package/dist/src/lib/importInPTxBuilder.d.ts.map +1 -0
  27. package/dist/src/lib/importInPTxBuilder.js +464 -0
  28. package/dist/src/lib/index.d.ts +7 -0
  29. package/dist/src/lib/index.d.ts.map +1 -1
  30. package/dist/src/lib/index.js +15 -2
  31. package/dist/src/lib/keyPair.d.ts.map +1 -1
  32. package/dist/src/lib/keyPair.js +4 -6
  33. package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts +81 -0
  34. package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts.map +1 -0
  35. package/dist/src/lib/permissionlessValidatorTxBuilder.js +248 -0
  36. package/dist/src/lib/transaction.d.ts +111 -0
  37. package/dist/src/lib/transaction.d.ts.map +1 -0
  38. package/dist/src/lib/transaction.js +322 -0
  39. package/dist/src/lib/transactionBuilder.d.ts +85 -0
  40. package/dist/src/lib/transactionBuilder.d.ts.map +1 -0
  41. package/dist/src/lib/transactionBuilder.js +167 -0
  42. package/dist/src/lib/transactionBuilderFactory.d.ts +37 -0
  43. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -0
  44. package/dist/src/lib/transactionBuilderFactory.js +91 -0
  45. package/dist/src/lib/types.d.ts +78 -0
  46. package/dist/src/lib/types.d.ts.map +1 -0
  47. package/dist/src/lib/types.js +5 -0
  48. package/dist/src/lib/utils.d.ts +59 -0
  49. package/dist/src/lib/utils.d.ts.map +1 -1
  50. package/dist/src/lib/utils.js +160 -52
  51. package/dist/src/lib/validatorTxBuilder.d.ts +40 -0
  52. package/dist/src/lib/validatorTxBuilder.d.ts.map +1 -0
  53. package/dist/src/lib/validatorTxBuilder.js +180 -0
  54. package/dist/test/unit/delegatorTxBuilder.test.d.ts +2 -0
  55. package/dist/test/unit/delegatorTxBuilder.test.d.ts.map +1 -0
  56. package/dist/test/unit/delegatorTxBuilder.test.js +233 -0
  57. package/dist/test/unit/lib/atomicTransactionBuilder.js +37 -11
  58. package/dist/test/unit/lib/exportInCTxBuilder.d.ts +2 -0
  59. package/dist/test/unit/lib/exportInCTxBuilder.d.ts.map +1 -0
  60. package/dist/test/unit/lib/exportInCTxBuilder.js +584 -0
  61. package/dist/test/unit/lib/exportInPTxBuilder.d.ts +2 -0
  62. package/dist/test/unit/lib/exportInPTxBuilder.d.ts.map +1 -0
  63. package/dist/test/unit/lib/exportInPTxBuilder.js +377 -0
  64. package/dist/test/unit/lib/importInCTxBuilder.d.ts +2 -0
  65. package/dist/test/unit/lib/importInCTxBuilder.d.ts.map +1 -0
  66. package/dist/test/unit/lib/importInCTxBuilder.js +257 -0
  67. package/dist/test/unit/lib/importInPTxBuilder.d.ts +2 -0
  68. package/dist/test/unit/lib/importInPTxBuilder.d.ts.map +1 -0
  69. package/dist/test/unit/lib/importInPTxBuilder.js +500 -0
  70. package/dist/test/unit/lib/transaction.d.ts +2 -0
  71. package/dist/test/unit/lib/transaction.d.ts.map +1 -0
  72. package/dist/test/unit/lib/transaction.js +460 -0
  73. package/dist/test/unit/lib/utils.js +55 -1
  74. package/dist/test/unit/permissionlessValidatorTxBuilder.test.d.ts +2 -0
  75. package/dist/test/unit/permissionlessValidatorTxBuilder.test.d.ts.map +1 -0
  76. package/dist/test/unit/permissionlessValidatorTxBuilder.test.js +271 -0
  77. package/dist/test/unit/transactionBuilder.test.d.ts +2 -0
  78. package/dist/test/unit/transactionBuilder.test.d.ts.map +1 -0
  79. package/dist/test/unit/transactionBuilder.test.js +114 -0
  80. package/dist/test/unit/validatorTxBuilder.test.d.ts +2 -0
  81. package/dist/test/unit/validatorTxBuilder.test.d.ts.map +1 -0
  82. package/dist/test/unit/validatorTxBuilder.test.js +293 -0
  83. package/dist/tsconfig.tsbuildinfo +1 -1
  84. package/package.json +11 -11
  85. package/.eslintignore +0 -5
  86. package/.eslintrc.json +0 -7
  87. package/.mocharc.yml +0 -8
  88. package/CHANGELOG.md +0 -0
  89. package/dist/test/unit/lib/exportTxBuilder.d.ts +0 -2
  90. package/dist/test/unit/lib/exportTxBuilder.d.ts.map +0 -1
  91. package/dist/test/unit/lib/exportTxBuilder.js +0 -45
@@ -0,0 +1,37 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
+ import { TransactionType } from '@bitgo-beta/sdk-core';
3
+ import { AtomicTransactionBuilder } from './atomicTransactionBuilder';
4
+ export declare class ExportTxBuilder extends AtomicTransactionBuilder {
5
+ protected get transactionType(): TransactionType;
6
+ constructor(coinConfig: Readonly<CoinConfig>);
7
+ }
8
+ export declare class ImportTxBuilder extends AtomicTransactionBuilder {
9
+ protected get transactionType(): TransactionType;
10
+ constructor(coinConfig: Readonly<CoinConfig>);
11
+ }
12
+ export declare class ValidatorTxBuilder extends AtomicTransactionBuilder {
13
+ protected get transactionType(): TransactionType;
14
+ constructor(coinConfig: Readonly<CoinConfig>);
15
+ }
16
+ export declare class DelegatorTxBuilder extends AtomicTransactionBuilder {
17
+ protected get transactionType(): TransactionType;
18
+ constructor(coinConfig: Readonly<CoinConfig>);
19
+ }
20
+ /**
21
+ * Factory for Flare P-chain transaction builders
22
+ */
23
+ export declare class TransactionBuilderFactory {
24
+ protected _coinConfig: Readonly<CoinConfig>;
25
+ constructor(coinConfig: Readonly<CoinConfig>);
26
+ /**
27
+ * Create a transaction builder from a hex string
28
+ * @param txHex - Transaction hex string
29
+ */
30
+ from(txHex: string): AtomicTransactionBuilder;
31
+ /**
32
+ * Create a transaction builder for a specific type
33
+ * @param type - Transaction type
34
+ */
35
+ getBuilder(type: TransactionType): AtomicTransactionBuilder;
36
+ }
37
+ //# sourceMappingURL=transactionBuilderFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAuB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,qBAAa,eAAgB,SAAQ,wBAAwB;IAC3D,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;gBAEW,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;CAI7C;AAED,qBAAa,eAAgB,SAAQ,wBAAwB;IAC3D,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;gBAEW,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;CAI7C;AAED,qBAAa,kBAAmB,SAAQ,wBAAwB;IAC9D,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;gBAEW,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;CAI7C;AAED,qBAAa,kBAAmB,SAAQ,wBAAwB;IAC9D,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;gBAEW,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;CAI7C;AAED;;GAEG;AACH,qBAAa,yBAAyB;IACpC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAEhC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI5C;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,wBAAwB;IAiB7C;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,wBAAwB;CAc5D"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TransactionBuilderFactory = exports.DelegatorTxBuilder = exports.ValidatorTxBuilder = exports.ImportTxBuilder = exports.ExportTxBuilder = void 0;
4
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
5
+ const atomicTransactionBuilder_1 = require("./atomicTransactionBuilder");
6
+ // Placeholder builders - basic implementations for testing
7
+ class ExportTxBuilder extends atomicTransactionBuilder_1.AtomicTransactionBuilder {
8
+ get transactionType() {
9
+ return sdk_core_1.TransactionType.Export;
10
+ }
11
+ constructor(coinConfig) {
12
+ super(coinConfig);
13
+ // Don't throw error, allow placeholder functionality
14
+ }
15
+ }
16
+ exports.ExportTxBuilder = ExportTxBuilder;
17
+ class ImportTxBuilder extends atomicTransactionBuilder_1.AtomicTransactionBuilder {
18
+ get transactionType() {
19
+ return sdk_core_1.TransactionType.Import;
20
+ }
21
+ constructor(coinConfig) {
22
+ super(coinConfig);
23
+ // Don't throw error, allow placeholder functionality
24
+ }
25
+ }
26
+ exports.ImportTxBuilder = ImportTxBuilder;
27
+ class ValidatorTxBuilder extends atomicTransactionBuilder_1.AtomicTransactionBuilder {
28
+ get transactionType() {
29
+ return sdk_core_1.TransactionType.AddValidator;
30
+ }
31
+ constructor(coinConfig) {
32
+ super(coinConfig);
33
+ // Don't throw error, allow placeholder functionality
34
+ }
35
+ }
36
+ exports.ValidatorTxBuilder = ValidatorTxBuilder;
37
+ class DelegatorTxBuilder extends atomicTransactionBuilder_1.AtomicTransactionBuilder {
38
+ get transactionType() {
39
+ return sdk_core_1.TransactionType.AddDelegator;
40
+ }
41
+ constructor(coinConfig) {
42
+ super(coinConfig);
43
+ // Don't throw error, allow placeholder functionality
44
+ }
45
+ }
46
+ exports.DelegatorTxBuilder = DelegatorTxBuilder;
47
+ /**
48
+ * Factory for Flare P-chain transaction builders
49
+ */
50
+ class TransactionBuilderFactory {
51
+ constructor(coinConfig) {
52
+ this._coinConfig = coinConfig;
53
+ }
54
+ /**
55
+ * Create a transaction builder from a hex string
56
+ * @param txHex - Transaction hex string
57
+ */
58
+ from(txHex) {
59
+ // TODO: Parse the hex and determine transaction type, then return appropriate builder
60
+ // For now, return a basic export builder as that's the most common use case
61
+ if (!txHex) {
62
+ throw new Error('Transaction hex is required');
63
+ }
64
+ // Create a mock export builder for now
65
+ // In the future, this will parse the transaction and determine the correct type
66
+ const builder = new ExportTxBuilder(this._coinConfig);
67
+ // Initialize with the hex data (placeholder)
68
+ builder.initBuilder({ txHex });
69
+ return builder;
70
+ }
71
+ /**
72
+ * Create a transaction builder for a specific type
73
+ * @param type - Transaction type
74
+ */
75
+ getBuilder(type) {
76
+ switch (type) {
77
+ case sdk_core_1.TransactionType.Export:
78
+ return new ExportTxBuilder(this._coinConfig);
79
+ case sdk_core_1.TransactionType.Import:
80
+ return new ImportTxBuilder(this._coinConfig);
81
+ case sdk_core_1.TransactionType.AddValidator:
82
+ return new ValidatorTxBuilder(this._coinConfig);
83
+ case sdk_core_1.TransactionType.AddDelegator:
84
+ return new DelegatorTxBuilder(this._coinConfig);
85
+ default:
86
+ throw new sdk_core_1.NotImplementedError(`Transaction type ${type} not supported`);
87
+ }
88
+ }
89
+ }
90
+ exports.TransactionBuilderFactory = TransactionBuilderFactory;
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxtREFBNEU7QUFDNUUseUVBQXNFO0FBRXRFLDJEQUEyRDtBQUMzRCxNQUFhLGVBQWdCLFNBQVEsbURBQXdCO0lBQzNELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsTUFBTSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxZQUFZLFVBQWdDO1FBQzFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsQixxREFBcUQ7SUFDdkQsQ0FBQztDQUNGO0FBVEQsMENBU0M7QUFFRCxNQUFhLGVBQWdCLFNBQVEsbURBQXdCO0lBQzNELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsTUFBTSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxZQUFZLFVBQWdDO1FBQzFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsQixxREFBcUQ7SUFDdkQsQ0FBQztDQUNGO0FBVEQsMENBU0M7QUFFRCxNQUFhLGtCQUFtQixTQUFRLG1EQUF3QjtJQUM5RCxJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLFlBQVksQ0FBQztJQUN0QyxDQUFDO0lBRUQsWUFBWSxVQUFnQztRQUMxQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEIscURBQXFEO0lBQ3ZELENBQUM7Q0FDRjtBQVRELGdEQVNDO0FBRUQsTUFBYSxrQkFBbUIsU0FBUSxtREFBd0I7SUFDOUQsSUFBYyxlQUFlO1FBQzNCLE9BQU8sMEJBQWUsQ0FBQyxZQUFZLENBQUM7SUFDdEMsQ0FBQztJQUVELFlBQVksVUFBZ0M7UUFDMUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xCLHFEQUFxRDtJQUN2RCxDQUFDO0NBQ0Y7QUFURCxnREFTQztBQUVEOztHQUVHO0FBQ0gsTUFBYSx5QkFBeUI7SUFHcEMsWUFBWSxVQUFnQztRQUMxQyxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxDQUFDLEtBQWE7UUFDaEIsc0ZBQXNGO1FBQ3RGLDRFQUE0RTtRQUM1RSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFDakQsQ0FBQztRQUVELHVDQUF1QztRQUN2QyxnRkFBZ0Y7UUFDaEYsTUFBTSxPQUFPLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXRELDZDQUE2QztRQUM3QyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUUvQixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsVUFBVSxDQUFDLElBQXFCO1FBQzlCLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDYixLQUFLLDBCQUFlLENBQUMsTUFBTTtnQkFDekIsT0FBTyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDL0MsS0FBSywwQkFBZSxDQUFDLE1BQU07Z0JBQ3pCLE9BQU8sSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQy9DLEtBQUssMEJBQWUsQ0FBQyxZQUFZO2dCQUMvQixPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2xELEtBQUssMEJBQWUsQ0FBQyxZQUFZO2dCQUMvQixPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2xEO2dCQUNFLE1BQU0sSUFBSSw4QkFBbUIsQ0FBQyxvQkFBb0IsSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVFLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUE5Q0QsOERBOENDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgTm90SW1wbGVtZW50ZWRFcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQXRvbWljVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi9hdG9taWNUcmFuc2FjdGlvbkJ1aWxkZXInO1xuXG4vLyBQbGFjZWhvbGRlciBidWlsZGVycyAtIGJhc2ljIGltcGxlbWVudGF0aW9ucyBmb3IgdGVzdGluZ1xuZXhwb3J0IGNsYXNzIEV4cG9ydFR4QnVpbGRlciBleHRlbmRzIEF0b21pY1RyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5FeHBvcnQ7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihjb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKGNvaW5Db25maWcpO1xuICAgIC8vIERvbid0IHRocm93IGVycm9yLCBhbGxvdyBwbGFjZWhvbGRlciBmdW5jdGlvbmFsaXR5XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEltcG9ydFR4QnVpbGRlciBleHRlbmRzIEF0b21pY1RyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5JbXBvcnQ7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihjb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKGNvaW5Db25maWcpO1xuICAgIC8vIERvbid0IHRocm93IGVycm9yLCBhbGxvdyBwbGFjZWhvbGRlciBmdW5jdGlvbmFsaXR5XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFZhbGlkYXRvclR4QnVpbGRlciBleHRlbmRzIEF0b21pY1RyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5BZGRWYWxpZGF0b3I7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihjb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKGNvaW5Db25maWcpO1xuICAgIC8vIERvbid0IHRocm93IGVycm9yLCBhbGxvdyBwbGFjZWhvbGRlciBmdW5jdGlvbmFsaXR5XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIERlbGVnYXRvclR4QnVpbGRlciBleHRlbmRzIEF0b21pY1RyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5BZGREZWxlZ2F0b3I7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihjb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKGNvaW5Db25maWcpO1xuICAgIC8vIERvbid0IHRocm93IGVycm9yLCBhbGxvdyBwbGFjZWhvbGRlciBmdW5jdGlvbmFsaXR5XG4gIH1cbn1cblxuLyoqXG4gKiBGYWN0b3J5IGZvciBGbGFyZSBQLWNoYWluIHRyYW5zYWN0aW9uIGJ1aWxkZXJzXG4gKi9cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IHtcbiAgcHJvdGVjdGVkIF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPjtcblxuICBjb25zdHJ1Y3Rvcihjb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHRoaXMuX2NvaW5Db25maWcgPSBjb2luQ29uZmlnO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIHRyYW5zYWN0aW9uIGJ1aWxkZXIgZnJvbSBhIGhleCBzdHJpbmdcbiAgICogQHBhcmFtIHR4SGV4IC0gVHJhbnNhY3Rpb24gaGV4IHN0cmluZ1xuICAgKi9cbiAgZnJvbSh0eEhleDogc3RyaW5nKTogQXRvbWljVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICAvLyBUT0RPOiBQYXJzZSB0aGUgaGV4IGFuZCBkZXRlcm1pbmUgdHJhbnNhY3Rpb24gdHlwZSwgdGhlbiByZXR1cm4gYXBwcm9wcmlhdGUgYnVpbGRlclxuICAgIC8vIEZvciBub3csIHJldHVybiBhIGJhc2ljIGV4cG9ydCBidWlsZGVyIGFzIHRoYXQncyB0aGUgbW9zdCBjb21tb24gdXNlIGNhc2VcbiAgICBpZiAoIXR4SGV4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RyYW5zYWN0aW9uIGhleCBpcyByZXF1aXJlZCcpO1xuICAgIH1cblxuICAgIC8vIENyZWF0ZSBhIG1vY2sgZXhwb3J0IGJ1aWxkZXIgZm9yIG5vd1xuICAgIC8vIEluIHRoZSBmdXR1cmUsIHRoaXMgd2lsbCBwYXJzZSB0aGUgdHJhbnNhY3Rpb24gYW5kIGRldGVybWluZSB0aGUgY29ycmVjdCB0eXBlXG4gICAgY29uc3QgYnVpbGRlciA9IG5ldyBFeHBvcnRUeEJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZyk7XG5cbiAgICAvLyBJbml0aWFsaXplIHdpdGggdGhlIGhleCBkYXRhIChwbGFjZWhvbGRlcilcbiAgICBidWlsZGVyLmluaXRCdWlsZGVyKHsgdHhIZXggfSk7XG5cbiAgICByZXR1cm4gYnVpbGRlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSB0cmFuc2FjdGlvbiBidWlsZGVyIGZvciBhIHNwZWNpZmljIHR5cGVcbiAgICogQHBhcmFtIHR5cGUgLSBUcmFuc2FjdGlvbiB0eXBlXG4gICAqL1xuICBnZXRCdWlsZGVyKHR5cGU6IFRyYW5zYWN0aW9uVHlwZSk6IEF0b21pY1RyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5FeHBvcnQ6XG4gICAgICAgIHJldHVybiBuZXcgRXhwb3J0VHhCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpO1xuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuSW1wb3J0OlxuICAgICAgICByZXR1cm4gbmV3IEltcG9ydFR4QnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKTtcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLkFkZFZhbGlkYXRvcjpcbiAgICAgICAgcmV0dXJuIG5ldyBWYWxpZGF0b3JUeEJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZyk7XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5BZGREZWxlZ2F0b3I6XG4gICAgICAgIHJldHVybiBuZXcgRGVsZWdhdG9yVHhCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IE5vdEltcGxlbWVudGVkRXJyb3IoYFRyYW5zYWN0aW9uIHR5cGUgJHt0eXBlfSBub3Qgc3VwcG9ydGVkYCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,78 @@
1
+ import { DecodedUtxoObj } from './iface';
2
+ /**
3
+ * Base extended transaction interface with common optional properties
4
+ */
5
+ export interface BaseExtendedTransaction {
6
+ _memo?: Uint8Array;
7
+ _outputAmount?: string;
8
+ _utxos?: DecodedUtxoObj[];
9
+ }
10
+ /**
11
+ * Extended transaction for staking transactions (delegator/validator)
12
+ */
13
+ export interface StakingExtendedTransaction extends BaseExtendedTransaction {
14
+ _rewardAddresses: string[];
15
+ _nodeID?: string;
16
+ _startTime?: bigint;
17
+ _endTime?: bigint;
18
+ _stakeAmount?: bigint;
19
+ }
20
+ /**
21
+ * Extended transaction for validator transactions
22
+ */
23
+ export interface ValidatorExtendedTransaction extends StakingExtendedTransaction {
24
+ _delegationFeeRate?: number;
25
+ }
26
+ /**
27
+ * Extended transaction for permissionless validator transactions
28
+ */
29
+ export interface PermissionlessValidatorExtendedTransaction extends ValidatorExtendedTransaction {
30
+ _blsPublicKey?: string;
31
+ _blsSignature?: string;
32
+ }
33
+ /**
34
+ * Base raw transaction data structure from serialized transactions
35
+ */
36
+ export interface BaseRawTransactionData {
37
+ memo?: Uint8Array | string;
38
+ utxos?: DecodedUtxoObj[];
39
+ outputAmount?: string;
40
+ networkID?: number;
41
+ blockchainID?: Buffer | string;
42
+ }
43
+ /**
44
+ * Raw transaction data for delegator transactions
45
+ */
46
+ export interface DelegatorRawTransactionData extends BaseRawTransactionData {
47
+ nodeID: string;
48
+ startTime: string | number | bigint;
49
+ endTime: string | number | bigint;
50
+ stakeAmount: string | number | bigint;
51
+ rewardAddresses: string[];
52
+ }
53
+ /**
54
+ * Raw transaction data for validator transactions
55
+ */
56
+ export interface ValidatorRawTransactionData extends DelegatorRawTransactionData {
57
+ delegationFeeRate: number;
58
+ }
59
+ /**
60
+ * Raw transaction data for permissionless validator transactions
61
+ */
62
+ export interface PermissionlessValidatorRawTransactionData extends ValidatorRawTransactionData {
63
+ blsPublicKey: string;
64
+ blsSignature: string;
65
+ }
66
+ /**
67
+ * Raw transaction data structure from serialized transactions
68
+ * Union type supporting all transaction types with proper type safety
69
+ */
70
+ export type RawTransactionData = BaseRawTransactionData | DelegatorRawTransactionData | ValidatorRawTransactionData | PermissionlessValidatorRawTransactionData;
71
+ /**
72
+ * Specific transaction extension types for better type safety
73
+ */
74
+ export type TransactionWithBaseExtensions = BaseExtendedTransaction & Record<string, unknown>;
75
+ export type TransactionWithStakingExtensions = StakingExtendedTransaction & Record<string, unknown>;
76
+ export type TransactionWithValidatorExtensions = ValidatorExtendedTransaction & Record<string, unknown>;
77
+ export type TransactionWithPermissionlessValidatorExtensions = PermissionlessValidatorExtendedTransaction & Record<string, unknown>;
78
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/types.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,uBAAuB;IACzE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA6B,SAAQ,0BAA0B;IAC9E,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,0CAA2C,SAAQ,4BAA4B;IAC9F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IAErC,IAAI,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,sBAAsB;IAEzE,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACpC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACtC,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,2BAA2B;IAE9E,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,yCAA0C,SAAQ,2BAA2B;IAE5F,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAC1B,sBAAsB,GACtB,2BAA2B,GAC3B,2BAA2B,GAC3B,yCAAyC,CAAC;AAE9C;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC9F,MAAM,MAAM,gCAAgC,GAAG,0BAA0B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACpG,MAAM,MAAM,kCAAkC,GAAG,4BAA4B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACxG,MAAM,MAAM,gDAAgD,GAAG,0CAA0C,GACvG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ // Type definitions for Flare P-chain transaction builders
3
+ // Replaces loose 'any' types with proper type safety
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwwREFBMEQ7QUFDMUQscURBQXFEIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVHlwZSBkZWZpbml0aW9ucyBmb3IgRmxhcmUgUC1jaGFpbiB0cmFuc2FjdGlvbiBidWlsZGVyc1xuLy8gUmVwbGFjZXMgbG9vc2UgJ2FueScgdHlwZXMgd2l0aCBwcm9wZXIgdHlwZSBzYWZldHlcblxuaW1wb3J0IHsgRGVjb2RlZFV0eG9PYmogfSBmcm9tICcuL2lmYWNlJztcblxuLyoqXG4gKiBCYXNlIGV4dGVuZGVkIHRyYW5zYWN0aW9uIGludGVyZmFjZSB3aXRoIGNvbW1vbiBvcHRpb25hbCBwcm9wZXJ0aWVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUV4dGVuZGVkVHJhbnNhY3Rpb24ge1xuICBfbWVtbz86IFVpbnQ4QXJyYXk7XG4gIF9vdXRwdXRBbW91bnQ/OiBzdHJpbmc7XG4gIF91dHhvcz86IERlY29kZWRVdHhvT2JqW107XG59XG5cbi8qKlxuICogRXh0ZW5kZWQgdHJhbnNhY3Rpb24gZm9yIHN0YWtpbmcgdHJhbnNhY3Rpb25zIChkZWxlZ2F0b3IvdmFsaWRhdG9yKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YWtpbmdFeHRlbmRlZFRyYW5zYWN0aW9uIGV4dGVuZHMgQmFzZUV4dGVuZGVkVHJhbnNhY3Rpb24ge1xuICBfcmV3YXJkQWRkcmVzc2VzOiBzdHJpbmdbXTsgLy8gUmVxdWlyZWQgZm9yIGFsbCBzdGFraW5nIHRyYW5zYWN0aW9uc1xuICBfbm9kZUlEPzogc3RyaW5nO1xuICBfc3RhcnRUaW1lPzogYmlnaW50O1xuICBfZW5kVGltZT86IGJpZ2ludDtcbiAgX3N0YWtlQW1vdW50PzogYmlnaW50O1xufVxuXG4vKipcbiAqIEV4dGVuZGVkIHRyYW5zYWN0aW9uIGZvciB2YWxpZGF0b3IgdHJhbnNhY3Rpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdG9yRXh0ZW5kZWRUcmFuc2FjdGlvbiBleHRlbmRzIFN0YWtpbmdFeHRlbmRlZFRyYW5zYWN0aW9uIHtcbiAgX2RlbGVnYXRpb25GZWVSYXRlPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIEV4dGVuZGVkIHRyYW5zYWN0aW9uIGZvciBwZXJtaXNzaW9ubGVzcyB2YWxpZGF0b3IgdHJhbnNhY3Rpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGVybWlzc2lvbmxlc3NWYWxpZGF0b3JFeHRlbmRlZFRyYW5zYWN0aW9uIGV4dGVuZHMgVmFsaWRhdG9yRXh0ZW5kZWRUcmFuc2FjdGlvbiB7XG4gIF9ibHNQdWJsaWNLZXk/OiBzdHJpbmc7XG4gIF9ibHNTaWduYXR1cmU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQmFzZSByYXcgdHJhbnNhY3Rpb24gZGF0YSBzdHJ1Y3R1cmUgZnJvbSBzZXJpYWxpemVkIHRyYW5zYWN0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VSYXdUcmFuc2FjdGlvbkRhdGEge1xuICAvLyBPcHRpb25hbCBmaWVsZHMgY29tbW9uIHRvIGFsbCB0cmFuc2FjdGlvbiB0eXBlc1xuICBtZW1vPzogVWludDhBcnJheSB8IHN0cmluZztcbiAgdXR4b3M/OiBEZWNvZGVkVXR4b09ialtdO1xuICBvdXRwdXRBbW91bnQ/OiBzdHJpbmc7XG4gIG5ldHdvcmtJRD86IG51bWJlcjtcbiAgYmxvY2tjaGFpbklEPzogQnVmZmVyIHwgc3RyaW5nO1xufVxuXG4vKipcbiAqIFJhdyB0cmFuc2FjdGlvbiBkYXRhIGZvciBkZWxlZ2F0b3IgdHJhbnNhY3Rpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVsZWdhdG9yUmF3VHJhbnNhY3Rpb25EYXRhIGV4dGVuZHMgQmFzZVJhd1RyYW5zYWN0aW9uRGF0YSB7XG4gIC8vIFJlcXVpcmVkIGZpZWxkcyBmb3IgZGVsZWdhdG9yIHRyYW5zYWN0aW9uc1xuICBub2RlSUQ6IHN0cmluZztcbiAgc3RhcnRUaW1lOiBzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnQ7XG4gIGVuZFRpbWU6IHN0cmluZyB8IG51bWJlciB8IGJpZ2ludDtcbiAgc3Rha2VBbW91bnQ6IHN0cmluZyB8IG51bWJlciB8IGJpZ2ludDtcbiAgcmV3YXJkQWRkcmVzc2VzOiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBSYXcgdHJhbnNhY3Rpb24gZGF0YSBmb3IgdmFsaWRhdG9yIHRyYW5zYWN0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRvclJhd1RyYW5zYWN0aW9uRGF0YSBleHRlbmRzIERlbGVnYXRvclJhd1RyYW5zYWN0aW9uRGF0YSB7XG4gIC8vIEFkZGl0aW9uYWwgcmVxdWlyZWQgZmllbGQgZm9yIHZhbGlkYXRvciB0cmFuc2FjdGlvbnNcbiAgZGVsZWdhdGlvbkZlZVJhdGU6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBSYXcgdHJhbnNhY3Rpb24gZGF0YSBmb3IgcGVybWlzc2lvbmxlc3MgdmFsaWRhdG9yIHRyYW5zYWN0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFBlcm1pc3Npb25sZXNzVmFsaWRhdG9yUmF3VHJhbnNhY3Rpb25EYXRhIGV4dGVuZHMgVmFsaWRhdG9yUmF3VHJhbnNhY3Rpb25EYXRhIHtcbiAgLy8gQWRkaXRpb25hbCByZXF1aXJlZCBmaWVsZHMgZm9yIHBlcm1pc3Npb25sZXNzIHZhbGlkYXRvciB0cmFuc2FjdGlvbnNcbiAgYmxzUHVibGljS2V5OiBzdHJpbmc7XG4gIGJsc1NpZ25hdHVyZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJhdyB0cmFuc2FjdGlvbiBkYXRhIHN0cnVjdHVyZSBmcm9tIHNlcmlhbGl6ZWQgdHJhbnNhY3Rpb25zXG4gKiBVbmlvbiB0eXBlIHN1cHBvcnRpbmcgYWxsIHRyYW5zYWN0aW9uIHR5cGVzIHdpdGggcHJvcGVyIHR5cGUgc2FmZXR5XG4gKi9cbmV4cG9ydCB0eXBlIFJhd1RyYW5zYWN0aW9uRGF0YSA9XG4gIHwgQmFzZVJhd1RyYW5zYWN0aW9uRGF0YVxuICB8IERlbGVnYXRvclJhd1RyYW5zYWN0aW9uRGF0YVxuICB8IFZhbGlkYXRvclJhd1RyYW5zYWN0aW9uRGF0YVxuICB8IFBlcm1pc3Npb25sZXNzVmFsaWRhdG9yUmF3VHJhbnNhY3Rpb25EYXRhO1xuXG4vKipcbiAqIFNwZWNpZmljIHRyYW5zYWN0aW9uIGV4dGVuc2lvbiB0eXBlcyBmb3IgYmV0dGVyIHR5cGUgc2FmZXR5XG4gKi9cbmV4cG9ydCB0eXBlIFRyYW5zYWN0aW9uV2l0aEJhc2VFeHRlbnNpb25zID0gQmFzZUV4dGVuZGVkVHJhbnNhY3Rpb24gJiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbmV4cG9ydCB0eXBlIFRyYW5zYWN0aW9uV2l0aFN0YWtpbmdFeHRlbnNpb25zID0gU3Rha2luZ0V4dGVuZGVkVHJhbnNhY3Rpb24gJiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbmV4cG9ydCB0eXBlIFRyYW5zYWN0aW9uV2l0aFZhbGlkYXRvckV4dGVuc2lvbnMgPSBWYWxpZGF0b3JFeHRlbmRlZFRyYW5zYWN0aW9uICYgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5leHBvcnQgdHlwZSBUcmFuc2FjdGlvbldpdGhQZXJtaXNzaW9ubGVzc1ZhbGlkYXRvckV4dGVuc2lvbnMgPSBQZXJtaXNzaW9ubGVzc1ZhbGlkYXRvckV4dGVuZGVkVHJhbnNhY3Rpb24gJlxuICBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiJdfQ==
@@ -2,6 +2,8 @@ import { TransferableOutput } from '@flarenetwork/flarejs';
2
2
  import { BaseUtils, Entry } from '@bitgo-beta/sdk-core';
3
3
  import { FlareNetwork } from '@bitgo-beta/statics';
4
4
  import { DeprecatedOutput, DeprecatedTx, Output } from './iface';
5
+ export declare const createHexRegex: (length: number, requirePrefix?: boolean) => RegExp;
6
+ export declare const createFlexibleHexRegex: (requirePrefix?: boolean) => RegExp;
5
7
  export declare class Utils implements BaseUtils {
6
8
  includeIn(walletAddresses: string[], otxoOutputAddresses: string[]): boolean;
7
9
  /**
@@ -49,6 +51,30 @@ export declare class Utils implements BaseUtils {
49
51
  * @returns {boolean} - the validation result
50
52
  */
51
53
  allHexChars(maybe: string): boolean;
54
+ /**
55
+ * Lightweight Ethereum address validation
56
+ * Validates that an address is a 40-character hex string (optionally prefixed with 0x)
57
+ *
58
+ * @param {string} address - the Ethereum address to validate
59
+ * @returns {boolean} - true if valid Ethereum address format
60
+ */
61
+ isValidEthereumAddress(address: string): boolean;
62
+ /**
63
+ * Pick specific properties from an object (replaces lodash.pick)
64
+ *
65
+ * @param {T} obj - the source object
66
+ * @param {K[]} keys - array of property keys to pick
67
+ * @returns {Pick<T, K>} - new object with only the specified properties
68
+ */
69
+ pick<T, K extends keyof T>(obj: T, keys: K[]): Pick<T, K>;
70
+ /**
71
+ * Deep equality comparison (replaces lodash.isEqual)
72
+ *
73
+ * @param {unknown} a - first value to compare
74
+ * @param {unknown} b - second value to compare
75
+ * @returns {boolean} - true if values are deeply equal
76
+ */
77
+ isEqual(a: unknown, b: unknown): boolean;
52
78
  /** @inheritdoc */
53
79
  isValidSignature(signature: string): boolean;
54
80
  /** @inheritdoc */
@@ -152,6 +178,39 @@ export declare class Utils implements BaseUtils {
152
178
  * @returns {string} Address string
153
179
  */
154
180
  addressToString(hrp: string, chainid: string, addressBuffer: Buffer): string;
181
+ /**
182
+ * Convert string to bytes for FlareJS memo
183
+ * Follows FlareJS utils.stringToBytes pattern
184
+ * @param {string} text - Text to convert
185
+ * @returns {Uint8Array} Byte array
186
+ */
187
+ stringToBytes(text: string): Uint8Array;
188
+ /**
189
+ * Convert bytes to string from FlareJS memo
190
+ * @param {Uint8Array} bytes - Bytes to convert
191
+ * @returns {string} Decoded string
192
+ */
193
+ bytesToString(bytes: Uint8Array): string;
194
+ /**
195
+ * Create memo bytes from various input formats
196
+ * Supports string, JSON object, or raw bytes
197
+ * @param {string | Record<string, unknown> | Uint8Array} memo - Memo data
198
+ * @returns {Uint8Array} Memo bytes for FlareJS
199
+ */
200
+ createMemoBytes(memo: string | Record<string, unknown> | Uint8Array): Uint8Array;
201
+ /**
202
+ * Parse memo bytes to string
203
+ * @param {Uint8Array} memoBytes - Memo bytes from FlareJS transaction
204
+ * @returns {string} Decoded memo string
205
+ */
206
+ parseMemoBytes(memoBytes: Uint8Array): string;
207
+ /**
208
+ * Validate memo size (FlareJS has transaction size limits)
209
+ * @param {Uint8Array} memoBytes - Memo bytes
210
+ * @param {number} maxSize - Maximum size in bytes (default 4KB)
211
+ * @returns {boolean} Whether memo is within size limits
212
+ */
213
+ validateMemoSize(memoBytes: Uint8Array, maxSize?: number): boolean;
155
214
  }
156
215
  declare const utils: Utils;
157
216
  export default utils;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EACL,SAAS,EACT,KAAK,EAMN,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAcjE,qBAAa,KAAM,YAAW,SAAS;IAC9B,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,OAAO;IAInF;;;;;OAKG;IACH,kBAAkB;IAClB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO;IAYnD,OAAO,CAAC,mBAAmB;IAI3B;;;;;OAKG;IACH,kBAAkB;IAClB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAUrC;;;;;;OAMG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAwC/B,YAAY,QAAS,MAAM,KAAG,MAAM,CAGzC;IAEF;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAiBvC;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAInC,kBAAkB;IAClB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI5C,kBAAkB;IAClB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI3C;;;;;;OAMG;IACH,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAU5E;;;;;;;OAOG;IACH,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAQtG;;;;;;OAMG;IACH,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAUpF,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM;IAI/B;;;;;OAKG;IACH,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IASpD;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO;IAahE;;;;;OAKG;IACH,8BAA8B,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO;IAIjE;;;;;OAKG;IACH,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,kBAAkB;IAIlE;;;;OAIG;IACH,0BAA0B,CAAC,OAAO,EAAE,YAAY,GAAG,CAAC,MAAM,EAAE,gBAAgB,KAAK,KAAK;IA4BtF;;;;OAIG;IACH,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,CAAC,MAAM,KAAA,KAAK,KAAK;IAmB1D;;;;OAIG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAOpC;;;;OAIG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAIlD;;;;OAIG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAIlD;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAWhC;;;;;;OAMG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;CAI7E;AAED,QAAA,MAAM,KAAK,OAAc,CAAC;AAE1B,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"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"}