@bitgo-beta/sdk-coin-flrp 1.0.0-alpha.39 → 1.0.0-alpha.40

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 (131) hide show
  1. package/dist/src/flrp.d.ts +9 -16
  2. package/dist/src/flrp.d.ts.map +1 -1
  3. package/dist/src/flrp.js +49 -75
  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 +51 -0
  8. package/dist/src/lib/ExportInCTxBuilder.d.ts.map +1 -0
  9. package/dist/src/lib/ExportInCTxBuilder.js +188 -0
  10. package/dist/src/lib/ExportInPTxBuilder.d.ts +47 -0
  11. package/dist/src/lib/ExportInPTxBuilder.d.ts.map +1 -0
  12. package/dist/src/lib/ExportInPTxBuilder.js +273 -0
  13. package/dist/src/lib/ImportInCTxBuilder.d.ts +48 -0
  14. package/dist/src/lib/ImportInCTxBuilder.d.ts.map +1 -0
  15. package/dist/src/lib/ImportInCTxBuilder.js +215 -0
  16. package/dist/src/lib/ImportInPTxBuilder.d.ts +33 -0
  17. package/dist/src/lib/ImportInPTxBuilder.d.ts.map +1 -0
  18. package/dist/src/lib/ImportInPTxBuilder.js +180 -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 +42 -79
  23. package/dist/src/lib/atomicTransactionBuilder.d.ts.map +1 -1
  24. package/dist/src/lib/atomicTransactionBuilder.js +138 -281
  25. package/dist/src/lib/iface.d.ts +38 -61
  26. package/dist/src/lib/iface.d.ts.map +1 -1
  27. package/dist/src/lib/iface.js +13 -14
  28. package/dist/src/lib/index.d.ts +3 -3
  29. package/dist/src/lib/index.d.ts.map +1 -1
  30. package/dist/src/lib/index.js +8 -7
  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 +29 -67
  35. package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts.map +1 -1
  36. package/dist/src/lib/permissionlessValidatorTxBuilder.js +89 -205
  37. package/dist/src/lib/transaction.d.ts +11 -71
  38. package/dist/src/lib/transaction.d.ts.map +1 -1
  39. package/dist/src/lib/transaction.js +255 -204
  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 +113 -70
  43. package/dist/src/lib/transactionBuilderFactory.d.ts +50 -30
  44. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  45. package/dist/src/lib/transactionBuilderFactory.js +129 -72
  46. package/dist/src/lib/utils.d.ts +67 -153
  47. package/dist/src/lib/utils.d.ts.map +1 -1
  48. package/dist/src/lib/utils.js +178 -397
  49. package/dist/test/resources/account.d.ts +2 -0
  50. package/dist/test/resources/account.d.ts.map +1 -1
  51. package/dist/test/resources/account.js +3 -1
  52. package/dist/test/resources/transactionData/exportInC.d.ts +20 -0
  53. package/dist/test/resources/transactionData/exportInC.d.ts.map +1 -0
  54. package/dist/test/resources/transactionData/exportInC.js +34 -0
  55. package/dist/test/resources/transactionData/exportInP.d.ts +69 -0
  56. package/dist/test/resources/transactionData/exportInP.d.ts.map +1 -0
  57. package/dist/test/resources/transactionData/exportInP.js +140 -0
  58. package/dist/test/resources/transactionData/importInC.d.ts +27 -0
  59. package/dist/test/resources/transactionData/importInC.d.ts.map +1 -0
  60. package/dist/test/resources/transactionData/importInC.js +44 -0
  61. package/dist/test/resources/transactionData/importInP.d.ts +35 -0
  62. package/dist/test/resources/transactionData/importInP.d.ts.map +1 -0
  63. package/dist/test/resources/transactionData/importInP.js +58 -0
  64. package/dist/test/unit/flrp.js +449 -68
  65. package/dist/test/unit/lib/exportInCTxBuilder.js +95 -513
  66. package/dist/test/unit/lib/exportInPTxBuilder.d.ts +1 -1
  67. package/dist/test/unit/lib/exportInPTxBuilder.d.ts.map +1 -1
  68. package/dist/test/unit/lib/exportInPTxBuilder.js +110 -366
  69. package/dist/test/unit/lib/importInCTxBuilder.d.ts +1 -1
  70. package/dist/test/unit/lib/importInCTxBuilder.d.ts.map +1 -1
  71. package/dist/test/unit/lib/importInCTxBuilder.js +40 -251
  72. package/dist/test/unit/lib/importInPTxBuilder.d.ts +1 -1
  73. package/dist/test/unit/lib/importInPTxBuilder.d.ts.map +1 -1
  74. package/dist/test/unit/lib/importInPTxBuilder.js +61 -489
  75. package/dist/test/unit/lib/signFlowTestSuit.d.ts +20 -0
  76. package/dist/test/unit/lib/signFlowTestSuit.d.ts.map +1 -0
  77. package/dist/test/unit/lib/signFlowTestSuit.js +89 -0
  78. package/dist/test/unit/lib/utils.js +367 -279
  79. package/dist/tsconfig.tsbuildinfo +1 -1
  80. package/package.json +12 -9
  81. package/dist/src/iface.d.ts +0 -25
  82. package/dist/src/iface.d.ts.map +0 -1
  83. package/dist/src/iface.js +0 -3
  84. package/dist/src/lib/constants.d.ts +0 -170
  85. package/dist/src/lib/constants.d.ts.map +0 -1
  86. package/dist/src/lib/constants.js +0 -227
  87. package/dist/src/lib/delegatorTxBuilder.d.ts +0 -58
  88. package/dist/src/lib/delegatorTxBuilder.d.ts.map +0 -1
  89. package/dist/src/lib/delegatorTxBuilder.js +0 -224
  90. package/dist/src/lib/errors.d.ts +0 -8
  91. package/dist/src/lib/errors.d.ts.map +0 -1
  92. package/dist/src/lib/errors.js +0 -19
  93. package/dist/src/lib/exportInCTxBuilder.d.ts +0 -77
  94. package/dist/src/lib/exportInCTxBuilder.d.ts.map +0 -1
  95. package/dist/src/lib/exportInCTxBuilder.js +0 -199
  96. package/dist/src/lib/exportInPTxBuilder.d.ts +0 -30
  97. package/dist/src/lib/exportInPTxBuilder.d.ts.map +0 -1
  98. package/dist/src/lib/exportInPTxBuilder.js +0 -120
  99. package/dist/src/lib/importInCTxBuilder.d.ts +0 -67
  100. package/dist/src/lib/importInCTxBuilder.d.ts.map +0 -1
  101. package/dist/src/lib/importInCTxBuilder.js +0 -403
  102. package/dist/src/lib/importInPTxBuilder.d.ts +0 -73
  103. package/dist/src/lib/importInPTxBuilder.d.ts.map +0 -1
  104. package/dist/src/lib/importInPTxBuilder.js +0 -464
  105. package/dist/src/lib/types.d.ts +0 -78
  106. package/dist/src/lib/types.d.ts.map +0 -1
  107. package/dist/src/lib/types.js +0 -5
  108. package/dist/src/lib/validatorTxBuilder.d.ts +0 -40
  109. package/dist/src/lib/validatorTxBuilder.d.ts.map +0 -1
  110. package/dist/src/lib/validatorTxBuilder.js +0 -180
  111. package/dist/test/unit/delegatorTxBuilder.test.d.ts +0 -2
  112. package/dist/test/unit/delegatorTxBuilder.test.d.ts.map +0 -1
  113. package/dist/test/unit/delegatorTxBuilder.test.js +0 -233
  114. package/dist/test/unit/lib/atomicTransactionBuilder.d.ts +0 -2
  115. package/dist/test/unit/lib/atomicTransactionBuilder.d.ts.map +0 -1
  116. package/dist/test/unit/lib/atomicTransactionBuilder.js +0 -222
  117. package/dist/test/unit/lib/transaction.d.ts +0 -2
  118. package/dist/test/unit/lib/transaction.d.ts.map +0 -1
  119. package/dist/test/unit/lib/transaction.js +0 -460
  120. package/dist/test/unit/permissionlessValidatorTxBuilder.test.d.ts +0 -2
  121. package/dist/test/unit/permissionlessValidatorTxBuilder.test.d.ts.map +0 -1
  122. package/dist/test/unit/permissionlessValidatorTxBuilder.test.js +0 -271
  123. package/dist/test/unit/smoke.d.ts +0 -2
  124. package/dist/test/unit/smoke.d.ts.map +0 -1
  125. package/dist/test/unit/smoke.js +0 -23
  126. package/dist/test/unit/transactionBuilder.test.d.ts +0 -2
  127. package/dist/test/unit/transactionBuilder.test.d.ts.map +0 -1
  128. package/dist/test/unit/transactionBuilder.test.js +0 -114
  129. package/dist/test/unit/validatorTxBuilder.test.d.ts +0 -2
  130. package/dist/test/unit/validatorTxBuilder.test.d.ts.map +0 -1
  131. package/dist/test/unit/validatorTxBuilder.test.js +0 -293
@@ -5,60 +5,62 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.AtomicInCTransactionBuilder = void 0;
7
7
  const atomicTransactionBuilder_1 = require("./atomicTransactionBuilder");
8
- const utils_1 = __importDefault(require("./utils"));
9
8
  const sdk_core_1 = require("@bitgo-beta/sdk-core");
10
- /**
11
- * Flare P->C atomic import/export style builder (C-chain context). This adapts the AVAXP logic
12
- * removing direct Avalanche SDK dependencies. Network / chain ids are expected to be provided
13
- * in the transaction._network object by a higher-level factory once Flare network constants
14
- * are finalized. For now we CB58-decode placeholders if present and default to zero buffers.
15
- */
9
+ const flarejs_1 = require("@flarenetwork/flarejs");
10
+ const utils_1 = __importDefault(require("./utils"));
16
11
  class AtomicInCTransactionBuilder extends atomicTransactionBuilder_1.AtomicTransactionBuilder {
17
12
  constructor(_coinConfig) {
18
13
  super(_coinConfig);
19
- // Placeholder fixed fee (can be overridden by subclasses or network config)
20
- this.fixedFee = 0n;
21
- this.initializeChainIds();
14
+ // external chain id is P
15
+ this._externalChainId = utils_1.default.cb58Decode(this.transaction._network.blockchainID);
16
+ // chain id is C
17
+ this.transaction._blockchainID = Buffer.from(utils_1.default.cb58Decode(this.transaction._network.cChainBlockchainID)).toString('hex');
22
18
  }
23
19
  /**
24
- * Set base fee (already scaled to Flare C-chain native decimals). Accept bigint | number | string.
20
+ * C-Chain base fee with decimal places converted from 18 to 9.
21
+ *
22
+ * @param {string | number} baseFee
25
23
  */
26
24
  feeRate(baseFee) {
27
- const n = typeof baseFee === 'bigint' ? baseFee : BigInt(baseFee);
28
- this.validateFee(n);
29
- this.setFeeRate(n);
25
+ const fee = BigInt(baseFee);
26
+ this.validateFee(fee);
27
+ this.transaction._fee.feeRate = Number(fee);
30
28
  return this;
31
29
  }
32
- /**
33
- * Recreate builder state from raw tx (hex). Flare C-chain support TBD; for now validate & stash.
34
- */
30
+ /** @inheritdoc */
35
31
  fromImplementation(rawTransaction) {
36
- // If utils has validateRawTransaction use it; otherwise basic check
37
- if (utils_1.default.validateRawTransaction) {
38
- utils_1.default.validateRawTransaction(rawTransaction);
39
- }
40
- this.transaction.setTransaction(rawTransaction);
32
+ const txBytes = new Uint8Array(Buffer.from(rawTransaction, 'hex'));
33
+ const codec = flarejs_1.avmSerial.getAVMManager().getDefaultCodec();
34
+ const [tx] = flarejs_1.evmSerial.ImportTx.fromBytes(txBytes, codec);
35
+ const addressMaps = this.transaction._fromAddresses.map((a) => new flarejs_1.utils.AddressMap([[new flarejs_1.Address(a), 0]]));
36
+ const unsignedTx = new flarejs_1.UnsignedTx(tx, [], new flarejs_1.utils.AddressMaps(addressMaps), []);
37
+ this.initBuilder(unsignedTx);
41
38
  return this.transaction;
42
39
  }
40
+ /**
41
+ * Check that fee is greater than 0.
42
+ * @param {bigint} fee
43
+ */
43
44
  validateFee(fee) {
44
- if (fee <= 0n) {
45
+ if (fee <= BigInt(0)) {
45
46
  throw new sdk_core_1.BuildTransactionError('Fee must be greater than 0');
46
47
  }
47
48
  }
48
- initializeChainIds() {
49
- const meta = this.transaction._network;
50
- if (meta?.blockchainID) {
51
- this._externalChainId = utils_1.default.cb58Decode(meta.blockchainID);
52
- }
53
- if (meta?.cChainBlockchainID) {
54
- this.transaction._blockchainID = utils_1.default.cb58Decode(meta.cChainBlockchainID);
49
+ /**
50
+ * Initialize the transaction builder fields using the decoded transaction data
51
+ *
52
+ * @param {UnsignedTx} tx the transaction data
53
+ * @returns itself
54
+ */
55
+ initBuilder(tx) {
56
+ // Validate network and blockchain IDs
57
+ const baseTx = tx.getTx();
58
+ if (baseTx.getBlockchainId() !== this.transaction._blockchainID) {
59
+ throw new Error('blockchain ID mismatch');
55
60
  }
56
- }
57
- setFeeRate(n) {
58
- const currentContainer = this.transaction;
59
- const current = currentContainer._fee || { fee: '0' };
60
- currentContainer._fee = { ...current, feeRate: n.toString() };
61
+ this.transaction.setTransaction(tx);
62
+ return this;
61
63
  }
62
64
  }
63
65
  exports.AtomicInCTransactionBuilder = AtomicInCTransactionBuilder;
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRvbWljSW5DVHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9hdG9taWNJbkNUcmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEseUVBQXNFO0FBRXRFLG9EQUE0QjtBQUM1QixtREFBNkQ7QUFhN0Q7Ozs7O0dBS0c7QUFDSCxNQUFzQiwyQkFBNEIsU0FBUSxtREFBd0I7SUFHaEYsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFIckIsNEVBQTRFO1FBQ2xFLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFHdEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTyxDQUFDLE9BQWlDO1FBQ3ZDLE1BQU0sQ0FBQyxHQUFHLE9BQU8sT0FBTyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25CLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOztPQUVHO0lBQ08sa0JBQWtCLENBQUMsY0FBc0I7UUFDakQsb0VBQW9FO1FBQ3BFLElBQUssZUFBcUUsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ2pHLGVBQW9FLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDL0csQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2hELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRU8sV0FBVyxDQUFDLEdBQVc7UUFDN0IsSUFBSSxHQUFHLElBQUksRUFBRSxFQUFFLENBQUM7WUFDZCxNQUFNLElBQUksZ0NBQXFCLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUNoRSxDQUFDO0lBQ0gsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQWlDLENBQUM7UUFDaEUsSUFBSSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFDRCxJQUFJLElBQUksRUFBRSxrQkFBa0IsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxHQUFHLGVBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDN0UsQ0FBQztJQUNILENBQUM7SUFFTyxVQUFVLENBQUMsQ0FBUztRQUMxQixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxXQUE0QyxDQUFDO1FBQzNFLE1BQU0sT0FBTyxHQUFHLGdCQUFnQixDQUFDLElBQUksSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUN0RCxnQkFBZ0IsQ0FBQyxJQUFJLEdBQUcsRUFBRSxHQUFHLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7SUFDaEUsQ0FBQztDQUNGO0FBbkRELGtFQW1EQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF0b21pY1RyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vYXRvbWljVHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcblxuaW50ZXJmYWNlIEZsYXJlQ2hhaW5OZXR3b3JrTWV0YSB7XG4gIGJsb2NrY2hhaW5JRD86IHN0cmluZzsgLy8gUC1jaGFpbiBpZCAoZXh0ZXJuYWwpXG4gIGNDaGFpbkJsb2NrY2hhaW5JRD86IHN0cmluZzsgLy8gQy1jaGFpbiBpZCAobG9jYWwpXG4gIFtrOiBzdHJpbmddOiB1bmtub3duO1xufVxuXG5pbnRlcmZhY2UgRmVlU2hhcGUge1xuICBmZWU/OiBzdHJpbmc7IC8vIGxlZ2FjeVxuICBmZWVSYXRlPzogc3RyaW5nOyAvLyBwZXIgdW5pdCByYXRlXG59XG5cbi8qKlxuICogRmxhcmUgUC0+QyBhdG9taWMgaW1wb3J0L2V4cG9ydCBzdHlsZSBidWlsZGVyIChDLWNoYWluIGNvbnRleHQpLiBUaGlzIGFkYXB0cyB0aGUgQVZBWFAgbG9naWNcbiAqIHJlbW92aW5nIGRpcmVjdCBBdmFsYW5jaGUgU0RLIGRlcGVuZGVuY2llcy4gTmV0d29yayAvIGNoYWluIGlkcyBhcmUgZXhwZWN0ZWQgdG8gYmUgcHJvdmlkZWRcbiAqIGluIHRoZSB0cmFuc2FjdGlvbi5fbmV0d29yayBvYmplY3QgYnkgYSBoaWdoZXItbGV2ZWwgZmFjdG9yeSBvbmNlIEZsYXJlIG5ldHdvcmsgY29uc3RhbnRzXG4gKiBhcmUgZmluYWxpemVkLiBGb3Igbm93IHdlIENCNTgtZGVjb2RlIHBsYWNlaG9sZGVycyBpZiBwcmVzZW50IGFuZCBkZWZhdWx0IHRvIHplcm8gYnVmZmVycy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEF0b21pY0luQ1RyYW5zYWN0aW9uQnVpbGRlciBleHRlbmRzIEF0b21pY1RyYW5zYWN0aW9uQnVpbGRlciB7XG4gIC8vIFBsYWNlaG9sZGVyIGZpeGVkIGZlZSAoY2FuIGJlIG92ZXJyaWRkZW4gYnkgc3ViY2xhc3NlcyBvciBuZXR3b3JrIGNvbmZpZylcbiAgcHJvdGVjdGVkIGZpeGVkRmVlID0gMG47XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLmluaXRpYWxpemVDaGFpbklkcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBiYXNlIGZlZSAoYWxyZWFkeSBzY2FsZWQgdG8gRmxhcmUgQy1jaGFpbiBuYXRpdmUgZGVjaW1hbHMpLiBBY2NlcHQgYmlnaW50IHwgbnVtYmVyIHwgc3RyaW5nLlxuICAgKi9cbiAgZmVlUmF0ZShiYXNlRmVlOiBiaWdpbnQgfCBudW1iZXIgfCBzdHJpbmcpOiB0aGlzIHtcbiAgICBjb25zdCBuID0gdHlwZW9mIGJhc2VGZWUgPT09ICdiaWdpbnQnID8gYmFzZUZlZSA6IEJpZ0ludChiYXNlRmVlKTtcbiAgICB0aGlzLnZhbGlkYXRlRmVlKG4pO1xuICAgIHRoaXMuc2V0RmVlUmF0ZShuKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWNyZWF0ZSBidWlsZGVyIHN0YXRlIGZyb20gcmF3IHR4IChoZXgpLiBGbGFyZSBDLWNoYWluIHN1cHBvcnQgVEJEOyBmb3Igbm93IHZhbGlkYXRlICYgc3Rhc2guXG4gICAqL1xuICBwcm90ZWN0ZWQgZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiB7IF90eD86IHVua25vd24gfSB7XG4gICAgLy8gSWYgdXRpbHMgaGFzIHZhbGlkYXRlUmF3VHJhbnNhY3Rpb24gdXNlIGl0OyBvdGhlcndpc2UgYmFzaWMgY2hlY2tcbiAgICBpZiAoKHV0aWxzIGFzIHVua25vd24gYXMgeyB2YWxpZGF0ZVJhd1RyYW5zYWN0aW9uPzogKHI6IHN0cmluZykgPT4gdm9pZCB9KS52YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKSB7XG4gICAgICAodXRpbHMgYXMgdW5rbm93biBhcyB7IHZhbGlkYXRlUmF3VHJhbnNhY3Rpb246IChyOiBzdHJpbmcpID0+IHZvaWQgfSkudmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgfVxuICAgIHRoaXMudHJhbnNhY3Rpb24uc2V0VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUZlZShmZWU6IGJpZ2ludCk6IHZvaWQge1xuICAgIGlmIChmZWUgPD0gMG4pIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ZlZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplQ2hhaW5JZHMoKTogdm9pZCB7XG4gICAgY29uc3QgbWV0YSA9IHRoaXMudHJhbnNhY3Rpb24uX25ldHdvcmsgYXMgRmxhcmVDaGFpbk5ldHdvcmtNZXRhO1xuICAgIGlmIChtZXRhPy5ibG9ja2NoYWluSUQpIHtcbiAgICAgIHRoaXMuX2V4dGVybmFsQ2hhaW5JZCA9IHV0aWxzLmNiNThEZWNvZGUobWV0YS5ibG9ja2NoYWluSUQpO1xuICAgIH1cbiAgICBpZiAobWV0YT8uY0NoYWluQmxvY2tjaGFpbklEKSB7XG4gICAgICB0aGlzLnRyYW5zYWN0aW9uLl9ibG9ja2NoYWluSUQgPSB1dGlscy5jYjU4RGVjb2RlKG1ldGEuY0NoYWluQmxvY2tjaGFpbklEKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldEZlZVJhdGUobjogYmlnaW50KTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudENvbnRhaW5lciA9IHRoaXMudHJhbnNhY3Rpb24gYXMgdW5rbm93biBhcyB7IF9mZWU6IEZlZVNoYXBlIH07XG4gICAgY29uc3QgY3VycmVudCA9IGN1cnJlbnRDb250YWluZXIuX2ZlZSB8fCB7IGZlZTogJzAnIH07XG4gICAgY3VycmVudENvbnRhaW5lci5fZmVlID0geyAuLi5jdXJyZW50LCBmZWVSYXRlOiBuLnRvU3RyaW5nKCkgfTtcbiAgfVxufVxuIl19
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRvbWljSW5DVHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9hdG9taWNJbkNUcmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEseUVBQXNFO0FBRXRFLG1EQUE2RDtBQUM3RCxtREFBdUc7QUFDdkcsb0RBQTRCO0FBRzVCLE1BQXNCLDJCQUE0QixTQUFRLG1EQUF3QjtJQUNoRixZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQix5QkFBeUI7UUFDekIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDakYsZ0JBQWdCO1FBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQzFDLGVBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsQ0FDL0QsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxPQUFPLENBQUMsT0FBd0I7UUFDOUIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsa0JBQWtCLENBQUMsY0FBc0I7UUFDdkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNuRSxNQUFNLEtBQUssR0FBRyxtQkFBUyxDQUFDLGFBQWEsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzFELE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxtQkFBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTFELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxlQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLGlCQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFakgsTUFBTSxVQUFVLEdBQUcsSUFBSSxvQkFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxlQUFVLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXLENBQUMsR0FBVztRQUNyQixJQUFJLEdBQUcsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNyQixNQUFNLElBQUksZ0NBQXFCLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUNoRSxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsV0FBVyxDQUFDLEVBQWM7UUFDeEIsc0NBQXNDO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMxQixJQUFJLE1BQU0sQ0FBQyxlQUFlLEVBQUUsS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ2hFLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0Y7QUE3REQsa0VBNkRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXRvbWljVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi9hdG9taWNUcmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgQnVpbGRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgZXZtU2VyaWFsLCBVbnNpZ25lZFR4LCB1dGlscyBhcyBGbGFyZVV0aWxzLCBhdm1TZXJpYWwsIEFkZHJlc3MgfSBmcm9tICdAZmxhcmVuZXR3b3JrL2ZsYXJlanMnO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEF0b21pY0luQ1RyYW5zYWN0aW9uQnVpbGRlciBleHRlbmRzIEF0b21pY1RyYW5zYWN0aW9uQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICAvLyBleHRlcm5hbCBjaGFpbiBpZCBpcyBQXG4gICAgdGhpcy5fZXh0ZXJuYWxDaGFpbklkID0gdXRpbHMuY2I1OERlY29kZSh0aGlzLnRyYW5zYWN0aW9uLl9uZXR3b3JrLmJsb2NrY2hhaW5JRCk7XG4gICAgLy8gY2hhaW4gaWQgaXMgQ1xuICAgIHRoaXMudHJhbnNhY3Rpb24uX2Jsb2NrY2hhaW5JRCA9IEJ1ZmZlci5mcm9tKFxuICAgICAgdXRpbHMuY2I1OERlY29kZSh0aGlzLnRyYW5zYWN0aW9uLl9uZXR3b3JrLmNDaGFpbkJsb2NrY2hhaW5JRClcbiAgICApLnRvU3RyaW5nKCdoZXgnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDLUNoYWluIGJhc2UgZmVlIHdpdGggZGVjaW1hbCBwbGFjZXMgY29udmVydGVkIGZyb20gMTggdG8gOS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmcgfCBudW1iZXJ9IGJhc2VGZWVcbiAgICovXG4gIGZlZVJhdGUoYmFzZUZlZTogc3RyaW5nIHwgbnVtYmVyKTogdGhpcyB7XG4gICAgY29uc3QgZmVlID0gQmlnSW50KGJhc2VGZWUpO1xuICAgIHRoaXMudmFsaWRhdGVGZWUoZmVlKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLl9mZWUuZmVlUmF0ZSA9IE51bWJlcihmZWUpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IHR4Qnl0ZXMgPSBuZXcgVWludDhBcnJheShCdWZmZXIuZnJvbShyYXdUcmFuc2FjdGlvbiwgJ2hleCcpKTtcbiAgICBjb25zdCBjb2RlYyA9IGF2bVNlcmlhbC5nZXRBVk1NYW5hZ2VyKCkuZ2V0RGVmYXVsdENvZGVjKCk7XG4gICAgY29uc3QgW3R4XSA9IGV2bVNlcmlhbC5JbXBvcnRUeC5mcm9tQnl0ZXModHhCeXRlcywgY29kZWMpO1xuXG4gICAgY29uc3QgYWRkcmVzc01hcHMgPSB0aGlzLnRyYW5zYWN0aW9uLl9mcm9tQWRkcmVzc2VzLm1hcCgoYSkgPT4gbmV3IEZsYXJlVXRpbHMuQWRkcmVzc01hcChbW25ldyBBZGRyZXNzKGEpLCAwXV0pKTtcblxuICAgIGNvbnN0IHVuc2lnbmVkVHggPSBuZXcgVW5zaWduZWRUeCh0eCwgW10sIG5ldyBGbGFyZVV0aWxzLkFkZHJlc3NNYXBzKGFkZHJlc3NNYXBzKSwgW10pO1xuICAgIHRoaXMuaW5pdEJ1aWxkZXIodW5zaWduZWRUeCk7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb247XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgdGhhdCBmZWUgaXMgZ3JlYXRlciB0aGFuIDAuXG4gICAqIEBwYXJhbSB7YmlnaW50fSBmZWVcbiAgICovXG4gIHZhbGlkYXRlRmVlKGZlZTogYmlnaW50KTogdm9pZCB7XG4gICAgaWYgKGZlZSA8PSBCaWdJbnQoMCkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ZlZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIHRyYW5zYWN0aW9uIGJ1aWxkZXIgZmllbGRzIHVzaW5nIHRoZSBkZWNvZGVkIHRyYW5zYWN0aW9uIGRhdGFcbiAgICpcbiAgICogQHBhcmFtIHtVbnNpZ25lZFR4fSB0eCB0aGUgdHJhbnNhY3Rpb24gZGF0YVxuICAgKiBAcmV0dXJucyBpdHNlbGZcbiAgICovXG4gIGluaXRCdWlsZGVyKHR4OiBVbnNpZ25lZFR4KTogdGhpcyB7XG4gICAgLy8gVmFsaWRhdGUgbmV0d29yayBhbmQgYmxvY2tjaGFpbiBJRHNcbiAgICBjb25zdCBiYXNlVHggPSB0eC5nZXRUeCgpO1xuICAgIGlmIChiYXNlVHguZ2V0QmxvY2tjaGFpbklkKCkgIT09IHRoaXMudHJhbnNhY3Rpb24uX2Jsb2NrY2hhaW5JRCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdibG9ja2NoYWluIElEIG1pc21hdGNoJyk7XG4gICAgfVxuICAgIHRoaXMudHJhbnNhY3Rpb24uc2V0VHJhbnNhY3Rpb24odHgpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG4iXX0=
@@ -1,96 +1,59 @@
1
1
  import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
- import { TransactionType, BaseTransaction } from '@bitgo-beta/sdk-core';
3
- import { Credential, TransferableInput, TransferableOutput } from '@flarenetwork/flarejs';
4
- import { TransactionExplanation, DecodedUtxoObj } from './iface';
5
- /**
6
- * Flare P-chain atomic transaction builder with FlareJS credential support.
7
- * This provides the foundation for building Flare P-chain transactions with proper
8
- * credential handling using FlareJS Credential and Signature classes.
9
- */
10
- export declare abstract class AtomicTransactionBuilder {
11
- protected readonly _coinConfig: Readonly<CoinConfig>;
12
- protected _externalChainId: Buffer | undefined;
13
- protected _utxos: DecodedUtxoObj[];
14
- protected transaction: {
15
- _network: Record<string, unknown>;
16
- _networkID: number;
17
- _blockchainID: Buffer;
18
- _assetId: Buffer;
19
- _fromAddresses: string[];
20
- _to: string[];
21
- _locktime: bigint;
22
- _threshold: number;
23
- _fee: {
24
- fee: string;
25
- feeRate?: string;
26
- size?: number;
27
- };
28
- hasCredentials: boolean;
29
- _tx?: unknown;
30
- _signature?: unknown;
31
- setTransaction: (tx: unknown) => void;
32
- };
33
- constructor(coinConfig: Readonly<CoinConfig>);
34
- protected abstract get transactionType(): TransactionType;
35
- /**
36
- * Get the asset ID for Flare network transactions
37
- * @returns Buffer containing the asset ID
38
- */
39
- protected getAssetId(): Buffer;
40
- validateAmount(amount: bigint): void;
41
- /**
42
- * Validates that credentials array is properly formed
43
- * @param credentials - Array of credentials to validate
44
- */
45
- protected validateCredentials(credentials: Credential[]): void;
46
- /**
47
- * Creates inputs, outputs, and credentials for Flare P-chain atomic transactions.
48
- * Based on AVAX P-chain implementation adapted for FlareJS.
49
- *
50
- * Note: This is a simplified implementation that creates the core structure.
51
- * The FlareJS type system integration will be refined in future iterations.
52
- *
53
- * @param total - Total amount needed including fees
54
- * @returns Object containing TransferableInput[], TransferableOutput[], and Credential[]
55
- */
56
- protected createInputOutput(total: bigint): {
2
+ import { TransactionType } from '@bitgo-beta/sdk-core';
3
+ import { TransactionBuilder } from './transactionBuilder';
4
+ import { Transaction } from './transaction';
5
+ import { TransferableInput, Credential } from '@flarenetwork/flarejs';
6
+ export declare abstract class AtomicTransactionBuilder extends TransactionBuilder {
7
+ protected _externalChainId: Buffer;
8
+ protected recoverSigner: boolean;
9
+ constructor(_coinConfig: Readonly<CoinConfig>);
10
+ /**
11
+ * Create inputs and outputs from UTXOs
12
+ * @param {bigint} amount Amount to transfer
13
+ * @return {
14
+ * inputs: TransferableInput[];
15
+ * outputs: TransferableInput[];
16
+ * credentials: Credential[];
17
+ * }
18
+ * @protected
19
+ */
20
+ protected createInputOutput(amount: bigint): {
57
21
  inputs: TransferableInput[];
58
- outputs: TransferableOutput[];
22
+ outputs: TransferableInput[];
59
23
  credentials: Credential[];
60
24
  };
25
+ /** @inheritdoc */
26
+ protected buildImplementation(): Promise<Transaction>;
61
27
  /**
62
- * Set UTXOs for the transaction. This is required for creating inputs and outputs.
63
- *
64
- * @param utxos - Array of decoded UTXO objects
65
- * @returns this builder instance for chaining
28
+ * Builds the Flare transaction. Transaction field is changed.
66
29
  */
67
- utxos(utxos: DecodedUtxoObj[]): this;
30
+ protected abstract buildFlareTransaction(): void;
31
+ protected abstract get transactionType(): TransactionType;
68
32
  /**
69
- * Flare equivalent of Avalanche's SelectCredentialClass
70
- * Creates a credential with the provided signatures
33
+ * Fee is fix for AVM atomic tx.
71
34
  *
72
- * @param credentialId - The credential ID (not used in FlareJS but kept for compatibility)
73
- * @param signatures - Array of signature hex strings or empty strings for placeholders
74
- * @returns Credential instance
75
- */
76
- protected createFlareCredential(_credentialId: number, signatures: string[]): Credential;
77
- /**
78
- * Base initBuilder used by concrete builders. For now just returns this so fluent API works.
35
+ * @returns network.txFee
36
+ * @protected
79
37
  */
80
- initBuilder(_tx: unknown): this;
38
+ protected get fixedFee(): string;
81
39
  /**
82
- * Sign transaction with private key using FlareJS compatibility
40
+ * Set the transaction type
41
+ *
42
+ * @param {TransactionType} transactionType The transaction type to be set
83
43
  */
84
- sign(params: {
85
- key: string;
86
- }): this;
44
+ setTransactionType(transactionType: TransactionType): void;
87
45
  /**
88
- * Build the transaction using FlareJS compatibility
46
+ * The internal chain is the one set for the coin in coinConfig.network. The external chain is the other chain involved.
47
+ * The external chain id is the source on import and the destination on export.
48
+ *
49
+ * @param {string} chainId - id of the external chain
89
50
  */
90
- build(): Promise<BaseTransaction>;
51
+ externalChainId(chainId: string | Buffer): this;
91
52
  /**
92
- * Parse and explain a transaction from hex using FlareJS compatibility
53
+ * Set the transaction fee
54
+ *
55
+ * @param {string | bigint} feeValue - the fee value
93
56
  */
94
- explainTransaction(): TransactionExplanation;
57
+ fee(feeValue: string | bigint): this;
95
58
  }
96
59
  //# sourceMappingURL=atomicTransactionBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"atomicTransactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/atomicTransactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAyB,eAAe,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC/F,OAAO,EAAE,UAAU,EAAa,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACrG,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAoCjE;;;;GAIG;AACH,8BAAsB,wBAAwB;IAC5C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAErD,SAAS,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/C,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,CAAM;IAExC,SAAS,CAAC,WAAW,EAAE;QACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,GAAG,EAAE,MAAM,EAAE,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACvD,cAAc,EAAE,OAAO,CAAC;QACxB,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,cAAc,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,CAAC;KACvC,CAcC;gBAEU,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI5C,SAAS,CAAC,QAAQ,KAAK,eAAe,IAAI,eAAe,CAAC;IAE1D;;;OAGG;IACH,SAAS,CAAC,UAAU,IAAI,MAAM;IAY9B,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMpC;;;OAGG;IACH,SAAS,CAAC,mBAAmB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI;IAY9D;;;;;;;;;OASG;IACH,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG;QAC1C,MAAM,EAAE,iBAAiB,EAAE,CAAC;QAC5B,OAAO,EAAE,kBAAkB,EAAE,CAAC;QAC9B,WAAW,EAAE,UAAU,EAAE,CAAC;KAC3B;IA8FD;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI;IAKpC;;;;;;;OAOG;IACH,SAAS,CAAC,qBAAqB,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,UAAU;IAmDxF;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAI/B;;OAEG;IACH,IAAI,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IA0BnC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,eAAe,CAAC;IAyDvC;;OAEG;IACH,kBAAkB,IAAI,sBAAsB;CAoB7C"}
1
+ {"version":3,"file":"atomicTransactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/atomicTransactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAwB,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAW5F,8BAAsB,wBAAyB,SAAQ,kBAAkB;IACvE,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,aAAa,UAAS;gBAEpB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C;;;;;;;;;OASG;IACH,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG;QAC3C,MAAM,EAAE,iBAAiB,EAAE,CAAC;QAC5B,OAAO,EAAE,iBAAiB,EAAE,CAAC;QAC7B,WAAW,EAAE,UAAU,EAAE,CAAC;KAC3B;IAoHD,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAY3D;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,qBAAqB,IAAI,IAAI;IAEhD,SAAS,CAAC,QAAQ,KAAK,eAAe,IAAI,eAAe,CAAC;IAE1D;;;;;OAKG;IACH,SAAS,KAAK,QAAQ,IAAI,MAAM,CAE/B;IAED;;;;OAIG;IACH,kBAAkB,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAI1D;;;;;OAKG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAO/C;;;;OAIG;IACH,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CAKrC"}