@bitgo-beta/sdk-coin-btc 1.2.3-alpha.42 → 1.2.3-alpha.420

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.
@@ -0,0 +1,8 @@
1
+ import { BitGoBase } from '@bitgo-beta/sdk-core';
2
+ export { Btc, VerifyRecoveryTransactionOptions, InscriptionBuilder } from '@bitgo-beta/abstract-utxo';
3
+ export { Tbtc } from '@bitgo-beta/abstract-utxo';
4
+ export { Tbtcsig } from '@bitgo-beta/abstract-utxo';
5
+ export { Tbtc4 } from '@bitgo-beta/abstract-utxo';
6
+ export { Tbtcbgsig } from '@bitgo-beta/abstract-utxo';
7
+ export declare const register: (sdk: BitGoBase) => void;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,OAAO,EAAE,GAAG,EAAE,gCAAgC,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACtG,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,eAAO,MAAM,QAAQ,QAAS,SAAS,KAAG,IAMzC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { Btc, Tbtc, Tbtc4, Tbtcsig, Tbtcbgsig } from '@bitgo-beta/abstract-utxo';
2
+ export { Btc, InscriptionBuilder } from '@bitgo-beta/abstract-utxo';
3
+ export { Tbtc } from '@bitgo-beta/abstract-utxo';
4
+ export { Tbtcsig } from '@bitgo-beta/abstract-utxo';
5
+ export { Tbtc4 } from '@bitgo-beta/abstract-utxo';
6
+ export { Tbtcbgsig } from '@bitgo-beta/abstract-utxo';
7
+ export const register = (sdk) => {
8
+ sdk.register('btc', Btc.createInstance);
9
+ sdk.register('tbtc', Tbtc.createInstance);
10
+ sdk.register('tbtcsig', Tbtcsig.createInstance);
11
+ sdk.register('tbtcbgsig', Tbtcbgsig.createInstance);
12
+ sdk.register('tbtc4', Tbtc4.createInstance);
13
+ };
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVqRixPQUFPLEVBQUUsR0FBRyxFQUFvQyxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3RHLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV0RCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFjLEVBQVEsRUFBRTtJQUMvQyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNoRCxHQUFHLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDcEQsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQzlDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJ0YywgVGJ0YywgVGJ0YzQsIFRidGNzaWcsIFRidGNiZ3NpZyB9IGZyb20gJ0BiaXRnby1iZXRhL2Fic3RyYWN0LXV0eG8nO1xuXG5leHBvcnQgeyBCdGMsIFZlcmlmeVJlY292ZXJ5VHJhbnNhY3Rpb25PcHRpb25zLCBJbnNjcmlwdGlvbkJ1aWxkZXIgfSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC11dHhvJztcbmV4cG9ydCB7IFRidGMgfSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC11dHhvJztcbmV4cG9ydCB7IFRidGNzaWcgfSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC11dHhvJztcbmV4cG9ydCB7IFRidGM0IH0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3QtdXR4byc7XG5leHBvcnQgeyBUYnRjYmdzaWcgfSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC11dHhvJztcblxuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyID0gKHNkazogQml0R29CYXNlKTogdm9pZCA9PiB7XG4gIHNkay5yZWdpc3RlcignYnRjJywgQnRjLmNyZWF0ZUluc3RhbmNlKTtcbiAgc2RrLnJlZ2lzdGVyKCd0YnRjJywgVGJ0Yy5jcmVhdGVJbnN0YW5jZSk7XG4gIHNkay5yZWdpc3RlcigndGJ0Y3NpZycsIFRidGNzaWcuY3JlYXRlSW5zdGFuY2UpO1xuICBzZGsucmVnaXN0ZXIoJ3RidGNiZ3NpZycsIFRidGNiZ3NpZy5jcmVhdGVJbnN0YW5jZSk7XG4gIHNkay5yZWdpc3RlcigndGJ0YzQnLCBUYnRjNC5jcmVhdGVJbnN0YW5jZSk7XG59O1xuIl19
package/package.json CHANGED
@@ -1,24 +1,38 @@
1
1
  {
2
2
  "name": "@bitgo-beta/sdk-coin-btc",
3
- "version": "1.2.3-alpha.42",
3
+ "version": "1.2.3-alpha.420",
4
4
  "description": "BitGo SDK coin library for Bitcoin",
5
- "main": "./dist/src/index.js",
6
- "types": "./dist/src/index.d.ts",
5
+ "main": "./dist/cjs/src/index.js",
6
+ "module": "./dist/esm/index.js",
7
+ "browser": "./dist/esm/index.js",
8
+ "types": "./dist/cjs/src/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "import": {
12
+ "types": "./dist/esm/index.d.ts",
13
+ "default": "./dist/esm/index.js"
14
+ },
15
+ "require": {
16
+ "types": "./dist/cjs/src/index.d.ts",
17
+ "default": "./dist/cjs/src/index.js"
18
+ }
19
+ }
20
+ },
7
21
  "scripts": {
8
- "build": "yarn tsc --build --incremental --verbose .",
22
+ "build": "npm run build:cjs && npm run build:esm",
23
+ "build:cjs": "yarn tsc --build --incremental --verbose .",
24
+ "build:esm": "yarn tsc --project tsconfig.esm.json",
9
25
  "fmt": "prettier --write .",
10
- "check-fmt": "prettier --check .",
11
- "clean": "rm -r ./dist",
26
+ "check-fmt": "prettier --check '**/*.{ts,js,json}'",
27
+ "clean": "rm -rf ./dist",
12
28
  "lint": "eslint --quiet .",
13
29
  "prepare": "npm run build",
14
- "test": "npm run coverage",
15
- "coverage": "nyc -- npm run unit-test",
16
- "unit-test": "mocha"
30
+ "unit-test": "echo 'test in abstract-utxo'"
17
31
  },
18
32
  "author": "BitGo SDK Team <sdkteam@bitgo.com>",
19
33
  "license": "MIT",
20
34
  "engines": {
21
- "node": ">=14 <17"
35
+ "node": ">=20 <23"
22
36
  },
23
37
  "repository": {
24
38
  "type": "git",
@@ -40,14 +54,12 @@
40
54
  ]
41
55
  },
42
56
  "dependencies": {
43
- "@bitgo-beta/abstract-utxo": "1.6.1-alpha.42",
44
- "@bitgo-beta/sdk-core": "2.4.1-alpha.42",
45
- "@bitgo-beta/utxo-lib": "4.0.1-alpha.42",
46
- "@bitgo-beta/utxo-ord": "^1.0.0"
47
- },
48
- "devDependencies": {
49
- "@bitgo-beta/sdk-api": "1.6.1-alpha.42",
50
- "@bitgo-beta/sdk-test": "^1.2.15"
57
+ "@bitgo-beta/abstract-utxo": "1.6.1-alpha.423",
58
+ "@bitgo-beta/sdk-core": "2.4.1-alpha.423"
51
59
  },
52
- "gitHead": "1d4d7fb4d117d6b1c3493baa99edd7dd6a4710c6"
60
+ "gitHead": "236e19f2651411a2da2ed3c0f1b074f02a36b39d",
61
+ "files": [
62
+ "dist/cjs",
63
+ "dist/esm"
64
+ ]
53
65
  }
package/.eslintignore DELETED
@@ -1,5 +0,0 @@
1
- node_modules
2
- .idea
3
- public
4
- dist
5
-
package/.mocharc.yml DELETED
@@ -1,8 +0,0 @@
1
- require: 'ts-node/register'
2
- timeout: '60000'
3
- reporter: 'min'
4
- reporter-option:
5
- - 'cdn=true'
6
- - 'json=false'
7
- exit: true
8
- spec: ['test/unit/**/*.ts']
package/CHANGELOG.md DELETED
@@ -1,116 +0,0 @@
1
- # Change Log
2
-
3
- All notable changes to this project will be documented in this file.
4
- See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
-
6
- ## [1.3.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.3.5...@bitgo/sdk-coin-btc@1.3.6) (2023-02-17)
7
-
8
- **Note:** Version bump only for package @bitgo/sdk-coin-btc
9
-
10
- ## [1.3.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.3.2...@bitgo/sdk-coin-btc@1.3.5) (2023-02-16)
11
-
12
- **Note:** Version bump only for package @bitgo/sdk-coin-btc
13
-
14
- ## [1.3.4](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.3.2...@bitgo/sdk-coin-btc@1.3.4) (2023-02-08)
15
-
16
- **Note:** Version bump only for package @bitgo/sdk-coin-btc
17
-
18
- ## [1.3.3](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.3.2...@bitgo/sdk-coin-btc@1.3.3) (2023-01-30)
19
-
20
- **Note:** Version bump only for package @bitgo/sdk-coin-btc
21
-
22
- ## [1.3.2](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.3.1...@bitgo/sdk-coin-btc@1.3.2) (2023-01-25)
23
-
24
- **Note:** Version bump only for package @bitgo/sdk-coin-btc
25
-
26
- ## [1.3.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.3.0...@bitgo/sdk-coin-btc@1.3.1) (2022-12-23)
27
-
28
- **Note:** Version bump only for package @bitgo/sdk-coin-btc
29
-
30
- # [1.3.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.2.8...@bitgo/sdk-coin-btc@1.3.0) (2022-12-20)
31
-
32
- ### Features
33
-
34
- - **core:** add register to base interface ([2c08793](https://github.com/BitGo/BitGoJS/commit/2c087937608f6fa6246cf44a29c91ef40713fb74))
35
-
36
- ## [1.2.8](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.2.7...@bitgo/sdk-coin-btc@1.2.8) (2022-12-09)
37
-
38
- **Note:** Version bump only for package @bitgo/sdk-coin-btc
39
-
40
- ## [1.2.7](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.2.6...@bitgo/sdk-coin-btc@1.2.7) (2022-12-06)
41
-
42
- **Note:** Version bump only for package @bitgo/sdk-coin-btc
43
-
44
- ## [1.2.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.2.5...@bitgo/sdk-coin-btc@1.2.6) (2022-12-01)
45
-
46
- **Note:** Version bump only for package @bitgo/sdk-coin-btc
47
-
48
- ## [1.2.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.2.0...@bitgo/sdk-coin-btc@1.2.5) (2022-11-29)
49
-
50
- **Note:** Version bump only for package @bitgo/sdk-coin-btc
51
-
52
- ## [1.2.4](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.2.0...@bitgo/sdk-coin-btc@1.2.4) (2022-11-04)
53
-
54
- **Note:** Version bump only for package @bitgo/sdk-coin-btc
55
-
56
- ## [1.2.2](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.2.0...@bitgo/sdk-coin-btc@1.2.2) (2022-10-27)
57
-
58
- **Note:** Version bump only for package @bitgo/sdk-coin-btc
59
-
60
- ## [1.2.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.2.0...@bitgo/sdk-coin-btc@1.2.1) (2022-10-25)
61
-
62
- **Note:** Version bump only for package @bitgo/sdk-coin-btc
63
-
64
- # [1.2.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.0.1-rc.10...@bitgo/sdk-coin-btc@1.2.0) (2022-10-18)
65
-
66
- ### Features
67
-
68
- - **sdk-core:** create ILightning interface ([6a2f347](https://github.com/BitGo/BitGoJS/commit/6a2f347983ee0e8abba5e457159842e4d1f56f50))
69
-
70
- ## [1.0.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.0.1-rc.10...@bitgo/sdk-coin-btc@1.0.1) (2022-07-19)
71
-
72
- **Note:** Version bump only for package @bitgo/sdk-coin-btc
73
-
74
- ## [1.0.1-rc.10](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.0.1-rc.8...@bitgo/sdk-coin-btc@1.0.1-rc.10) (2022-07-19)
75
-
76
- **Note:** Version bump only for package @bitgo/sdk-coin-btc
77
-
78
- ## [1.0.1-rc.9](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.0.1-rc.8...@bitgo/sdk-coin-btc@1.0.1-rc.9) (2022-07-18)
79
-
80
- **Note:** Version bump only for package @bitgo/sdk-coin-btc
81
-
82
- ## [1.0.1-rc.8](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.0.1-rc.7...@bitgo/sdk-coin-btc@1.0.1-rc.8) (2022-07-15)
83
-
84
- **Note:** Version bump only for package @bitgo/sdk-coin-btc
85
-
86
- ## [1.0.1-rc.7](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.0.1-rc.5...@bitgo/sdk-coin-btc@1.0.1-rc.7) (2022-07-15)
87
-
88
- **Note:** Version bump only for package @bitgo/sdk-coin-btc
89
-
90
- ## [1.0.1-rc.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.0.1-rc.5...@bitgo/sdk-coin-btc@1.0.1-rc.6) (2022-07-14)
91
-
92
- **Note:** Version bump only for package @bitgo/sdk-coin-btc
93
-
94
- ## [1.0.1-rc.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.0.1-rc.4...@bitgo/sdk-coin-btc@1.0.1-rc.5) (2022-07-12)
95
-
96
- **Note:** Version bump only for package @bitgo/sdk-coin-btc
97
-
98
- ## [1.0.1-rc.4](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.0.1-rc.3...@bitgo/sdk-coin-btc@1.0.1-rc.4) (2022-07-11)
99
-
100
- **Note:** Version bump only for package @bitgo/sdk-coin-btc
101
-
102
- ## [1.0.1-rc.3](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.0.1-rc.2...@bitgo/sdk-coin-btc@1.0.1-rc.3) (2022-07-07)
103
-
104
- **Note:** Version bump only for package @bitgo/sdk-coin-btc
105
-
106
- ## [1.0.1-rc.2](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.0.1-rc.1...@bitgo/sdk-coin-btc@1.0.1-rc.2) (2022-07-05)
107
-
108
- **Note:** Version bump only for package @bitgo/sdk-coin-btc
109
-
110
- ## [1.0.1-rc.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.0.1-rc.0...@bitgo/sdk-coin-btc@1.0.1-rc.1) (2022-07-01)
111
-
112
- **Note:** Version bump only for package @bitgo/sdk-coin-btc
113
-
114
- ## 1.0.1-rc.0 (2022-06-30)
115
-
116
- **Note:** Version bump only for package @bitgo/sdk-coin-btc
package/dist/src/btc.d.ts DELETED
@@ -1,17 +0,0 @@
1
- import { AbstractUtxoCoin, UtxoNetwork } from '@bitgo-beta/abstract-utxo';
2
- import { BitGoBase, BaseCoin, VerifyRecoveryTransactionOptions as BaseVerifyRecoveryTransactionOptions, Wallet } from '@bitgo-beta/sdk-core';
3
- import { InscriptionBuilder } from './inscriptionBuilder';
4
- export interface VerifyRecoveryTransactionOptions extends BaseVerifyRecoveryTransactionOptions {
5
- transactionHex: string;
6
- }
7
- export declare class Btc extends AbstractUtxoCoin {
8
- constructor(bitgo: BitGoBase, network?: UtxoNetwork);
9
- static createInstance(bitgo: BitGoBase): BaseCoin;
10
- getChain(): string;
11
- getFamily(): string;
12
- getFullName(): string;
13
- supportsBlockTarget(): boolean;
14
- supportsLightning(): boolean;
15
- getInscriptionBuilder(wallet: Wallet): InscriptionBuilder;
16
- }
17
- //# sourceMappingURL=btc.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"btc.d.ts","sourceRoot":"","sources":["../../src/btc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EACL,SAAS,EACT,QAAQ,EACR,gCAAgC,IAAI,oCAAoC,EACxE,MAAM,EACP,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,WAAW,gCAAiC,SAAQ,oCAAoC;IAC5F,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,GAAI,SAAQ,gBAAgB;gBAC3B,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,WAAW;IAInD,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ;IAIjD,QAAQ,IAAI,MAAM;IAIlB,SAAS,IAAI,MAAM;IAInB,WAAW,IAAI,MAAM;IAIrB,mBAAmB,IAAI,OAAO;IAI9B,iBAAiB,IAAI,OAAO;IAI5B,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB;CAG1D"}
package/dist/src/btc.js DELETED
@@ -1,53 +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
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.Btc = void 0;
23
- const abstract_utxo_1 = require("@bitgo-beta/abstract-utxo");
24
- const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
25
- const inscriptionBuilder_1 = require("./inscriptionBuilder");
26
- class Btc extends abstract_utxo_1.AbstractUtxoCoin {
27
- constructor(bitgo, network) {
28
- super(bitgo, network || utxolib.networks.bitcoin);
29
- }
30
- static createInstance(bitgo) {
31
- return new Btc(bitgo);
32
- }
33
- getChain() {
34
- return 'btc';
35
- }
36
- getFamily() {
37
- return 'btc';
38
- }
39
- getFullName() {
40
- return 'Bitcoin';
41
- }
42
- supportsBlockTarget() {
43
- return true;
44
- }
45
- supportsLightning() {
46
- return true;
47
- }
48
- getInscriptionBuilder(wallet) {
49
- return new inscriptionBuilder_1.InscriptionBuilder(wallet, this);
50
- }
51
- }
52
- exports.Btc = Btc;
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2J0Yy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkRBQTBFO0FBTzFFLDhEQUFnRDtBQUNoRCw2REFBMEQ7QUFNMUQsTUFBYSxHQUFJLFNBQVEsZ0NBQWdCO0lBQ3ZDLFlBQVksS0FBZ0IsRUFBRSxPQUFxQjtRQUNqRCxLQUFLLENBQUMsS0FBSyxFQUFFLE9BQU8sSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQWdCO1FBQ3BDLE9BQU8sSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQscUJBQXFCLENBQUMsTUFBYztRQUNsQyxPQUFPLElBQUksdUNBQWtCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzlDLENBQUM7Q0FDRjtBQWhDRCxrQkFnQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdFV0eG9Db2luLCBVdHhvTmV0d29yayB9IGZyb20gJ0BiaXRnby1iZXRhL2Fic3RyYWN0LXV0eG8nO1xuaW1wb3J0IHtcbiAgQml0R29CYXNlLFxuICBCYXNlQ29pbixcbiAgVmVyaWZ5UmVjb3ZlcnlUcmFuc2FjdGlvbk9wdGlvbnMgYXMgQmFzZVZlcmlmeVJlY292ZXJ5VHJhbnNhY3Rpb25PcHRpb25zLFxuICBXYWxsZXQsXG59IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuaW1wb3J0IHsgSW5zY3JpcHRpb25CdWlsZGVyIH0gZnJvbSAnLi9pbnNjcmlwdGlvbkJ1aWxkZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeVJlY292ZXJ5VHJhbnNhY3Rpb25PcHRpb25zIGV4dGVuZHMgQmFzZVZlcmlmeVJlY292ZXJ5VHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgdHJhbnNhY3Rpb25IZXg6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIEJ0YyBleHRlbmRzIEFic3RyYWN0VXR4b0NvaW4ge1xuICBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBuZXR3b3JrPzogVXR4b05ldHdvcmspIHtcbiAgICBzdXBlcihiaXRnbywgbmV0d29yayB8fCB1dHhvbGliLm5ldHdvcmtzLmJpdGNvaW4pO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUluc3RhbmNlKGJpdGdvOiBCaXRHb0Jhc2UpOiBCYXNlQ29pbiB7XG4gICAgcmV0dXJuIG5ldyBCdGMoYml0Z28pO1xuICB9XG5cbiAgZ2V0Q2hhaW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2J0Yyc7XG4gIH1cblxuICBnZXRGYW1pbHkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2J0Yyc7XG4gIH1cblxuICBnZXRGdWxsTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnQml0Y29pbic7XG4gIH1cblxuICBzdXBwb3J0c0Jsb2NrVGFyZ2V0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgc3VwcG9ydHNMaWdodG5pbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBnZXRJbnNjcmlwdGlvbkJ1aWxkZXIod2FsbGV0OiBXYWxsZXQpOiBJbnNjcmlwdGlvbkJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgSW5zY3JpcHRpb25CdWlsZGVyKHdhbGxldCwgdGhpcyk7XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +0,0 @@
1
- export * from './btc';
2
- export * from './tbtc';
3
- export * from './register';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC"}
package/dist/src/index.js DELETED
@@ -1,16 +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
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
- };
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./btc"), exports);
14
- __exportStar(require("./tbtc"), exports);
15
- __exportStar(require("./register"), exports);
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsd0NBQXNCO0FBQ3RCLHlDQUF1QjtBQUN2Qiw2Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2J0Yyc7XG5leHBvcnQgKiBmcm9tICcuL3RidGMnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWdpc3Rlcic7XG4iXX0=
@@ -1,50 +0,0 @@
1
- /// <reference types="node" />
2
- import { AbstractUtxoCoin } from '@bitgo-beta/abstract-utxo';
3
- import { IInscriptionBuilder, IWallet, PrebuildTransactionResult, PreparedInscriptionRevealData, SubmitTransactionResponse } from '@bitgo-beta/sdk-core';
4
- import * as utxolib from '@bitgo-beta/utxo-lib';
5
- export declare class InscriptionBuilder implements IInscriptionBuilder {
6
- private readonly wallet;
7
- private readonly coin;
8
- constructor(wallet: IWallet, coin: AbstractUtxoCoin);
9
- prepareReveal(inscriptionData: Buffer, contentType: string): Promise<PreparedInscriptionRevealData>;
10
- /**
11
- * Build a transaction to send an inscription
12
- * @param satPoint Satpoint you want to send
13
- * @param recipient Address you want to send to
14
- * @param feeRateSatKB Fee rate for transaction
15
- * @param signer first signer of the transaction
16
- * @param cosigner second signer of the transaction
17
- * @param inscriptionConstraints.minChangeOutput (optional) the minimum size of the change output
18
- * @param inscriptionConstraints.minInscriptionOutput (optional) the minimum number of sats of the output containing the inscription
19
- * @param inscriptionConstraints.maxInscriptionOutput (optional) the maximum number of sats of the output containing the inscription
20
- * @param changeAddressType Address type of the change address
21
- */
22
- prepareTransfer(satPoint: string, recipient: string, feeRateSatKB: number, { signer, cosigner, inscriptionConstraints, changeAddressType, }: {
23
- signer?: utxolib.bitgo.KeyName;
24
- cosigner?: utxolib.bitgo.KeyName;
25
- inscriptionConstraints?: {
26
- minChangeOutput?: bigint;
27
- minInscriptionOutput?: bigint;
28
- maxInscriptionOutput?: bigint;
29
- };
30
- changeAddressType?: utxolib.bitgo.outputScripts.ScriptType2Of3;
31
- }): Promise<PrebuildTransactionResult>;
32
- /**
33
- *
34
- * @param walletPassphrase
35
- * @param tapLeafScript
36
- * @param commitAddress
37
- * @param unsignedCommitTx
38
- * @param commitTransactionUnspents
39
- * @param recipientAddress
40
- * @param inscriptionData
41
- */
42
- signAndSendReveal(walletPassphrase: string, tapLeafScript: utxolib.bitgo.TapLeafScript, commitAddress: string, unsignedCommitTx: Buffer, commitTransactionUnspents: utxolib.bitgo.WalletUnspent[], recipientAddress: string, inscriptionData: Buffer): Promise<SubmitTransactionResponse>;
43
- /**
44
- * Sign and send a transaction that transfers an inscription
45
- * @param walletPassphrase passphrase to unlock your keys
46
- * @param txPrebuild this is the output of `inscription.prepareTransfer`
47
- */
48
- signAndSendTransfer(walletPassphrase: string, txPrebuild: PrebuildTransactionResult): Promise<SubmitTransactionResponse>;
49
- }
50
- //# sourceMappingURL=inscriptionBuilder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inscriptionBuilder.d.ts","sourceRoot":"","sources":["../../src/inscriptionBuilder.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAiB,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAEL,mBAAmB,EACnB,OAAO,EAEP,yBAAyB,EACzB,6BAA6B,EAC7B,yBAAyB,EAG1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAYhD,qBAAa,kBAAmB,YAAW,mBAAmB;IAC5D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmB;gBAE5B,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB;IAK7C,aAAa,CAAC,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAWzG;;;;;;;;;;;OAWG;IACG,eAAe,CACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,EACE,MAAe,EACf,QAAkB,EAClB,sBAAsD,EACtD,iBAA2B,GAC5B,EAAE;QACD,MAAM,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QACjC,sBAAsB,CAAC,EAAE;YACvB,eAAe,CAAC,EAAE,MAAM,CAAC;YACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;YAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;SAC/B,CAAC;QACF,iBAAiB,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC;KAChE,GACA,OAAO,CAAC,yBAAyB,CAAC;IAkDrC;;;;;;;;;OASG;IACG,iBAAiB,CACrB,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,aAAa,EAC1C,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,EACxB,yBAAyB,EAAE,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,EACxD,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,yBAAyB,CAAC;IAgCrC;;;;OAIG;IACG,mBAAmB,CACvB,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,yBAAyB,GACpC,OAAO,CAAC,yBAAyB,CAAC;CAOtC"}
@@ -1,137 +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
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.InscriptionBuilder = void 0;
26
- const abstract_utxo_1 = require("@bitgo-beta/abstract-utxo");
27
- const sdk_core_1 = require("@bitgo-beta/sdk-core");
28
- const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
29
- const utxo_ord_1 = require("@bitgo-beta/utxo-ord");
30
- const assert_1 = __importDefault(require("assert"));
31
- class InscriptionBuilder {
32
- constructor(wallet, coin) {
33
- this.wallet = wallet;
34
- this.coin = coin;
35
- }
36
- async prepareReveal(inscriptionData, contentType) {
37
- const user = await this.wallet.baseCoin.keychains().get({ id: this.wallet.keyIds()[sdk_core_1.KeyIndices.USER] });
38
- assert_1.default(user.pub);
39
- const derived = this.coin.deriveKeyWithSeed({ key: user.pub, seed: inscriptionData.toString() });
40
- const compressedPublicKey = sdk_core_1.xpubToCompressedPub(derived.key);
41
- const xOnlyPublicKey = utxolib.bitgo.outputScripts.toXOnlyPublicKey(Buffer.from(compressedPublicKey, 'hex'));
42
- return utxo_ord_1.inscriptions.createInscriptionRevealData(xOnlyPublicKey, contentType, inscriptionData, this.coin.network);
43
- }
44
- /**
45
- * Build a transaction to send an inscription
46
- * @param satPoint Satpoint you want to send
47
- * @param recipient Address you want to send to
48
- * @param feeRateSatKB Fee rate for transaction
49
- * @param signer first signer of the transaction
50
- * @param cosigner second signer of the transaction
51
- * @param inscriptionConstraints.minChangeOutput (optional) the minimum size of the change output
52
- * @param inscriptionConstraints.minInscriptionOutput (optional) the minimum number of sats of the output containing the inscription
53
- * @param inscriptionConstraints.maxInscriptionOutput (optional) the maximum number of sats of the output containing the inscription
54
- * @param changeAddressType Address type of the change address
55
- */
56
- async prepareTransfer(satPoint, recipient, feeRateSatKB, { signer = 'user', cosigner = 'bitgo', inscriptionConstraints = utxo_ord_1.DefaultInscriptionConstraints, changeAddressType = 'p2wsh', }) {
57
- assert_1.default(utxo_ord_1.isSatPoint(satPoint));
58
- const rootWalletKeys = await abstract_utxo_1.getWalletKeys(this.coin, this.wallet);
59
- const parsedSatPoint = utxo_ord_1.parseSatPoint(satPoint);
60
- const transaction = await this.wallet.getTransaction({ txHash: parsedSatPoint.txid });
61
- // TODO(BG-70900): allow supplemental unspents
62
- const unspents = [transaction.outputs[parsedSatPoint.vout]];
63
- unspents[0].value = BigInt(unspents[0].value);
64
- const txInfo = { unspents };
65
- const changeAddress = await this.wallet.createAddress({
66
- chain: utxolib.bitgo.getInternalChainCode(changeAddressType),
67
- });
68
- const outputs = {
69
- inscriptionRecipient: recipient,
70
- changeOutputs: [
71
- { chain: changeAddress.chain, index: changeAddress.index },
72
- { chain: changeAddress.chain, index: changeAddress.index },
73
- ],
74
- };
75
- const psbt = utxo_ord_1.createPsbtForSingleInscriptionPassingTransaction(this.coin.network, {
76
- walletKeys: rootWalletKeys,
77
- signer,
78
- cosigner,
79
- }, unspents, satPoint, outputs, { feeRateSatKB, ...inscriptionConstraints });
80
- const outputLayout = utxo_ord_1.findOutputLayoutForWalletUnspents(unspents, satPoint, outputs, {
81
- feeRateSatKB,
82
- ...inscriptionConstraints,
83
- });
84
- if (!outputLayout) {
85
- throw new Error(`could not output layout for inscription passing transaction`);
86
- }
87
- return {
88
- walletId: this.wallet.id(),
89
- txHex: psbt.getUnsignedTx().toHex(),
90
- txInfo,
91
- feeInfo: { fee: Number(outputLayout.layout.feeOutput), feeString: outputLayout.layout.feeOutput.toString() },
92
- };
93
- }
94
- /**
95
- *
96
- * @param walletPassphrase
97
- * @param tapLeafScript
98
- * @param commitAddress
99
- * @param unsignedCommitTx
100
- * @param commitTransactionUnspents
101
- * @param recipientAddress
102
- * @param inscriptionData
103
- */
104
- async signAndSendReveal(walletPassphrase, tapLeafScript, commitAddress, unsignedCommitTx, commitTransactionUnspents, recipientAddress, inscriptionData) {
105
- const userKeychain = await this.wallet.baseCoin.keychains().get({ id: this.wallet.keyIds()[sdk_core_1.KeyIndices.USER] });
106
- const xprv = await this.wallet.getUserPrv({ keychain: userKeychain, walletPassphrase });
107
- const halfSignedCommitTransaction = (await this.wallet.signTransaction({
108
- prv: xprv,
109
- txPrebuild: {
110
- txHex: unsignedCommitTx.toString('hex'),
111
- txInfo: { unspents: commitTransactionUnspents },
112
- },
113
- }));
114
- const derived = this.coin.deriveKeyWithSeed({ key: xprv, seed: inscriptionData.toString() });
115
- const prv = sdk_core_1.xprvToRawPrv(derived.key);
116
- const fullySignedRevealTransaction = await utxo_ord_1.inscriptions.signRevealTransaction(Buffer.from(prv, 'hex'), tapLeafScript, commitAddress, recipientAddress, Buffer.from(halfSignedCommitTransaction.txHex, 'hex'), this.coin.network);
117
- return this.wallet.submitTransaction({
118
- halfSigned: {
119
- txHex: halfSignedCommitTransaction.txHex,
120
- signedChildPsbt: fullySignedRevealTransaction.toHex(),
121
- },
122
- });
123
- }
124
- /**
125
- * Sign and send a transaction that transfers an inscription
126
- * @param walletPassphrase passphrase to unlock your keys
127
- * @param txPrebuild this is the output of `inscription.prepareTransfer`
128
- */
129
- async signAndSendTransfer(walletPassphrase, txPrebuild) {
130
- const userKeychain = await this.wallet.baseCoin.keychains().get({ id: this.wallet.keyIds()[sdk_core_1.KeyIndices.USER] });
131
- const prv = this.wallet.getUserPrv({ keychain: userKeychain, walletPassphrase });
132
- const halfSigned = (await this.wallet.signTransaction({ prv, txPrebuild }));
133
- return this.wallet.submitTransaction({ halfSigned });
134
- }
135
- }
136
- exports.InscriptionBuilder = InscriptionBuilder;
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zY3JpcHRpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2luc2NyaXB0aW9uQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkRBQTRFO0FBQzVFLG1EQVU4QjtBQUM5Qiw4REFBZ0Q7QUFDaEQsbURBUThCO0FBQzlCLG9EQUE0QjtBQUU1QixNQUFhLGtCQUFrQjtJQUk3QixZQUFZLE1BQWUsRUFBRSxJQUFzQjtRQUNqRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FBQyxlQUF1QixFQUFFLFdBQW1CO1FBQzlELE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMscUJBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkcsZ0JBQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFakIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pHLE1BQU0sbUJBQW1CLEdBQUcsOEJBQW1CLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdELE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLENBQUMs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aEIsTUFBTSxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQ3JELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUNsQixDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDO1lBQ25DLFVBQVUsRUFBRTtnQkFDVixLQUFLLEVBQUUsMkJBQTJCLENBQUMsS0FBSztnQkFDeEMsZUFBZSxFQUFFLDRCQUE0QixDQUFDLEtBQUssRUFBRTthQUN0RDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLG1CQUFtQixDQUN2QixnQkFBd0IsRUFDeEIsVUFBcUM7UUFFckMsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxxQkFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMvRyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBRWpGLE1BQU0sVUFBVSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUE4QixDQUFDO1FBQ3pHLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztDQUNGO0FBdEtELGdEQXNLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0VXR4b0NvaW4sIGdldFdhbGxldEtleXMgfSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC11dHhvJztcbmltcG9ydCB7XG4gIEhhbGZTaWduZWRVdHhvVHJhbnNhY3Rpb24sXG4gIElJbnNjcmlwdGlvbkJ1aWxkZXIsXG4gIElXYWxsZXQsXG4gIEtleUluZGljZXMsXG4gIFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHQsXG4gIFByZXBhcmVkSW5zY3JpcHRpb25SZXZlYWxEYXRhLFxuICBTdWJtaXRUcmFuc2FjdGlvblJlc3BvbnNlLFxuICB4cHJ2VG9SYXdQcnYsXG4gIHhwdWJUb0NvbXByZXNzZWRQdWIsXG59IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuaW1wb3J0IHtcbiAgY3JlYXRlUHNidEZvclNpbmdsZUluc2NyaXB0aW9uUGFzc2luZ1RyYW5zYWN0aW9uLFxuICBEZWZhdWx0SW5zY3JpcHRpb25Db25zdHJhaW50cyxcbiAgSW5zY3JpcHRpb25PdXRwdXRzLFxuICBpbnNjcmlwdGlvbnMsXG4gIHBhcnNlU2F0UG9pbnQsXG4gIGlzU2F0UG9pbnQsXG4gIGZpbmRPdXRwdXRMYXlvdXRGb3JXYWxsZXRVbnNwZW50cyxcbn0gZnJvbSAnQGJpdGdvLWJldGEvdXR4by1vcmQnO1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5leHBvcnQgY2xhc3MgSW5zY3JpcHRpb25CdWlsZGVyIGltcGxlbWVudHMgSUluc2NyaXB0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgd2FsbGV0OiBJV2FsbGV0O1xuICBwcml2YXRlIHJlYWRvbmx5IGNvaW46IEFic3RyYWN0VXR4b0NvaW47XG5cbiAgY29uc3RydWN0b3Iod2FsbGV0OiBJV2FsbGV0LCBjb2luOiBBYnN0cmFjdFV0eG9Db2luKSB7XG4gICAgdGhpcy53YWxsZXQgPSB3YWxsZXQ7XG4gICAgdGhpcy5jb2luID0gY29pbjtcbiAgfVxuXG4gIGFzeW5jIHByZXBhcmVSZXZlYWwoaW5zY3JpcHRpb25EYXRhOiBCdWZmZXIsIGNvbnRlbnRUeXBlOiBzdHJpbmcpOiBQcm9taXNlPFByZXBhcmVkSW5zY3JpcHRpb25SZXZlYWxEYXRhPiB7XG4gICAgY29uc3QgdXNlciA9IGF3YWl0IHRoaXMud2FsbGV0LmJhc2VDb2luLmtleWNoYWlucygpLmdldCh7IGlkOiB0aGlzLndhbGxldC5rZXlJZHMoKVtLZXlJbmRpY2VzLlVTRVJdIH0pO1xuICAgIGFzc2VydCh1c2VyLnB1Yik7XG5cbiAgICBjb25zdCBkZXJpdmVkID0gdGhpcy5jb2luLmRlcml2ZUtleVdpdGhTZWVkKHsga2V5OiB1c2VyLnB1Yiwgc2VlZDogaW5zY3JpcHRpb25EYXRhLnRvU3RyaW5nKCkgfSk7XG4gICAgY29uc3QgY29tcHJlc3NlZFB1YmxpY0tleSA9IHhwdWJUb0NvbXByZXNzZWRQdWIoZGVyaXZlZC5rZXkpO1xuICAgIGNvbnN0IHhPbmx5UHVibGljS2V5ID0gdXR4b2xpYi5iaXRnby5vdXRwdXRTY3JpcHRzLnRvWE9ubHlQdWJsaWNLZXkoQnVmZmVyLmZyb20oY29tcHJlc3NlZFB1YmxpY0tleSwgJ2hleCcpKTtcblxuICAgIHJldHVybiBpbnNjcmlwdGlvbnMuY3JlYXRlSW5zY3JpcHRpb25SZXZlYWxEYXRhKHhPbmx5UHVibGljS2V5LCBjb250ZW50VHlwZSwgaW5zY3JpcHRpb25EYXRhLCB0aGlzLmNvaW4ubmV0d29yayk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgYSB0cmFuc2FjdGlvbiB0byBzZW5kIGFuIGluc2NyaXB0aW9uXG4gICAqIEBwYXJhbSBzYXRQb2ludCBTYXRwb2ludCB5b3Ugd2FudCB0byBzZW5kXG4gICAqIEBwYXJhbSByZWNpcGllbnQgQWRkcmVzcyB5b3Ugd2FudCB0byBzZW5kIHRvXG4gICAqIEBwYXJhbSBmZWVSYXRlU2F0S0IgRmVlIHJhdGUgZm9yIHRyYW5zYWN0aW9uXG4gICAqIEBwYXJhbSBzaWduZXIgZmlyc3Qgc2lnbmVyIG9mIHRoZSB0cmFuc2FjdGlvblxuICAgKiBAcGFyYW0gY29zaWduZXIgc2Vjb25kIHNpZ25lciBvZiB0aGUgdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIGluc2NyaXB0aW9uQ29uc3RyYWludHMubWluQ2hhbmdlT3V0cHV0IChvcHRpb25hbCkgdGhlIG1pbmltdW0gc2l6ZSBvZiB0aGUgY2hhbmdlIG91dHB1dFxuICAgKiBAcGFyYW0gaW5zY3JpcHRpb25Db25zdHJhaW50cy5taW5JbnNjcmlwdGlvbk91dHB1dCAob3B0aW9uYWwpIHRoZSBtaW5pbXVtIG51bWJlciBvZiBzYXRzIG9mIHRoZSBvdXRwdXQgY29udGFpbmluZyB0aGUgaW5zY3JpcHRpb25cbiAgICogQHBhcmFtIGluc2NyaXB0aW9uQ29uc3RyYWludHMubWF4SW5zY3JpcHRpb25PdXRwdXQgKG9wdGlvbmFsKSB0aGUgbWF4aW11bSBudW1iZXIgb2Ygc2F0cyBvZiB0aGUgb3V0cHV0IGNvbnRhaW5pbmcgdGhlIGluc2NyaXB0aW9uXG4gICAqIEBwYXJhbSBjaGFuZ2VBZGRyZXNzVHlwZSBBZGRyZXNzIHR5cGUgb2YgdGhlIGNoYW5nZSBhZGRyZXNzXG4gICAqL1xuICBhc3luYyBwcmVwYXJlVHJhbnNmZXIoXG4gICAgc2F0UG9pbnQ6IHN0cmluZyxcbiAgICByZWNpcGllbnQ6IHN0cmluZyxcbiAgICBmZWVSYXRlU2F0S0I6IG51bWJlcixcbiAgICB7XG4gICAgICBzaWduZXIgPSAndXNlcicsXG4gICAgICBjb3NpZ25lciA9ICdiaXRnbycsXG4gICAgICBpbnNjcmlwdGlvbkNvbnN0cmFpbnRzID0gRGVmYXVsdEluc2NyaXB0aW9uQ29uc3RyYWludHMsXG4gICAgICBjaGFuZ2VBZGRyZXNzVHlwZSA9ICdwMndzaCcsXG4gICAgfToge1xuICAgICAgc2lnbmVyPzogdXR4b2xpYi5iaXRnby5LZXlOYW1lO1xuICAgICAgY29zaWduZXI/OiB1dHhvbGliLmJpdGdvLktleU5hbWU7XG4gICAgICBpbnNjcmlwdGlvbkNvbnN0cmFpbnRzPzoge1xuICAgICAgICBtaW5DaGFuZ2VPdXRwdXQ/OiBiaWdpbnQ7XG4gICAgICAgIG1pbkluc2NyaXB0aW9uT3V0cHV0PzogYmlnaW50O1xuICAgICAgICBtYXhJbnNjcmlwdGlvbk91dHB1dD86IGJpZ2ludDtcbiAgICAgIH07XG4gICAgICBjaGFuZ2VBZGRyZXNzVHlwZT86IHV0eG9saWIuYml0Z28ub3V0cHV0U2NyaXB0cy5TY3JpcHRUeXBlMk9mMztcbiAgICB9XG4gICk6IFByb21pc2U8UHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdD4ge1xuICAgIGFzc2VydChpc1NhdFBvaW50KHNhdFBvaW50KSk7XG5cbiAgICBjb25zdCByb290V2FsbGV0S2V5cyA9IGF3YWl0IGdldFdhbGxldEtleXModGhpcy5jb2luLCB0aGlzLndhbGxldCk7XG4gICAgY29uc3QgcGFyc2VkU2F0UG9pbnQgPSBwYXJzZVNhdFBvaW50KHNhdFBvaW50KTtcbiAgICBjb25zdCB0cmFuc2FjdGlvbiA9IGF3YWl0IHRoaXMud2FsbGV0LmdldFRyYW5zYWN0aW9uKHsgdHhIYXNoOiBwYXJzZWRTYXRQb2ludC50eGlkIH0pO1xuICAgIC8vIFRPRE8oQkctNzA5MDApOiBhbGxvdyBzdXBwbGVtZW50YWwgdW5zcGVudHNcbiAgICBjb25zdCB1bnNwZW50cyA9IFt0cmFuc2FjdGlvbi5vdXRwdXRzW3BhcnNlZFNhdFBvaW50LnZvdXRdXTtcbiAgICB1bnNwZW50c1swXS52YWx1ZSA9IEJpZ0ludCh1bnNwZW50c1swXS52YWx1ZSk7XG4gICAgY29uc3QgdHhJbmZvID0geyB1bnNwZW50cyB9O1xuXG4gICAgY29uc3QgY2hhbmdlQWRkcmVzcyA9IGF3YWl0IHRoaXMud2FsbGV0LmNyZWF0ZUFkZHJlc3Moe1xuICAgICAgY2hhaW46IHV0eG9saWIuYml0Z28uZ2V0SW50ZXJuYWxDaGFpbkNvZGUoY2hhbmdlQWRkcmVzc1R5cGUpLFxuICAgIH0pO1xuICAgIGNvbnN0IG91dHB1dHM6IEluc2NyaXB0aW9uT3V0cHV0cyA9IHtcbiAgICAgIGluc2NyaXB0aW9uUmVjaXBpZW50OiByZWNpcGllbnQsXG4gICAgICBjaGFuZ2VPdXRwdXRzOiBbXG4gICAgICAgIHsgY2hhaW46IGNoYW5nZUFkZHJlc3MuY2hhaW4sIGluZGV4OiBjaGFuZ2VBZGRyZXNzLmluZGV4IH0sXG4gICAgICAgIHsgY2hhaW46IGNoYW5nZUFkZHJlc3MuY2hhaW4sIGluZGV4OiBjaGFuZ2VBZGRyZXNzLmluZGV4IH0sXG4gICAgICBdLFxuICAgIH07XG5cbiAgICBjb25zdCBwc2J0ID0gY3JlYXRlUHNidEZvclNpbmdsZUluc2NyaXB0aW9uUGFzc2luZ1RyYW5zYWN0aW9uKFxuICAgICAgdGhpcy5jb2luLm5ldHdvcmssXG4gICAgICB7XG4gICAgICAgIHdhbGxldEtleXM6IHJvb3RXYWxsZXRLZXlzLFxuICAgICAgICBzaWduZXIsXG4gICAgICAgIGNvc2lnbmVyLFxuICAgICAgfSxcbiAgICAgIHVuc3BlbnRzLFxuICAgICAgc2F0UG9pbnQsXG4gICAgICBvdXRwdXRzLFxuICAgICAgeyBmZWVSYXRlU2F0S0IsIC4uLmluc2NyaXB0aW9uQ29uc3RyYWludHMgfVxuICAgICk7XG4gICAgY29uc3Qgb3V0cHV0TGF5b3V0ID0gZmluZE91dHB1dExheW91dEZvcldhbGxldFVuc3BlbnRzKHVuc3BlbnRzLCBzYXRQb2ludCwgb3V0cHV0cywge1xuICAgICAgZmVlUmF0ZVNhdEtCLFxuICAgICAgLi4uaW5zY3JpcHRpb25Db25zdHJhaW50cyxcbiAgICB9KTtcbiAgICBpZiAoIW91dHB1dExheW91dCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBjb3VsZCBub3Qgb3V0cHV0IGxheW91dCBmb3IgaW5zY3JpcHRpb24gcGFzc2luZyB0cmFuc2FjdGlvbmApO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB3YWxsZXRJZDogdGhpcy53YWxsZXQuaWQoKSxcbiAgICAgIHR4SGV4OiBwc2J0LmdldFVuc2lnbmVkVHgoKS50b0hleCgpLFxuICAgICAgdHhJbmZvLFxuICAgICAgZmVlSW5mbzogeyBmZWU6IE51bWJlcihvdXRwdXRMYXlvdXQubGF5b3V0LmZlZU91dHB1dCksIGZlZVN0cmluZzogb3V0cHV0TGF5b3V0LmxheW91dC5mZWVPdXRwdXQudG9TdHJpbmcoKSB9LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHdhbGxldFBhc3NwaHJhc2VcbiAgICogQHBhcmFtIHRhcExlYWZTY3JpcHRcbiAgICogQHBhcmFtIGNvbW1pdEFkZHJlc3NcbiAgICogQHBhcmFtIHVuc2lnbmVkQ29tbWl0VHhcbiAgICogQHBhcmFtIGNvbW1pdFRyYW5zYWN0aW9uVW5zcGVudHNcbiAgICogQHBhcmFtIHJlY2lwaWVudEFkZHJlc3NcbiAgICogQHBhcmFtIGluc2NyaXB0aW9uRGF0YVxuICAgKi9cbiAgYXN5bmMgc2lnbkFuZFNlbmRSZXZlYWwoXG4gICAgd2FsbGV0UGFzc3BocmFzZTogc3RyaW5nLFxuICAgIHRhcExlYWZTY3JpcHQ6IHV0eG9saWIuYml0Z28uVGFwTGVhZlNjcmlwdCxcbiAgICBjb21taXRBZGRyZXNzOiBzdHJpbmcsXG4gICAgdW5zaWduZWRDb21taXRUeDogQnVmZmVyLFxuICAgIGNvbW1pdFRyYW5zYWN0aW9uVW5zcGVudHM6IHV0eG9saWIuYml0Z28uV2FsbGV0VW5zcGVudFtdLFxuICAgIHJlY2lwaWVudEFkZHJlc3M6IHN0cmluZyxcbiAgICBpbnNjcmlwdGlvbkRhdGE6IEJ1ZmZlclxuICApOiBQcm9taXNlPFN1Ym1pdFRyYW5zYWN0aW9uUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1c2VyS2V5Y2hhaW4gPSBhd2FpdCB0aGlzLndhbGxldC5iYXNlQ29pbi5rZXljaGFpbnMoKS5nZXQoeyBpZDogdGhpcy53YWxsZXQua2V5SWRzKClbS2V5SW5kaWNlcy5VU0VSXSB9KTtcbiAgICBjb25zdCB4cHJ2ID0gYXdhaXQgdGhpcy53YWxsZXQuZ2V0VXNlclBydih7IGtleWNoYWluOiB1c2VyS2V5Y2hhaW4sIHdhbGxldFBhc3NwaHJhc2UgfSk7XG5cbiAgICBjb25zdCBoYWxmU2lnbmVkQ29tbWl0VHJhbnNhY3Rpb24gPSAoYXdhaXQgdGhpcy53YWxsZXQuc2lnblRyYW5zYWN0aW9uKHtcbiAgICAgIHBydjogeHBydixcbiAgICAgIHR4UHJlYnVpbGQ6IHtcbiAgICAgICAgdHhIZXg6IHVuc2lnbmVkQ29tbWl0VHgudG9TdHJpbmcoJ2hleCcpLFxuICAgICAgICB0eEluZm86IHsgdW5zcGVudHM6IGNvbW1pdFRyYW5zYWN0aW9uVW5zcGVudHMgfSxcbiAgICAgIH0sXG4gICAgfSkpIGFzIEhhbGZTaWduZWRVdHhvVHJhbnNhY3Rpb247XG5cbiAgICBjb25zdCBkZXJpdmVkID0gdGhpcy5jb2luLmRlcml2ZUtleVdpdGhTZWVkKHsga2V5OiB4cHJ2LCBzZWVkOiBpbnNjcmlwdGlvbkRhdGEudG9TdHJpbmcoKSB9KTtcbiAgICBjb25zdCBwcnYgPSB4cHJ2VG9SYXdQcnYoZGVyaXZlZC5rZXkpO1xuXG4gICAgY29uc3QgZnVsbHlTaWduZWRSZXZlYWxUcmFuc2FjdGlvbiA9IGF3YWl0IGluc2NyaXB0aW9ucy5zaWduUmV2ZWFsVHJhbnNhY3Rpb24oXG4gICAgICBCdWZmZXIuZnJvbShwcnYsICdoZXgnKSxcbiAgICAgIHRhcExlYWZTY3JpcHQsXG4gICAgICBjb21taXRBZGRyZXNzLFxuICAgICAgcmVjaXBpZW50QWRkcmVzcyxcbiAgICAgIEJ1ZmZlci5mcm9tKGhhbGZTaWduZWRDb21taXRUcmFuc2FjdGlvbi50eEhleCwgJ2hleCcpLFxuICAgICAgdGhpcy5jb2luLm5ldHdvcmtcbiAgICApO1xuXG4gICAgcmV0dXJuIHRoaXMud2FsbGV0LnN1Ym1pdFRyYW5zYWN0aW9uKHtcbiAgICAgIGhhbGZTaWduZWQ6IHtcbiAgICAgICAgdHhIZXg6IGhhbGZTaWduZWRDb21taXRUcmFuc2FjdGlvbi50eEhleCxcbiAgICAgICAgc2lnbmVkQ2hpbGRQc2J0OiBmdWxseVNpZ25lZFJldmVhbFRyYW5zYWN0aW9uLnRvSGV4KCksXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNpZ24gYW5kIHNlbmQgYSB0cmFuc2FjdGlvbiB0aGF0IHRyYW5zZmVycyBhbiBpbnNjcmlwdGlvblxuICAgKiBAcGFyYW0gd2FsbGV0UGFzc3BocmFzZSBwYXNzcGhyYXNlIHRvIHVubG9jayB5b3VyIGtleXNcbiAgICogQHBhcmFtIHR4UHJlYnVpbGQgdGhpcyBpcyB0aGUgb3V0cHV0IG9mIGBpbnNjcmlwdGlvbi5wcmVwYXJlVHJhbnNmZXJgXG4gICAqL1xuICBhc3luYyBzaWduQW5kU2VuZFRyYW5zZmVyKFxuICAgIHdhbGxldFBhc3NwaHJhc2U6IHN0cmluZyxcbiAgICB0eFByZWJ1aWxkOiBQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0XG4gICk6IFByb21pc2U8U3VibWl0VHJhbnNhY3Rpb25SZXNwb25zZT4ge1xuICAgIGNvbnN0IHVzZXJLZXljaGFpbiA9IGF3YWl0IHRoaXMud2FsbGV0LmJhc2VDb2luLmtleWNoYWlucygpLmdldCh7IGlkOiB0aGlzLndhbGxldC5rZXlJZHMoKVtLZXlJbmRpY2VzLlVTRVJdIH0pO1xuICAgIGNvbnN0IHBydiA9IHRoaXMud2FsbGV0LmdldFVzZXJQcnYoeyBrZXljaGFpbjogdXNlcktleWNoYWluLCB3YWxsZXRQYXNzcGhyYXNlIH0pO1xuXG4gICAgY29uc3QgaGFsZlNpZ25lZCA9IChhd2FpdCB0aGlzLndhbGxldC5zaWduVHJhbnNhY3Rpb24oeyBwcnYsIHR4UHJlYnVpbGQgfSkpIGFzIEhhbGZTaWduZWRVdHhvVHJhbnNhY3Rpb247XG4gICAgcmV0dXJuIHRoaXMud2FsbGV0LnN1Ym1pdFRyYW5zYWN0aW9uKHsgaGFsZlNpZ25lZCB9KTtcbiAgfVxufVxuIl19
@@ -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;AAIjD,eAAO,MAAM,QAAQ,QAAS,SAAS,KAAG,IAGzC,CAAC"}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.register = void 0;
4
- const btc_1 = require("./btc");
5
- const tbtc_1 = require("./tbtc");
6
- const register = (sdk) => {
7
- sdk.register('btc', btc_1.Btc.createInstance);
8
- sdk.register('tbtc', tbtc_1.Tbtc.createInstance);
9
- };
10
- exports.register = register;
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsK0JBQTRCO0FBQzVCLGlDQUE4QjtBQUV2QixNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQWMsRUFBUSxFQUFFO0lBQy9DLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFNBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4QyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxXQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDNUMsQ0FBQyxDQUFDO0FBSFcsUUFBQSxRQUFRLFlBR25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQnRjIH0gZnJvbSAnLi9idGMnO1xuaW1wb3J0IHsgVGJ0YyB9IGZyb20gJy4vdGJ0Yyc7XG5cbmV4cG9ydCBjb25zdCByZWdpc3RlciA9IChzZGs6IEJpdEdvQmFzZSk6IHZvaWQgPT4ge1xuICBzZGsucmVnaXN0ZXIoJ2J0YycsIEJ0Yy5jcmVhdGVJbnN0YW5jZSk7XG4gIHNkay5yZWdpc3RlcigndGJ0YycsIFRidGMuY3JlYXRlSW5zdGFuY2UpO1xufTtcbiJdfQ==
@@ -1,12 +0,0 @@
1
- /**
2
- * @prettier
3
- */
4
- import { BaseCoin, BitGoBase } from '@bitgo-beta/sdk-core';
5
- import { Btc } from './btc';
6
- export declare class Tbtc extends Btc {
7
- constructor(bitgo: BitGoBase);
8
- static createInstance(bitgo: BitGoBase): BaseCoin;
9
- getChain(): string;
10
- getFullName(): string;
11
- }
12
- //# sourceMappingURL=tbtc.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tbtc.d.ts","sourceRoot":"","sources":["../../src/tbtc.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG5B,qBAAa,IAAK,SAAQ,GAAG;gBACf,KAAK,EAAE,SAAS;IAI5B,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ;IAIjD,QAAQ;IAIR,WAAW;CAGZ"}