@bitgo-beta/sdk-coin-vet 1.0.1-beta.335 → 1.0.1-beta.336

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 (97) hide show
  1. package/package.json +8 -8
  2. package/dist/src/index.d.ts +0 -7
  3. package/dist/src/index.d.ts.map +0 -1
  4. package/dist/src/index.js +0 -23
  5. package/dist/src/lib/constants.d.ts +0 -15
  6. package/dist/src/lib/constants.d.ts.map +0 -1
  7. package/dist/src/lib/constants.js +0 -18
  8. package/dist/src/lib/iface.d.ts +0 -36
  9. package/dist/src/lib/iface.d.ts.map +0 -1
  10. package/dist/src/lib/iface.js +0 -3
  11. package/dist/src/lib/index.d.ts +0 -25
  12. package/dist/src/lib/index.d.ts.map +0 -1
  13. package/dist/src/lib/index.js +0 -83
  14. package/dist/src/lib/keyPair.d.ts +0 -26
  15. package/dist/src/lib/keyPair.d.ts.map +0 -1
  16. package/dist/src/lib/keyPair.js +0 -65
  17. package/dist/src/lib/transaction/addressInitializationTransaction.d.ts +0 -31
  18. package/dist/src/lib/transaction/addressInitializationTransaction.d.ts.map +0 -1
  19. package/dist/src/lib/transaction/addressInitializationTransaction.js +0 -170
  20. package/dist/src/lib/transaction/burnNftTransaction.d.ts +0 -26
  21. package/dist/src/lib/transaction/burnNftTransaction.d.ts.map +0 -1
  22. package/dist/src/lib/transaction/burnNftTransaction.js +0 -124
  23. package/dist/src/lib/transaction/claimRewards.d.ts +0 -41
  24. package/dist/src/lib/transaction/claimRewards.d.ts.map +0 -1
  25. package/dist/src/lib/transaction/claimRewards.js +0 -210
  26. package/dist/src/lib/transaction/exitDelegation.d.ts +0 -26
  27. package/dist/src/lib/transaction/exitDelegation.d.ts.map +0 -1
  28. package/dist/src/lib/transaction/exitDelegation.js +0 -124
  29. package/dist/src/lib/transaction/flushTokenTransaction.d.ts +0 -20
  30. package/dist/src/lib/transaction/flushTokenTransaction.d.ts.map +0 -1
  31. package/dist/src/lib/transaction/flushTokenTransaction.js +0 -98
  32. package/dist/src/lib/transaction/nftTransaction.d.ts +0 -17
  33. package/dist/src/lib/transaction/nftTransaction.d.ts.map +0 -1
  34. package/dist/src/lib/transaction/nftTransaction.js +0 -108
  35. package/dist/src/lib/transaction/stakingTransaction.d.ts +0 -31
  36. package/dist/src/lib/transaction/stakingTransaction.d.ts.map +0 -1
  37. package/dist/src/lib/transaction/stakingTransaction.js +0 -169
  38. package/dist/src/lib/transaction/tokenTransaction.d.ts +0 -14
  39. package/dist/src/lib/transaction/tokenTransaction.d.ts.map +0 -1
  40. package/dist/src/lib/transaction/tokenTransaction.js +0 -95
  41. package/dist/src/lib/transaction/transaction.d.ts +0 -106
  42. package/dist/src/lib/transaction/transaction.d.ts.map +0 -1
  43. package/dist/src/lib/transaction/transaction.js +0 -468
  44. package/dist/src/lib/transactionBuilder/addressInitializationBuilder.d.ts +0 -78
  45. package/dist/src/lib/transactionBuilder/addressInitializationBuilder.d.ts.map +0 -1
  46. package/dist/src/lib/transactionBuilder/addressInitializationBuilder.js +0 -158
  47. package/dist/src/lib/transactionBuilder/burnNftBuilder.d.ts +0 -59
  48. package/dist/src/lib/transactionBuilder/burnNftBuilder.d.ts.map +0 -1
  49. package/dist/src/lib/transactionBuilder/burnNftBuilder.js +0 -118
  50. package/dist/src/lib/transactionBuilder/claimRewardsBuilder.d.ts +0 -57
  51. package/dist/src/lib/transactionBuilder/claimRewardsBuilder.d.ts.map +0 -1
  52. package/dist/src/lib/transactionBuilder/claimRewardsBuilder.js +0 -142
  53. package/dist/src/lib/transactionBuilder/exitDelegationBuilder.d.ts +0 -58
  54. package/dist/src/lib/transactionBuilder/exitDelegationBuilder.d.ts.map +0 -1
  55. package/dist/src/lib/transactionBuilder/exitDelegationBuilder.js +0 -115
  56. package/dist/src/lib/transactionBuilder/flushTokenTransactionBuilder.d.ts +0 -66
  57. package/dist/src/lib/transactionBuilder/flushTokenTransactionBuilder.d.ts.map +0 -1
  58. package/dist/src/lib/transactionBuilder/flushTokenTransactionBuilder.js +0 -129
  59. package/dist/src/lib/transactionBuilder/nftTransactionBuilder.d.ts +0 -23
  60. package/dist/src/lib/transactionBuilder/nftTransactionBuilder.d.ts.map +0 -1
  61. package/dist/src/lib/transactionBuilder/nftTransactionBuilder.js +0 -93
  62. package/dist/src/lib/transactionBuilder/stakingBuilder.d.ts +0 -73
  63. package/dist/src/lib/transactionBuilder/stakingBuilder.d.ts.map +0 -1
  64. package/dist/src/lib/transactionBuilder/stakingBuilder.js +0 -147
  65. package/dist/src/lib/transactionBuilder/tokenTransactionBuilder.d.ts +0 -21
  66. package/dist/src/lib/transactionBuilder/tokenTransactionBuilder.d.ts.map +0 -1
  67. package/dist/src/lib/transactionBuilder/tokenTransactionBuilder.js +0 -70
  68. package/dist/src/lib/transactionBuilder/transactionBuilder.d.ts +0 -54
  69. package/dist/src/lib/transactionBuilder/transactionBuilder.d.ts.map +0 -1
  70. package/dist/src/lib/transactionBuilder/transactionBuilder.js +0 -155
  71. package/dist/src/lib/transactionBuilder/transferBuilder.d.ts +0 -10
  72. package/dist/src/lib/transactionBuilder/transferBuilder.d.ts.map +0 -1
  73. package/dist/src/lib/transactionBuilder/transferBuilder.js +0 -45
  74. package/dist/src/lib/transactionBuilderFactory.d.ts +0 -71
  75. package/dist/src/lib/transactionBuilderFactory.d.ts.map +0 -1
  76. package/dist/src/lib/transactionBuilderFactory.js +0 -155
  77. package/dist/src/lib/types.d.ts +0 -15
  78. package/dist/src/lib/types.d.ts.map +0 -1
  79. package/dist/src/lib/types.js +0 -3
  80. package/dist/src/lib/utils.d.ts +0 -94
  81. package/dist/src/lib/utils.d.ts.map +0 -1
  82. package/dist/src/lib/utils.js +0 -277
  83. package/dist/src/register.d.ts +0 -3
  84. package/dist/src/register.d.ts.map +0 -1
  85. package/dist/src/register.js +0 -19
  86. package/dist/src/tvet.d.ts +0 -20
  87. package/dist/src/tvet.d.ts.map +0 -1
  88. package/dist/src/tvet.js +0 -30
  89. package/dist/src/vet.d.ts +0 -53
  90. package/dist/src/vet.d.ts.map +0 -1
  91. package/dist/src/vet.js +0 -267
  92. package/dist/src/vetNFTCollection.d.ts +0 -18
  93. package/dist/src/vetNFTCollection.d.ts.map +0 -1
  94. package/dist/src/vetNFTCollection.js +0 -52
  95. package/dist/src/vetToken.d.ts +0 -19
  96. package/dist/src/vetToken.d.ts.map +0 -1
  97. package/dist/src/vetToken.js +0 -52
@@ -1,3 +0,0 @@
1
- import { BitGoBase } from '@bitgo-beta/sdk-core';
2
- export declare const register: (sdk: BitGoBase) => void;
3
- //# sourceMappingURL=register.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAMjD,eAAO,MAAM,QAAQ,QAAS,SAAS,KAAG,IASzC,CAAC"}
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.register = void 0;
4
- const vet_1 = require("./vet");
5
- const tvet_1 = require("./tvet");
6
- const vetToken_1 = require("./vetToken");
7
- const vetNFTCollection_1 = require("./vetNFTCollection");
8
- const register = (sdk) => {
9
- sdk.register('vet', vet_1.Vet.createInstance);
10
- sdk.register('tvet', tvet_1.Tvet.createInstance);
11
- vetToken_1.VetToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
12
- sdk.register(name, coinConstructor);
13
- });
14
- vetNFTCollection_1.VetNFTCollection.createNFTCollectionConstructors().forEach(({ name, coinConstructor }) => {
15
- sdk.register(name, coinConstructor);
16
- });
17
- };
18
- exports.register = register;
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsK0JBQTRCO0FBQzVCLGlDQUE4QjtBQUM5Qix5Q0FBc0M7QUFDdEMseURBQXNEO0FBRS9DLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBYyxFQUFRLEVBQUU7SUFDL0MsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsU0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hDLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFdBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMxQyxtQkFBUSxDQUFDLHVCQUF1QixFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRTtRQUN2RSxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQztJQUN0QyxDQUFDLENBQUMsQ0FBQztJQUNILG1DQUFnQixDQUFDLCtCQUErQixFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRTtRQUN2RixHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQztJQUN0QyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQVRXLFFBQUEsUUFBUSxZQVNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IFZldCB9IGZyb20gJy4vdmV0JztcbmltcG9ydCB7IFR2ZXQgfSBmcm9tICcuL3R2ZXQnO1xuaW1wb3J0IHsgVmV0VG9rZW4gfSBmcm9tICcuL3ZldFRva2VuJztcbmltcG9ydCB7IFZldE5GVENvbGxlY3Rpb24gfSBmcm9tICcuL3ZldE5GVENvbGxlY3Rpb24nO1xuXG5leHBvcnQgY29uc3QgcmVnaXN0ZXIgPSAoc2RrOiBCaXRHb0Jhc2UpOiB2b2lkID0+IHtcbiAgc2RrLnJlZ2lzdGVyKCd2ZXQnLCBWZXQuY3JlYXRlSW5zdGFuY2UpO1xuICBzZGsucmVnaXN0ZXIoJ3R2ZXQnLCBUdmV0LmNyZWF0ZUluc3RhbmNlKTtcbiAgVmV0VG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKS5mb3JFYWNoKCh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgc2RrLnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gIH0pO1xuICBWZXRORlRDb2xsZWN0aW9uLmNyZWF0ZU5GVENvbGxlY3Rpb25Db25zdHJ1Y3RvcnMoKS5mb3JFYWNoKCh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgc2RrLnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gIH0pO1xufTtcbiJdfQ==
@@ -1,20 +0,0 @@
1
- /**
2
- * Testnet Vechain
3
- */
4
- import { BaseCoin, BitGoBase } from '@bitgo-beta/sdk-core';
5
- import { Vet } from './vet';
6
- import { BaseCoin as StaticsBaseCoin } from '@bitgo-beta/statics';
7
- export declare class Tvet extends Vet {
8
- protected readonly _staticsCoin: Readonly<StaticsBaseCoin>;
9
- protected constructor(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>);
10
- static createInstance(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>): BaseCoin;
11
- /**
12
- * Identifier for the blockchain which supports this coin
13
- */
14
- getChain(): string;
15
- /**
16
- * Complete human-readable name of this coin
17
- */
18
- getFullName(): string;
19
- }
20
- //# sourceMappingURL=tvet.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tvet.d.ts","sourceRoot":"","sources":["../../src/tvet.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAElE,qBAAa,IAAK,SAAQ,GAAG;IAC3B,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC3D,SAAS,aAAa,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAU/E,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;IAI1F;;OAEG;IACI,QAAQ,IAAI,MAAM;IAIzB;;OAEG;IACI,WAAW,IAAI,MAAM;CAG7B"}
package/dist/src/tvet.js DELETED
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Tvet = void 0;
4
- const vet_1 = require("./vet");
5
- class Tvet extends vet_1.Vet {
6
- constructor(bitgo, staticsCoin) {
7
- super(bitgo, staticsCoin);
8
- if (!staticsCoin) {
9
- throw new Error('missing required constructor parameter staticsCoin');
10
- }
11
- this._staticsCoin = staticsCoin;
12
- }
13
- static createInstance(bitgo, staticsCoin) {
14
- return new Tvet(bitgo, staticsCoin);
15
- }
16
- /**
17
- * Identifier for the blockchain which supports this coin
18
- */
19
- getChain() {
20
- return 'tvet';
21
- }
22
- /**
23
- * Complete human-readable name of this coin
24
- */
25
- getFullName() {
26
- return 'Testnet VeChain';
27
- }
28
- }
29
- exports.Tvet = Tvet;
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHZldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90dmV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLCtCQUE0QjtBQUc1QixNQUFhLElBQUssU0FBUSxTQUFHO0lBRTNCLFlBQXNCLEtBQWdCLEVBQUUsV0FBdUM7UUFDN0UsS0FBSyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztRQUUxQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFnQixFQUFFLFdBQXVDO1FBQzdFLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7T0FFRztJQUNJLFFBQVE7UUFDYixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxXQUFXO1FBQ2hCLE9BQU8saUJBQWlCLENBQUM7SUFDM0IsQ0FBQztDQUNGO0FBN0JELG9CQTZCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGVzdG5ldCBWZWNoYWluXG4gKi9cbmltcG9ydCB7IEJhc2VDb2luLCBCaXRHb0Jhc2UgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBWZXQgfSBmcm9tICcuL3ZldCc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBTdGF0aWNzQmFzZUNvaW4gfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcblxuZXhwb3J0IGNsYXNzIFR2ZXQgZXh0ZW5kcyBWZXQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3N0YXRpY3NDb2luOiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+O1xuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgc3RhdGljc0NvaW4/OiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+KSB7XG4gICAgc3VwZXIoYml0Z28sIHN0YXRpY3NDb2luKTtcblxuICAgIGlmICghc3RhdGljc0NvaW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIgc3RhdGljc0NvaW4nKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zdGF0aWNzQ29pbiA9IHN0YXRpY3NDb2luO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUluc3RhbmNlKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPik6IEJhc2VDb2luIHtcbiAgICByZXR1cm4gbmV3IFR2ZXQoYml0Z28sIHN0YXRpY3NDb2luKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZGVudGlmaWVyIGZvciB0aGUgYmxvY2tjaGFpbiB3aGljaCBzdXBwb3J0cyB0aGlzIGNvaW5cbiAgICovXG4gIHB1YmxpYyBnZXRDaGFpbigpOiBzdHJpbmcge1xuICAgIHJldHVybiAndHZldCc7XG4gIH1cblxuICAvKipcbiAgICogQ29tcGxldGUgaHVtYW4tcmVhZGFibGUgbmFtZSBvZiB0aGlzIGNvaW5cbiAgICovXG4gIHB1YmxpYyBnZXRGdWxsTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnVGVzdG5ldCBWZUNoYWluJztcbiAgfVxufVxuIl19
package/dist/src/vet.d.ts DELETED
@@ -1,53 +0,0 @@
1
- import { AuditDecryptedKeyParams, BaseCoin, BaseTransaction, BitGoBase, BuildNftTransferDataOptions, KeyPair, MPCAlgorithm, MultisigType, ParsedTransaction, SignedTransaction, SignTransactionOptions, TokenTransferRecipientParams, VerifyAddressOptions, VerifyTransactionOptions } from '@bitgo-beta/sdk-core';
2
- import { BaseCoin as StaticsBaseCoin } from '@bitgo-beta/statics';
3
- import { Hash } from 'crypto';
4
- import { TransactionBuilderFactory } from './lib';
5
- import { ExplainTransactionOptions, VetParseTransactionOptions } from './lib/types';
6
- import { VetTransactionExplanation } from './lib/iface';
7
- /**
8
- * Full Name: Vechain
9
- * Docs: https://docs.vechain.org/
10
- * GitHub : https://github.com/vechain
11
- */
12
- export declare class Vet extends BaseCoin {
13
- protected readonly _staticsCoin: Readonly<StaticsBaseCoin>;
14
- protected constructor(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>);
15
- static createInstance(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>): BaseCoin;
16
- /**
17
- * Factor between the coin's base unit and its smallest sub division
18
- */
19
- getBaseFactor(): number;
20
- getChain(): string;
21
- getFamily(): string;
22
- getFullName(): string;
23
- valuelessTransferAllowed(): boolean;
24
- /** @inheritDoc */
25
- supportsTss(): boolean;
26
- /** inherited doc */
27
- getDefaultMultisigType(): MultisigType;
28
- getMPCAlgorithm(): MPCAlgorithm;
29
- allowsAccountConsolidations(): boolean;
30
- verifyTransaction(params: VerifyTransactionOptions): Promise<boolean>;
31
- isWalletAddress(params: VerifyAddressOptions): Promise<boolean>;
32
- parseTransaction(params: VetParseTransactionOptions): Promise<ParsedTransaction>;
33
- /**
34
- * Explain a Vechain transaction
35
- * @param params
36
- */
37
- explainTransaction(params: ExplainTransactionOptions): Promise<VetTransactionExplanation | undefined>;
38
- generateKeyPair(seed?: Buffer): KeyPair;
39
- isValidPub(pub: string): boolean;
40
- isValidAddress(address: string): boolean;
41
- signTransaction(params: SignTransactionOptions): Promise<SignedTransaction>;
42
- protected getTxBuilderFactory(): TransactionBuilderFactory;
43
- protected rebuildTransaction(txHex: string): Promise<BaseTransaction>;
44
- /** @inheritDoc */
45
- auditDecryptedKey(params: AuditDecryptedKeyParams): void;
46
- /**
47
- * Function to get coin specific hash function used to generate transaction digests.
48
- * @returns {@see Hash} hash function if implemented, otherwise throws exception
49
- */
50
- getHashFunction(): Hash;
51
- buildNftTransferData(params: BuildNftTransferDataOptions): TokenTransferRecipientParams;
52
- }
53
- //# sourceMappingURL=vet.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vet.d.ts","sourceRoot":"","sources":["../../src/vet.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,uBAAuB,EACvB,QAAQ,EACR,eAAe,EACf,SAAS,EACT,2BAA2B,EAE3B,OAAO,EACP,YAAY,EACZ,YAAY,EAGZ,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,4BAA4B,EAC5B,oBAAoB,EACpB,wBAAwB,EAEzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGlE,OAAO,EAAe,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAExD;;;;GAIG;AACH,qBAAa,GAAI,SAAQ,QAAQ;IAC/B,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC3D,SAAS,aAAa,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAU/E,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;IAI1F;;OAEG;IACI,aAAa,IAAI,MAAM;IAIvB,QAAQ,IAAI,MAAM;IAIlB,SAAS,IAAI,MAAM;IAInB,WAAW,IAAI,MAAM;IAI5B,wBAAwB,IAAI,OAAO;IAInC,kBAAkB;IAClB,WAAW,IAAI,OAAO;IAItB,oBAAoB;IACpB,sBAAsB,IAAI,YAAY;IAItC,eAAe,IAAI,YAAY;IAI/B,2BAA2B,IAAI,OAAO;IAIhC,iBAAiB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;IAsCrE,eAAe,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAS/D,gBAAgB,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAqBtF;;;OAGG;IACG,kBAAkB,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC;IAU3G,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO;IAevC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAUhC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIxC,eAAe,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAI3E,SAAS,CAAC,mBAAmB,IAAI,yBAAyB;cAI1C,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAU3E,kBAAkB;IAClB,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI;IAKxD;;;OAGG;IACH,eAAe,IAAI,IAAI;IAgBvB,oBAAoB,CAAC,MAAM,EAAE,2BAA2B,GAAG,4BAA4B;CAyBxF"}
package/dist/src/vet.js DELETED
@@ -1,267 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.Vet = void 0;
40
- const _ = __importStar(require("lodash"));
41
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
42
- const blake2b_1 = __importDefault(require("@bitgo-beta/blake2b"));
43
- const sdk_core_1 = require("@bitgo-beta/sdk-core");
44
- const utils_1 = __importDefault(require("./lib/utils"));
45
- const secp256k1_1 = require("@bitgo-beta/secp256k1");
46
- const crypto_1 = require("crypto");
47
- const abstract_eth_1 = require("@bitgo-beta/abstract-eth");
48
- const lib_1 = require("./lib");
49
- /**
50
- * Full Name: Vechain
51
- * Docs: https://docs.vechain.org/
52
- * GitHub : https://github.com/vechain
53
- */
54
- class Vet extends sdk_core_1.BaseCoin {
55
- constructor(bitgo, staticsCoin) {
56
- super(bitgo);
57
- if (!staticsCoin) {
58
- throw new Error('missing required constructor parameter staticsCoin');
59
- }
60
- this._staticsCoin = staticsCoin;
61
- }
62
- static createInstance(bitgo, staticsCoin) {
63
- return new Vet(bitgo, staticsCoin);
64
- }
65
- /**
66
- * Factor between the coin's base unit and its smallest sub division
67
- */
68
- getBaseFactor() {
69
- return 1e18;
70
- }
71
- getChain() {
72
- return 'vet';
73
- }
74
- getFamily() {
75
- return 'vet';
76
- }
77
- getFullName() {
78
- return 'VeChain';
79
- }
80
- valuelessTransferAllowed() {
81
- return true;
82
- }
83
- /** @inheritDoc */
84
- supportsTss() {
85
- return true;
86
- }
87
- /** inherited doc */
88
- getDefaultMultisigType() {
89
- return sdk_core_1.multisigTypes.tss;
90
- }
91
- getMPCAlgorithm() {
92
- return 'ecdsa';
93
- }
94
- allowsAccountConsolidations() {
95
- return true;
96
- }
97
- async verifyTransaction(params) {
98
- const { txPrebuild: txPrebuild, txParams: txParams } = params;
99
- const txHex = txPrebuild.txHex;
100
- if (!txHex) {
101
- throw new Error('missing required tx prebuild property txHex');
102
- }
103
- const explainedTx = await this.explainTransaction({ txHex });
104
- if (!explainedTx) {
105
- throw new Error('failed to explain transaction');
106
- }
107
- if (txParams.recipients !== undefined && txParams.recipients.length > 0) {
108
- const filteredRecipients = txParams.recipients?.map((recipient) => {
109
- return {
110
- address: recipient.address.toLowerCase(),
111
- amount: BigInt(recipient.amount),
112
- };
113
- });
114
- const filteredOutputs = explainedTx.outputs.map((output) => {
115
- return {
116
- address: output.address.toLowerCase(),
117
- amount: BigInt(output.amount),
118
- };
119
- });
120
- if (!_.isEqual(filteredOutputs, filteredRecipients)) {
121
- throw new Error('Tx outputs does not match with expected txParams recipients');
122
- }
123
- let totalAmount = new bignumber_js_1.default(0);
124
- for (const recipients of txParams.recipients) {
125
- totalAmount = totalAmount.plus(recipients.amount);
126
- }
127
- if (!totalAmount.isEqualTo(explainedTx.outputAmount)) {
128
- throw new Error('Tx total amount does not match with expected total amount field');
129
- }
130
- }
131
- return true;
132
- }
133
- async isWalletAddress(params) {
134
- const { address: newAddress } = params;
135
- if (!this.isValidAddress(newAddress)) {
136
- throw new sdk_core_1.InvalidAddressError(`invalid address: ${newAddress}`);
137
- }
138
- return true;
139
- }
140
- async parseTransaction(params) {
141
- const transactionExplanation = await this.explainTransaction({ txHex: params.txHex });
142
- if (!transactionExplanation) {
143
- throw new Error('Invalid transaction');
144
- }
145
- return {
146
- inputs: [
147
- {
148
- address: transactionExplanation.sender,
149
- amount: transactionExplanation.outputAmount,
150
- },
151
- ],
152
- outputs: [
153
- {
154
- address: transactionExplanation.outputs[0].address,
155
- amount: transactionExplanation.outputs[0].amount,
156
- },
157
- ],
158
- };
159
- }
160
- /**
161
- * Explain a Vechain transaction
162
- * @param params
163
- */
164
- async explainTransaction(params) {
165
- let rebuiltTransaction;
166
- try {
167
- rebuiltTransaction = await this.rebuildTransaction(params.txHex);
168
- }
169
- catch {
170
- return undefined;
171
- }
172
- return rebuiltTransaction.explainTransaction();
173
- }
174
- generateKeyPair(seed) {
175
- if (!seed) {
176
- // An extended private key has both a normal 256 bit private key and a 256
177
- // bit chain code, both of which must be random. 512 bits is therefore the
178
- // maximum entropy and gives us maximum security against cracking.
179
- seed = (0, crypto_1.randomBytes)(512 / 8);
180
- }
181
- const extendedKey = secp256k1_1.bip32.fromSeed(seed);
182
- const xpub = extendedKey.neutered().toBase58();
183
- return {
184
- pub: xpub,
185
- prv: extendedKey.toBase58(),
186
- };
187
- }
188
- isValidPub(pub) {
189
- let valid = true;
190
- try {
191
- new abstract_eth_1.KeyPair({ pub });
192
- }
193
- catch (e) {
194
- valid = false;
195
- }
196
- return valid;
197
- }
198
- isValidAddress(address) {
199
- return utils_1.default.isValidAddress(address);
200
- }
201
- signTransaction(params) {
202
- throw new Error('Method not implemented.');
203
- }
204
- getTxBuilderFactory() {
205
- return new lib_1.TransactionBuilderFactory(this._staticsCoin);
206
- }
207
- async rebuildTransaction(txHex) {
208
- const txBuilderFactory = this.getTxBuilderFactory();
209
- try {
210
- const txBuilder = txBuilderFactory.from(txHex);
211
- return txBuilder.transaction;
212
- }
213
- catch {
214
- throw new Error('Failed to rebuild transaction');
215
- }
216
- }
217
- /** @inheritDoc */
218
- auditDecryptedKey(params) {
219
- /** https://bitgoinc.atlassian.net/browse/COIN-4213 */
220
- throw new Error('Method not implemented.');
221
- }
222
- /**
223
- * Function to get coin specific hash function used to generate transaction digests.
224
- * @returns {@see Hash} hash function if implemented, otherwise throws exception
225
- */
226
- getHashFunction() {
227
- const blake = (0, blake2b_1.default)(32);
228
- // We return an object that mimics the Hash interface
229
- return {
230
- update(data) {
231
- blake.update(data);
232
- return this;
233
- },
234
- digest() {
235
- const uint8Result = blake.digest();
236
- return Buffer.from(uint8Result);
237
- },
238
- };
239
- }
240
- buildNftTransferData(params) {
241
- const { recipientAddress, fromAddress, tokenContractAddress } = params;
242
- if (!utils_1.default.isValidAddress(recipientAddress)) {
243
- throw new sdk_core_1.InvalidAddressError('Invalid recipient address');
244
- }
245
- if (!utils_1.default.isValidAddress(fromAddress)) {
246
- throw new sdk_core_1.InvalidAddressError('Invalid from address');
247
- }
248
- if (!utils_1.default.isValidAddress(tokenContractAddress)) {
249
- throw new sdk_core_1.InvalidAddressError('Invalid NFT contract address address');
250
- }
251
- switch (params.type) {
252
- case 'ERC721': {
253
- const tokenId = params.tokenId;
254
- return {
255
- tokenType: sdk_core_1.TokenType.ERC721,
256
- tokenQuantity: '1', // This NFT standard will always have quantity of 1
257
- tokenContractAddress,
258
- tokenId,
259
- };
260
- }
261
- default:
262
- throw new sdk_core_1.NotImplementedError(`NFT type ${params.type} not supported on ${this.getChain()}`);
263
- }
264
- }
265
- }
266
- exports.Vet = Vet;
267
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwQ0FBNEI7QUFDNUIsZ0VBQXFDO0FBQ3JDLGtFQUEwQztBQUMxQyxtREFtQjhCO0FBRTlCLHdEQUFnQztBQUNoQyxxREFBOEM7QUFDOUMsbUNBQTJDO0FBQzNDLDJEQUFpRTtBQUNqRSwrQkFBa0Q7QUFJbEQ7Ozs7R0FJRztBQUNILE1BQWEsR0FBSSxTQUFRLG1CQUFRO0lBRS9CLFlBQXNCLEtBQWdCLEVBQUUsV0FBdUM7UUFDN0UsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBZ0IsRUFBRSxXQUF1QztRQUM3RSxPQUFPLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxhQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLFFBQVE7UUFDYixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTSxTQUFTO1FBQ2QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sV0FBVztRQUNoQixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsd0JBQXdCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsb0JBQW9CO0lBQ3BCLHNCQUFzQjtRQUNwQixPQUFPLHdCQUFh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b0JBQ0wsU0FBUyxFQUFFLG9CQUFTLENBQUMsTUFBTTtvQkFDM0IsYUFBYSxFQUFFLEdBQUcsRUFBRSxtREFBbUQ7b0JBQ3ZFLG9CQUFvQjtvQkFDcEIsT0FBTztpQkFDUixDQUFDO1lBQ0osQ0FBQztZQUNEO2dCQUNFLE1BQU0sSUFBSSw4QkFBbUIsQ0FBQyxZQUFZLE1BQU0sQ0FBQyxJQUFJLHFCQUFxQixJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pHLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUE3T0Qsa0JBNk9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IGJsYWtlMmIgZnJvbSAnQGJpdGdvLWJldGEvYmxha2UyYic7XG5pbXBvcnQge1xuICBBdWRpdERlY3J5cHRlZEtleVBhcmFtcyxcbiAgQmFzZUNvaW4sXG4gIEJhc2VUcmFuc2FjdGlvbixcbiAgQml0R29CYXNlLFxuICBCdWlsZE5mdFRyYW5zZmVyRGF0YU9wdGlvbnMsXG4gIEludmFsaWRBZGRyZXNzRXJyb3IsXG4gIEtleVBhaXIsXG4gIE1QQ0FsZ29yaXRobSxcbiAgTXVsdGlzaWdUeXBlLFxuICBtdWx0aXNpZ1R5cGVzLFxuICBOb3RJbXBsZW1lbnRlZEVycm9yLFxuICBQYXJzZWRUcmFuc2FjdGlvbixcbiAgU2lnbmVkVHJhbnNhY3Rpb24sXG4gIFNpZ25UcmFuc2FjdGlvbk9wdGlvbnMsXG4gIFRva2VuVHJhbnNmZXJSZWNpcGllbnRQYXJhbXMsXG4gIFZlcmlmeUFkZHJlc3NPcHRpb25zLFxuICBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMsXG4gIFRva2VuVHlwZSxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgU3RhdGljc0Jhc2VDb2luIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi9saWIvdXRpbHMnO1xuaW1wb3J0IHsgYmlwMzIgfSBmcm9tICdAYml0Z28tYmV0YS9zZWNwMjU2azEnO1xuaW1wb3J0IHsgcmFuZG9tQnl0ZXMsIEhhc2ggfSBmcm9tICdjcnlwdG8nO1xuaW1wb3J0IHsgS2V5UGFpciBhcyBFdGhLZXlQYWlyIH0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3QtZXRoJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgfSBmcm9tICcuL2xpYic7XG5pbXBvcnQgeyBFeHBsYWluVHJhbnNhY3Rpb25PcHRpb25zLCBWZXRQYXJzZVRyYW5zYWN0aW9uT3B0aW9ucyB9IGZyb20gJy4vbGliL3R5cGVzJztcbmltcG9ydCB7IFZldFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gfSBmcm9tICcuL2xpYi9pZmFjZSc7XG5cbi8qKlxuICogRnVsbCBOYW1lOiBWZWNoYWluXG4gKiBEb2NzOiBodHRwczovL2RvY3MudmVjaGFpbi5vcmcvXG4gKiBHaXRIdWIgOiBodHRwczovL2dpdGh1Yi5jb20vdmVjaGFpblxuICovXG5leHBvcnQgY2xhc3MgVmV0IGV4dGVuZHMgQmFzZUNvaW4ge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3N0YXRpY3NDb2luOiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+O1xuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgc3RhdGljc0NvaW4/OiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+KSB7XG4gICAgc3VwZXIoYml0Z28pO1xuXG4gICAgaWYgKCFzdGF0aWNzQ29pbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHJlcXVpcmVkIGNvbnN0cnVjdG9yIHBhcmFtZXRlciBzdGF0aWNzQ29pbicpO1xuICAgIH1cblxuICAgIHRoaXMuX3N0YXRpY3NDb2luID0gc3RhdGljc0NvaW47XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlSW5zdGFuY2UoYml0Z286IEJpdEdvQmFzZSwgc3RhdGljc0NvaW4/OiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+KTogQmFzZUNvaW4ge1xuICAgIHJldHVybiBuZXcgVmV0KGJpdGdvLCBzdGF0aWNzQ29pbik7XG4gIH1cblxuICAvKipcbiAgICogRmFjdG9yIGJldHdlZW4gdGhlIGNvaW4ncyBiYXNlIHVuaXQgYW5kIGl0cyBzbWFsbGVzdCBzdWIgZGl2aXNpb25cbiAgICovXG4gIHB1YmxpYyBnZXRCYXNlRmFjdG9yKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIDFlMTg7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2hhaW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ3ZldCc7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmFtaWx5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICd2ZXQnO1xuICB9XG5cbiAgcHVibGljIGdldEZ1bGxOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdWZUNoYWluJztcbiAgfVxuXG4gIHZhbHVlbGVzc1RyYW5zZmVyQWxsb3dlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBzdXBwb3J0c1RzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKiBpbmhlcml0ZWQgZG9jICovXG4gIGdldERlZmF1bHRNdWx0aXNpZ1R5cGUoKTogTXVsdGlzaWdUeXBlIHtcbiAgICByZXR1cm4gbXVsdGlzaWdUeXBlcy50c3M7XG4gIH1cblxuICBnZXRNUENBbGdvcml0aG0oKTogTVBDQWxnb3JpdGhtIHtcbiAgICByZXR1cm4gJ2VjZHNhJztcbiAgfVxuXG4gIGFsbG93c0FjY291bnRDb25zb2xpZGF0aW9ucygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGFzeW5jIHZlcmlmeVRyYW5zYWN0aW9uKHBhcmFtczogVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgeyB0eFByZWJ1aWxkOiB0eFByZWJ1aWxkLCB0eFBhcmFtczogdHhQYXJhbXMgfSA9IHBhcmFtcztcbiAgICBjb25zdCB0eEhleCA9IHR4UHJlYnVpbGQudHhIZXg7XG4gICAgaWYgKCF0eEhleCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHJlcXVpcmVkIHR4IHByZWJ1aWxkIHByb3BlcnR5IHR4SGV4Jyk7XG4gICAgfVxuICAgIGNvbnN0IGV4cGxhaW5lZFR4ID0gYXdhaXQgdGhpcy5leHBsYWluVHJhbnNhY3Rpb24oeyB0eEhleCB9KTtcbiAgICBpZiAoIWV4cGxhaW5lZFR4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ZhaWxlZCB0byBleHBsYWluIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIGlmICh0eFBhcmFtcy5yZWNpcGllbnRzICE9PSB1bmRlZmluZWQgJiYgdHhQYXJhbXMucmVjaXBpZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBmaWx0ZXJlZFJlY2lwaWVudHMgPSB0eFBhcmFtcy5yZWNpcGllbnRzPy5tYXAoKHJlY2lwaWVudCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGFkZHJlc3M6IHJlY2lwaWVudC5hZGRyZXNzLnRvTG93ZXJDYXNlKCksXG4gICAgICAgICAgYW1vdW50OiBCaWdJbnQocmVjaXBpZW50LmFtb3VudCksXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGZpbHRlcmVkT3V0cHV0cyA9IGV4cGxhaW5lZFR4Lm91dHB1dHMubWFwKChvdXRwdXQpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBhZGRyZXNzOiBvdXRwdXQuYWRkcmVzcy50b0xvd2VyQ2FzZSgpLFxuICAgICAgICAgIGFtb3VudDogQmlnSW50KG91dHB1dC5hbW91bnQpLFxuICAgICAgICB9O1xuICAgICAgfSk7XG5cbiAgICAgIGlmICghXy5pc0VxdWFsKGZpbHRlcmVkT3V0cHV0cywgZmlsdGVyZWRSZWNpcGllbnRzKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1R4IG91dHB1dHMgZG9lcyBub3QgbWF0Y2ggd2l0aCBleHBlY3RlZCB0eFBhcmFtcyByZWNpcGllbnRzJyk7XG4gICAgICB9XG4gICAgICBsZXQgdG90YWxBbW91bnQgPSBuZXcgQmlnTnVtYmVyKDApO1xuICAgICAgZm9yIChjb25zdCByZWNpcGllbnRzIG9mIHR4UGFyYW1zLnJlY2lwaWVudHMpIHtcbiAgICAgICAgdG90YWxBbW91bnQgPSB0b3RhbEFtb3VudC5wbHVzKHJlY2lwaWVudHMuYW1vdW50KTtcbiAgICAgIH1cbiAgICAgIGlmICghdG90YWxBbW91bnQuaXNFcXVhbFRvKGV4cGxhaW5lZFR4Lm91dHB1dEFtb3VudCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUeCB0b3RhbCBhbW91bnQgZG9lcyBub3QgbWF0Y2ggd2l0aCBleHBlY3RlZCB0b3RhbCBhbW91bnQgZmllbGQnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBhc3luYyBpc1dhbGxldEFkZHJlc3MocGFyYW1zOiBWZXJpZnlBZGRyZXNzT3B0aW9ucyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHsgYWRkcmVzczogbmV3QWRkcmVzcyB9ID0gcGFyYW1zO1xuXG4gICAgaWYgKCF0aGlzLmlzVmFsaWRBZGRyZXNzKG5ld0FkZHJlc3MpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEFkZHJlc3NFcnJvcihgaW52YWxpZCBhZGRyZXNzOiAke25ld0FkZHJlc3N9YCk7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgYXN5bmMgcGFyc2VUcmFuc2FjdGlvbihwYXJhbXM6IFZldFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxQYXJzZWRUcmFuc2FjdGlvbj4ge1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uRXhwbGFuYXRpb24gPSBhd2FpdCB0aGlzLmV4cGxhaW5UcmFuc2FjdGlvbih7IHR4SGV4OiBwYXJhbXMudHhIZXggfSk7XG4gICAgaWYgKCF0cmFuc2FjdGlvbkV4cGxhbmF0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGlucHV0czogW1xuICAgICAgICB7XG4gICAgICAgICAgYWRkcmVzczogdHJhbnNhY3Rpb25FeHBsYW5hdGlvbi5zZW5kZXIsXG4gICAgICAgICAgYW1vdW50OiB0cmFuc2FjdGlvbkV4cGxhbmF0aW9uLm91dHB1dEFtb3VudCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBvdXRwdXRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBhZGRyZXNzOiB0cmFuc2FjdGlvbkV4cGxhbmF0aW9uLm91dHB1dHNbMF0uYWRkcmVzcyxcbiAgICAgICAgICBhbW91bnQ6IHRyYW5zYWN0aW9uRXhwbGFuYXRpb24ub3V0cHV0c1swXS5hbW91bnQsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogRXhwbGFpbiBhIFZlY2hhaW4gdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIHBhcmFtc1xuICAgKi9cbiAgYXN5bmMgZXhwbGFpblRyYW5zYWN0aW9uKHBhcmFtczogRXhwbGFpblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8VmV0VHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB8IHVuZGVmaW5lZD4ge1xuICAgIGxldCByZWJ1aWx0VHJhbnNhY3Rpb246IEJhc2VUcmFuc2FjdGlvbjtcbiAgICB0cnkge1xuICAgICAgcmVidWlsdFRyYW5zYWN0aW9uID0gYXdhaXQgdGhpcy5yZWJ1aWxkVHJhbnNhY3Rpb24ocGFyYW1zLnR4SGV4KTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiByZWJ1aWx0VHJhbnNhY3Rpb24uZXhwbGFpblRyYW5zYWN0aW9uKCk7XG4gIH1cblxuICBnZW5lcmF0ZUtleVBhaXIoc2VlZD86IEJ1ZmZlcik6IEtleVBhaXIge1xuICAgIGlmICghc2VlZCkge1xuICAgICAgLy8gQW4gZXh0ZW5kZWQgcHJpdmF0ZSBrZXkgaGFzIGJvdGggYSBub3JtYWwgMjU2IGJpdCBwcml2YXRlIGtleSBhbmQgYSAyNTZcbiAgICAgIC8vIGJpdCBjaGFpbiBjb2RlLCBib3RoIG9mIHdoaWNoIG11c3QgYmUgcmFuZG9tLiA1MTIgYml0cyBpcyB0aGVyZWZvcmUgdGhlXG4gICAgICAvLyBtYXhpbXVtIGVudHJvcHkgYW5kIGdpdmVzIHVzIG1heGltdW0gc2VjdXJpdHkgYWdhaW5zdCBjcmFja2luZy5cbiAgICAgIHNlZWQgPSByYW5kb21CeXRlcyg1MTIgLyA4KTtcbiAgICB9XG4gICAgY29uc3QgZXh0ZW5kZWRLZXkgPSBiaXAzMi5mcm9tU2VlZChzZWVkKTtcbiAgICBjb25zdCB4cHViID0gZXh0ZW5kZWRLZXkubmV1dGVyZWQoKS50b0Jhc2U1OCgpO1xuICAgIHJldHVybiB7XG4gICAgICBwdWI6IHhwdWIsXG4gICAgICBwcnY6IGV4dGVuZGVkS2V5LnRvQmFzZTU4KCksXG4gICAgfTtcbiAgfVxuXG4gIGlzVmFsaWRQdWIocHViOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBsZXQgdmFsaWQgPSB0cnVlO1xuICAgIHRyeSB7XG4gICAgICBuZXcgRXRoS2V5UGFpcih7IHB1YiB9KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB2YWxpZCA9IGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdmFsaWQ7XG4gIH1cblxuICBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdXRpbHMuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcyk7XG4gIH1cblxuICBzaWduVHJhbnNhY3Rpb24ocGFyYW1zOiBTaWduVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxTaWduZWRUcmFuc2FjdGlvbj4ge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRUeEJ1aWxkZXJGYWN0b3J5KCk6IFRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSh0aGlzLl9zdGF0aWNzQ29pbik7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgcmVidWlsZFRyYW5zYWN0aW9uKHR4SGV4OiBzdHJpbmcpOiBQcm9taXNlPEJhc2VUcmFuc2FjdGlvbj4ge1xuICAgIGNvbnN0IHR4QnVpbGRlckZhY3RvcnkgPSB0aGlzLmdldFR4QnVpbGRlckZhY3RvcnkoKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gdHhCdWlsZGVyRmFjdG9yeS5mcm9tKHR4SGV4KTtcbiAgICAgIHJldHVybiB0eEJ1aWxkZXIudHJhbnNhY3Rpb247XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byByZWJ1aWxkIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGF1ZGl0RGVjcnlwdGVkS2V5KHBhcmFtczogQXVkaXREZWNyeXB0ZWRLZXlQYXJhbXMpOiB2b2lkIHtcbiAgICAvKiogaHR0cHM6Ly9iaXRnb2luYy5hdGxhc3NpYW4ubmV0L2Jyb3dzZS9DT0lOLTQyMTMgKi9cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gZ2V0IGNvaW4gc3BlY2lmaWMgaGFzaCBmdW5jdGlvbiB1c2VkIHRvIGdlbmVyYXRlIHRyYW5zYWN0aW9uIGRpZ2VzdHMuXG4gICAqIEByZXR1cm5zIHtAc2VlIEhhc2h9IGhhc2ggZnVuY3Rpb24gaWYgaW1wbGVtZW50ZWQsIG90aGVyd2lzZSB0aHJvd3MgZXhjZXB0aW9uXG4gICAqL1xuICBnZXRIYXNoRnVuY3Rpb24oKTogSGFzaCB7XG4gICAgY29uc3QgYmxha2UgPSBibGFrZTJiKDMyKTtcblxuICAgIC8vIFdlIHJldHVybiBhbiBvYmplY3QgdGhhdCBtaW1pY3MgdGhlIEhhc2ggaW50ZXJmYWNlXG4gICAgcmV0dXJuIHtcbiAgICAgIHVwZGF0ZShkYXRhOiBCdWZmZXIgfCBVaW50OEFycmF5KSB7XG4gICAgICAgIGJsYWtlLnVwZGF0ZShkYXRhKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9LFxuICAgICAgZGlnZXN0KCkge1xuICAgICAgICBjb25zdCB1aW50OFJlc3VsdCA9IGJsYWtlLmRpZ2VzdCgpO1xuICAgICAgICByZXR1cm4gQnVmZmVyLmZyb20odWludDhSZXN1bHQpO1xuICAgICAgfSxcbiAgICB9IGFzIHVua25vd24gYXMgSGFzaDtcbiAgfVxuXG4gIGJ1aWxkTmZ0VHJhbnNmZXJEYXRhKHBhcmFtczogQnVpbGROZnRUcmFuc2ZlckRhdGFPcHRpb25zKTogVG9rZW5UcmFuc2ZlclJlY2lwaWVudFBhcmFtcyB7XG4gICAgY29uc3QgeyByZWNpcGllbnRBZGRyZXNzLCBmcm9tQWRkcmVzcywgdG9rZW5Db250cmFjdEFkZHJlc3MgfSA9IHBhcmFtcztcbiAgICBpZiAoIXV0aWxzLmlzVmFsaWRBZGRyZXNzKHJlY2lwaWVudEFkZHJlc3MpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEFkZHJlc3NFcnJvcignSW52YWxpZCByZWNpcGllbnQgYWRkcmVzcycpO1xuICAgIH1cbiAgICBpZiAoIXV0aWxzLmlzVmFsaWRBZGRyZXNzKGZyb21BZGRyZXNzKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBZGRyZXNzRXJyb3IoJ0ludmFsaWQgZnJvbSBhZGRyZXNzJyk7XG4gICAgfVxuICAgIGlmICghdXRpbHMuaXNWYWxpZEFkZHJlc3ModG9rZW5Db250cmFjdEFkZHJlc3MpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEFkZHJlc3NFcnJvcignSW52YWxpZCBORlQgY29udHJhY3QgYWRkcmVzcyBhZGRyZXNzJyk7XG4gICAgfVxuICAgIHN3aXRjaCAocGFyYW1zLnR5cGUpIHtcbiAgICAgIGNhc2UgJ0VSQzcyMSc6IHtcbiAgICAgICAgY29uc3QgdG9rZW5JZCA9IHBhcmFtcy50b2tlbklkO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHRva2VuVHlwZTogVG9rZW5UeXBlLkVSQzcyMSxcbiAgICAgICAgICB0b2tlblF1YW50aXR5OiAnMScsIC8vIFRoaXMgTkZUIHN0YW5kYXJkIHdpbGwgYWx3YXlzIGhhdmUgcXVhbnRpdHkgb2YgMVxuICAgICAgICAgIHRva2VuQ29udHJhY3RBZGRyZXNzLFxuICAgICAgICAgIHRva2VuSWQsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcihgTkZUIHR5cGUgJHtwYXJhbXMudHlwZX0gbm90IHN1cHBvcnRlZCBvbiAke3RoaXMuZ2V0Q2hhaW4oKX1gKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,18 +0,0 @@
1
- import { Vet } from './vet';
2
- import { VetNFTCollectionConfig } from '@bitgo-beta/statics';
3
- import { BitGoBase, CoinConstructor, NamedCoinConstructor } from '@bitgo-beta/sdk-core';
4
- export declare class VetNFTCollection extends Vet {
5
- readonly nftCollectionConfig: VetNFTCollectionConfig;
6
- constructor(bitgo: BitGoBase, nftCollectionConfig: VetNFTCollectionConfig);
7
- static createNFTCollectionConstructor(config: VetNFTCollectionConfig): CoinConstructor;
8
- static createNFTCollectionConstructors(nftCollectionConfigs?: VetNFTCollectionConfig[]): NamedCoinConstructor[];
9
- get name(): string;
10
- get coin(): string;
11
- get network(): string;
12
- get nftCollectionId(): string;
13
- getChain(): string;
14
- getBaseChain(): string;
15
- getFullName(): string;
16
- getBaseFactor(): number;
17
- }
18
- //# sourceMappingURL=vetNFTCollection.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vetNFTCollection.d.ts","sourceRoot":"","sources":["../../src/vetNFTCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAiB,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAExF,qBAAa,gBAAiB,SAAQ,GAAG;IACvC,SAAgB,mBAAmB,EAAE,sBAAsB,CAAC;gBAEhD,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,sBAAsB;IAMzE,MAAM,CAAC,8BAA8B,CAAC,MAAM,EAAE,sBAAsB,GAAG,eAAe;IAGtF,MAAM,CAAC,+BAA+B,CACpC,oBAAoB,GAAE,sBAAsB,EAG3C,GACA,oBAAoB,EAAE;IASzB,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,QAAQ,IAAI,MAAM;IAIlB,YAAY,IAAI,MAAM;IAItB,WAAW,IAAI,MAAM;IAIrB,aAAa,IAAI,MAAM;CAGxB"}
@@ -1,52 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VetNFTCollection = void 0;
4
- const vet_1 = require("./vet");
5
- const statics_1 = require("@bitgo-beta/statics");
6
- class VetNFTCollection extends vet_1.Vet {
7
- constructor(bitgo, nftCollectionConfig) {
8
- const staticsCoin = nftCollectionConfig.network === 'Mainnet' ? statics_1.coins.get('vet') : statics_1.coins.get('tvet');
9
- super(bitgo, staticsCoin);
10
- this.nftCollectionConfig = nftCollectionConfig;
11
- }
12
- static createNFTCollectionConstructor(config) {
13
- return (bitgo) => new VetNFTCollection(bitgo, config);
14
- }
15
- static createNFTCollectionConstructors(nftCollectionConfigs = [
16
- ...statics_1.tokens.bitcoin.vet.nftCollections,
17
- ...statics_1.tokens.testnet.vet.nftCollections,
18
- ]) {
19
- const nftCollectionCtors = [];
20
- for (const config of nftCollectionConfigs) {
21
- const nftCollectionConstructor = VetNFTCollection.createNFTCollectionConstructor(config);
22
- nftCollectionCtors.push({ name: config.type, coinConstructor: nftCollectionConstructor });
23
- }
24
- return nftCollectionCtors;
25
- }
26
- get name() {
27
- return this.nftCollectionConfig.name;
28
- }
29
- get coin() {
30
- return this.nftCollectionConfig.coin;
31
- }
32
- get network() {
33
- return this.nftCollectionConfig.network;
34
- }
35
- get nftCollectionId() {
36
- return this.nftCollectionConfig.nftCollectionId;
37
- }
38
- getChain() {
39
- return this.nftCollectionConfig.type;
40
- }
41
- getBaseChain() {
42
- return this.coin;
43
- }
44
- getFullName() {
45
- return 'Vet NFT Collection';
46
- }
47
- getBaseFactor() {
48
- return Math.pow(10, this.nftCollectionConfig.decimalPlaces);
49
- }
50
- }
51
- exports.VetNFTCollection = VetNFTCollection;
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmV0TkZUQ29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXRORlRDb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUE0QjtBQUM1QixpREFBNEU7QUFHNUUsTUFBYSxnQkFBaUIsU0FBUSxTQUFHO0lBR3ZDLFlBQVksS0FBZ0IsRUFBRSxtQkFBMkM7UUFDdkUsTUFBTSxXQUFXLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyRyxLQUFLLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxtQkFBbUIsQ0FBQztJQUNqRCxDQUFDO0lBRUQsTUFBTSxDQUFDLDhCQUE4QixDQUFDLE1BQThCO1FBQ2xFLE9BQU8sQ0FBQyxLQUFnQixFQUFFLEVBQUUsQ0FBQyxJQUFJLGdCQUFnQixDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBQ0QsTUFBTSxDQUFDLCtCQUErQixDQUNwQyx1QkFBaUQ7UUFDL0MsR0FBRyxnQkFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYztRQUNwQyxHQUFHLGdCQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjO0tBQ3JDO1FBRUQsTUFBTSxrQkFBa0IsR0FBMkIsRUFBRSxDQUFDO1FBQ3RELEtBQUssTUFBTSxNQUFNLElBQUksb0JBQW9CLEVBQUUsQ0FBQztZQUMxQyxNQUFNLHdCQUF3QixHQUFHLGdCQUFnQixDQUFDLDhCQUE4QixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pGLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxDQUFDLENBQUM7UUFDNUYsQ0FBQztRQUNELE9BQU8sa0JBQWtCLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUM7SUFDbEQsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUM7SUFDdkMsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLG9CQUFvQixDQUFDO0lBQzlCLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDOUQsQ0FBQztDQUNGO0FBekRELDRDQXlEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZldCB9IGZyb20gJy4vdmV0JztcbmltcG9ydCB7IGNvaW5zLCB0b2tlbnMsIFZldE5GVENvbGxlY3Rpb25Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEJpdEdvQmFzZSwgQ29pbkNvbnN0cnVjdG9yLCBOYW1lZENvaW5Db25zdHJ1Y3RvciB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcblxuZXhwb3J0IGNsYXNzIFZldE5GVENvbGxlY3Rpb24gZXh0ZW5kcyBWZXQge1xuICBwdWJsaWMgcmVhZG9ubHkgbmZ0Q29sbGVjdGlvbkNvbmZpZzogVmV0TkZUQ29sbGVjdGlvbkNvbmZpZztcblxuICBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBuZnRDb2xsZWN0aW9uQ29uZmlnOiBWZXRORlRDb2xsZWN0aW9uQ29uZmlnKSB7XG4gICAgY29uc3Qgc3RhdGljc0NvaW4gPSBuZnRDb2xsZWN0aW9uQ29uZmlnLm5ldHdvcmsgPT09ICdNYWlubmV0JyA/IGNvaW5zLmdldCgndmV0JykgOiBjb2lucy5nZXQoJ3R2ZXQnKTtcbiAgICBzdXBlcihiaXRnbywgc3RhdGljc0NvaW4pO1xuICAgIHRoaXMubmZ0Q29sbGVjdGlvbkNvbmZpZyA9IG5mdENvbGxlY3Rpb25Db25maWc7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlTkZUQ29sbGVjdGlvbkNvbnN0cnVjdG9yKGNvbmZpZzogVmV0TkZUQ29sbGVjdGlvbkNvbmZpZyk6IENvaW5Db25zdHJ1Y3RvciB7XG4gICAgcmV0dXJuIChiaXRnbzogQml0R29CYXNlKSA9PiBuZXcgVmV0TkZUQ29sbGVjdGlvbihiaXRnbywgY29uZmlnKTtcbiAgfVxuICBzdGF0aWMgY3JlYXRlTkZUQ29sbGVjdGlvbkNvbnN0cnVjdG9ycyhcbiAgICBuZnRDb2xsZWN0aW9uQ29uZmlnczogVmV0TkZUQ29sbGVjdGlvbkNvbmZpZ1tdID0gW1xuICAgICAgLi4udG9rZW5zLmJpdGNvaW4udmV0Lm5mdENvbGxlY3Rpb25zLFxuICAgICAgLi4udG9rZW5zLnRlc3RuZXQudmV0Lm5mdENvbGxlY3Rpb25zLFxuICAgIF1cbiAgKTogTmFtZWRDb2luQ29uc3RydWN0b3JbXSB7XG4gICAgY29uc3QgbmZ0Q29sbGVjdGlvbkN0b3JzOiBOYW1lZENvaW5Db25zdHJ1Y3RvcltdID0gW107XG4gICAgZm9yIChjb25zdCBjb25maWcgb2YgbmZ0Q29sbGVjdGlvbkNvbmZpZ3MpIHtcbiAgICAgIGNvbnN0IG5mdENvbGxlY3Rpb25Db25zdHJ1Y3RvciA9IFZldE5GVENvbGxlY3Rpb24uY3JlYXRlTkZUQ29sbGVjdGlvbkNvbnN0cnVjdG9yKGNvbmZpZyk7XG4gICAgICBuZnRDb2xsZWN0aW9uQ3RvcnMucHVzaCh7IG5hbWU6IGNvbmZpZy50eXBlLCBjb2luQ29uc3RydWN0b3I6IG5mdENvbGxlY3Rpb25Db25zdHJ1Y3RvciB9KTtcbiAgICB9XG4gICAgcmV0dXJuIG5mdENvbGxlY3Rpb25DdG9ycztcbiAgfVxuXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubmZ0Q29sbGVjdGlvbkNvbmZpZy5uYW1lO1xuICB9XG5cbiAgZ2V0IGNvaW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5uZnRDb2xsZWN0aW9uQ29uZmlnLmNvaW47XG4gIH1cblxuICBnZXQgbmV0d29yaygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm5mdENvbGxlY3Rpb25Db25maWcubmV0d29yaztcbiAgfVxuXG4gIGdldCBuZnRDb2xsZWN0aW9uSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5uZnRDb2xsZWN0aW9uQ29uZmlnLm5mdENvbGxlY3Rpb25JZDtcbiAgfVxuXG4gIGdldENoYWluKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubmZ0Q29sbGVjdGlvbkNvbmZpZy50eXBlO1xuICB9XG5cbiAgZ2V0QmFzZUNoYWluKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY29pbjtcbiAgfVxuXG4gIGdldEZ1bGxOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdWZXQgTkZUIENvbGxlY3Rpb24nO1xuICB9XG5cbiAgZ2V0QmFzZUZhY3RvcigpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLnBvdygxMCwgdGhpcy5uZnRDb2xsZWN0aW9uQ29uZmlnLmRlY2ltYWxQbGFjZXMpO1xuICB9XG59XG4iXX0=
@@ -1,19 +0,0 @@
1
- import { Vet } from './vet';
2
- import { BitGoBase, CoinConstructor, NamedCoinConstructor } from '@bitgo-beta/sdk-core';
3
- import { VetTokenConfig } from '@bitgo-beta/statics';
4
- export declare class VetToken extends Vet {
5
- readonly tokenConfig: VetTokenConfig;
6
- constructor(bitgo: BitGoBase, tokenConfig: VetTokenConfig);
7
- static createTokenConstructor(config: VetTokenConfig): CoinConstructor;
8
- static createTokenConstructors(): NamedCoinConstructor[];
9
- get name(): string;
10
- get coin(): string;
11
- get network(): string;
12
- get contractAddress(): string;
13
- get decimalPlaces(): number;
14
- getChain(): string;
15
- getBaseChain(): string;
16
- getFullName(): string;
17
- getBaseFactor(): number;
18
- }
19
- //# sourceMappingURL=vetToken.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vetToken.d.ts","sourceRoot":"","sources":["../../src/vetToken.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,cAAc,EAAiB,MAAM,qBAAqB,CAAC;AAEpE,qBAAa,QAAS,SAAQ,GAAG;IAC/B,SAAgB,WAAW,EAAE,cAAc,CAAC;gBAEhC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc;IAMzD,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,eAAe;IAItE,MAAM,CAAC,uBAAuB,IAAI,oBAAoB,EAAE;IASxD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,QAAQ,IAAI,MAAM;IAIlB,YAAY,IAAI,MAAM;IAItB,WAAW,IAAI,MAAM;IAIrB,aAAa,IAAI,MAAM;CAGxB"}
@@ -1,52 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VetToken = void 0;
4
- const vet_1 = require("./vet");
5
- const statics_1 = require("@bitgo-beta/statics");
6
- class VetToken extends vet_1.Vet {
7
- constructor(bitgo, tokenConfig) {
8
- const staticsCoin = tokenConfig.network === 'Mainnet' ? statics_1.coins.get('vet') : statics_1.coins.get('tvet');
9
- super(bitgo, staticsCoin);
10
- this.tokenConfig = tokenConfig;
11
- }
12
- static createTokenConstructor(config) {
13
- return (bitgo) => new VetToken(bitgo, config);
14
- }
15
- static createTokenConstructors() {
16
- const tokensCtors = [];
17
- for (const token of [...statics_1.tokens.bitcoin.vet.tokens, ...statics_1.tokens.testnet.vet.tokens]) {
18
- const tokenConstructor = VetToken.createTokenConstructor(token);
19
- tokensCtors.push({ name: token.type, coinConstructor: tokenConstructor });
20
- }
21
- return tokensCtors;
22
- }
23
- get name() {
24
- return this.tokenConfig.name;
25
- }
26
- get coin() {
27
- return this.tokenConfig.coin;
28
- }
29
- get network() {
30
- return this.tokenConfig.network;
31
- }
32
- get contractAddress() {
33
- return this.tokenConfig.contractAddress;
34
- }
35
- get decimalPlaces() {
36
- return this.tokenConfig.decimalPlaces;
37
- }
38
- getChain() {
39
- return this.tokenConfig.type;
40
- }
41
- getBaseChain() {
42
- return this.coin;
43
- }
44
- getFullName() {
45
- return 'Vet Token';
46
- }
47
- getBaseFactor() {
48
- return Math.pow(10, this.tokenConfig.decimalPlaces);
49
- }
50
- }
51
- exports.VetToken = VetToken;
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmV0VG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmV0VG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQTRCO0FBRTVCLGlEQUFvRTtBQUVwRSxNQUFhLFFBQVMsU0FBUSxTQUFHO0lBRy9CLFlBQVksS0FBZ0IsRUFBRSxXQUEyQjtRQUN2RCxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsT0FBTyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3RixLQUFLLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxNQUFNLENBQUMsc0JBQXNCLENBQUMsTUFBc0I7UUFDbEQsT0FBTyxDQUFDLEtBQWdCLEVBQUUsRUFBRSxDQUFDLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsTUFBTSxDQUFDLHVCQUF1QjtRQUM1QixNQUFNLFdBQVcsR0FBMkIsRUFBRSxDQUFDO1FBQy9DLEtBQUssTUFBTSxLQUFLLElBQUksQ0FBQyxHQUFHLGdCQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxnQkFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNqRixNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNoRSxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUM1RSxDQUFDO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RELENBQUM7Q0FDRjtBQXpERCw0QkF5REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWZXQgfSBmcm9tICcuL3ZldCc7XG5pbXBvcnQgeyBCaXRHb0Jhc2UsIENvaW5Db25zdHJ1Y3RvciwgTmFtZWRDb2luQ29uc3RydWN0b3IgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBWZXRUb2tlbkNvbmZpZywgY29pbnMsIHRva2VucyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuXG5leHBvcnQgY2xhc3MgVmV0VG9rZW4gZXh0ZW5kcyBWZXQge1xuICBwdWJsaWMgcmVhZG9ubHkgdG9rZW5Db25maWc6IFZldFRva2VuQ29uZmlnO1xuXG4gIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UsIHRva2VuQ29uZmlnOiBWZXRUb2tlbkNvbmZpZykge1xuICAgIGNvbnN0IHN0YXRpY3NDb2luID0gdG9rZW5Db25maWcubmV0d29yayA9PT0gJ01haW5uZXQnID8gY29pbnMuZ2V0KCd2ZXQnKSA6IGNvaW5zLmdldCgndHZldCcpO1xuICAgIHN1cGVyKGJpdGdvLCBzdGF0aWNzQ29pbik7XG4gICAgdGhpcy50b2tlbkNvbmZpZyA9IHRva2VuQ29uZmlnO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZVRva2VuQ29uc3RydWN0b3IoY29uZmlnOiBWZXRUb2tlbkNvbmZpZyk6IENvaW5Db25zdHJ1Y3RvciB7XG4gICAgcmV0dXJuIChiaXRnbzogQml0R29CYXNlKSA9PiBuZXcgVmV0VG9rZW4oYml0Z28sIGNvbmZpZyk7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKTogTmFtZWRDb2luQ29uc3RydWN0b3JbXSB7XG4gICAgY29uc3QgdG9rZW5zQ3RvcnM6IE5hbWVkQ29pbkNvbnN0cnVjdG9yW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHRva2VuIG9mIFsuLi50b2tlbnMuYml0Y29pbi52ZXQudG9rZW5zLCAuLi50b2tlbnMudGVzdG5ldC52ZXQudG9rZW5zXSkge1xuICAgICAgY29uc3QgdG9rZW5Db25zdHJ1Y3RvciA9IFZldFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW4pO1xuICAgICAgdG9rZW5zQ3RvcnMucHVzaCh7IG5hbWU6IHRva2VuLnR5cGUsIGNvaW5Db25zdHJ1Y3RvcjogdG9rZW5Db25zdHJ1Y3RvciB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHRva2Vuc0N0b3JzO1xuICB9XG5cbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbkNvbmZpZy5uYW1lO1xuICB9XG5cbiAgZ2V0IGNvaW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbkNvbmZpZy5jb2luO1xuICB9XG5cbiAgZ2V0IG5ldHdvcmsoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbkNvbmZpZy5uZXR3b3JrO1xuICB9XG5cbiAgZ2V0IGNvbnRyYWN0QWRkcmVzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRva2VuQ29uZmlnLmNvbnRyYWN0QWRkcmVzcztcbiAgfVxuXG4gIGdldCBkZWNpbWFsUGxhY2VzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5Db25maWcuZGVjaW1hbFBsYWNlcztcbiAgfVxuXG4gIGdldENoYWluKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5Db25maWcudHlwZTtcbiAgfVxuXG4gIGdldEJhc2VDaGFpbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNvaW47XG4gIH1cblxuICBnZXRGdWxsTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnVmV0IFRva2VuJztcbiAgfVxuXG4gIGdldEJhc2VGYWN0b3IoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5wb3coMTAsIHRoaXMudG9rZW5Db25maWcuZGVjaW1hbFBsYWNlcyk7XG4gIH1cbn1cbiJdfQ==