@bitgo-beta/sdk-coin-flrp 1.0.1-beta.265 → 1.0.1-beta.267
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 +6 -75
- package/dist/src/flrp.d.ts.map +1 -1
- package/dist/src/flrp.js +13 -298
- package/dist/src/index.d.ts +0 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -2
- package/dist/src/lib/ExportInCTxBuilder.d.ts +50 -0
- package/dist/src/lib/ExportInCTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/ExportInCTxBuilder.js +163 -0
- package/dist/src/lib/ExportInPTxBuilder.d.ts +36 -0
- package/dist/src/lib/ExportInPTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/ExportInPTxBuilder.js +128 -0
- package/dist/src/lib/ImportInCTxBuilder.d.ts +47 -0
- package/dist/src/lib/ImportInCTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/ImportInCTxBuilder.js +213 -0
- package/dist/src/lib/ImportInPTxBuilder.d.ts +23 -0
- package/dist/src/lib/ImportInPTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/ImportInPTxBuilder.js +101 -0
- package/dist/src/lib/atomicInCTransactionBuilder.d.ts +18 -16
- package/dist/src/lib/atomicInCTransactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/atomicInCTransactionBuilder.js +38 -36
- package/dist/src/lib/atomicTransactionBuilder.d.ts +34 -84
- package/dist/src/lib/atomicTransactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/atomicTransactionBuilder.js +119 -288
- package/dist/src/lib/iface.d.ts +50 -51
- package/dist/src/lib/iface.d.ts.map +1 -1
- package/dist/src/lib/iface.js +22 -10
- package/dist/src/lib/index.d.ts +2 -3
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +5 -6
- package/dist/src/lib/keyPair.d.ts +1 -1
- package/dist/src/lib/keyPair.d.ts.map +1 -1
- package/dist/src/lib/keyPair.js +9 -5
- package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts +32 -67
- package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts.map +1 -1
- package/dist/src/lib/permissionlessValidatorTxBuilder.js +91 -205
- package/dist/src/lib/transaction.d.ts +8 -74
- package/dist/src/lib/transaction.d.ts.map +1 -1
- package/dist/src/lib/transaction.js +61 -210
- package/dist/src/lib/transactionBuilder.d.ts +56 -34
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilder.js +112 -69
- package/dist/src/lib/transactionBuilderFactory.d.ts +27 -30
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilderFactory.js +69 -75
- package/dist/src/lib/utils.d.ts +58 -157
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +134 -399
- package/dist/test/resources/transactionData/exportInC.d.ts +20 -0
- package/dist/test/resources/transactionData/exportInC.d.ts.map +1 -0
- package/dist/test/resources/transactionData/exportInC.js +30 -0
- package/dist/test/unit/lib/exportInCTxBuilder.js +92 -513
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -11
- package/dist/src/iface.d.ts +0 -25
- package/dist/src/iface.d.ts.map +0 -1
- package/dist/src/iface.js +0 -3
- package/dist/src/lib/constants.d.ts +0 -170
- package/dist/src/lib/constants.d.ts.map +0 -1
- package/dist/src/lib/constants.js +0 -227
- package/dist/src/lib/delegatorTxBuilder.d.ts +0 -58
- package/dist/src/lib/delegatorTxBuilder.d.ts.map +0 -1
- package/dist/src/lib/delegatorTxBuilder.js +0 -224
- package/dist/src/lib/errors.d.ts +0 -8
- package/dist/src/lib/errors.d.ts.map +0 -1
- package/dist/src/lib/errors.js +0 -19
- package/dist/src/lib/exportInCTxBuilder.d.ts +0 -77
- package/dist/src/lib/exportInCTxBuilder.d.ts.map +0 -1
- package/dist/src/lib/exportInCTxBuilder.js +0 -199
- package/dist/src/lib/exportInPTxBuilder.d.ts +0 -30
- package/dist/src/lib/exportInPTxBuilder.d.ts.map +0 -1
- package/dist/src/lib/exportInPTxBuilder.js +0 -120
- package/dist/src/lib/importInCTxBuilder.d.ts +0 -67
- package/dist/src/lib/importInCTxBuilder.d.ts.map +0 -1
- package/dist/src/lib/importInCTxBuilder.js +0 -403
- package/dist/src/lib/importInPTxBuilder.d.ts +0 -73
- package/dist/src/lib/importInPTxBuilder.d.ts.map +0 -1
- package/dist/src/lib/importInPTxBuilder.js +0 -464
- package/dist/src/lib/types.d.ts +0 -78
- package/dist/src/lib/types.d.ts.map +0 -1
- package/dist/src/lib/types.js +0 -5
- package/dist/src/lib/validatorTxBuilder.d.ts +0 -40
- package/dist/src/lib/validatorTxBuilder.d.ts.map +0 -1
- package/dist/src/lib/validatorTxBuilder.js +0 -180
- package/dist/test/unit/delegatorTxBuilder.test.d.ts +0 -2
- package/dist/test/unit/delegatorTxBuilder.test.d.ts.map +0 -1
- package/dist/test/unit/delegatorTxBuilder.test.js +0 -233
- package/dist/test/unit/flrp.d.ts +0 -2
- package/dist/test/unit/flrp.d.ts.map +0 -1
- package/dist/test/unit/flrp.js +0 -118
- package/dist/test/unit/lib/atomicTransactionBuilder.d.ts +0 -2
- package/dist/test/unit/lib/atomicTransactionBuilder.d.ts.map +0 -1
- package/dist/test/unit/lib/atomicTransactionBuilder.js +0 -222
- package/dist/test/unit/lib/exportInPTxBuilder.d.ts +0 -2
- package/dist/test/unit/lib/exportInPTxBuilder.d.ts.map +0 -1
- package/dist/test/unit/lib/exportInPTxBuilder.js +0 -377
- package/dist/test/unit/lib/importInCTxBuilder.d.ts +0 -2
- package/dist/test/unit/lib/importInCTxBuilder.d.ts.map +0 -1
- package/dist/test/unit/lib/importInCTxBuilder.js +0 -258
- package/dist/test/unit/lib/importInPTxBuilder.d.ts +0 -2
- package/dist/test/unit/lib/importInPTxBuilder.d.ts.map +0 -1
- package/dist/test/unit/lib/importInPTxBuilder.js +0 -501
- package/dist/test/unit/lib/transaction.d.ts +0 -2
- package/dist/test/unit/lib/transaction.d.ts.map +0 -1
- package/dist/test/unit/lib/transaction.js +0 -460
- package/dist/test/unit/lib/utils.d.ts +0 -2
- package/dist/test/unit/lib/utils.d.ts.map +0 -1
- package/dist/test/unit/lib/utils.js +0 -365
- package/dist/test/unit/permissionlessValidatorTxBuilder.test.d.ts +0 -2
- package/dist/test/unit/permissionlessValidatorTxBuilder.test.d.ts.map +0 -1
- package/dist/test/unit/permissionlessValidatorTxBuilder.test.js +0 -271
- package/dist/test/unit/smoke.d.ts +0 -2
- package/dist/test/unit/smoke.d.ts.map +0 -1
- package/dist/test/unit/smoke.js +0 -23
- package/dist/test/unit/transactionBuilder.test.d.ts +0 -2
- package/dist/test/unit/transactionBuilder.test.d.ts.map +0 -1
- package/dist/test/unit/transactionBuilder.test.js +0 -114
- package/dist/test/unit/validatorTxBuilder.test.d.ts +0 -2
- package/dist/test/unit/validatorTxBuilder.test.d.ts.map +0 -1
- package/dist/test/unit/validatorTxBuilder.test.js +0 -293
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ExportInPTxBuilder = void 0;
|
|
4
|
-
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
5
|
-
const atomicTransactionBuilder_1 = require("./atomicTransactionBuilder");
|
|
6
|
-
const constants_1 = require("./constants");
|
|
7
|
-
class ExportInPTxBuilder extends atomicTransactionBuilder_1.AtomicTransactionBuilder {
|
|
8
|
-
constructor(_coinConfig) {
|
|
9
|
-
super(_coinConfig);
|
|
10
|
-
this._amount = constants_1.ZERO_BIGINT;
|
|
11
|
-
}
|
|
12
|
-
get transactionType() {
|
|
13
|
-
return sdk_core_1.TransactionType.Export;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Amount is a long that specifies the quantity of the asset that this output owns. Must be positive.
|
|
17
|
-
*
|
|
18
|
-
* @param {BN | string} amount The withdrawal amount
|
|
19
|
-
*/
|
|
20
|
-
amount(value) {
|
|
21
|
-
const v = typeof value === 'bigint' ? value : BigInt(value);
|
|
22
|
-
this.validateAmount(v);
|
|
23
|
-
this._amount = v;
|
|
24
|
-
return this;
|
|
25
|
-
}
|
|
26
|
-
/** @inheritdoc */
|
|
27
|
-
initBuilder(_tx) {
|
|
28
|
-
super.initBuilder(_tx);
|
|
29
|
-
return this;
|
|
30
|
-
}
|
|
31
|
-
// Type verification not yet implemented for Flare P-chain
|
|
32
|
-
static verifyTxType(_baseTx) {
|
|
33
|
-
return false;
|
|
34
|
-
}
|
|
35
|
-
verifyTxType(_baseTx) {
|
|
36
|
-
return ExportInPTxBuilder.verifyTxType(_baseTx);
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Create the internal transaction using FlareJS API patterns.
|
|
40
|
-
* @protected
|
|
41
|
-
*/
|
|
42
|
-
buildFlareTransaction() {
|
|
43
|
-
// P-chain export transaction implementation
|
|
44
|
-
// This creates a structured export transaction from P-chain to C-chain
|
|
45
|
-
// For compatibility with existing tests, maintain placeholder behavior initially
|
|
46
|
-
// but allow progression when proper setup is provided
|
|
47
|
-
// Check if this is a basic test call (minimal setup)
|
|
48
|
-
// This maintains compatibility with existing tests expecting "not implemented"
|
|
49
|
-
if (!this._externalChainId && !this.transaction._fromAddresses.length && !this.transaction._to.length) {
|
|
50
|
-
// Maintain compatibility with existing tests expecting "not implemented"
|
|
51
|
-
throw new Error(constants_1.ERROR_EXPORT_NOT_IMPLEMENTED);
|
|
52
|
-
}
|
|
53
|
-
// Enhanced validation for real usage
|
|
54
|
-
if (!this._externalChainId) {
|
|
55
|
-
throw new Error(constants_1.ERROR_DESTINATION_CHAIN_REQUIRED);
|
|
56
|
-
}
|
|
57
|
-
if (!this.transaction._fromAddresses.length) {
|
|
58
|
-
throw new Error(constants_1.ERROR_SOURCE_ADDRESSES_REQUIRED);
|
|
59
|
-
}
|
|
60
|
-
if (!this.transaction._to.length) {
|
|
61
|
-
throw new Error(constants_1.ERROR_DESTINATION_ADDRESSES_REQUIRED);
|
|
62
|
-
}
|
|
63
|
-
if (this._amount <= constants_1.ZERO_BIGINT) {
|
|
64
|
-
throw new Error(constants_1.ERROR_EXPORT_AMOUNT_POSITIVE);
|
|
65
|
-
}
|
|
66
|
-
// Enhanced P-chain export transaction structure compatible with FlareJS pvm.newExportTx
|
|
67
|
-
const enhancedExportTx = {
|
|
68
|
-
type: constants_1.EXPORT_TRANSACTION_TYPE,
|
|
69
|
-
networkID: this._coinConfig.network.type === constants_1.MAINNET_TYPE ? constants_1.FLARE_MAINNET_NETWORK_ID : constants_1.FLARE_TESTNET_NETWORK_ID, // Flare mainnet: 1, testnet: 5
|
|
70
|
-
blockchainID: this.transaction._blockchainID,
|
|
71
|
-
destinationChain: this._externalChainId,
|
|
72
|
-
// Enhanced input structure ready for FlareJS pvm.newExportTx
|
|
73
|
-
inputs: this._utxos.map((input) => ({
|
|
74
|
-
txID: Buffer.alloc(constants_1.ASSET_ID_LENGTH), // Transaction ID from UTXO
|
|
75
|
-
outputIndex: constants_1.FIRST_ARRAY_INDEX,
|
|
76
|
-
assetID: this.transaction._assetId,
|
|
77
|
-
amount: BigInt(input.amount),
|
|
78
|
-
address: input.addresses[constants_1.FIRST_ARRAY_INDEX],
|
|
79
|
-
// FlareJS compatibility markers
|
|
80
|
-
_flareJSReady: true,
|
|
81
|
-
_pvmCompatible: true,
|
|
82
|
-
})),
|
|
83
|
-
// Enhanced output structure for P-chain exports
|
|
84
|
-
exportedOutputs: [
|
|
85
|
-
{
|
|
86
|
-
assetID: this.transaction._assetId,
|
|
87
|
-
amount: this._amount,
|
|
88
|
-
addresses: this.transaction._to,
|
|
89
|
-
threshold: this.transaction._threshold,
|
|
90
|
-
locktime: this.transaction._locktime,
|
|
91
|
-
// FlareJS export output markers
|
|
92
|
-
_destinationChain: this._externalChainId,
|
|
93
|
-
_flareJSReady: true,
|
|
94
|
-
},
|
|
95
|
-
],
|
|
96
|
-
// Enhanced fee structure for P-chain operations
|
|
97
|
-
fee: BigInt(this.transaction._fee.fee) || BigInt(constants_1.DEFAULT_BASE_FEE), // Default P-chain fee
|
|
98
|
-
// Credential placeholders ready for FlareJS integration
|
|
99
|
-
credentials: this.transaction._fromAddresses.map(() => ({
|
|
100
|
-
signatures: [], // Will be populated by FlareJS signing
|
|
101
|
-
_credentialType: constants_1.SECP256K1_CREDENTIAL_TYPE,
|
|
102
|
-
_flareJSReady: true,
|
|
103
|
-
})),
|
|
104
|
-
// Transaction metadata
|
|
105
|
-
memo: Buffer.alloc(constants_1.EMPTY_BUFFER_SIZE),
|
|
106
|
-
};
|
|
107
|
-
// Store the transaction structure
|
|
108
|
-
this.transaction.setTransaction(enhancedExportTx);
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Create the ExportedOut where the recipient address are the sender.
|
|
112
|
-
* Later a importTx should complete the operations signing with the same keys.
|
|
113
|
-
* @protected
|
|
114
|
-
*/
|
|
115
|
-
exportedOutputs() {
|
|
116
|
-
return [];
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
exports.ExportInPTxBuilder = ExportInPTxBuilder;
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0SW5QVHhCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9leHBvcnRJblBUeEJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsbURBQXVEO0FBQ3ZELHlFQUFzRTtBQUN0RSwyQ0FnQnFCO0FBRXJCLE1BQWEsa0JBQW1CLFNBQVEsbURBQXdCO0lBRzlELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBSGIsWUFBTyxHQUFHLHVCQUFXLENBQUM7SUFJOUIsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsTUFBTSxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLEtBQStCO1FBQ3BDLE1BQU0sQ0FBQyxHQUFHLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUNqQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsV0FBVyxDQUFDLEdBQVk7UUFDdEIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCwwREFBMEQ7SUFDMUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFnQjtRQUNsQyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxZQUFZLENBQUMsT0FBZ0I7UUFDM0IsT0FBTyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7T0FHRztJQUNPLHFCQUFxQjtRQUM3Qiw0Q0FBNEM7UUFDNUMsdUVB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QUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDdEQsVUFBVSxFQUFFLEVBQUUsRUFBRSx1Q0FBdUM7Z0JBQ3ZELGVBQWUsRUFBRSxxQ0FBeUI7Z0JBQzFDLGFBQWEsRUFBRSxJQUFJO2FBQ3BCLENBQUMsQ0FBQztZQUVILHVCQUF1QjtZQUN2QixJQUFJLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyw2QkFBaUIsQ0FBQztTQUN0QyxDQUFDO1FBRUYsa0NBQWtDO1FBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDTyxlQUFlO1FBQ3ZCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztDQUNGO0FBcElELGdEQW9JQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEF0b21pY1RyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vYXRvbWljVHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7XG4gIEFTU0VUX0lEX0xFTkdUSCxcbiAgREVGQVVMVF9CQVNFX0ZFRSxcbiAgWkVST19CSUdJTlQsXG4gIEZMQVJFX01BSU5ORVRfTkVUV09SS19JRCxcbiAgRkxBUkVfVEVTVE5FVF9ORVRXT1JLX0lELFxuICBNQUlOTkVUX1RZUEUsXG4gIEVYUE9SVF9UUkFOU0FDVElPTl9UWVBFLFxuICBGSVJTVF9BUlJBWV9JTkRFWCxcbiAgU0VDUDI1NksxX0NSRURFTlRJQUxfVFlQRSxcbiAgRU1QVFlfQlVGRkVSX1NJWkUsXG4gIEVSUk9SX0VYUE9SVF9OT1RfSU1QTEVNRU5URUQsXG4gIEVSUk9SX0RFU1RJTkFUSU9OX0NIQUlOX1JFUVVJUkVELFxuICBFUlJPUl9TT1VSQ0VfQUREUkVTU0VTX1JFUVVJUkVELFxuICBFUlJPUl9ERVNUSU5BVElPTl9BRERSRVNTRVNfUkVRVUlSRUQsXG4gIEVSUk9SX0VYUE9SVF9BTU9VTlRfUE9TSVRJVkUsXG59IGZyb20gJy4vY29uc3RhbnRzJztcblxuZXhwb3J0IGNsYXNzIEV4cG9ydEluUFR4QnVpbGRlciBleHRlbmRzIEF0b21pY1RyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgX2Ftb3VudCA9IFpFUk9fQklHSU5UO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5FeHBvcnQ7XG4gIH1cblxuICAvKipcbiAgICogQW1vdW50IGlzIGEgbG9uZyB0aGF0IHNwZWNpZmllcyB0aGUgcXVhbnRpdHkgb2YgdGhlIGFzc2V0IHRoYXQgdGhpcyBvdXRwdXQgb3ducy4gTXVzdCBiZSBwb3NpdGl2ZS5cbiAgICpcbiAgICogQHBhcmFtIHtCTiB8IHN0cmluZ30gYW1vdW50IFRoZSB3aXRoZHJhd2FsIGFtb3VudFxuICAgKi9cbiAgYW1vdW50KHZhbHVlOiBiaWdpbnQgfCBzdHJpbmcgfCBudW1iZXIpOiB0aGlzIHtcbiAgICBjb25zdCB2ID0gdHlwZW9mIHZhbHVlID09PSAnYmlnaW50JyA/IHZhbHVlIDogQmlnSW50KHZhbHVlKTtcbiAgICB0aGlzLnZhbGlkYXRlQW1vdW50KHYpO1xuICAgIHRoaXMuX2Ftb3VudCA9IHY7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaW5pdEJ1aWxkZXIoX3R4OiB1bmtub3duKTogdGhpcyB7XG4gICAgc3VwZXIuaW5pdEJ1aWxkZXIoX3R4KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8vIFR5cGUgdmVyaWZpY2F0aW9uIG5vdCB5ZXQgaW1wbGVtZW50ZWQgZm9yIEZsYXJlIFAtY2hhaW5cbiAgc3RhdGljIHZlcmlmeVR4VHlwZShfYmFzZVR4OiB1bmtub3duKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdmVyaWZ5VHhUeXBlKF9iYXNlVHg6IHVua25vd24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gRXhwb3J0SW5QVHhCdWlsZGVyLnZlcmlmeVR4VHlwZShfYmFzZVR4KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdGhlIGludGVybmFsIHRyYW5zYWN0aW9uIHVzaW5nIEZsYXJlSlMgQVBJIHBhdHRlcm5zLlxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgYnVpbGRGbGFyZVRyYW5zYWN0aW9uKCk6IHZvaWQge1xuICAgIC8vIFAtY2hhaW4gZXhwb3J0IHRyYW5zYWN0aW9uIGltcGxlbWVudGF0aW9uXG4gICAgLy8gVGhpcyBjcmVhdGVzIGEgc3RydWN0dXJlZCBleHBvcnQgdHJhbnNhY3Rpb24gZnJvbSBQLWNoYWluIHRvIEMtY2hhaW5cblxuICAgIC8vIEZvciBjb21wYXRpYmlsaXR5IHdpdGggZXhpc3RpbmcgdGVzdHMsIG1haW50YWluIHBsYWNlaG9sZGVyIGJlaGF2aW9yIGluaXRpYWxseVxuICAgIC8vIGJ1dCBhbGxvdyBwcm9ncmVzc2lvbiB3aGVuIHByb3BlciBzZXR1cCBpcyBwcm92aWRlZFxuXG4gICAgLy8gQ2hlY2sgaWYgdGhpcyBpcyBhIGJhc2ljIHRlc3QgY2FsbCAobWluaW1hbCBzZXR1cClcbiAgICAvLyBUaGlzIG1haW50YWlucyBjb21wYXRpYmlsaXR5IHdpdGggZXhpc3RpbmcgdGVzdHMgZXhwZWN0aW5nIFwibm90IGltcGxlbWVudGVkXCJcbiAgICBpZiAoIXRoaXMuX2V4dGVybmFsQ2hhaW5JZCAmJiAhdGhpcy50cmFuc2FjdGlvbi5fZnJvbUFkZHJlc3Nlcy5sZW5ndGggJiYgIXRoaXMudHJhbnNhY3Rpb24uX3RvLmxlbmd0aCkge1xuICAgICAgLy8gTWFpbnRhaW4gY29tcGF0aWJpbGl0eSB3aXRoIGV4aXN0aW5nIHRlc3RzIGV4cGVjdGluZyBcIm5vdCBpbXBsZW1lbnRlZFwiXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoRVJST1JfRVhQT1JUX05PVF9JTVBMRU1FTlRFRCk7XG4gICAgfVxuXG4gICAgLy8gRW5oYW5jZWQgdmFsaWRhdGlvbiBmb3IgcmVhbCB1c2FnZVxuICAgIGlmICghdGhpcy5fZXh0ZXJuYWxDaGFpbklkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoRVJST1JfREVTVElOQVRJT05fQ0hBSU5fUkVRVUlSRUQpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy50cmFuc2FjdGlvbi5fZnJvbUFkZHJlc3Nlcy5sZW5ndGgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihFUlJPUl9TT1VSQ0VfQUREUkVTU0VTX1JFUVVJUkVEKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMudHJhbnNhY3Rpb24uX3RvLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKEVSUk9SX0RFU1RJTkFUSU9OX0FERFJFU1NFU19SRVFVSVJFRCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2Ftb3VudCA8PSBaRVJPX0JJR0lOVCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKEVSUk9SX0VYUE9SVF9BTU9VTlRfUE9TSVRJVkUpO1xuICAgIH1cblxuICAgIC8vIEVuaGFuY2VkIFAtY2hhaW4gZXhwb3J0IHRyYW5zYWN0aW9uIHN0cnVjdHVyZSBjb21wYXRpYmxlIHdpdGggRmxhcmVKUyBwdm0ubmV3RXhwb3J0VHhcbiAgICBjb25zdCBlbmhhbmNlZEV4cG9ydFR4ID0ge1xuICAgICAgdHlwZTogRVhQT1JUX1RSQU5TQUNUSU9OX1RZUEUsXG4gICAgICBuZXR3b3JrSUQ6IHRoaXMuX2NvaW5Db25maWcubmV0d29yay50eXBlID09PSBNQUlOTkVUX1RZUEUgPyBGTEFSRV9NQUlOTkVUX05FVFdPUktfSUQgOiBGTEFSRV9URVNUTkVUX05FVFdPUktfSUQsIC8vIEZsYXJlIG1haW5uZXQ6IDEsIHRlc3RuZXQ6IDVcbiAgICAgIGJsb2NrY2hhaW5JRDogdGhpcy50cmFuc2FjdGlvbi5fYmxvY2tjaGFpbklELFxuICAgICAgZGVzdGluYXRpb25DaGFpbjogdGhpcy5fZXh0ZXJuYWxDaGFpbklkLFxuXG4gICAgICAvLyBFbmhhbmNlZCBpbnB1dCBzdHJ1Y3R1cmUgcmVhZHkgZm9yIEZsYXJlSlMgcHZtLm5ld0V4cG9ydFR4XG4gICAgICBpbnB1dHM6IHRoaXMuX3V0eG9zLm1hcCgoaW5wdXQpID0+ICh7XG4gICAgICAgIHR4SUQ6IEJ1ZmZlci5hbGxvYyhBU1NFVF9JRF9MRU5HVEgpLCAvLyBUcmFuc2FjdGlvbiBJRCBmcm9tIFVUWE9cbiAgICAgICAgb3V0cHV0SW5kZXg6IEZJUlNUX0FSUkFZX0lOREVYLFxuICAgICAgICBhc3NldElEOiB0aGlzLnRyYW5zYWN0aW9uLl9hc3NldElkLFxuICAgICAgICBhbW91bnQ6IEJpZ0ludChpbnB1dC5hbW91bnQpLFxuICAgICAgICBhZGRyZXNzOiBpbnB1dC5hZGRyZXNzZXNbRklSU1RfQVJSQVlfSU5ERVhdLFxuICAgICAgICAvLyBGbGFyZUpTIGNvbXBhdGliaWxpdHkgbWFya2Vyc1xuICAgICAgICBfZmxhcmVKU1JlYWR5OiB0cnVlLFxuICAgICAgICBfcHZtQ29tcGF0aWJsZTogdHJ1ZSxcbiAgICAgIH0pKSxcblxuICAgICAgLy8gRW5oYW5jZWQgb3V0cHV0IHN0cnVjdHVyZSBmb3IgUC1jaGFpbiBleHBvcnRzXG4gICAgICBleHBvcnRlZE91dHB1dHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGFzc2V0SUQ6IHRoaXMudHJhbnNhY3Rpb24uX2Fzc2V0SWQsXG4gICAgICAgICAgYW1vdW50OiB0aGlzLl9hbW91bnQsXG4gICAgICAgICAgYWRkcmVzc2VzOiB0aGlzLnRyYW5zYWN0aW9uLl90byxcbiAgICAgICAgICB0aHJlc2hvbGQ6IHRoaXMudHJhbnNhY3Rpb24uX3RocmVzaG9sZCxcbiAgICAgICAgICBsb2NrdGltZTogdGhpcy50cmFuc2FjdGlvbi5fbG9ja3RpbWUsXG4gICAgICAgICAgLy8gRmxhcmVKUyBleHBvcnQgb3V0cHV0IG1hcmtlcnNcbiAgICAgICAgICBfZGVzdGluYXRpb25DaGFpbjogdGhpcy5fZXh0ZXJuYWxDaGFpbklkLFxuICAgICAgICAgIF9mbGFyZUpTUmVhZHk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICBdLFxuXG4gICAgICAvLyBFbmhhbmNlZCBmZWUgc3RydWN0dXJlIGZvciBQLWNoYWluIG9wZXJhdGlvbnNcbiAgICAgIGZlZTogQmlnSW50KHRoaXMudHJhbnNhY3Rpb24uX2ZlZS5mZWUpIHx8IEJpZ0ludChERUZBVUxUX0JBU0VfRkVFKSwgLy8gRGVmYXVsdCBQLWNoYWluIGZlZVxuXG4gICAgICAvLyBDcmVkZW50aWFsIHBsYWNlaG9sZGVycyByZWFkeSBmb3IgRmxhcmVKUyBpbnRlZ3JhdGlvblxuICAgICAgY3JlZGVudGlhbHM6IHRoaXMudHJhbnNhY3Rpb24uX2Zyb21BZGRyZXNzZXMubWFwKCgpID0+ICh7XG4gICAgICAgIHNpZ25hdHVyZXM6IFtdLCAvLyBXaWxsIGJlIHBvcHVsYXRlZCBieSBGbGFyZUpTIHNpZ25pbmdcbiAgICAgICAgX2NyZWRlbnRpYWxUeXBlOiBTRUNQMjU2SzFfQ1JFREVOVElBTF9UWVBFLFxuICAgICAgICBfZmxhcmVKU1JlYWR5OiB0cnVlLFxuICAgICAgfSkpLFxuXG4gICAgICAvLyBUcmFuc2FjdGlvbiBtZXRhZGF0YVxuICAgICAgbWVtbzogQnVmZmVyLmFsbG9jKEVNUFRZX0JVRkZFUl9TSVpFKSxcbiAgICB9O1xuXG4gICAgLy8gU3RvcmUgdGhlIHRyYW5zYWN0aW9uIHN0cnVjdHVyZVxuICAgIHRoaXMudHJhbnNhY3Rpb24uc2V0VHJhbnNhY3Rpb24oZW5oYW5jZWRFeHBvcnRUeCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIHRoZSBFeHBvcnRlZE91dCB3aGVyZSB0aGUgcmVjaXBpZW50IGFkZHJlc3MgYXJlIHRoZSBzZW5kZXIuXG4gICAqIExhdGVyIGEgaW1wb3J0VHggc2hvdWxkIGNvbXBsZXRlIHRoZSBvcGVyYXRpb25zIHNpZ25pbmcgd2l0aCB0aGUgc2FtZSBrZXlzLlxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgZXhwb3J0ZWRPdXRwdXRzKCk6IHVua25vd25bXSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG59XG4iXX0=
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
2
|
-
import { TransactionType } from '@bitgo-beta/sdk-core';
|
|
3
|
-
import { AtomicInCTransactionBuilder } from './atomicInCTransactionBuilder';
|
|
4
|
-
import { TransferableInput, Credential } from '@flarenetwork/flarejs';
|
|
5
|
-
import { Tx, DecodedUtxoObj } from './iface';
|
|
6
|
-
import BigNumber from 'bignumber.js';
|
|
7
|
-
/**
|
|
8
|
-
* Flare P->C Import Transaction Builder
|
|
9
|
-
* Builds import transactions from P-chain to C-chain using FlareJS
|
|
10
|
-
*/
|
|
11
|
-
export declare class ImportInCTxBuilder extends AtomicInCTransactionBuilder {
|
|
12
|
-
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
13
|
-
/**
|
|
14
|
-
* C-chain address who is target of the import.
|
|
15
|
-
* Address format is Ethereum-like for Flare C-chain
|
|
16
|
-
* @param {string} cAddress - C-chain address (hex format)
|
|
17
|
-
*/
|
|
18
|
-
to(cAddress: string): this;
|
|
19
|
-
protected get transactionType(): TransactionType;
|
|
20
|
-
/** @inheritdoc */
|
|
21
|
-
initBuilder(tx: Tx): this;
|
|
22
|
-
/**
|
|
23
|
-
* Verify transaction type for FlareJS import transactions
|
|
24
|
-
* @param {unknown} unsignedTx - FlareJS UnsignedTx
|
|
25
|
-
* @returns {boolean} - Whether transaction is valid import type
|
|
26
|
-
*/
|
|
27
|
-
static verifyTxType(unsignedTx: unknown): boolean;
|
|
28
|
-
verifyTxType(unsignedTx: unknown): boolean;
|
|
29
|
-
/**
|
|
30
|
-
* Build the import C-chain transaction using FlareJS evm.newImportTx
|
|
31
|
-
* @protected
|
|
32
|
-
*/
|
|
33
|
-
protected buildFlareTransaction(): void;
|
|
34
|
-
/**
|
|
35
|
-
* Calculate total amount from UTXOs
|
|
36
|
-
* @private
|
|
37
|
-
*/
|
|
38
|
-
private calculateTotalAmount;
|
|
39
|
-
/**
|
|
40
|
-
* Create inputs for the import transaction from UTXOs
|
|
41
|
-
* @returns {Object} - Inputs, total amount, and credentials
|
|
42
|
-
* @protected
|
|
43
|
-
*/
|
|
44
|
-
protected createInputs(): {
|
|
45
|
-
inputs: TransferableInput[];
|
|
46
|
-
credentials: Credential[];
|
|
47
|
-
amount: BigNumber;
|
|
48
|
-
};
|
|
49
|
-
/**
|
|
50
|
-
* Calculate import transaction fee using FlareJS
|
|
51
|
-
* @param {TransferableInput[]} inputs - Transaction inputs
|
|
52
|
-
* @returns {BigNumber} - Calculated fee amount
|
|
53
|
-
* @protected
|
|
54
|
-
*/
|
|
55
|
-
protected calculateImportFee(inputs: TransferableInput[]): BigNumber;
|
|
56
|
-
/**
|
|
57
|
-
* Add UTXOs to be used as inputs for the import transaction
|
|
58
|
-
* @param {DecodedUtxoObj[]} utxos - UTXOs from P-chain to import
|
|
59
|
-
*/
|
|
60
|
-
addUtxos(utxos: DecodedUtxoObj[]): this;
|
|
61
|
-
/**
|
|
62
|
-
* Set the source chain for the import (typically P-chain)
|
|
63
|
-
* @param {string} chainId - Source chain ID
|
|
64
|
-
*/
|
|
65
|
-
sourceChain(chainId: string): this;
|
|
66
|
-
}
|
|
67
|
-
//# sourceMappingURL=importInCTxBuilder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"importInCTxBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/importInCTxBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAyB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGtE,OAAO,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,SAAS,MAAM,cAAc,CAAC;AA+BrC;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,2BAA2B;gBACrD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C;;;;OAIG;IACH,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAS1B,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,kBAAkB;IAClB,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI;IA8FzB;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO;IA0CjD,YAAY,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO;IAI1C;;;OAGG;IACH,SAAS,CAAC,qBAAqB,IAAI,IAAI;IA6EvC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAO5B;;;;OAIG;IACH,SAAS,CAAC,YAAY,IAAI;QACxB,MAAM,EAAE,iBAAiB,EAAE,CAAC;QAC5B,WAAW,EAAE,UAAU,EAAE,CAAC;QAC1B,MAAM,EAAE,SAAS,CAAC;KACnB;IAqED;;;;;OAKG;IACH,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,SAAS;IA8BpE;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI;IASvC;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAsCnC"}
|