@bitgo-beta/sdk-coin-btc 1.0.2-beta.172 → 1.0.2-beta.1721

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.0.2-beta.172",
3
+ "version": "1.0.2-beta.1721",
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.1.1-beta.172",
44
- "@bitgo-beta/sdk-core": "1.1.1-beta.173",
45
- "@bitgo-beta/utxo-lib": "2.4.2-beta.173",
46
- "@bitgo-beta/utxo-ord": "1.0.1-beta.12"
47
- },
48
- "devDependencies": {
49
- "@bitgo-beta/sdk-api": "1.1.1-beta.173",
50
- "@bitgo-beta/sdk-test": "^1.2.15"
57
+ "@bitgo-beta/abstract-utxo": "1.1.1-beta.1729",
58
+ "@bitgo-beta/sdk-core": "8.2.1-beta.1496"
51
59
  },
52
- "gitHead": "232356ea0df7003f6a104643dbb542b789c4b26a"
60
+ "gitHead": "d8a65c3bdf981e3dd41569798398ae2df648420d",
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,49 +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
- */
41
- signAndSendReveal(walletPassphrase: string, tapLeafScript: utxolib.bitgo.TapLeafScript, commitAddress: string, unsignedCommitTx: Buffer, commitTransactionUnspents: utxolib.bitgo.WalletUnspent[], recipientAddress: string): Promise<SubmitTransactionResponse>;
42
- /**
43
- * Sign and send a transaction that transfers an inscription
44
- * @param walletPassphrase passphrase to unlock your keys
45
- * @param txPrebuild this is the output of `inscription.prepareTransfer`
46
- */
47
- signAndSendTransfer(walletPassphrase: string, txPrebuild: PrebuildTransactionResult): Promise<SubmitTransactionResponse>;
48
- }
49
- //# 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,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAEL,mBAAmB,EACnB,OAAO,EAEP,yBAAyB,EACzB,6BAA6B,EAC7B,yBAAyB,EAG1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAWhD,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;IAQzG;;;;;;;;;;;OAWG;IACG,eAAe,CACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,EACE,MAAe,EACf,QAAkB,EAClB,sBAAsD,EACtD,iBAA0B,GAC3B,EAAE;QACD,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QAC9B,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QAChC,sBAAsB,EAAE;YACtB,eAAe,CAAC,EAAE,MAAM,CAAC;YACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;YAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;SAC/B,CAAC;QACF,iBAAiB,EAAE,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC;KAC/D,GACA,OAAO,CAAC,yBAAyB,CAAC;IAiDrC;;;;;;;;OAQG;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,GACvB,OAAO,CAAC,yBAAyB,CAAC;IA8BrC;;;;OAIG;IACG,mBAAmB,CACvB,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,yBAAyB,GACpC,OAAO,CAAC,yBAAyB,CAAC;CAOtC"}
@@ -1,129 +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 sdk_core_1 = require("@bitgo-beta/sdk-core");
27
- const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
28
- const utxo_ord_1 = require("@bitgo-beta/utxo-ord");
29
- const assert_1 = __importDefault(require("assert"));
30
- class InscriptionBuilder {
31
- constructor(wallet, coin) {
32
- this.wallet = wallet;
33
- this.coin = coin;
34
- }
35
- async prepareReveal(inscriptionData, contentType) {
36
- const user = await this.wallet.baseCoin.keychains().get({ id: this.wallet.keyIds()[sdk_core_1.KeyIndices.USER] });
37
- assert_1.default(user.pub);
38
- const pubkey = Buffer.from(user.pub, 'hex');
39
- return utxo_ord_1.inscriptions.createInscriptionRevealData(pubkey, contentType, inscriptionData, this.coin.network);
40
- }
41
- /**
42
- * Build a transaction to send an inscription
43
- * @param satPoint Satpoint you want to send
44
- * @param recipient Address you want to send to
45
- * @param feeRateSatKB Fee rate for transaction
46
- * @param signer first signer of the transaction
47
- * @param cosigner second signer of the transaction
48
- * @param inscriptionConstraints.minChangeOutput (optional) the minimum size of the change output
49
- * @param inscriptionConstraints.minInscriptionOutput (optional) the minimum number of sats of the output containing the inscription
50
- * @param inscriptionConstraints.maxInscriptionOutput (optional) the maximum number of sats of the output containing the inscription
51
- * @param changeAddressType Address type of the change address
52
- */
53
- async prepareTransfer(satPoint, recipient, feeRateSatKB, { signer = 'user', cosigner = 'bitgo', inscriptionConstraints = utxo_ord_1.DefaultInscriptionConstraints, changeAddressType = 'p2tr', }) {
54
- assert_1.default(utxo_ord_1.isSatPoint(satPoint));
55
- const wk = (await this.wallet.baseCoin.keychains().list()).keys;
56
- assert_1.default(wk.length === 3);
57
- const rootWalletKeys = new utxolib.bitgo.RootWalletKeys(wk.map((k) => {
58
- assert_1.default(k.pub);
59
- return utxolib.bip32.fromBase58(k.pub);
60
- }));
61
- const parsedSatPoint = utxo_ord_1.parseSatPoint(satPoint);
62
- const transaction = await this.wallet.getTransaction({ txHash: parsedSatPoint.txid });
63
- // TODO(BG-70900): allow supplemental unspents
64
- const unspents = [transaction.outputs[parsedSatPoint.vout]];
65
- const txInfo = { unspents };
66
- const changeAddress = await this.wallet.createAddress({
67
- chain: utxolib.bitgo.getExternalChainCode(changeAddressType),
68
- });
69
- const outputs = {
70
- inscriptionRecipient: recipient,
71
- changeOutputs: [
72
- { chain: changeAddress.chain, index: changeAddress.index },
73
- { chain: changeAddress.chain, index: changeAddress.index },
74
- ],
75
- };
76
- const psbt = utxo_ord_1.createPsbtForSingleInscriptionPassingTransaction(this.coin.network, {
77
- walletKeys: rootWalletKeys,
78
- signer,
79
- cosigner,
80
- }, unspents, satPoint, outputs, { feeRateSatKB, ...inscriptionConstraints });
81
- return {
82
- walletId: this.wallet.id(),
83
- txHex: psbt.getUnsignedTx().toHex(),
84
- txInfo,
85
- feeInfo: { fee: feeRateSatKB, feeString: feeRateSatKB.toString() },
86
- };
87
- }
88
- /**
89
- *
90
- * @param walletPassphrase
91
- * @param tapLeafScript
92
- * @param commitAddress
93
- * @param unsignedCommitTx
94
- * @param commitTransactionUnspents
95
- * @param recipientAddress
96
- */
97
- async signAndSendReveal(walletPassphrase, tapLeafScript, commitAddress, unsignedCommitTx, commitTransactionUnspents, recipientAddress) {
98
- const userKeychain = await this.wallet.baseCoin.keychains().get({ id: this.wallet.keyIds()[sdk_core_1.KeyIndices.USER] });
99
- const xprv = await this.wallet.getUserPrv({ keychain: userKeychain, walletPassphrase });
100
- const prv = sdk_core_1.xprvToRawPrv(xprv);
101
- const halfSignedCommitTransaction = (await this.wallet.signTransaction({
102
- prv: xprv,
103
- txPrebuild: {
104
- txHex: unsignedCommitTx.toString('hex'),
105
- txInfo: { unspents: commitTransactionUnspents },
106
- },
107
- }));
108
- const fullySignedRevealTransaction = await utxo_ord_1.inscriptions.signRevealTransaction(Buffer.from(prv, 'hex'), tapLeafScript, commitAddress, recipientAddress, Buffer.from(halfSignedCommitTransaction.txHex, 'hex'), this.coin.network);
109
- return this.wallet.submitTransaction({
110
- halfSigned: {
111
- txHex: halfSignedCommitTransaction.txHex,
112
- signedChildPsbt: fullySignedRevealTransaction.toHex(),
113
- },
114
- });
115
- }
116
- /**
117
- * Sign and send a transaction that transfers an inscription
118
- * @param walletPassphrase passphrase to unlock your keys
119
- * @param txPrebuild this is the output of `inscription.prepareTransfer`
120
- */
121
- async signAndSendTransfer(walletPassphrase, txPrebuild) {
122
- const userKeychain = await this.wallet.baseCoin.keychains().get({ id: this.wallet.keyIds()[sdk_core_1.KeyIndices.USER] });
123
- const prv = this.wallet.getUserPrv({ keychain: userKeychain, walletPassphrase });
124
- const halfSigned = (await this.wallet.signTransaction({ prv, txPrebuild }));
125
- return this.wallet.submitTransaction({ halfSigned });
126
- }
127
- }
128
- exports.InscriptionBuilder = InscriptionBuilder;
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zY3JpcHRpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2luc2NyaXB0aW9uQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsbURBVThCO0FBQzlCLDhEQUFnRDtBQUNoRCxtREFPOEI7QUFDOUIsb0RBQTRCO0FBRTVCLE1BQWEsa0JBQWtCO0lBSTdCLFlBQVksTUFBZSxFQUFFLElBQXNCO1FBQ2pELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYSxDQUFDLGVBQXVCLEVBQUUsV0FBbUI7UUFDOUQsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxxQkFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2RyxnQkFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFNUMsT0FBTyx1QkFBWSxDQUFDLDJCQUEyQixDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0csQ0FBQztJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ0gsS0FBSyxDQUFDLGVBQWUsQ0FDbkIsUUFBZ0IsRUFDaEIsU0FBaUIsRUFDakIsWUFBb0IsRUFDcEIsRUFDRSxNQUFNLEdBQUcsTUFBTSxFQUNmLFFBQVEsR0FBRyxPQUFPLEVBQ2xCLHNC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QUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxxQkFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMvRyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBRWpGLE1BQU0sVUFBVSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUE4QixDQUFDO1FBQ3pHLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztDQUNGO0FBOUpELGdEQThKQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0VXR4b0NvaW4gfSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC11dHhvJztcbmltcG9ydCB7XG4gIEhhbGZTaWduZWRVdHhvVHJhbnNhY3Rpb24sXG4gIElJbnNjcmlwdGlvbkJ1aWxkZXIsXG4gIElXYWxsZXQsXG4gIEtleUluZGljZXMsXG4gIFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHQsXG4gIFByZXBhcmVkSW5zY3JpcHRpb25SZXZlYWxEYXRhLFxuICBTdWJtaXRUcmFuc2FjdGlvblJlc3BvbnNlLFxuICBUcmlwbGUsXG4gIHhwcnZUb1Jhd1Bydixcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5pbXBvcnQge1xuICBjcmVhdGVQc2J0Rm9yU2luZ2xlSW5zY3JpcHRpb25QYXNzaW5nVHJhbnNhY3Rpb24sXG4gIERlZmF1bHRJbnNjcmlwdGlvbkNvbnN0cmFpbnRzLFxuICBJbnNjcmlwdGlvbk91dHB1dHMsXG4gIGluc2NyaXB0aW9ucyxcbiAgcGFyc2VTYXRQb2ludCxcbiAgaXNTYXRQb2ludCxcbn0gZnJvbSAnQGJpdGdvLWJldGEvdXR4by1vcmQnO1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5leHBvcnQgY2xhc3MgSW5zY3JpcHRpb25CdWlsZGVyIGltcGxlbWVudHMgSUluc2NyaXB0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgd2FsbGV0OiBJV2FsbGV0O1xuICBwcml2YXRlIHJlYWRvbmx5IGNvaW46IEFic3RyYWN0VXR4b0NvaW47XG5cbiAgY29uc3RydWN0b3Iod2FsbGV0OiBJV2FsbGV0LCBjb2luOiBBYnN0cmFjdFV0eG9Db2luKSB7XG4gICAgdGhpcy53YWxsZXQgPSB3YWxsZXQ7XG4gICAgdGhpcy5jb2luID0gY29pbjtcbiAgfVxuXG4gIGFzeW5jIHByZXBhcmVSZXZlYWwoaW5zY3JpcHRpb25EYXRhOiBCdWZmZXIsIGNvbnRlbnRUeXBlOiBzdHJpbmcpOiBQcm9taXNlPFByZXBhcmVkSW5zY3JpcHRpb25SZXZlYWxEYXRhPiB7XG4gICAgY29uc3QgdXNlciA9IGF3YWl0IHRoaXMud2FsbGV0LmJhc2VDb2luLmtleWNoYWlucygpLmdldCh7IGlkOiB0aGlzLndhbGxldC5rZXlJZHMoKVtLZXlJbmRpY2VzLlVTRVJdIH0pO1xuICAgIGFzc2VydCh1c2VyLnB1Yik7XG4gICAgY29uc3QgcHVia2V5ID0gQnVmZmVyLmZyb20odXNlci5wdWIsICdoZXgnKTtcblxuICAgIHJldHVybiBpbnNjcmlwdGlvbnMuY3JlYXRlSW5zY3JpcHRpb25SZXZlYWxEYXRhKHB1YmtleSwgY29udGVudFR5cGUsIGluc2NyaXB0aW9uRGF0YSwgdGhpcy5jb2luLm5ldHdvcmspO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGEgdHJhbnNhY3Rpb24gdG8gc2VuZCBhbiBpbnNjcmlwdGlvblxuICAgKiBAcGFyYW0gc2F0UG9pbnQgU2F0cG9pbnQgeW91IHdhbnQgdG8gc2VuZFxuICAgKiBAcGFyYW0gcmVjaXBpZW50IEFkZHJlc3MgeW91IHdhbnQgdG8gc2VuZCB0b1xuICAgKiBAcGFyYW0gZmVlUmF0ZVNhdEtCIEZlZSByYXRlIGZvciB0cmFuc2FjdGlvblxuICAgKiBAcGFyYW0gc2lnbmVyIGZpcnN0IHNpZ25lciBvZiB0aGUgdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIGNvc2lnbmVyIHNlY29uZCBzaWduZXIgb2YgdGhlIHRyYW5zYWN0aW9uXG4gICAqIEBwYXJhbSBpbnNjcmlwdGlvbkNvbnN0cmFpbnRzLm1pbkNoYW5nZU91dHB1dCAob3B0aW9uYWwpIHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIGNoYW5nZSBvdXRwdXRcbiAgICogQHBhcmFtIGluc2NyaXB0aW9uQ29uc3RyYWludHMubWluSW5zY3JpcHRpb25PdXRwdXQgKG9wdGlvbmFsKSB0aGUgbWluaW11bSBudW1iZXIgb2Ygc2F0cyBvZiB0aGUgb3V0cHV0IGNvbnRhaW5pbmcgdGhlIGluc2NyaXB0aW9uXG4gICAqIEBwYXJhbSBpbnNjcmlwdGlvbkNvbnN0cmFpbnRzLm1heEluc2NyaXB0aW9uT3V0cHV0IChvcHRpb25hbCkgdGhlIG1heGltdW0gbnVtYmVyIG9mIHNhdHMgb2YgdGhlIG91dHB1dCBjb250YWluaW5nIHRoZSBpbnNjcmlwdGlvblxuICAgKiBAcGFyYW0gY2hhbmdlQWRkcmVzc1R5cGUgQWRkcmVzcyB0eXBlIG9mIHRoZSBjaGFuZ2UgYWRkcmVzc1xuICAgKi9cbiAgYXN5bmMgcHJlcGFyZVRyYW5zZmVyKFxuICAgIHNhdFBvaW50OiBzdHJpbmcsXG4gICAgcmVjaXBpZW50OiBzdHJpbmcsXG4gICAgZmVlUmF0ZVNhdEtCOiBudW1iZXIsXG4gICAge1xuICAgICAgc2lnbmVyID0gJ3VzZXInLFxuICAgICAgY29zaWduZXIgPSAnYml0Z28nLFxuICAgICAgaW5zY3JpcHRpb25Db25zdHJhaW50cyA9IERlZmF1bHRJbnNjcmlwdGlvbkNvbnN0cmFpbnRzLFxuICAgICAgY2hhbmdlQWRkcmVzc1R5cGUgPSAncDJ0cicsXG4gICAgfToge1xuICAgICAgc2lnbmVyOiB1dHhvbGliLmJpdGdvLktleU5hbWU7XG4gICAgICBjb3NpZ25lcjogdXR4b2xpYi5iaXRnby5LZXlOYW1lO1xuICAgICAgaW5zY3JpcHRpb25Db25zdHJhaW50czoge1xuICAgICAgICBtaW5DaGFuZ2VPdXRwdXQ/OiBiaWdpbnQ7XG4gICAgICAgIG1pbkluc2NyaXB0aW9uT3V0cHV0PzogYmlnaW50O1xuICAgICAgICBtYXhJbnNjcmlwdGlvbk91dHB1dD86IGJpZ2ludDtcbiAgICAgIH07XG4gICAgICBjaGFuZ2VBZGRyZXNzVHlwZTogdXR4b2xpYi5iaXRnby5vdXRwdXRTY3JpcHRzLlNjcmlwdFR5cGUyT2YzO1xuICAgIH1cbiAgKTogUHJvbWlzZTxQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0PiB7XG4gICAgYXNzZXJ0KGlzU2F0UG9pbnQoc2F0UG9pbnQpKTtcbiAgICBjb25zdCB3ayA9IChhd2FpdCB0aGlzLndhbGxldC5iYXNlQ29pbi5rZXljaGFpbnMoKS5saXN0KCkpLmtleXM7XG4gICAgYXNzZXJ0KHdrLmxlbmd0aCA9PT0gMyk7XG4gICAgY29uc3Qgcm9vdFdhbGxldEtleXMgPSBuZXcgdXR4b2xpYi5iaXRnby5Sb290V2FsbGV0S2V5cyhcbiAgICAgIHdrLm1hcCgoaykgPT4ge1xuICAgICAgICBhc3NlcnQoay5wdWIpO1xuICAgICAgICByZXR1cm4gdXR4b2xpYi5iaXAzMi5mcm9tQmFzZTU4KGsucHViKTtcbiAgICAgIH0pIGFzIFRyaXBsZTx1dHhvbGliLkJJUDMySW50ZXJmYWNlPlxuICAgICk7XG5cbiAgICBjb25zdCBwYXJzZWRTYXRQb2ludCA9IHBhcnNlU2F0UG9pbnQoc2F0UG9pbnQpO1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gYXdhaXQgdGhpcy53YWxsZXQuZ2V0VHJhbnNhY3Rpb24oeyB0eEhhc2g6IHBhcnNlZFNhdFBvaW50LnR4aWQgfSk7XG4gICAgLy8gVE9ETyhCRy03MDkwMCk6IGFsbG93IHN1cHBsZW1lbnRhbCB1bnNwZW50c1xuICAgIGNvbnN0IHVuc3BlbnRzID0gW3RyYW5zYWN0aW9uLm91dHB1dHNbcGFyc2VkU2F0UG9pbnQudm91dF1dO1xuICAgIGNvbnN0IHR4SW5mbyA9IHsgdW5zcGVudHMgfTtcblxuICAgIGNvbnN0IGNoYW5nZUFkZHJlc3MgPSBhd2FpdCB0aGlzLndhbGxldC5jcmVhdGVBZGRyZXNzKHtcbiAgICAgIGNoYWluOiB1dHhvbGliLmJpdGdvLmdldEV4dGVybmFsQ2hhaW5Db2RlKGNoYW5nZUFkZHJlc3NUeXBlKSxcbiAgICB9KTtcbiAgICBjb25zdCBvdXRwdXRzOiBJbnNjcmlwdGlvbk91dHB1dHMgPSB7XG4gICAgICBpbnNjcmlwdGlvblJlY2lwaWVudDogcmVjaXBpZW50LFxuICAgICAgY2hhbmdlT3V0cHV0czogW1xuICAgICAgICB7IGNoYWluOiBjaGFuZ2VBZGRyZXNzLmNoYWluLCBpbmRleDogY2hhbmdlQWRkcmVzcy5pbmRleCB9LFxuICAgICAgICB7IGNoYWluOiBjaGFuZ2VBZGRyZXNzLmNoYWluLCBpbmRleDogY2hhbmdlQWRkcmVzcy5pbmRleCB9LFxuICAgICAgXSxcbiAgICB9O1xuXG4gICAgY29uc3QgcHNidCA9IGNyZWF0ZVBzYnRGb3JTaW5nbGVJbnNjcmlwdGlvblBhc3NpbmdUcmFuc2FjdGlvbihcbiAgICAgIHRoaXMuY29pbi5uZXR3b3JrLFxuICAgICAge1xuICAgICAgICB3YWxsZXRLZXlzOiByb290V2FsbGV0S2V5cyxcbiAgICAgICAgc2lnbmVyLFxuICAgICAgICBjb3NpZ25lcixcbiAgICAgIH0sXG4gICAgICB1bnNwZW50cyxcbiAgICAgIHNhdFBvaW50LFxuICAgICAgb3V0cHV0cyxcbiAgICAgIHsgZmVlUmF0ZVNhdEtCLCAuLi5pbnNjcmlwdGlvbkNvbnN0cmFpbnRzIH1cbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHdhbGxldElkOiB0aGlzLndhbGxldC5pZCgpLFxuICAgICAgdHhIZXg6IHBzYnQuZ2V0VW5zaWduZWRUeCgpLnRvSGV4KCksXG4gICAgICB0eEluZm8sXG4gICAgICBmZWVJbmZvOiB7IGZlZTogZmVlUmF0ZVNhdEtCLCBmZWVTdHJpbmc6IGZlZVJhdGVTYXRLQi50b1N0cmluZygpIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gd2FsbGV0UGFzc3BocmFzZVxuICAgKiBAcGFyYW0gdGFwTGVhZlNjcmlwdFxuICAgKiBAcGFyYW0gY29tbWl0QWRkcmVzc1xuICAgKiBAcGFyYW0gdW5zaWduZWRDb21taXRUeFxuICAgKiBAcGFyYW0gY29tbWl0VHJhbnNhY3Rpb25VbnNwZW50c1xuICAgKiBAcGFyYW0gcmVjaXBpZW50QWRkcmVzc1xuICAgKi9cbiAgYXN5bmMgc2lnbkFuZFNlbmRSZXZlYWwoXG4gICAgd2FsbGV0UGFzc3BocmFzZTogc3RyaW5nLFxuICAgIHRhcExlYWZTY3JpcHQ6IHV0eG9saWIuYml0Z28uVGFwTGVhZlNjcmlwdCxcbiAgICBjb21taXRBZGRyZXNzOiBzdHJpbmcsXG4gICAgdW5zaWduZWRDb21taXRUeDogQnVmZmVyLFxuICAgIGNvbW1pdFRyYW5zYWN0aW9uVW5zcGVudHM6IHV0eG9saWIuYml0Z28uV2FsbGV0VW5zcGVudFtdLFxuICAgIHJlY2lwaWVudEFkZHJlc3M6IHN0cmluZ1xuICApOiBQcm9taXNlPFN1Ym1pdFRyYW5zYWN0aW9uUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1c2VyS2V5Y2hhaW4gPSBhd2FpdCB0aGlzLndhbGxldC5iYXNlQ29pbi5rZXljaGFpbnMoKS5nZXQoeyBpZDogdGhpcy53YWxsZXQua2V5SWRzKClbS2V5SW5kaWNlcy5VU0VSXSB9KTtcbiAgICBjb25zdCB4cHJ2ID0gYXdhaXQgdGhpcy53YWxsZXQuZ2V0VXNlclBydih7IGtleWNoYWluOiB1c2VyS2V5Y2hhaW4sIHdhbGxldFBhc3NwaHJhc2UgfSk7XG4gICAgY29uc3QgcHJ2ID0geHBydlRvUmF3UHJ2KHhwcnYpO1xuXG4gICAgY29uc3QgaGFsZlNpZ25lZENvbW1pdFRyYW5zYWN0aW9uID0gKGF3YWl0IHRoaXMud2FsbGV0LnNpZ25UcmFuc2FjdGlvbih7XG4gICAgICBwcnY6IHhwcnYsXG4gICAgICB0eFByZWJ1aWxkOiB7XG4gICAgICAgIHR4SGV4OiB1bnNpZ25lZENvbW1pdFR4LnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgICAgdHhJbmZvOiB7IHVuc3BlbnRzOiBjb21taXRUcmFuc2FjdGlvblVuc3BlbnRzIH0sXG4gICAgICB9LFxuICAgIH0pKSBhcyBIYWxmU2lnbmVkVXR4b1RyYW5zYWN0aW9uO1xuXG4gICAgY29uc3QgZnVsbHlTaWduZWRSZXZlYWxUcmFuc2FjdGlvbiA9IGF3YWl0IGluc2NyaXB0aW9ucy5zaWduUmV2ZWFsVHJhbnNhY3Rpb24oXG4gICAgICBCdWZmZXIuZnJvbShwcnYsICdoZXgnKSxcbiAgICAgIHRhcExlYWZTY3JpcHQsXG4gICAgICBjb21taXRBZGRyZXNzLFxuICAgICAgcmVjaXBpZW50QWRkcmVzcyxcbiAgICAgIEJ1ZmZlci5mcm9tKGhhbGZTaWduZWRDb21taXRUcmFuc2FjdGlvbi50eEhleCwgJ2hleCcpLFxuICAgICAgdGhpcy5jb2luLm5ldHdvcmtcbiAgICApO1xuXG4gICAgcmV0dXJuIHRoaXMud2FsbGV0LnN1Ym1pdFRyYW5zYWN0aW9uKHtcbiAgICAgIGhhbGZTaWduZWQ6IHtcbiAgICAgICAgdHhIZXg6IGhhbGZTaWduZWRDb21taXRUcmFuc2FjdGlvbi50eEhleCxcbiAgICAgICAgc2lnbmVkQ2hpbGRQc2J0OiBmdWxseVNpZ25lZFJldmVhbFRyYW5zYWN0aW9uLnRvSGV4KCksXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNpZ24gYW5kIHNlbmQgYSB0cmFuc2FjdGlvbiB0aGF0IHRyYW5zZmVycyBhbiBpbnNjcmlwdGlvblxuICAgKiBAcGFyYW0gd2FsbGV0UGFzc3BocmFzZSBwYXNzcGhyYXNlIHRvIHVubG9jayB5b3VyIGtleXNcbiAgICogQHBhcmFtIHR4UHJlYnVpbGQgdGhpcyBpcyB0aGUgb3V0cHV0IG9mIGBpbnNjcmlwdGlvbi5wcmVwYXJlVHJhbnNmZXJgXG4gICAqL1xuICBhc3luYyBzaWduQW5kU2VuZFRyYW5zZmVyKFxuICAgIHdhbGxldFBhc3NwaHJhc2U6IHN0cmluZyxcbiAgICB0eFByZWJ1aWxkOiBQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0XG4gICk6IFByb21pc2U8U3VibWl0VHJhbnNhY3Rpb25SZXNwb25zZT4ge1xuICAgIGNvbnN0IHVzZXJLZXljaGFpbiA9IGF3YWl0IHRoaXMud2FsbGV0LmJhc2VDb2luLmtleWNoYWlucygpLmdldCh7IGlkOiB0aGlzLndhbGxldC5rZXlJZHMoKVtLZXlJbmRpY2VzLlVTRVJdIH0pO1xuICAgIGNvbnN0IHBydiA9IHRoaXMud2FsbGV0LmdldFVzZXJQcnYoeyBrZXljaGFpbjogdXNlcktleWNoYWluLCB3YWxsZXRQYXNzcGhyYXNlIH0pO1xuXG4gICAgY29uc3QgaGFsZlNpZ25lZCA9IChhd2FpdCB0aGlzLndhbGxldC5zaWduVHJhbnNhY3Rpb24oeyBwcnYsIHR4UHJlYnVpbGQgfSkpIGFzIEhhbGZTaWduZWRVdHhvVHJhbnNhY3Rpb247XG4gICAgcmV0dXJuIHRoaXMud2FsbGV0LnN1Ym1pdFRyYW5zYWN0aW9uKHsgaGFsZlNpZ25lZCB9KTtcbiAgfVxufVxuIl19
@@ -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"}
package/dist/src/tbtc.js DELETED
@@ -1,40 +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.Tbtc = void 0;
23
- const btc_1 = require("./btc");
24
- const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
25
- class Tbtc extends btc_1.Btc {
26
- constructor(bitgo) {
27
- super(bitgo, utxolib.networks.testnet);
28
- }
29
- static createInstance(bitgo) {
30
- return new Tbtc(bitgo);
31
- }
32
- getChain() {
33
- return 'tbtc';
34
- }
35
- getFullName() {
36
- return 'Testnet Bitcoin';
37
- }
38
- }
39
- exports.Tbtc = Tbtc;
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGJ0Yy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90YnRjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJQSwrQkFBNEI7QUFDNUIsOERBQWdEO0FBRWhELE1BQWEsSUFBSyxTQUFRLFNBQUc7SUFDM0IsWUFBWSxLQUFnQjtRQUMxQixLQUFLLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBZ0I7UUFDcEMsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxpQkFBaUIsQ0FBQztJQUMzQixDQUFDO0NBQ0Y7QUFoQkQsb0JBZ0JDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IHsgQmFzZUNvaW4sIEJpdEdvQmFzZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJ0YyB9IGZyb20gJy4vYnRjJztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuXG5leHBvcnQgY2xhc3MgVGJ0YyBleHRlbmRzIEJ0YyB7XG4gIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UpIHtcbiAgICBzdXBlcihiaXRnbywgdXR4b2xpYi5uZXR3b3Jrcy50ZXN0bmV0KTtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVJbnN0YW5jZShiaXRnbzogQml0R29CYXNlKTogQmFzZUNvaW4ge1xuICAgIHJldHVybiBuZXcgVGJ0YyhiaXRnbyk7XG4gIH1cblxuICBnZXRDaGFpbigpIHtcbiAgICByZXR1cm4gJ3RidGMnO1xuICB9XG5cbiAgZ2V0RnVsbE5hbWUoKSB7XG4gICAgcmV0dXJuICdUZXN0bmV0IEJpdGNvaW4nO1xuICB9XG59XG4iXX0=