@bitgo-beta/sdk-coin-flrp 1.0.1-beta.266 → 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.
Files changed (120) hide show
  1. package/dist/src/flrp.d.ts +6 -75
  2. package/dist/src/flrp.d.ts.map +1 -1
  3. package/dist/src/flrp.js +13 -298
  4. package/dist/src/index.d.ts +0 -1
  5. package/dist/src/index.d.ts.map +1 -1
  6. package/dist/src/index.js +1 -2
  7. package/dist/src/lib/ExportInCTxBuilder.d.ts +50 -0
  8. package/dist/src/lib/ExportInCTxBuilder.d.ts.map +1 -0
  9. package/dist/src/lib/ExportInCTxBuilder.js +163 -0
  10. package/dist/src/lib/ExportInPTxBuilder.d.ts +36 -0
  11. package/dist/src/lib/ExportInPTxBuilder.d.ts.map +1 -0
  12. package/dist/src/lib/ExportInPTxBuilder.js +128 -0
  13. package/dist/src/lib/ImportInCTxBuilder.d.ts +47 -0
  14. package/dist/src/lib/ImportInCTxBuilder.d.ts.map +1 -0
  15. package/dist/src/lib/ImportInCTxBuilder.js +213 -0
  16. package/dist/src/lib/ImportInPTxBuilder.d.ts +23 -0
  17. package/dist/src/lib/ImportInPTxBuilder.d.ts.map +1 -0
  18. package/dist/src/lib/ImportInPTxBuilder.js +101 -0
  19. package/dist/src/lib/atomicInCTransactionBuilder.d.ts +18 -16
  20. package/dist/src/lib/atomicInCTransactionBuilder.d.ts.map +1 -1
  21. package/dist/src/lib/atomicInCTransactionBuilder.js +38 -36
  22. package/dist/src/lib/atomicTransactionBuilder.d.ts +34 -84
  23. package/dist/src/lib/atomicTransactionBuilder.d.ts.map +1 -1
  24. package/dist/src/lib/atomicTransactionBuilder.js +119 -288
  25. package/dist/src/lib/iface.d.ts +50 -51
  26. package/dist/src/lib/iface.d.ts.map +1 -1
  27. package/dist/src/lib/iface.js +22 -10
  28. package/dist/src/lib/index.d.ts +2 -3
  29. package/dist/src/lib/index.d.ts.map +1 -1
  30. package/dist/src/lib/index.js +5 -6
  31. package/dist/src/lib/keyPair.d.ts +1 -1
  32. package/dist/src/lib/keyPair.d.ts.map +1 -1
  33. package/dist/src/lib/keyPair.js +9 -5
  34. package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts +32 -67
  35. package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts.map +1 -1
  36. package/dist/src/lib/permissionlessValidatorTxBuilder.js +91 -205
  37. package/dist/src/lib/transaction.d.ts +8 -74
  38. package/dist/src/lib/transaction.d.ts.map +1 -1
  39. package/dist/src/lib/transaction.js +61 -210
  40. package/dist/src/lib/transactionBuilder.d.ts +56 -34
  41. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  42. package/dist/src/lib/transactionBuilder.js +112 -69
  43. package/dist/src/lib/transactionBuilderFactory.d.ts +27 -30
  44. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  45. package/dist/src/lib/transactionBuilderFactory.js +69 -75
  46. package/dist/src/lib/utils.d.ts +58 -157
  47. package/dist/src/lib/utils.d.ts.map +1 -1
  48. package/dist/src/lib/utils.js +134 -399
  49. package/dist/test/resources/transactionData/exportInC.d.ts +20 -0
  50. package/dist/test/resources/transactionData/exportInC.d.ts.map +1 -0
  51. package/dist/test/resources/transactionData/exportInC.js +30 -0
  52. package/dist/test/unit/lib/exportInCTxBuilder.js +92 -513
  53. package/dist/tsconfig.tsbuildinfo +1 -1
  54. package/package.json +9 -11
  55. package/dist/src/iface.d.ts +0 -25
  56. package/dist/src/iface.d.ts.map +0 -1
  57. package/dist/src/iface.js +0 -3
  58. package/dist/src/lib/constants.d.ts +0 -170
  59. package/dist/src/lib/constants.d.ts.map +0 -1
  60. package/dist/src/lib/constants.js +0 -227
  61. package/dist/src/lib/delegatorTxBuilder.d.ts +0 -58
  62. package/dist/src/lib/delegatorTxBuilder.d.ts.map +0 -1
  63. package/dist/src/lib/delegatorTxBuilder.js +0 -224
  64. package/dist/src/lib/errors.d.ts +0 -8
  65. package/dist/src/lib/errors.d.ts.map +0 -1
  66. package/dist/src/lib/errors.js +0 -19
  67. package/dist/src/lib/exportInCTxBuilder.d.ts +0 -77
  68. package/dist/src/lib/exportInCTxBuilder.d.ts.map +0 -1
  69. package/dist/src/lib/exportInCTxBuilder.js +0 -199
  70. package/dist/src/lib/exportInPTxBuilder.d.ts +0 -30
  71. package/dist/src/lib/exportInPTxBuilder.d.ts.map +0 -1
  72. package/dist/src/lib/exportInPTxBuilder.js +0 -120
  73. package/dist/src/lib/importInCTxBuilder.d.ts +0 -67
  74. package/dist/src/lib/importInCTxBuilder.d.ts.map +0 -1
  75. package/dist/src/lib/importInCTxBuilder.js +0 -403
  76. package/dist/src/lib/importInPTxBuilder.d.ts +0 -73
  77. package/dist/src/lib/importInPTxBuilder.d.ts.map +0 -1
  78. package/dist/src/lib/importInPTxBuilder.js +0 -464
  79. package/dist/src/lib/types.d.ts +0 -78
  80. package/dist/src/lib/types.d.ts.map +0 -1
  81. package/dist/src/lib/types.js +0 -5
  82. package/dist/src/lib/validatorTxBuilder.d.ts +0 -40
  83. package/dist/src/lib/validatorTxBuilder.d.ts.map +0 -1
  84. package/dist/src/lib/validatorTxBuilder.js +0 -180
  85. package/dist/test/unit/delegatorTxBuilder.test.d.ts +0 -2
  86. package/dist/test/unit/delegatorTxBuilder.test.d.ts.map +0 -1
  87. package/dist/test/unit/delegatorTxBuilder.test.js +0 -233
  88. package/dist/test/unit/flrp.d.ts +0 -2
  89. package/dist/test/unit/flrp.d.ts.map +0 -1
  90. package/dist/test/unit/flrp.js +0 -118
  91. package/dist/test/unit/lib/atomicTransactionBuilder.d.ts +0 -2
  92. package/dist/test/unit/lib/atomicTransactionBuilder.d.ts.map +0 -1
  93. package/dist/test/unit/lib/atomicTransactionBuilder.js +0 -222
  94. package/dist/test/unit/lib/exportInPTxBuilder.d.ts +0 -2
  95. package/dist/test/unit/lib/exportInPTxBuilder.d.ts.map +0 -1
  96. package/dist/test/unit/lib/exportInPTxBuilder.js +0 -377
  97. package/dist/test/unit/lib/importInCTxBuilder.d.ts +0 -2
  98. package/dist/test/unit/lib/importInCTxBuilder.d.ts.map +0 -1
  99. package/dist/test/unit/lib/importInCTxBuilder.js +0 -258
  100. package/dist/test/unit/lib/importInPTxBuilder.d.ts +0 -2
  101. package/dist/test/unit/lib/importInPTxBuilder.d.ts.map +0 -1
  102. package/dist/test/unit/lib/importInPTxBuilder.js +0 -501
  103. package/dist/test/unit/lib/transaction.d.ts +0 -2
  104. package/dist/test/unit/lib/transaction.d.ts.map +0 -1
  105. package/dist/test/unit/lib/transaction.js +0 -460
  106. package/dist/test/unit/lib/utils.d.ts +0 -2
  107. package/dist/test/unit/lib/utils.d.ts.map +0 -1
  108. package/dist/test/unit/lib/utils.js +0 -365
  109. package/dist/test/unit/permissionlessValidatorTxBuilder.test.d.ts +0 -2
  110. package/dist/test/unit/permissionlessValidatorTxBuilder.test.d.ts.map +0 -1
  111. package/dist/test/unit/permissionlessValidatorTxBuilder.test.js +0 -271
  112. package/dist/test/unit/smoke.d.ts +0 -2
  113. package/dist/test/unit/smoke.d.ts.map +0 -1
  114. package/dist/test/unit/smoke.js +0 -23
  115. package/dist/test/unit/transactionBuilder.test.d.ts +0 -2
  116. package/dist/test/unit/transactionBuilder.test.d.ts.map +0 -1
  117. package/dist/test/unit/transactionBuilder.test.js +0 -114
  118. package/dist/test/unit/validatorTxBuilder.test.d.ts +0 -2
  119. package/dist/test/unit/validatorTxBuilder.test.d.ts.map +0 -1
  120. 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"}