@bitgo-beta/sdk-coin-avaxp 3.2.3-alpha.402 → 3.2.3-alpha.404

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 (130) hide show
  1. package/package.json +6 -6
  2. package/dist/src/avaxp.d.ts +0 -91
  3. package/dist/src/avaxp.d.ts.map +0 -1
  4. package/dist/src/avaxp.js +0 -343
  5. package/dist/src/iface.d.ts +0 -42
  6. package/dist/src/iface.d.ts.map +0 -1
  7. package/dist/src/iface.js +0 -3
  8. package/dist/src/index.d.ts +0 -6
  9. package/dist/src/index.d.ts.map +0 -1
  10. package/dist/src/index.js +0 -45
  11. package/dist/src/lib/atomicInCTransactionBuilder.d.ts +0 -21
  12. package/dist/src/lib/atomicInCTransactionBuilder.d.ts.map +0 -1
  13. package/dist/src/lib/atomicInCTransactionBuilder.js +0 -49
  14. package/dist/src/lib/atomicTransactionBuilder.d.ts +0 -38
  15. package/dist/src/lib/atomicTransactionBuilder.d.ts.map +0 -1
  16. package/dist/src/lib/atomicTransactionBuilder.js +0 -129
  17. package/dist/src/lib/delegatorTxBuilder.d.ts +0 -95
  18. package/dist/src/lib/delegatorTxBuilder.d.ts.map +0 -1
  19. package/dist/src/lib/delegatorTxBuilder.js +0 -285
  20. package/dist/src/lib/deprecatedTransaction.d.ts +0 -98
  21. package/dist/src/lib/deprecatedTransaction.d.ts.map +0 -1
  22. package/dist/src/lib/deprecatedTransaction.js +0 -344
  23. package/dist/src/lib/deprecatedTransactionBuilder.d.ts +0 -114
  24. package/dist/src/lib/deprecatedTransactionBuilder.d.ts.map +0 -1
  25. package/dist/src/lib/deprecatedTransactionBuilder.js +0 -210
  26. package/dist/src/lib/errors.d.ts +0 -8
  27. package/dist/src/lib/errors.d.ts.map +0 -1
  28. package/dist/src/lib/errors.js +0 -19
  29. package/dist/src/lib/exportInCTxBuilder.d.ts +0 -55
  30. package/dist/src/lib/exportInCTxBuilder.d.ts.map +0 -1
  31. package/dist/src/lib/exportInCTxBuilder.js +0 -159
  32. package/dist/src/lib/exportTxBuilder.d.ts +0 -33
  33. package/dist/src/lib/exportTxBuilder.d.ts.map +0 -1
  34. package/dist/src/lib/exportTxBuilder.js +0 -88
  35. package/dist/src/lib/iface.d.ts +0 -68
  36. package/dist/src/lib/iface.d.ts.map +0 -1
  37. package/dist/src/lib/iface.js +0 -20
  38. package/dist/src/lib/importInCTxBuilder.d.ts +0 -44
  39. package/dist/src/lib/importInCTxBuilder.d.ts.map +0 -1
  40. package/dist/src/lib/importInCTxBuilder.js +0 -131
  41. package/dist/src/lib/importTxBuilder.d.ts +0 -18
  42. package/dist/src/lib/importTxBuilder.d.ts.map +0 -1
  43. package/dist/src/lib/importTxBuilder.js +0 -67
  44. package/dist/src/lib/index.d.ts +0 -11
  45. package/dist/src/lib/index.d.ts.map +0 -1
  46. package/dist/src/lib/index.js +0 -37
  47. package/dist/src/lib/keyPair.d.ts +0 -58
  48. package/dist/src/lib/keyPair.d.ts.map +0 -1
  49. package/dist/src/lib/keyPair.js +0 -150
  50. package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts +0 -154
  51. package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts.map +0 -1
  52. package/dist/src/lib/permissionlessValidatorTxBuilder.js +0 -452
  53. package/dist/src/lib/transaction.d.ts +0 -78
  54. package/dist/src/lib/transaction.d.ts.map +0 -1
  55. package/dist/src/lib/transaction.js +0 -254
  56. package/dist/src/lib/transactionBuilder.d.ts +0 -71
  57. package/dist/src/lib/transactionBuilder.d.ts.map +0 -1
  58. package/dist/src/lib/transactionBuilder.js +0 -138
  59. package/dist/src/lib/transactionBuilderFactory.d.ts +0 -57
  60. package/dist/src/lib/transactionBuilderFactory.d.ts.map +0 -1
  61. package/dist/src/lib/transactionBuilderFactory.js +0 -178
  62. package/dist/src/lib/utils.d.ts +0 -184
  63. package/dist/src/lib/utils.d.ts.map +0 -1
  64. package/dist/src/lib/utils.js +0 -378
  65. package/dist/src/lib/utxoEngine.d.ts +0 -53
  66. package/dist/src/lib/utxoEngine.d.ts.map +0 -1
  67. package/dist/src/lib/utxoEngine.js +0 -112
  68. package/dist/src/lib/validatorTxBuilder.d.ts +0 -37
  69. package/dist/src/lib/validatorTxBuilder.d.ts.map +0 -1
  70. package/dist/src/lib/validatorTxBuilder.js +0 -69
  71. package/dist/src/register.d.ts +0 -3
  72. package/dist/src/register.d.ts.map +0 -1
  73. package/dist/src/register.js +0 -11
  74. package/dist/src/tavaxp.d.ts +0 -9
  75. package/dist/src/tavaxp.d.ts.map +0 -1
  76. package/dist/src/tavaxp.js +0 -14
  77. package/dist/test/resources/avaxp.d.ts +0 -259
  78. package/dist/test/resources/avaxp.d.ts.map +0 -1
  79. package/dist/test/resources/avaxp.js +0 -1093
  80. package/dist/test/resources/errors.d.ts +0 -19
  81. package/dist/test/resources/errors.d.ts.map +0 -1
  82. package/dist/test/resources/errors.js +0 -22
  83. package/dist/test/resources/keychains.d.ts +0 -18
  84. package/dist/test/resources/keychains.d.ts.map +0 -1
  85. package/dist/test/resources/keychains.js +0 -30
  86. package/dist/test/resources/tx/exportC.d.ts +0 -14
  87. package/dist/test/resources/tx/exportC.d.ts.map +0 -1
  88. package/dist/test/resources/tx/exportC.js +0 -21
  89. package/dist/test/resources/tx/importC.d.ts +0 -29
  90. package/dist/test/resources/tx/importC.d.ts.map +0 -1
  91. package/dist/test/resources/tx/importC.js +0 -42
  92. package/dist/test/resources/tx/importP.d.ts +0 -29
  93. package/dist/test/resources/tx/importP.d.ts.map +0 -1
  94. package/dist/test/resources/tx/importP.js +0 -42
  95. package/dist/test/unit/avaxp.d.ts +0 -2
  96. package/dist/test/unit/avaxp.d.ts.map +0 -1
  97. package/dist/test/unit/avaxp.js +0 -732
  98. package/dist/test/unit/lib/exportC2PTxBuilder.d.ts +0 -2
  99. package/dist/test/unit/lib/exportC2PTxBuilder.d.ts.map +0 -1
  100. package/dist/test/unit/lib/exportC2PTxBuilder.js +0 -125
  101. package/dist/test/unit/lib/exportP2CTxBuilder.d.ts +0 -2
  102. package/dist/test/unit/lib/exportP2CTxBuilder.d.ts.map +0 -1
  103. package/dist/test/unit/lib/exportP2CTxBuilder.js +0 -183
  104. package/dist/test/unit/lib/importC2PTxBuilder.d.ts +0 -2
  105. package/dist/test/unit/lib/importC2PTxBuilder.d.ts.map +0 -1
  106. package/dist/test/unit/lib/importC2PTxBuilder.js +0 -99
  107. package/dist/test/unit/lib/importP2CTxBuilder.d.ts +0 -2
  108. package/dist/test/unit/lib/importP2CTxBuilder.d.ts.map +0 -1
  109. package/dist/test/unit/lib/importP2CTxBuilder.js +0 -137
  110. package/dist/test/unit/lib/keyPair.d.ts +0 -2
  111. package/dist/test/unit/lib/keyPair.d.ts.map +0 -1
  112. package/dist/test/unit/lib/keyPair.js +0 -186
  113. package/dist/test/unit/lib/permissionlessValidatorTxBuilder.d.ts +0 -2
  114. package/dist/test/unit/lib/permissionlessValidatorTxBuilder.d.ts.map +0 -1
  115. package/dist/test/unit/lib/permissionlessValidatorTxBuilder.js +0 -341
  116. package/dist/test/unit/lib/signFlowTestSuit.d.ts +0 -20
  117. package/dist/test/unit/lib/signFlowTestSuit.d.ts.map +0 -1
  118. package/dist/test/unit/lib/signFlowTestSuit.js +0 -80
  119. package/dist/test/unit/lib/transactionBuilderFactory.d.ts +0 -2
  120. package/dist/test/unit/lib/transactionBuilderFactory.d.ts.map +0 -1
  121. package/dist/test/unit/lib/transactionBuilderFactory.js +0 -179
  122. package/dist/test/unit/lib/utils.d.ts +0 -2
  123. package/dist/test/unit/lib/utils.d.ts.map +0 -1
  124. package/dist/test/unit/lib/utils.js +0 -83
  125. package/dist/test/unit/lib/utxoEngine.d.ts +0 -2
  126. package/dist/test/unit/lib/utxoEngine.d.ts.map +0 -1
  127. package/dist/test/unit/lib/utxoEngine.js +0 -168
  128. package/dist/test/unit/lib/validateTxBuilder.d.ts +0 -2
  129. package/dist/test/unit/lib/validateTxBuilder.d.ts.map +0 -1
  130. package/dist/test/unit/lib/validateTxBuilder.js +0 -327
@@ -1,21 +0,0 @@
1
- import { AtomicTransactionBuilder } from './atomicTransactionBuilder';
2
- import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
- import { BN } from 'avalanche';
4
- import { DeprecatedTransaction } from './deprecatedTransaction';
5
- export declare abstract class AtomicInCTransactionBuilder extends AtomicTransactionBuilder {
6
- constructor(_coinConfig: Readonly<CoinConfig>);
7
- /**
8
- * C-Chain base fee with decimal places converted form 18 to 9.
9
- *
10
- * @param {string | number} baseFee
11
- */
12
- feeRate(baseFee: string | number): this;
13
- /** @inheritdoc */
14
- protected fromImplementation(rawTransaction: string): DeprecatedTransaction;
15
- /**
16
- * Check that fee is grater than 0.
17
- * @param {BN} fee
18
- */
19
- validateFee(fee: BN): void;
20
- }
21
- //# sourceMappingURL=atomicInCTransactionBuilder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"atomicInCTransactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/atomicInCTransactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,EAAE,EAAwB,MAAM,WAAW,CAAC;AAGrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,8BAAsB,2BAA4B,SAAQ,wBAAwB;gBACpE,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAQ7C;;;;OAIG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAOvC,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,qBAAqB;IAO3E;;;OAGG;IACH,WAAW,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI;CAK3B"}
@@ -1,49 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.AtomicInCTransactionBuilder = void 0;
7
- const atomicTransactionBuilder_1 = require("./atomicTransactionBuilder");
8
- const utils_1 = __importDefault(require("./utils"));
9
- const avalanche_1 = require("avalanche");
10
- const sdk_core_1 = require("@bitgo-beta/sdk-core");
11
- const tx_1 = require("avalanche/dist/apis/evm/tx");
12
- class AtomicInCTransactionBuilder extends atomicTransactionBuilder_1.AtomicTransactionBuilder {
13
- constructor(_coinConfig) {
14
- super(_coinConfig);
15
- // external chain id is P
16
- this._externalChainId = utils_1.default.cb58Decode(this.transaction._network.blockchainID);
17
- // chain id is C
18
- this.transaction._blockchainID = utils_1.default.cb58Decode(this.transaction._network.cChainBlockchainID);
19
- }
20
- /**
21
- * C-Chain base fee with decimal places converted form 18 to 9.
22
- *
23
- * @param {string | number} baseFee
24
- */
25
- feeRate(baseFee) {
26
- const bnValue = new avalanche_1.BN(baseFee);
27
- this.validateFee(bnValue);
28
- this.transaction._fee.feeRate = bnValue.toNumber();
29
- return this;
30
- }
31
- /** @inheritdoc */
32
- fromImplementation(rawTransaction) {
33
- const tx = new tx_1.Tx();
34
- tx.fromBuffer(avalanche_1.Buffer.from(rawTransaction, 'hex'));
35
- this.initBuilder(tx);
36
- return this.transaction;
37
- }
38
- /**
39
- * Check that fee is grater than 0.
40
- * @param {BN} fee
41
- */
42
- validateFee(fee) {
43
- if (fee.lten(0)) {
44
- throw new sdk_core_1.BuildTransactionError('Fee must be greater than 0');
45
- }
46
- }
47
- }
48
- exports.AtomicInCTransactionBuilder = AtomicInCTransactionBuilder;
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRvbWljSW5DVHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9hdG9taWNJbkNUcmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEseUVBQXNFO0FBRXRFLG9EQUE0QjtBQUM1Qix5Q0FBcUQ7QUFDckQsbURBQTZEO0FBQzdELG1EQUF5RDtBQUd6RCxNQUFzQiwyQkFBNEIsU0FBUSxtREFBd0I7SUFDaEYsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIseUJBQXlCO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxlQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2pGLGdCQUFnQjtRQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsR0FBRyxlQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxPQUFPLENBQUMsT0FBd0I7UUFDOUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxjQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ25ELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGtCQUFrQjtJQUNSLGtCQUFrQixDQUFDLGNBQXNCO1FBQ2pELE1BQU0sRUFBRSxHQUFHLElBQUksT0FBSyxFQUFFLENBQUM7UUFDdkIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxrQkFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVyxDQUFDLEdBQU87UUFDakIsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLGdDQUFxQixDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDaEUsQ0FBQztJQUNILENBQUM7Q0FDRjtBQXRDRCxrRUFzQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdG9taWNUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL2F0b21pY1RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBCTiwgQnVmZmVyIGFzIEJ1ZmZlckF2YXggfSBmcm9tICdhdmFsYW5jaGUnO1xuaW1wb3J0IHsgQnVpbGRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHggYXMgRVZNVHggfSBmcm9tICdhdmFsYW5jaGUvZGlzdC9hcGlzL2V2bS90eCc7XG5pbXBvcnQgeyBEZXByZWNhdGVkVHJhbnNhY3Rpb24gfSBmcm9tICcuL2RlcHJlY2F0ZWRUcmFuc2FjdGlvbic7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBdG9taWNJbkNUcmFuc2FjdGlvbkJ1aWxkZXIgZXh0ZW5kcyBBdG9taWNUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgLy8gZXh0ZXJuYWwgY2hhaW4gaWQgaXMgUFxuICAgIHRoaXMuX2V4dGVybmFsQ2hhaW5JZCA9IHV0aWxzLmNiNThEZWNvZGUodGhpcy50cmFuc2FjdGlvbi5fbmV0d29yay5ibG9ja2NoYWluSUQpO1xuICAgIC8vIGNoYWluIGlkIGlzIENcbiAgICB0aGlzLnRyYW5zYWN0aW9uLl9ibG9ja2NoYWluSUQgPSB1dGlscy5jYjU4RGVjb2RlKHRoaXMudHJhbnNhY3Rpb24uX25ldHdvcmsuY0NoYWluQmxvY2tjaGFpbklEKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDLUNoYWluIGJhc2UgZmVlIHdpdGggZGVjaW1hbCBwbGFjZXMgY29udmVydGVkIGZvcm0gMTggdG8gOS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmcgfCBudW1iZXJ9IGJhc2VGZWVcbiAgICovXG4gIGZlZVJhdGUoYmFzZUZlZTogc3RyaW5nIHwgbnVtYmVyKTogdGhpcyB7XG4gICAgY29uc3QgYm5WYWx1ZSA9IG5ldyBCTihiYXNlRmVlKTtcbiAgICB0aGlzLnZhbGlkYXRlRmVlKGJuVmFsdWUpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uX2ZlZS5mZWVSYXRlID0gYm5WYWx1ZS50b051bWJlcigpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IERlcHJlY2F0ZWRUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgdHggPSBuZXcgRVZNVHgoKTtcbiAgICB0eC5mcm9tQnVmZmVyKEJ1ZmZlckF2YXguZnJvbShyYXdUcmFuc2FjdGlvbiwgJ2hleCcpKTtcbiAgICB0aGlzLmluaXRCdWlsZGVyKHR4KTtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayB0aGF0IGZlZSBpcyBncmF0ZXIgdGhhbiAwLlxuICAgKiBAcGFyYW0ge0JOfSBmZWVcbiAgICovXG4gIHZhbGlkYXRlRmVlKGZlZTogQk4pOiB2b2lkIHtcbiAgICBpZiAoZmVlLmx0ZW4oMCkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ZlZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwJyk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,38 +0,0 @@
1
- import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
- import { BN, Buffer as BufferAvax } from 'avalanche';
3
- import { DeprecatedTransactionBuilder } from './deprecatedTransactionBuilder';
4
- import { TransferableInput, TransferableOutput } from 'avalanche/dist/apis/platformvm';
5
- import { Credential } from 'avalanche/dist/common';
6
- /**
7
- * Cross-chain transactions (export and import) are atomic operations.
8
- */
9
- export declare abstract class AtomicTransactionBuilder extends DeprecatedTransactionBuilder {
10
- protected _externalChainId: BufferAvax;
11
- constructor(_coinConfig: Readonly<CoinConfig>);
12
- /**
13
- * The internal chain is the one set for the coin in coinConfig.network. The external chain is the other chain involved.
14
- * The external chain id is the source on import and the destination on export.
15
- *
16
- * @param {string} chainId - id of the external chain
17
- */
18
- externalChainId(chainId: string | Buffer): this;
19
- /**
20
- * Fee is fix for AVM atomic tx.
21
- *
22
- * @returns network.txFee
23
- * @protected
24
- */
25
- protected get fixedFee(): string;
26
- /**
27
- * Threshold must be 2 and since output always get reordered we want to make sure we can always add signatures in the correct location
28
- * To find the correct location for the signature, we use the output's addresses to create the signatureIdx in the order that we desire
29
- * 0: user key, 1: hsm key, 2: recovery key
30
- * @protected
31
- */
32
- protected createInputOutput(amount: BN): {
33
- inputs: TransferableInput[];
34
- outputs: TransferableOutput[];
35
- credentials: Credential[];
36
- };
37
- }
38
- //# sourceMappingURL=atomicTransactionBuilder.d.ts.map
@@ -1 +0,0 @@
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,IAAI,UAAU,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAIL,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAInD;;GAEG;AACH,8BAAsB,wBAAyB,SAAQ,4BAA4B;IACjF,SAAS,CAAC,gBAAgB,EAAE,UAAU,CAAC;gBAE3B,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C;;;;;OAKG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAO/C;;;;;OAKG;IACH,SAAS,KAAK,QAAQ,IAAI,MAAM,CAE/B;IAGD;;;;;OAKG;IACH,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,EAAE,GAAG;QACvC,MAAM,EAAE,iBAAiB,EAAE,CAAC;QAC5B,OAAO,EAAE,kBAAkB,EAAE,CAAC;QAC9B,WAAW,EAAE,UAAU,EAAE,CAAC;KAC3B;CAmHF"}
@@ -1,129 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.AtomicTransactionBuilder = void 0;
7
- const avalanche_1 = require("avalanche");
8
- const utils_1 = __importDefault(require("./utils"));
9
- const deprecatedTransactionBuilder_1 = require("./deprecatedTransactionBuilder");
10
- const platformvm_1 = require("avalanche/dist/apis/platformvm");
11
- const sdk_core_1 = require("@bitgo-beta/sdk-core");
12
- const iface_1 = require("./iface");
13
- /**
14
- * Cross-chain transactions (export and import) are atomic operations.
15
- */
16
- class AtomicTransactionBuilder extends deprecatedTransactionBuilder_1.DeprecatedTransactionBuilder {
17
- constructor(_coinConfig) {
18
- super(_coinConfig);
19
- this.transaction._fee.fee = this.fixedFee;
20
- }
21
- /**
22
- * The internal chain is the one set for the coin in coinConfig.network. The external chain is the other chain involved.
23
- * The external chain id is the source on import and the destination on export.
24
- *
25
- * @param {string} chainId - id of the external chain
26
- */
27
- externalChainId(chainId) {
28
- const newTargetChainId = typeof chainId === 'string' ? utils_1.default.cb58Decode(chainId) : avalanche_1.Buffer.from(chainId);
29
- this.validateChainId(newTargetChainId);
30
- this._externalChainId = newTargetChainId;
31
- return this;
32
- }
33
- /**
34
- * Fee is fix for AVM atomic tx.
35
- *
36
- * @returns network.txFee
37
- * @protected
38
- */
39
- get fixedFee() {
40
- return this.transaction._network.txFee;
41
- }
42
- // region utxo engine
43
- /**
44
- * Threshold must be 2 and since output always get reordered we want to make sure we can always add signatures in the correct location
45
- * To find the correct location for the signature, we use the output's addresses to create the signatureIdx in the order that we desire
46
- * 0: user key, 1: hsm key, 2: recovery key
47
- * @protected
48
- */
49
- createInputOutput(amount) {
50
- const inputs = [];
51
- const outputs = [];
52
- // amount spent so far
53
- let currentTotal = new avalanche_1.BN(0);
54
- // delegating and validating have no fees
55
- const totalTarget = amount.clone();
56
- const credentials = [];
57
- /*
58
- A = user key
59
- B = hsm key
60
- C = backup key
61
- bitgoAddresses = bitgo addresses [ A, B, C ]
62
- utxo.addresses = IMS addresses [ B, C, A ]
63
- utxo.addressesIndex = [ 2, 0, 1 ]
64
- we pick 0, 1 for non-recovery
65
- we pick 1, 2 for recovery
66
- */
67
- this.transaction._utxos.forEach((utxo) => {
68
- // in WP, output.addressesIndex is empty, so fill it
69
- if (!utxo.addressesIndex || utxo.addressesIndex.length === 0) {
70
- const utxoAddresses = utxo.addresses.map((a) => utils_1.default.parseAddress(a));
71
- utxo.addressesIndex = this.transaction._fromAddresses.map((a) => utxoAddresses.findIndex((u) => a.equals(u)));
72
- }
73
- // in OVC, output.addressesIndex is defined correctly from the previous iteration
74
- });
75
- // validate the utxos
76
- this.transaction._utxos.forEach((utxo) => {
77
- if (!utxo) {
78
- throw new sdk_core_1.BuildTransactionError('Utxo is undefined');
79
- }
80
- // addressesIndex should never have a mismatch
81
- if (utxo.addressesIndex?.includes(-1)) {
82
- throw new sdk_core_1.BuildTransactionError('Addresses are inconsistent: ' + utxo.txid);
83
- }
84
- if (utxo.threshold !== this.transaction._threshold) {
85
- throw new sdk_core_1.BuildTransactionError('Threshold is inconsistent');
86
- }
87
- });
88
- this.transaction._utxos.forEach((utxo, i) => {
89
- if (utxo.outputID === iface_1.SECP256K1_Transfer_Output) {
90
- const txidBuf = utils_1.default.cb58Decode(utxo.txid);
91
- const amt = new avalanche_1.BN(utxo.amount);
92
- const outputidx = utils_1.default.outputidxNumberToBuffer(utxo.outputidx);
93
- const addressesIndex = utxo.addressesIndex ?? [];
94
- // either user (0) or recovery (2)
95
- const firstIndex = this.recoverSigner ? 2 : 0;
96
- const bitgoIndex = 1;
97
- currentTotal = currentTotal.add(amt);
98
- const secpTransferInput = new platformvm_1.SECPTransferInput(amt);
99
- // if user/backup > bitgo
100
- if (addressesIndex[bitgoIndex] < addressesIndex[firstIndex]) {
101
- secpTransferInput.addSignatureIdx(addressesIndex[bitgoIndex], this.transaction._fromAddresses[bitgoIndex]);
102
- secpTransferInput.addSignatureIdx(addressesIndex[firstIndex], this.transaction._fromAddresses[firstIndex]);
103
- credentials.push((0, platformvm_1.SelectCredentialClass)(secpTransferInput.getCredentialID(), // 9
104
- ['', this.transaction._fromAddresses[firstIndex].toString('hex')].map(utils_1.default.createSig)));
105
- }
106
- else {
107
- secpTransferInput.addSignatureIdx(addressesIndex[firstIndex], this.transaction._fromAddresses[firstIndex]);
108
- secpTransferInput.addSignatureIdx(addressesIndex[bitgoIndex], this.transaction._fromAddresses[bitgoIndex]);
109
- credentials.push((0, platformvm_1.SelectCredentialClass)(secpTransferInput.getCredentialID(), [this.transaction._fromAddresses[firstIndex].toString('hex'), ''].map(utils_1.default.createSig)));
110
- }
111
- const input = new platformvm_1.TransferableInput(txidBuf, outputidx, this.transaction._assetId, secpTransferInput);
112
- inputs.push(input);
113
- }
114
- });
115
- if (currentTotal.lt(totalTarget)) {
116
- throw new sdk_core_1.BuildTransactionError(`Utxo outputs get ${currentTotal.toString()} and ${totalTarget.toString()} is required`);
117
- }
118
- else if (currentTotal.gt(totalTarget)) {
119
- outputs.push(new platformvm_1.TransferableOutput(this.transaction._assetId, new platformvm_1.SECPTransferOutput(currentTotal.sub(totalTarget), this.transaction._fromAddresses, this.transaction._locktime, this.transaction._threshold)));
120
- }
121
- return {
122
- inputs,
123
- outputs,
124
- credentials,
125
- };
126
- }
127
- }
128
- exports.AtomicTransactionBuilder = AtomicTransactionBuilder;
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRvbWljVHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9hdG9taWNUcmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EseUNBQXFEO0FBQ3JELG9EQUE0QjtBQUM1QixpRkFBOEU7QUFDOUUsK0RBTXdDO0FBRXhDLG1EQUE2RDtBQUM3RCxtQ0FBb0Q7QUFFcEQ7O0dBRUc7QUFDSCxNQUFzQix3QkFBeUIsU0FBUSwyREFBNEI7SUFHakYsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDNUMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsZUFBZSxDQUFDLE9BQXdCO1FBQ3RDLE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxPQUFPLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxlQUFLLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1RyxJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO1FBQ3pDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsSUFBYyxRQUFRO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxxQkFBcUI7SUFDckI7Ozs7O09BS0c7SUFDTyxpQkFBaUIsQ0FBQyxNQUFVO1FBS3BDLE1BQU0sTUFBTSxHQUF3QixFQUFFLENBQUM7UUFDdkMsTUFBTSxPQUFPLEdBQXlCLEVBQUUsQ0FBQztRQUV6QyxzQkFB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RCxNQUFNLEtBQUssR0FBc0IsSUFBSSw4QkFBaUIsQ0FDcEQsT0FBTyxFQUNQLFNBQVMsRUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFDekIsaUJBQWlCLENBQ2xCLENBQUM7Z0JBQ0YsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLFlBQVksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUNqQyxNQUFNLElBQUksZ0NBQXFCLENBQzdCLG9CQUFvQixZQUFZLENBQUMsUUFBUSxFQUFFLFFBQVEsV0FBVyxDQUFDLFFBQVEsRUFBRSxjQUFjLENBQ3hGLENBQUM7UUFDSixDQUFDO2FBQU0sSUFBSSxZQUFZLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDeEMsT0FBTyxDQUFDLElBQUksQ0FDVixJQUFJLCtCQUFrQixDQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFDekIsSUFBSSwrQkFBa0IsQ0FDcEIsWUFBWSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFDN0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FDNUIsQ0FDRixDQUNGLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTztZQUNMLE1BQU07WUFDTixPQUFPO1lBQ1AsV0FBVztTQUNaLENBQUM7SUFDSixDQUFDO0NBR0Y7QUE3SkQsNERBNkpDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgQk4sIEJ1ZmZlciBhcyBCdWZmZXJBdmF4IH0gZnJvbSAnYXZhbGFuY2hlJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IERlcHJlY2F0ZWRUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL2RlcHJlY2F0ZWRUcmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHtcbiAgU0VDUFRyYW5zZmVySW5wdXQsXG4gIFNFQ1BUcmFuc2Zlck91dHB1dCxcbiAgU2VsZWN0Q3JlZGVudGlhbENsYXNzLFxuICBUcmFuc2ZlcmFibGVJbnB1dCxcbiAgVHJhbnNmZXJhYmxlT3V0cHV0LFxufSBmcm9tICdhdmFsYW5jaGUvZGlzdC9hcGlzL3BsYXRmb3Jtdm0nO1xuaW1wb3J0IHsgQ3JlZGVudGlhbCB9IGZyb20gJ2F2YWxhbmNoZS9kaXN0L2NvbW1vbic7XG5pbXBvcnQgeyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBTRUNQMjU2SzFfVHJhbnNmZXJfT3V0cHV0IH0gZnJvbSAnLi9pZmFjZSc7XG5cbi8qKlxuICogQ3Jvc3MtY2hhaW4gdHJhbnNhY3Rpb25zIChleHBvcnQgYW5kIGltcG9ydCkgYXJlIGF0b21pYyBvcGVyYXRpb25zLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQXRvbWljVHJhbnNhY3Rpb25CdWlsZGVyIGV4dGVuZHMgRGVwcmVjYXRlZFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByb3RlY3RlZCBfZXh0ZXJuYWxDaGFpbklkOiBCdWZmZXJBdmF4O1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLl9mZWUuZmVlID0gdGhpcy5maXhlZEZlZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgaW50ZXJuYWwgY2hhaW4gaXMgdGhlIG9uZSBzZXQgZm9yIHRoZSBjb2luIGluIGNvaW5Db25maWcubmV0d29yay4gVGhlIGV4dGVybmFsIGNoYWluIGlzIHRoZSBvdGhlciBjaGFpbiBpbnZvbHZlZC5cbiAgICogVGhlIGV4dGVybmFsIGNoYWluIGlkIGlzIHRoZSBzb3VyY2Ugb24gaW1wb3J0IGFuZCB0aGUgZGVzdGluYXRpb24gb24gZXhwb3J0LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2hhaW5JZCAtIGlkIG9mIHRoZSBleHRlcm5hbCBjaGFpblxuICAgKi9cbiAgZXh0ZXJuYWxDaGFpbklkKGNoYWluSWQ6IHN0cmluZyB8IEJ1ZmZlcik6IHRoaXMge1xuICAgIGNvbnN0IG5ld1RhcmdldENoYWluSWQgPSB0eXBlb2YgY2hhaW5JZCA9PT0gJ3N0cmluZycgPyB1dGlscy5jYjU4RGVjb2RlKGNoYWluSWQpIDogQnVmZmVyQXZheC5mcm9tKGNoYWluSWQpO1xuICAgIHRoaXMudmFsaWRhdGVDaGFpbklkKG5ld1RhcmdldENoYWluSWQpO1xuICAgIHRoaXMuX2V4dGVybmFsQ2hhaW5JZCA9IG5ld1RhcmdldENoYWluSWQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogRmVlIGlzIGZpeCBmb3IgQVZNIGF0b21pYyB0eC5cbiAgICpcbiAgICogQHJldHVybnMgbmV0d29yay50eEZlZVxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IGZpeGVkRmVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb24uX25ldHdvcmsudHhGZWU7XG4gIH1cblxuICAvLyByZWdpb24gdXR4byBlbmdpbmVcbiAgLyoqXG4gICAqIFRocmVzaG9sZCBtdXN0IGJlIDIgYW5kIHNpbmNlIG91dHB1dCBhbHdheXMgZ2V0IHJlb3JkZXJlZCB3ZSB3YW50IHRvIG1ha2Ugc3VyZSB3ZSBjYW4gYWx3YXlzIGFkZCBzaWduYXR1cmVzIGluIHRoZSBjb3JyZWN0IGxvY2F0aW9uXG4gICAqIFRvIGZpbmQgdGhlIGNvcnJlY3QgbG9jYXRpb24gZm9yIHRoZSBzaWduYXR1cmUsIHdlIHVzZSB0aGUgb3V0cHV0J3MgYWRkcmVzc2VzIHRvIGNyZWF0ZSB0aGUgc2lnbmF0dXJlSWR4IGluIHRoZSBvcmRlciB0aGF0IHdlIGRlc2lyZVxuICAgKiAwOiB1c2VyIGtleSwgMTogaHNtIGtleSwgMjogcmVjb3Zlcnkga2V5XG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVJbnB1dE91dHB1dChhbW91bnQ6IEJOKToge1xuICAgIGlucHV0czogVHJhbnNmZXJhYmxlSW5wdXRbXTtcbiAgICBvdXRwdXRzOiBUcmFuc2ZlcmFibGVPdXRwdXRbXTtcbiAgICBjcmVkZW50aWFsczogQ3JlZGVudGlhbFtdO1xuICB9IHtcbiAgICBjb25zdCBpbnB1dHM6IFRyYW5zZmVyYWJsZUlucHV0W10gPSBbXTtcbiAgICBjb25zdCBvdXRwdXRzOiBUcmFuc2ZlcmFibGVPdXRwdXRbXSA9IFtdO1xuXG4gICAgLy8gYW1vdW50IHNwZW50IHNvIGZhclxuICAgIGxldCBjdXJyZW50VG90YWw6IEJOID0gbmV3IEJOKDApO1xuXG4gICAgLy8gZGVsZWdhdGluZyBhbmQgdmFsaWRhdGluZyBoYXZlIG5vIGZlZXNcbiAgICBjb25zdCB0b3RhbFRhcmdldCA9IGFtb3VudC5jbG9uZSgpO1xuXG4gICAgY29uc3QgY3JlZGVudGlhbHM6IENyZWRlbnRpYWxbXSA9IFtdO1xuXG4gICAgLypcbiAgICBBID0gdXNlciBrZXlcbiAgICBCID0gaHNtIGtleVxuICAgIEMgPSBiYWNrdXAga2V5XG4gICAgYml0Z29BZGRyZXNzZXMgPSBiaXRnbyBhZGRyZXNzZXMgWyBBLCBCLCBDIF1cbiAgICB1dHhvLmFkZHJlc3NlcyA9IElNUyBhZGRyZXNzZXMgWyBCLCBDLCBBIF1cbiAgICB1dHhvLmFkZHJlc3Nlc0luZGV4ID0gWyAyLCAwLCAxIF1cbiAgICB3ZSBwaWNrIDAsIDEgZm9yIG5vbi1yZWNvdmVyeVxuICAgIHdlIHBpY2sgMSwgMiBmb3IgcmVjb3ZlcnlcbiAgICAqL1xuICAgIHRoaXMudHJhbnNhY3Rpb24uX3V0eG9zLmZvckVhY2goKHV0eG8pID0+IHtcbiAgICAgIC8vIGluIFdQLCBvdXRwdXQuYWRkcmVzc2VzSW5kZXggaXMgZW1wdHksIHNvIGZpbGwgaXRcbiAgICAgIGlmICghdXR4by5hZGRyZXNzZXNJbmRleCB8fCB1dHhvLmFkZHJlc3Nlc0luZGV4Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBjb25zdCB1dHhvQWRkcmVzc2VzOiBCdWZmZXJBdmF4W10gPSB1dHhvLmFkZHJlc3Nlcy5tYXAoKGEpID0+IHV0aWxzLnBhcnNlQWRkcmVzcyhhKSk7XG4gICAgICAgIHV0eG8uYWRkcmVzc2VzSW5kZXggPSB0aGlzLnRyYW5zYWN0aW9uLl9mcm9tQWRkcmVzc2VzLm1hcCgoYSkgPT4gdXR4b0FkZHJlc3Nlcy5maW5kSW5kZXgoKHUpID0+IGEuZXF1YWxzKHUpKSk7XG4gICAgICB9XG4gICAgICAvLyBpbiBPVkMsIG91dHB1dC5hZGRyZXNzZXNJbmRleCBpcyBkZWZpbmVkIGNvcnJlY3RseSBmcm9tIHRoZSBwcmV2aW91cyBpdGVyYXRpb25cbiAgICB9KTtcblxuICAgIC8vIHZhbGlkYXRlIHRoZSB1dHhvc1xuICAgIHRoaXMudHJhbnNhY3Rpb24uX3V0eG9zLmZvckVhY2goKHV0eG8pID0+IHtcbiAgICAgIGlmICghdXR4bykge1xuICAgICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdVdHhvIGlzIHVuZGVmaW5lZCcpO1xuICAgICAgfVxuICAgICAgLy8gYWRkcmVzc2VzSW5kZXggc2hvdWxkIG5ldmVyIGhhdmUgYSBtaXNtYXRjaFxuICAgICAgaWYgKHV0eG8uYWRkcmVzc2VzSW5kZXg/LmluY2x1ZGVzKC0xKSkge1xuICAgICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdBZGRyZXNzZXMgYXJlIGluY29uc2lzdGVudDogJyArIHV0eG8udHhpZCk7XG4gICAgICB9XG4gICAgICBpZiAodXR4by50aHJlc2hvbGQgIT09IHRoaXMudHJhbnNhY3Rpb24uX3RocmVzaG9sZCkge1xuICAgICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdUaHJlc2hvbGQgaXMgaW5jb25zaXN0ZW50Jyk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLnRyYW5zYWN0aW9uLl91dHhvcy5mb3JFYWNoKCh1dHhvLCBpKSA9PiB7XG4gICAgICBpZiAodXR4by5vdXRwdXRJRCA9PT0gU0VDUDI1NksxX1RyYW5zZmVyX091dHB1dCkge1xuICAgICAgICBjb25zdCB0eGlkQnVmID0gdXRpbHMuY2I1OERlY29kZSh1dHhvLnR4aWQpO1xuICAgICAgICBjb25zdCBhbXQ6IEJOID0gbmV3IEJOKHV0eG8uYW1vdW50KTtcbiAgICAgICAgY29uc3Qgb3V0cHV0aWR4ID0gdXRpbHMub3V0cHV0aWR4TnVtYmVyVG9CdWZmZXIodXR4by5vdXRwdXRpZHgpO1xuICAgICAgICBjb25zdCBhZGRyZXNzZXNJbmRleCA9IHV0eG8uYWRkcmVzc2VzSW5kZXggPz8gW107XG5cbiAgICAgICAgLy8gZWl0aGVyIHVzZXIgKDApIG9yIHJlY292ZXJ5ICgyKVxuICAgICAgICBjb25zdCBmaXJzdEluZGV4ID0gdGhpcy5yZWNvdmVyU2lnbmVyID8gMiA6IDA7XG4gICAgICAgIGNvbnN0IGJpdGdvSW5kZXggPSAxO1xuICAgICAgICBjdXJyZW50VG90YWwgPSBjdXJyZW50VG90YWwuYWRkKGFtdCk7XG5cbiAgICAgICAgY29uc3Qgc2VjcFRyYW5zZmVySW5wdXQgPSBuZXcgU0VDUFRyYW5zZmVySW5wdXQoYW10KTtcblxuICAgICAgICAvLyBpZiB1c2VyL2JhY2t1cCA+IGJpdGdvXG4gICAgICAgIGlmIChhZGRyZXNzZXNJbmRleFtiaXRnb0luZGV4XSA8IGFkZHJlc3Nlc0luZGV4W2ZpcnN0SW5kZXhdKSB7XG4gICAgICAgICAgc2VjcFRyYW5zZmVySW5wdXQuYWRkU2lnbmF0dXJlSWR4KGFkZHJlc3Nlc0luZGV4W2JpdGdvSW5kZXhdLCB0aGlzLnRyYW5zYWN0aW9uLl9mcm9tQWRkcmVzc2VzW2JpdGdvSW5kZXhdKTtcbiAgICAgICAgICBzZWNwVHJhbnNmZXJJbnB1dC5hZGRTaWduYXR1cmVJZHgoYWRkcmVzc2VzSW5kZXhbZmlyc3RJbmRleF0sIHRoaXMudHJhbnNhY3Rpb24uX2Zyb21BZGRyZXNzZXNbZmlyc3RJbmRleF0pO1xuICAgICAgICAgIGNyZWRlbnRpYWxzLnB1c2goXG4gICAgICAgICAgICBTZWxlY3RDcmVkZW50aWFsQ2xhc3MoXG4gICAgICAgICAgICAgIHNlY3BUcmFuc2ZlcklucHV0LmdldENyZWRlbnRpYWxJRCgpLCAvLyA5XG4gICAgICAgICAgICAgIFsnJywgdGhpcy50cmFuc2FjdGlvbi5fZnJvbUFkZHJlc3Nlc1tmaXJzdEluZGV4XS50b1N0cmluZygnaGV4JyldLm1hcCh1dGlscy5jcmVhdGVTaWcpXG4gICAgICAgICAgICApXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzZWNwVHJhbnNmZXJJbnB1dC5hZGRTaWduYXR1cmVJZHgoYWRkcmVzc2VzSW5kZXhbZmlyc3RJbmRleF0sIHRoaXMudHJhbnNhY3Rpb24uX2Zyb21BZGRyZXNzZXNbZmlyc3RJbmRleF0pO1xuICAgICAgICAgIHNlY3BUcmFuc2ZlcklucHV0LmFkZFNpZ25hdHVyZUlkeChhZGRyZXNzZXNJbmRleFtiaXRnb0luZGV4XSwgdGhpcy50cmFuc2FjdGlvbi5fZnJvbUFkZHJlc3Nlc1tiaXRnb0luZGV4XSk7XG4gICAgICAgICAgY3JlZGVudGlhbHMucHVzaChcbiAgICAgICAgICAgIFNlbGVjdENyZWRlbnRpYWxDbGFzcyhcbiAgICAgICAgICAgICAgc2VjcFRyYW5zZmVySW5wdXQuZ2V0Q3JlZGVudGlhbElEKCksXG4gICAgICAgICAgICAgIFt0aGlzLnRyYW5zYWN0aW9uLl9mcm9tQWRkcmVzc2VzW2ZpcnN0SW5kZXhdLnRvU3RyaW5nKCdoZXgnKSwgJyddLm1hcCh1dGlscy5jcmVhdGVTaWcpXG4gICAgICAgICAgICApXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlucHV0OiBUcmFuc2ZlcmFibGVJbnB1dCA9IG5ldyBUcmFuc2ZlcmFibGVJbnB1dChcbiAgICAgICAgICB0eGlkQnVmLFxuICAgICAgICAgIG91dHB1dGlkeCxcbiAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uLl9hc3NldElkLFxuICAgICAgICAgIHNlY3BUcmFuc2ZlcklucHV0XG4gICAgICAgICk7XG4gICAgICAgIGlucHV0cy5wdXNoKGlucHV0KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChjdXJyZW50VG90YWwubHQodG90YWxUYXJnZXQpKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKFxuICAgICAgICBgVXR4byBvdXRwdXRzIGdldCAke2N1cnJlbnRUb3RhbC50b1N0cmluZygpfSBhbmQgJHt0b3RhbFRhcmdldC50b1N0cmluZygpfSBpcyByZXF1aXJlZGBcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChjdXJyZW50VG90YWwuZ3QodG90YWxUYXJnZXQpKSB7XG4gICAgICBvdXRwdXRzLnB1c2goXG4gICAgICAgIG5ldyBUcmFuc2ZlcmFibGVPdXRwdXQoXG4gICAgICAgICAgdGhpcy50cmFuc2FjdGlvbi5fYXNzZXRJZCxcbiAgICAgICAgICBuZXcgU0VDUFRyYW5zZmVyT3V0cHV0KFxuICAgICAgICAgICAgY3VycmVudFRvdGFsLnN1Yih0b3RhbFRhcmdldCksXG4gICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uLl9mcm9tQWRkcmVzc2VzLFxuICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbi5fbG9ja3RpbWUsXG4gICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uLl90aHJlc2hvbGRcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBpbnB1dHMsXG4gICAgICBvdXRwdXRzLFxuICAgICAgY3JlZGVudGlhbHMsXG4gICAgfTtcbiAgfVxuXG4gIC8vIGVuZHJlZ2lvblxufVxuIl19
@@ -1,95 +0,0 @@
1
- import { TransactionType } from '@bitgo-beta/sdk-core';
2
- import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
- import { DeprecatedTransactionBuilder } from './deprecatedTransactionBuilder';
4
- import { AddDelegatorTx, ParseableOutput, TransferableInput, TransferableOutput } from 'avalanche/dist/apis/platformvm';
5
- import { BN } from 'avalanche';
6
- import { DeprecatedTx, DeprecatedBaseTx } from './iface';
7
- import { Credential } from 'avalanche/dist/common';
8
- export declare class DelegatorTxBuilder extends DeprecatedTransactionBuilder {
9
- protected _nodeID: string;
10
- protected _startTime: BN;
11
- protected _endTime: BN;
12
- protected _stakeAmount: BN;
13
- /**
14
- *
15
- * @param coinConfig
16
- */
17
- constructor(coinConfig: Readonly<CoinConfig>);
18
- /**
19
- * get transaction type
20
- * @protected
21
- */
22
- protected get transactionType(): TransactionType;
23
- /**
24
- * Addresses where reward should be deposit
25
- * @param {string | string[]} address - single address or array of addresses to receive rewards
26
- */
27
- rewardAddresses(address: string | string[]): this;
28
- /**
29
- *
30
- * @param nodeID
31
- */
32
- nodeID(value: string): this;
33
- /**
34
- * start time of staking period
35
- * @param value
36
- */
37
- startTime(value: string | number): this;
38
- /**
39
- * end time of staking period
40
- * @param value
41
- */
42
- endTime(value: string | number): this;
43
- /**
44
- *
45
- * @param value
46
- */
47
- stakeAmount(value: BN | string): this;
48
- /**
49
- * validates a correct NodeID is used
50
- * @param nodeID
51
- */
52
- validateNodeID(nodeID: string): void;
53
- /**
54
- *
55
- * protected _startTime: Date;
56
- * protected _endTime: Date;
57
- * 2 weeks = 1209600
58
- * 1 year = 31556926
59
- * unix time stamp based off seconds
60
- */
61
- validateStakeDuration(startTime: BN, endTime: BN): void;
62
- /**
63
- *
64
- * @param amount
65
- */
66
- validateStakeAmount(amount: BN): void;
67
- /** @inheritdoc */
68
- initBuilder(tx: DeprecatedTx): this;
69
- static verifyTxType(baseTx: DeprecatedBaseTx): baseTx is AddDelegatorTx;
70
- verifyTxType(baseTx: DeprecatedBaseTx): baseTx is AddDelegatorTx;
71
- /**
72
- *
73
- * @protected
74
- */
75
- protected buildAvaxTransaction(): void;
76
- /**
77
- * Create the StakeOut where the recipient address are the sender.
78
- * @protected
79
- *
80
- */
81
- protected stakeTransferOut(): TransferableOutput;
82
- protected rewardOwnersOutput(): ParseableOutput;
83
- /**
84
- * Threshold must be 2 and since output always get reordered we want to make sure we can always add signatures in the correct location
85
- * To find the correct location for the signature, we use the ouput's addresses to create the signatureIdx in the order that we desire
86
- * 0: user key, 1: hsm key, 2: recovery key
87
- * @protected
88
- */
89
- protected createInputOutput(): {
90
- inputs: TransferableInput[];
91
- outputs: TransferableOutput[];
92
- credentials: Credential[];
93
- };
94
- }
95
- //# sourceMappingURL=delegatorTxBuilder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"delegatorTxBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/delegatorTxBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAoB,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EACL,cAAc,EAEd,eAAe,EAMf,iBAAiB,EACjB,kBAAkB,EAGnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAY,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAA6B,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEpF,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGnD,qBAAa,kBAAmB,SAAQ,4BAA4B;IAClE,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,UAAU,EAAE,EAAE,CAAC;IACzB,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;IACvB,SAAS,CAAC,YAAY,EAAE,EAAE,CAAC;IAE3B;;;OAGG;gBACS,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAM5C;;;OAGG;IACH,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;OAGG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAMjD;;;OAGG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM3B;;;OAGG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKvC;;;OAGG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKrC;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,GAAG,IAAI;IAQrC;;;OAGG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAYpC;;;;;;;OAOG;IACH,qBAAqB,CAAC,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,IAAI;IAgBvD;;;OAGG;IACH,mBAAmB,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI;IASrC,kBAAkB;IAClB,WAAW,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI;IA6BnC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,IAAI,cAAc;IAIvE,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,IAAI,cAAc;IAIhE;;;OAGG;IACH,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAyBtC;;;;OAIG;IACH,SAAS,CAAC,gBAAgB,IAAI,kBAAkB;IAYhD,SAAS,CAAC,kBAAkB,IAAI,eAAe;IAW/C;;;;;OAKG;IACH,SAAS,CAAC,iBAAiB,IAAI;QAC7B,MAAM,EAAE,iBAAiB,EAAE,CAAC;QAC5B,OAAO,EAAE,kBAAkB,EAAE,CAAC;QAC9B,WAAW,EAAE,UAAU,EAAE,CAAC;KAC3B;CAkIF"}