@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.
- package/dist/src/flrp.d.ts +82 -61
- package/dist/src/flrp.d.ts.map +1 -1
- package/dist/src/flrp.js +293 -134
- package/dist/src/lib/atomicTransactionBuilder.d.ts +42 -6
- package/dist/src/lib/atomicTransactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/atomicTransactionBuilder.js +233 -29
- package/dist/src/lib/constants.d.ts +160 -1
- package/dist/src/lib/constants.d.ts.map +1 -1
- package/dist/src/lib/constants.js +213 -3
- package/dist/src/lib/delegatorTxBuilder.d.ts +58 -0
- package/dist/src/lib/delegatorTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/delegatorTxBuilder.js +224 -0
- package/dist/src/lib/exportInCTxBuilder.d.ts +1 -1
- package/dist/src/lib/exportInCTxBuilder.d.ts.map +1 -1
- package/dist/src/lib/exportInCTxBuilder.js +46 -17
- package/dist/src/lib/exportInPTxBuilder.d.ts +1 -1
- package/dist/src/lib/exportInPTxBuilder.d.ts.map +1 -1
- package/dist/src/lib/exportInPTxBuilder.js +70 -6
- package/dist/src/lib/iface.d.ts +52 -1
- package/dist/src/lib/iface.d.ts.map +1 -1
- package/dist/src/lib/iface.js +1 -1
- package/dist/src/lib/importInCTxBuilder.d.ts +67 -0
- package/dist/src/lib/importInCTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/importInCTxBuilder.js +403 -0
- package/dist/src/lib/importInPTxBuilder.d.ts +73 -0
- package/dist/src/lib/importInPTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/importInPTxBuilder.js +464 -0
- package/dist/src/lib/index.d.ts +7 -0
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +15 -2
- package/dist/src/lib/keyPair.d.ts.map +1 -1
- package/dist/src/lib/keyPair.js +4 -6
- package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts +81 -0
- package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/permissionlessValidatorTxBuilder.js +248 -0
- package/dist/src/lib/transaction.d.ts +111 -0
- package/dist/src/lib/transaction.d.ts.map +1 -0
- package/dist/src/lib/transaction.js +322 -0
- package/dist/src/lib/transactionBuilder.d.ts +85 -0
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -0
- package/dist/src/lib/transactionBuilder.js +167 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts +37 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/lib/transactionBuilderFactory.js +91 -0
- package/dist/src/lib/types.d.ts +78 -0
- package/dist/src/lib/types.d.ts.map +1 -0
- package/dist/src/lib/types.js +5 -0
- package/dist/src/lib/utils.d.ts +59 -0
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +160 -52
- package/dist/src/lib/validatorTxBuilder.d.ts +40 -0
- package/dist/src/lib/validatorTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/validatorTxBuilder.js +180 -0
- package/dist/test/unit/delegatorTxBuilder.test.d.ts +2 -0
- package/dist/test/unit/delegatorTxBuilder.test.d.ts.map +1 -0
- package/dist/test/unit/delegatorTxBuilder.test.js +233 -0
- package/dist/test/unit/lib/atomicTransactionBuilder.js +37 -11
- package/dist/test/unit/lib/exportInCTxBuilder.d.ts +2 -0
- package/dist/test/unit/lib/exportInCTxBuilder.d.ts.map +1 -0
- package/dist/test/unit/lib/exportInCTxBuilder.js +584 -0
- package/dist/test/unit/lib/exportInPTxBuilder.d.ts +2 -0
- package/dist/test/unit/lib/exportInPTxBuilder.d.ts.map +1 -0
- package/dist/test/unit/lib/exportInPTxBuilder.js +377 -0
- package/dist/test/unit/lib/importInCTxBuilder.d.ts +2 -0
- package/dist/test/unit/lib/importInCTxBuilder.d.ts.map +1 -0
- package/dist/test/unit/lib/importInCTxBuilder.js +257 -0
- package/dist/test/unit/lib/importInPTxBuilder.d.ts +2 -0
- package/dist/test/unit/lib/importInPTxBuilder.d.ts.map +1 -0
- package/dist/test/unit/lib/importInPTxBuilder.js +500 -0
- package/dist/test/unit/lib/transaction.d.ts +2 -0
- package/dist/test/unit/lib/transaction.d.ts.map +1 -0
- package/dist/test/unit/lib/transaction.js +460 -0
- package/dist/test/unit/lib/utils.js +55 -1
- package/dist/test/unit/permissionlessValidatorTxBuilder.test.d.ts +2 -0
- package/dist/test/unit/permissionlessValidatorTxBuilder.test.d.ts.map +1 -0
- package/dist/test/unit/permissionlessValidatorTxBuilder.test.js +271 -0
- package/dist/test/unit/transactionBuilder.test.d.ts +2 -0
- package/dist/test/unit/transactionBuilder.test.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder.test.js +114 -0
- package/dist/test/unit/validatorTxBuilder.test.d.ts +2 -0
- package/dist/test/unit/validatorTxBuilder.test.d.ts.map +1 -0
- package/dist/test/unit/validatorTxBuilder.test.js +293 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +11 -11
- package/.eslintignore +0 -5
- package/.eslintrc.json +0 -7
- package/.mocharc.yml +0 -8
- package/CHANGELOG.md +0 -0
- package/dist/test/unit/lib/exportTxBuilder.d.ts +0 -2
- package/dist/test/unit/lib/exportTxBuilder.d.ts.map +0 -1
- 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==
|
package/dist/src/lib/utils.d.ts
CHANGED
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"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"}
|