@bitgo-beta/sdk-coin-btc 1.2.3-alpha.9 → 1.2.3-alpha.90

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,196 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.7.13](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.7.0...@bitgo/sdk-coin-btc@1.7.13) (2023-10-20)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **abstract-utxo:** upper case address should return false ([f0b6c46](https://github.com/BitGo/BitGoJS/commit/f0b6c467daaa0e43bb2923993fb238c7a4ce6f59))
11
+
12
+ ## [1.7.12](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.7.0...@bitgo/sdk-coin-btc@1.7.12) (2023-10-18)
13
+
14
+ ### Bug Fixes
15
+
16
+ - **abstract-utxo:** upper case address should return false ([f0b6c46](https://github.com/BitGo/BitGoJS/commit/f0b6c467daaa0e43bb2923993fb238c7a4ce6f59))
17
+
18
+ ## [1.7.11](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.7.0...@bitgo/sdk-coin-btc@1.7.11) (2023-09-25)
19
+
20
+ ### Bug Fixes
21
+
22
+ - **abstract-utxo:** upper case address should return false ([f0b6c46](https://github.com/BitGo/BitGoJS/commit/f0b6c467daaa0e43bb2923993fb238c7a4ce6f59))
23
+
24
+ ## [1.7.10](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.7.0...@bitgo/sdk-coin-btc@1.7.10) (2023-09-09)
25
+
26
+ ### Bug Fixes
27
+
28
+ - **abstract-utxo:** upper case address should return false ([f0b6c46](https://github.com/BitGo/BitGoJS/commit/f0b6c467daaa0e43bb2923993fb238c7a4ce6f59))
29
+
30
+ ## [1.7.9](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.7.0...@bitgo/sdk-coin-btc@1.7.9) (2023-09-09)
31
+
32
+ ### Bug Fixes
33
+
34
+ - **abstract-utxo:** upper case address should return false ([f0b6c46](https://github.com/BitGo/BitGoJS/commit/f0b6c467daaa0e43bb2923993fb238c7a4ce6f59))
35
+
36
+ ## [1.7.8](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.7.0...@bitgo/sdk-coin-btc@1.7.8) (2023-09-07)
37
+
38
+ ### Bug Fixes
39
+
40
+ - **abstract-utxo:** upper case address should return false ([f0b6c46](https://github.com/BitGo/BitGoJS/commit/f0b6c467daaa0e43bb2923993fb238c7a4ce6f59))
41
+
42
+ ## [1.7.7](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.7.0...@bitgo/sdk-coin-btc@1.7.7) (2023-09-05)
43
+
44
+ **Note:** Version bump only for package @bitgo/sdk-coin-btc
45
+
46
+ ## [1.7.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.7.0...@bitgo/sdk-coin-btc@1.7.6) (2023-09-01)
47
+
48
+ **Note:** Version bump only for package @bitgo/sdk-coin-btc
49
+
50
+ ## [1.7.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.7.0...@bitgo/sdk-coin-btc@1.7.5) (2023-08-29)
51
+
52
+ **Note:** Version bump only for package @bitgo/sdk-coin-btc
53
+
54
+ ## [1.7.4](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.7.0...@bitgo/sdk-coin-btc@1.7.4) (2023-08-25)
55
+
56
+ **Note:** Version bump only for package @bitgo/sdk-coin-btc
57
+
58
+ ## [1.7.3](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.7.0...@bitgo/sdk-coin-btc@1.7.3) (2023-08-24)
59
+
60
+ **Note:** Version bump only for package @bitgo/sdk-coin-btc
61
+
62
+ ## [1.7.2](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.7.0...@bitgo/sdk-coin-btc@1.7.2) (2023-08-16)
63
+
64
+ **Note:** Version bump only for package @bitgo/sdk-coin-btc
65
+
66
+ ## [1.7.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.7.0...@bitgo/sdk-coin-btc@1.7.1) (2023-08-16)
67
+
68
+ **Note:** Version bump only for package @bitgo/sdk-coin-btc
69
+
70
+ # [1.7.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.5.8...@bitgo/sdk-coin-btc@1.7.0) (2023-08-04)
71
+
72
+ ### Features
73
+
74
+ - **root:** add node 18 to engines and CI ([9cc6a70](https://github.com/BitGo/BitGoJS/commit/9cc6a70ba807161b7c6a0ebe3d7c47f25c7c8eca))
75
+ - **root:** remove node 14 from engines ([6ec47cb](https://github.com/BitGo/BitGoJS/commit/6ec47cbd7996cc78bbf2cf7f16595c24fe43cd41))
76
+
77
+ # [1.6.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.5.8...@bitgo/sdk-coin-btc@1.6.0) (2023-07-28)
78
+
79
+ ### Features
80
+
81
+ - **root:** add node 18 to engines and CI ([9cc6a70](https://github.com/BitGo/BitGoJS/commit/9cc6a70ba807161b7c6a0ebe3d7c47f25c7c8eca))
82
+ - **root:** remove node 14 from engines ([6ec47cb](https://github.com/BitGo/BitGoJS/commit/6ec47cbd7996cc78bbf2cf7f16595c24fe43cd41))
83
+
84
+ ## [1.5.8](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.5.7...@bitgo/sdk-coin-btc@1.5.8) (2023-07-18)
85
+
86
+ **Note:** Version bump only for package @bitgo/sdk-coin-btc
87
+
88
+ ## [1.5.7](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.5.6...@bitgo/sdk-coin-btc@1.5.7) (2023-06-21)
89
+
90
+ **Note:** Version bump only for package @bitgo/sdk-coin-btc
91
+
92
+ ## [1.5.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.5.5...@bitgo/sdk-coin-btc@1.5.6) (2023-06-14)
93
+
94
+ **Note:** Version bump only for package @bitgo/sdk-coin-btc
95
+
96
+ ## [1.5.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.5.4...@bitgo/sdk-coin-btc@1.5.5) (2023-06-13)
97
+
98
+ **Note:** Version bump only for package @bitgo/sdk-coin-btc
99
+
100
+ ## [1.5.4](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.5.3...@bitgo/sdk-coin-btc@1.5.4) (2023-06-07)
101
+
102
+ **Note:** Version bump only for package @bitgo/sdk-coin-btc
103
+
104
+ ## [1.5.3](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.5.2...@bitgo/sdk-coin-btc@1.5.3) (2023-06-05)
105
+
106
+ **Note:** Version bump only for package @bitgo/sdk-coin-btc
107
+
108
+ ## [1.5.2](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.5.1...@bitgo/sdk-coin-btc@1.5.2) (2023-05-25)
109
+
110
+ **Note:** Version bump only for package @bitgo/sdk-coin-btc
111
+
112
+ ## [1.5.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.5.0...@bitgo/sdk-coin-btc@1.5.1) (2023-05-17)
113
+
114
+ **Note:** Version bump only for package @bitgo/sdk-coin-btc
115
+
116
+ # [1.5.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.4.3...@bitgo/sdk-coin-btc@1.5.0) (2023-05-10)
117
+
118
+ ### Features
119
+
120
+ - **sdk-coin-btc:** find & use supplementary unspents in case ([fc321ee](https://github.com/BitGo/BitGoJS/commit/fc321ee1fccfae2d6676070fb32d8d4dee531aaf))
121
+
122
+ ## [1.4.3](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.4.2...@bitgo/sdk-coin-btc@1.4.3) (2023-05-03)
123
+
124
+ **Note:** Version bump only for package @bitgo/sdk-coin-btc
125
+
126
+ ## [1.4.2](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.4.1...@bitgo/sdk-coin-btc@1.4.2) (2023-04-25)
127
+
128
+ **Note:** Version bump only for package @bitgo/sdk-coin-btc
129
+
130
+ ## [1.4.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.4.0...@bitgo/sdk-coin-btc@1.4.1) (2023-04-20)
131
+
132
+ **Note:** Version bump only for package @bitgo/sdk-coin-btc
133
+
134
+ # [1.4.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.3.6...@bitgo/sdk-coin-btc@1.4.0) (2023-04-13)
135
+
136
+ ### Bug Fixes
137
+
138
+ - fix error when using feeOutput ([4fb6214](https://github.com/BitGo/BitGoJS/commit/4fb6214a2596c33563eceae4f360302e95060354))
139
+ - **sdk-coin-btc:** convert unspent value to BigInt ([ed7d967](https://github.com/BitGo/BitGoJS/commit/ed7d96717919eb266a6a319e8c53552a058d5edf))
140
+ - **sdk-coin-btc:** get rootwalletkeys for inscription transfer ([b160186](https://github.com/BitGo/BitGoJS/commit/b16018643273e20ea6908f51149139def7209932))
141
+ - use half signed commit txn when signing reveal ([c0fb50b](https://github.com/BitGo/BitGoJS/commit/c0fb50bd6b3b5f4322420a8574a1a661d15ee21d))
142
+ - use p2wsh and internalChainCode for changeAddress creation ([4a5b79c](https://github.com/BitGo/BitGoJS/commit/4a5b79cce0e41ebe31e5d1ee7c5c05b2f7c3d414))
143
+ - used derived keys and use xonly public key for script ([382ce07](https://github.com/BitGo/BitGoJS/commit/382ce073b660f2d002176e3a8fdcadcf5bbaff6a))
144
+
145
+ ### Features
146
+
147
+ - add inscription builder class ([214eafe](https://github.com/BitGo/BitGoJS/commit/214eafe48e8d12fd5d58efac289bab33bbd46fd3))
148
+ - **sdk-coin-btc:** transfer an inscription ([bc2eda8](https://github.com/BitGo/BitGoJS/commit/bc2eda86f73a4e4451fd6accbc2a794f08649b78))
149
+
150
+ ## [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)
151
+
152
+ **Note:** Version bump only for package @bitgo/sdk-coin-btc
153
+
154
+ ## [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)
155
+
156
+ **Note:** Version bump only for package @bitgo/sdk-coin-btc
157
+
158
+ ## [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)
159
+
160
+ **Note:** Version bump only for package @bitgo/sdk-coin-btc
161
+
162
+ ## [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)
163
+
164
+ **Note:** Version bump only for package @bitgo/sdk-coin-btc
165
+
166
+ ## [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)
167
+
168
+ **Note:** Version bump only for package @bitgo/sdk-coin-btc
169
+
170
+ ## [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)
171
+
172
+ **Note:** Version bump only for package @bitgo/sdk-coin-btc
173
+
174
+ # [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)
175
+
176
+ ### Features
177
+
178
+ - **core:** add register to base interface ([2c08793](https://github.com/BitGo/BitGoJS/commit/2c087937608f6fa6246cf44a29c91ef40713fb74))
179
+
180
+ ## [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)
181
+
182
+ **Note:** Version bump only for package @bitgo/sdk-coin-btc
183
+
184
+ ## [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)
185
+
186
+ **Note:** Version bump only for package @bitgo/sdk-coin-btc
187
+
188
+ ## [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)
189
+
190
+ **Note:** Version bump only for package @bitgo/sdk-coin-btc
191
+
192
+ ## [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)
193
+
194
+ **Note:** Version bump only for package @bitgo/sdk-coin-btc
195
+
6
196
  ## [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)
7
197
 
8
198
  **Note:** Version bump only for package @bitgo/sdk-coin-btc
package/dist/src/btc.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { AbstractUtxoCoin, UtxoNetwork } from '@bitgo-beta/abstract-utxo';
2
- import { BitGoBase, BaseCoin, VerifyRecoveryTransactionOptions as BaseVerifyRecoveryTransactionOptions } from '@bitgo-beta/sdk-core';
2
+ import { BitGoBase, BaseCoin, VerifyRecoveryTransactionOptions as BaseVerifyRecoveryTransactionOptions, Wallet } from '@bitgo-beta/sdk-core';
3
+ import { InscriptionBuilder } from './inscriptionBuilder';
3
4
  export interface VerifyRecoveryTransactionOptions extends BaseVerifyRecoveryTransactionOptions {
4
5
  transactionHex: string;
5
6
  }
@@ -11,5 +12,6 @@ export declare class Btc extends AbstractUtxoCoin {
11
12
  getFullName(): string;
12
13
  supportsBlockTarget(): boolean;
13
14
  supportsLightning(): boolean;
15
+ getInscriptionBuilder(wallet: Wallet): InscriptionBuilder;
14
16
  }
15
17
  //# sourceMappingURL=btc.d.ts.map
@@ -1 +1 @@
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,EACzE,MAAM,sBAAsB,CAAC;AAG9B,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;CAG7B"}
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 CHANGED
@@ -22,6 +22,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
22
22
  exports.Btc = void 0;
23
23
  const abstract_utxo_1 = require("@bitgo-beta/abstract-utxo");
24
24
  const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
25
+ const inscriptionBuilder_1 = require("./inscriptionBuilder");
25
26
  class Btc extends abstract_utxo_1.AbstractUtxoCoin {
26
27
  constructor(bitgo, network) {
27
28
  super(bitgo, network || utxolib.networks.bitcoin);
@@ -44,6 +45,9 @@ class Btc extends abstract_utxo_1.AbstractUtxoCoin {
44
45
  supportsLightning() {
45
46
  return true;
46
47
  }
48
+ getInscriptionBuilder(wallet) {
49
+ return new inscriptionBuilder_1.InscriptionBuilder(wallet, this);
50
+ }
47
51
  }
48
52
  exports.Btc = Btc;
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2J0Yy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkRBQTBFO0FBTTFFLDhEQUFnRDtBQU1oRCxNQUFhLEdBQUksU0FBUSxnQ0FBZ0I7SUFDdkMsWUFBWSxLQUFnQixFQUFFLE9BQXFCO1FBQ2pELEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBZ0I7UUFDcEMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRjtBQTVCRCxrQkE0QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdFV0eG9Db2luLCBVdHhvTmV0d29yayB9IGZyb20gJ0BiaXRnby1iZXRhL2Fic3RyYWN0LXV0eG8nO1xuaW1wb3J0IHtcbiAgQml0R29CYXNlLFxuICBCYXNlQ29pbixcbiAgVmVyaWZ5UmVjb3ZlcnlUcmFuc2FjdGlvbk9wdGlvbnMgYXMgQmFzZVZlcmlmeVJlY292ZXJ5VHJhbnNhY3Rpb25PcHRpb25zLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcblxuZXhwb3J0IGludGVyZmFjZSBWZXJpZnlSZWNvdmVyeVRyYW5zYWN0aW9uT3B0aW9ucyBleHRlbmRzIEJhc2VWZXJpZnlSZWNvdmVyeVRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIHRyYW5zYWN0aW9uSGV4OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBCdGMgZXh0ZW5kcyBBYnN0cmFjdFV0eG9Db2luIHtcbiAgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgbmV0d29yaz86IFV0eG9OZXR3b3JrKSB7XG4gICAgc3VwZXIoYml0Z28sIG5ldHdvcmsgfHwgdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luKTtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVJbnN0YW5jZShiaXRnbzogQml0R29CYXNlKTogQmFzZUNvaW4ge1xuICAgIHJldHVybiBuZXcgQnRjKGJpdGdvKTtcbiAgfVxuXG4gIGdldENoYWluKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdidGMnO1xuICB9XG5cbiAgZ2V0RmFtaWx5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdidGMnO1xuICB9XG5cbiAgZ2V0RnVsbE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ0JpdGNvaW4nO1xuICB9XG5cbiAgc3VwcG9ydHNCbG9ja1RhcmdldCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHN1cHBvcnRzTGlnaHRuaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iXX0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2J0Yy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkRBQTBFO0FBTzFFLDhEQUFnRDtBQUNoRCw2REFBMEQ7QUFNMUQsTUFBYSxHQUFJLFNBQVEsZ0NBQWdCO0lBQ3ZDLFlBQVksS0FBZ0IsRUFBRSxPQUFxQjtRQUNqRCxLQUFLLENBQUMsS0FBSyxFQUFFLE9BQU8sSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQWdCO1FBQ3BDLE9BQU8sSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQscUJBQXFCLENBQUMsTUFBYztRQUNsQyxPQUFPLElBQUksdUNBQWtCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzlDLENBQUM7Q0FDRjtBQWhDRCxrQkFnQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdFV0eG9Db2luLCBVdHhvTmV0d29yayB9IGZyb20gJ0BiaXRnby1iZXRhL2Fic3RyYWN0LXV0eG8nO1xuaW1wb3J0IHtcbiAgQml0R29CYXNlLFxuICBCYXNlQ29pbixcbiAgVmVyaWZ5UmVjb3ZlcnlUcmFuc2FjdGlvbk9wdGlvbnMgYXMgQmFzZVZlcmlmeVJlY292ZXJ5VHJhbnNhY3Rpb25PcHRpb25zLFxuICBXYWxsZXQsXG59IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuaW1wb3J0IHsgSW5zY3JpcHRpb25CdWlsZGVyIH0gZnJvbSAnLi9pbnNjcmlwdGlvbkJ1aWxkZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeVJlY292ZXJ5VHJhbnNhY3Rpb25PcHRpb25zIGV4dGVuZHMgQmFzZVZlcmlmeVJlY292ZXJ5VHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgdHJhbnNhY3Rpb25IZXg6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIEJ0YyBleHRlbmRzIEFic3RyYWN0VXR4b0NvaW4ge1xuICBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBuZXR3b3JrPzogVXR4b05ldHdvcmspIHtcbiAgICBzdXBlcihiaXRnbywgbmV0d29yayB8fCB1dHhvbGliLm5ldHdvcmtzLmJpdGNvaW4pO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUluc3RhbmNlKGJpdGdvOiBCaXRHb0Jhc2UpOiBCYXNlQ29pbiB7XG4gICAgcmV0dXJuIG5ldyBCdGMoYml0Z28pO1xuICB9XG5cbiAgZ2V0Q2hhaW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2J0Yyc7XG4gIH1cblxuICBnZXRGYW1pbHkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2J0Yyc7XG4gIH1cblxuICBnZXRGdWxsTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnQml0Y29pbic7XG4gIH1cblxuICBzdXBwb3J0c0Jsb2NrVGFyZ2V0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgc3VwcG9ydHNMaWdodG5pbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBnZXRJbnNjcmlwdGlvbkJ1aWxkZXIod2FsbGV0OiBXYWxsZXQpOiBJbnNjcmlwdGlvbkJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgSW5zY3JpcHRpb25CdWlsZGVyKHdhbGxldCwgdGhpcyk7XG4gIH1cbn1cbiJdfQ==
@@ -1,3 +1,4 @@
1
1
  export * from './btc';
2
2
  export * from './tbtc';
3
+ export * from './register';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC"}
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 CHANGED
@@ -12,4 +12,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./btc"), exports);
14
14
  __exportStar(require("./tbtc"), exports);
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsd0NBQXNCO0FBQ3RCLHlDQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYnRjJztcbmV4cG9ydCAqIGZyb20gJy4vdGJ0Yyc7XG4iXX0=
15
+ __exportStar(require("./register"), exports);
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsd0NBQXNCO0FBQ3RCLHlDQUF1QjtBQUN2Qiw2Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2J0Yyc7XG5leHBvcnQgKiBmcm9tICcuL3RidGMnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWdpc3Rlcic7XG4iXX0=
@@ -0,0 +1,51 @@
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
+ private prepareTransferWithExtraInputs;
11
+ /**
12
+ * Build a transaction to send an inscription
13
+ * @param satPoint Satpoint you want to send
14
+ * @param recipient Address you want to send to
15
+ * @param feeRateSatKB Fee rate for transaction
16
+ * @param signer first signer of the transaction
17
+ * @param cosigner second signer of the transaction
18
+ * @param inscriptionConstraints.minChangeOutput (optional) the minimum size of the change output
19
+ * @param inscriptionConstraints.minInscriptionOutput (optional) the minimum number of sats of the output containing the inscription
20
+ * @param inscriptionConstraints.maxInscriptionOutput (optional) the maximum number of sats of the output containing the inscription
21
+ * @param changeAddressType Address type of the change address
22
+ */
23
+ prepareTransfer(satPoint: string, recipient: string, feeRateSatKB: number, { signer, cosigner, inscriptionConstraints, changeAddressType, }: {
24
+ signer?: utxolib.bitgo.KeyName;
25
+ cosigner?: utxolib.bitgo.KeyName;
26
+ inscriptionConstraints?: {
27
+ minChangeOutput?: bigint;
28
+ minInscriptionOutput?: bigint;
29
+ maxInscriptionOutput?: bigint;
30
+ };
31
+ changeAddressType?: utxolib.bitgo.outputScripts.ScriptType2Of3;
32
+ }): Promise<PrebuildTransactionResult>;
33
+ /**
34
+ *
35
+ * @param walletPassphrase
36
+ * @param tapLeafScript
37
+ * @param commitAddress
38
+ * @param unsignedCommitTx
39
+ * @param commitTransactionUnspents
40
+ * @param recipientAddress
41
+ * @param inscriptionData
42
+ */
43
+ signAndSendReveal(walletPassphrase: string, tapLeafScript: utxolib.bitgo.TapLeafScript, commitAddress: string, unsignedCommitTx: Buffer, commitTransactionUnspents: utxolib.bitgo.WalletUnspent[], recipientAddress: string, inscriptionData: Buffer): Promise<SubmitTransactionResponse>;
44
+ /**
45
+ * Sign and send a transaction that transfers an inscription
46
+ * @param walletPassphrase passphrase to unlock your keys
47
+ * @param txPrebuild this is the output of `inscription.prepareTransfer`
48
+ */
49
+ signAndSendTransfer(walletPassphrase: string, txPrebuild: PrebuildTransactionResult): Promise<SubmitTransactionResponse>;
50
+ }
51
+ //# sourceMappingURL=inscriptionBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inscriptionBuilder.d.ts","sourceRoot":"","sources":["../../src/inscriptionBuilder.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAiC,MAAM,2BAA2B,CAAC;AAC5F,OAAO,EAEL,mBAAmB,EACnB,OAAO,EAEP,yBAAyB,EACzB,6BAA6B,EAC7B,yBAAyB,EAG1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAiBhD,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;YAW3F,8BAA8B;IAuE5C;;;;;;;;;;;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;IAyCrC;;;;;;;;;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"}
@@ -0,0 +1,169 @@
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
+ const SUPPLEMENTARY_UNSPENTS_MIN_VALUE_SATS = [0, 20000, 200000];
32
+ class InscriptionBuilder {
33
+ constructor(wallet, coin) {
34
+ this.wallet = wallet;
35
+ this.coin = coin;
36
+ }
37
+ async prepareReveal(inscriptionData, contentType) {
38
+ const user = await this.wallet.baseCoin.keychains().get({ id: this.wallet.keyIds()[sdk_core_1.KeyIndices.USER] });
39
+ assert_1.default(user.pub);
40
+ const derived = this.coin.deriveKeyWithSeed({ key: user.pub, seed: inscriptionData.toString() });
41
+ const compressedPublicKey = sdk_core_1.xpubToCompressedPub(derived.key);
42
+ const xOnlyPublicKey = utxolib.bitgo.outputScripts.toXOnlyPublicKey(Buffer.from(compressedPublicKey, 'hex'));
43
+ return utxo_ord_1.inscriptions.createInscriptionRevealData(xOnlyPublicKey, contentType, inscriptionData, this.coin.network);
44
+ }
45
+ async prepareTransferWithExtraInputs(satPoint, feeRateSatKB, { signer, cosigner, inscriptionConstraints, }, rootWalletKeys, outputs, inscriptionUnspents, supplementaryUnspentsMinValue) {
46
+ let supplementaryUnspents = [];
47
+ if (supplementaryUnspentsMinValue > 0) {
48
+ const response = await this.wallet.unspents({
49
+ minValue: supplementaryUnspentsMinValue,
50
+ });
51
+ // Filter out the inscription unspent from the supplementary unspents
52
+ supplementaryUnspents = response.unspents
53
+ .filter((unspent) => unspent.id !== inscriptionUnspents[0].id)
54
+ .slice(0, utxo_ord_1.MAX_UNSPENTS_FOR_OUTPUT_LAYOUT - 1)
55
+ .map((unspent) => {
56
+ unspent.value = BigInt(unspent.value);
57
+ return unspent;
58
+ });
59
+ }
60
+ const psbt = utxo_ord_1.createPsbtForSingleInscriptionPassingTransaction(this.coin.network, {
61
+ walletKeys: rootWalletKeys,
62
+ signer,
63
+ cosigner,
64
+ }, inscriptionUnspents, satPoint, outputs, { feeRateSatKB, ...inscriptionConstraints }, { supplementaryUnspents });
65
+ if (!psbt) {
66
+ throw new Error('Fee too high for the selected unspent with this fee rate');
67
+ }
68
+ const allUnspents = [...inscriptionUnspents, ...supplementaryUnspents];
69
+ // TODO: Remove the call to this function because it's already called inside the createPsbt function above.
70
+ // Create & use a getFee function inside the created PSBT instead, lack of which necessitates a duplicate call here.
71
+ const outputLayout = utxo_ord_1.findOutputLayoutForWalletUnspents(allUnspents, satPoint, outputs, {
72
+ feeRateSatKB,
73
+ ...inscriptionConstraints,
74
+ });
75
+ if (!outputLayout) {
76
+ throw new Error('Fee too high for the selected unspent with this fee rate');
77
+ }
78
+ return {
79
+ walletId: this.wallet.id(),
80
+ txHex: psbt.getUnsignedTx().toHex(),
81
+ txInfo: { unspents: allUnspents },
82
+ feeInfo: { fee: Number(outputLayout.layout.feeOutput), feeString: outputLayout.layout.feeOutput.toString() },
83
+ };
84
+ }
85
+ /**
86
+ * Build a transaction to send an inscription
87
+ * @param satPoint Satpoint you want to send
88
+ * @param recipient Address you want to send to
89
+ * @param feeRateSatKB Fee rate for transaction
90
+ * @param signer first signer of the transaction
91
+ * @param cosigner second signer of the transaction
92
+ * @param inscriptionConstraints.minChangeOutput (optional) the minimum size of the change output
93
+ * @param inscriptionConstraints.minInscriptionOutput (optional) the minimum number of sats of the output containing the inscription
94
+ * @param inscriptionConstraints.maxInscriptionOutput (optional) the maximum number of sats of the output containing the inscription
95
+ * @param changeAddressType Address type of the change address
96
+ */
97
+ async prepareTransfer(satPoint, recipient, feeRateSatKB, { signer = 'user', cosigner = 'bitgo', inscriptionConstraints = utxo_ord_1.DefaultInscriptionConstraints, changeAddressType = 'p2wsh', }) {
98
+ assert_1.default(utxo_ord_1.isSatPoint(satPoint));
99
+ const rootWalletKeys = await abstract_utxo_1.getWalletKeys(this.coin, this.wallet);
100
+ const parsedSatPoint = utxo_ord_1.parseSatPoint(satPoint);
101
+ const transaction = await this.wallet.getTransaction({ txHash: parsedSatPoint.txid });
102
+ const unspents = [transaction.outputs[parsedSatPoint.vout]];
103
+ unspents[0].value = BigInt(unspents[0].value);
104
+ const changeAddress = await this.wallet.createAddress({
105
+ chain: utxolib.bitgo.getInternalChainCode(changeAddressType),
106
+ });
107
+ const outputs = {
108
+ inscriptionRecipient: recipient,
109
+ changeOutputs: [
110
+ { chain: changeAddress.chain, index: changeAddress.index },
111
+ { chain: changeAddress.chain, index: changeAddress.index },
112
+ ],
113
+ };
114
+ for (const supplementaryUnspentsMinValue of SUPPLEMENTARY_UNSPENTS_MIN_VALUE_SATS) {
115
+ try {
116
+ return await this.prepareTransferWithExtraInputs(satPoint, feeRateSatKB, { signer, cosigner, inscriptionConstraints }, rootWalletKeys, outputs, unspents, supplementaryUnspentsMinValue);
117
+ }
118
+ catch (error) {
119
+ if (!(error instanceof utxo_ord_1.ErrorNoLayout)) {
120
+ throw error; // Propagate error if it's not an ErrorNoLayout
121
+ } // Otherwise continue trying with higher minValue for supplementary unspents
122
+ }
123
+ }
124
+ throw new Error('Fee too high for the selected unspent with this fee rate'); // Exhausted all tries to supplement
125
+ }
126
+ /**
127
+ *
128
+ * @param walletPassphrase
129
+ * @param tapLeafScript
130
+ * @param commitAddress
131
+ * @param unsignedCommitTx
132
+ * @param commitTransactionUnspents
133
+ * @param recipientAddress
134
+ * @param inscriptionData
135
+ */
136
+ async signAndSendReveal(walletPassphrase, tapLeafScript, commitAddress, unsignedCommitTx, commitTransactionUnspents, recipientAddress, inscriptionData) {
137
+ const userKeychain = await this.wallet.baseCoin.keychains().get({ id: this.wallet.keyIds()[sdk_core_1.KeyIndices.USER] });
138
+ const xprv = await this.wallet.getUserPrv({ keychain: userKeychain, walletPassphrase });
139
+ const halfSignedCommitTransaction = (await this.wallet.signTransaction({
140
+ prv: xprv,
141
+ txPrebuild: {
142
+ txHex: unsignedCommitTx.toString('hex'),
143
+ txInfo: { unspents: commitTransactionUnspents },
144
+ },
145
+ }));
146
+ const derived = this.coin.deriveKeyWithSeed({ key: xprv, seed: inscriptionData.toString() });
147
+ const prv = sdk_core_1.xprvToRawPrv(derived.key);
148
+ const fullySignedRevealTransaction = await utxo_ord_1.inscriptions.signRevealTransaction(Buffer.from(prv, 'hex'), tapLeafScript, commitAddress, recipientAddress, Buffer.from(halfSignedCommitTransaction.txHex, 'hex'), this.coin.network);
149
+ return this.wallet.submitTransaction({
150
+ halfSigned: {
151
+ txHex: halfSignedCommitTransaction.txHex,
152
+ signedChildPsbt: fullySignedRevealTransaction.toHex(),
153
+ },
154
+ });
155
+ }
156
+ /**
157
+ * Sign and send a transaction that transfers an inscription
158
+ * @param walletPassphrase passphrase to unlock your keys
159
+ * @param txPrebuild this is the output of `inscription.prepareTransfer`
160
+ */
161
+ async signAndSendTransfer(walletPassphrase, txPrebuild) {
162
+ const userKeychain = await this.wallet.baseCoin.keychains().get({ id: this.wallet.keyIds()[sdk_core_1.KeyIndices.USER] });
163
+ const prv = this.wallet.getUserPrv({ keychain: userKeychain, walletPassphrase });
164
+ const halfSigned = (await this.wallet.signTransaction({ prv, txPrebuild }));
165
+ return this.wallet.submitTransaction({ halfSigned });
166
+ }
167
+ }
168
+ exports.InscriptionBuilder = InscriptionBuilder;
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zY3JpcHRpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2luc2NyaXB0aW9uQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkRBQTRGO0FBQzVGLG1EQVU4QjtBQUM5Qiw4REFBZ0Q7QUFDaEQsbURBVzhCO0FBQzlCLG9EQUE0QjtBQUU1QixNQUFNLHFDQUFxQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQU0sRUFBRSxNQUFPLENBQUMsQ0FBQztBQUVuRSxNQUFhLGtCQUFrQjtJQUk3QixZQUFZLE1BQWUsRUFBRSxJQUFzQjtRQUNqRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FBQyxlQUF1QixFQUFFLFdBQW1CO1FBQzlELE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMscUJBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkcsZ0JBQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFakIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pHLE1BQU0sbUJBQW1CLEdBQUcsOEJBQW1CLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdELE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxD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QUFVLENBQUMsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUVqRixNQUFNLFVBQVUsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBOEIsQ0FBQztRQUN6RyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7Q0FDRjtBQXBPRCxnREFvT0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdFV0eG9Db2luLCBnZXRXYWxsZXRLZXlzLCBSb290V2FsbGV0S2V5cyB9IGZyb20gJ0BiaXRnby1iZXRhL2Fic3RyYWN0LXV0eG8nO1xuaW1wb3J0IHtcbiAgSGFsZlNpZ25lZFV0eG9UcmFuc2FjdGlvbixcbiAgSUluc2NyaXB0aW9uQnVpbGRlcixcbiAgSVdhbGxldCxcbiAgS2V5SW5kaWNlcyxcbiAgUHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdCxcbiAgUHJlcGFyZWRJbnNjcmlwdGlvblJldmVhbERhdGEsXG4gIFN1Ym1pdFRyYW5zYWN0aW9uUmVzcG9uc2UsXG4gIHhwcnZUb1Jhd1BydixcbiAgeHB1YlRvQ29tcHJlc3NlZFB1Yixcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5pbXBvcnQge1xuICBjcmVhdGVQc2J0Rm9yU2luZ2xlSW5zY3JpcHRpb25QYXNzaW5nVHJhbnNhY3Rpb24sXG4gIERlZmF1bHRJbnNjcmlwdGlvbkNvbnN0cmFpbnRzLFxuICBJbnNjcmlwdGlvbk91dHB1dHMsXG4gIGluc2NyaXB0aW9ucyxcbiAgcGFyc2VTYXRQb2ludCxcbiAgaXNTYXRQb2ludCxcbiAgRXJyb3JOb0xheW91dCxcbiAgZmluZE91dHB1dExheW91dEZvcldhbGxldFVuc3BlbnRzLFxuICBNQVhfVU5TUEVOVFNfRk9SX09VVFBVVF9MQVlPVVQsXG4gIFNhdFBvaW50LFxufSBmcm9tICdAYml0Z28tYmV0YS91dHhvLW9yZCc7XG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmNvbnN0IFNVUFBMRU1FTlRBUllfVU5TUEVOVFNfTUlOX1ZBTFVFX1NBVFMgPSBbMCwgMjBfMDAwLCAyMDBfMDAwXTtcblxuZXhwb3J0IGNsYXNzIEluc2NyaXB0aW9uQnVpbGRlciBpbXBsZW1lbnRzIElJbnNjcmlwdGlvbkJ1aWxkZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IHdhbGxldDogSVdhbGxldDtcbiAgcHJpdmF0ZSByZWFkb25seSBjb2luOiBBYnN0cmFjdFV0eG9Db2luO1xuXG4gIGNvbnN0cnVjdG9yKHdhbGxldDogSVdhbGxldCwgY29pbjogQWJzdHJhY3RVdHhvQ29pbikge1xuICAgIHRoaXMud2FsbGV0ID0gd2FsbGV0O1xuICAgIHRoaXMuY29pbiA9IGNvaW47XG4gIH1cblxuICBhc3luYyBwcmVwYXJlUmV2ZWFsKGluc2NyaXB0aW9uRGF0YTogQnVmZmVyLCBjb250ZW50VHlwZTogc3RyaW5nKTogUHJvbWlzZTxQcmVwYXJlZEluc2NyaXB0aW9uUmV2ZWFsRGF0YT4ge1xuICAgIGNvbnN0IHVzZXIgPSBhd2FpdCB0aGlzLndhbGxldC5iYXNlQ29pbi5rZXljaGFpbnMoKS5nZXQoeyBpZDogdGhpcy53YWxsZXQua2V5SWRzKClbS2V5SW5kaWNlcy5VU0VSXSB9KTtcbiAgICBhc3NlcnQodXNlci5wdWIpO1xuXG4gICAgY29uc3QgZGVyaXZlZCA9IHRoaXMuY29pbi5kZXJpdmVLZXlXaXRoU2VlZCh7IGtleTogdXNlci5wdWIsIHNlZWQ6IGluc2NyaXB0aW9uRGF0YS50b1N0cmluZygpIH0pO1xuICAgIGNvbnN0IGNvbXByZXNzZWRQdWJsaWNLZXkgPSB4cHViVG9Db21wcmVzc2VkUHViKGRlcml2ZWQua2V5KTtcbiAgICBjb25zdCB4T25seVB1YmxpY0tleSA9IHV0eG9saWIuYml0Z28ub3V0cHV0U2NyaXB0cy50b1hPbmx5UHVibGljS2V5KEJ1ZmZlci5mcm9tKGNvbXByZXNzZWRQdWJsaWNLZXksICdoZXgnKSk7XG5cbiAgICByZXR1cm4gaW5zY3JpcHRpb25zLmNyZWF0ZUluc2NyaXB0aW9uUmV2ZWFsRGF0YSh4T25seVB1YmxpY0tleSwgY29udGVudFR5cGUsIGluc2NyaXB0aW9uRGF0YSwgdGhpcy5jb2luLm5ldHdvcmspO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBwcmVwYXJlVHJhbnNmZXJXaXRoRXh0cmFJbnB1dHMoXG4gICAgc2F0UG9pbnQ6IFNhdFBvaW50LFxuICAgIGZlZVJhdGVTYXRLQjogbnVtYmVyLFxuICAgIHtcbiAgICAgIHNpZ25lcixcbiAgICAgIGNvc2lnbmVyLFxuICAgICAgaW5zY3JpcHRpb25Db25zdHJhaW50cyxcbiAgICB9OiB7XG4gICAgICBzaWduZXI6IHV0eG9saWIuYml0Z28uS2V5TmFtZTtcbiAgICAgIGNvc2lnbmVyOiB1dHhvbGliLmJpdGdvLktleU5hbWU7XG4gICAgICBpbnNjcmlwdGlvbkNvbnN0cmFpbnRzOiB7XG4gICAgICAgIG1pbkNoYW5nZU91dHB1dD86IGJpZ2ludDtcbiAgICAgICAgbWluSW5zY3JpcHRpb25PdXRwdXQ/OiBiaWdpbnQ7XG4gICAgICAgIG1heEluc2NyaXB0aW9uT3V0cHV0PzogYmlnaW50O1xuICAgICAgfTtcbiAgICB9LFxuICAgIHJvb3RXYWxsZXRLZXlzOiBSb290V2FsbGV0S2V5cyxcbiAgICBvdXRwdXRzOiBJbnNjcmlwdGlvbk91dHB1dHMsXG4gICAgaW5zY3JpcHRpb25VbnNwZW50czogdXR4b2xpYi5iaXRnby5XYWxsZXRVbnNwZW50PGJpZ2ludD5bXSxcbiAgICBzdXBwbGVtZW50YXJ5VW5zcGVudHNNaW5WYWx1ZTogbnVtYmVyXG4gICk6IFByb21pc2U8UHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdD4ge1xuICAgIGxldCBzdXBwbGVtZW50YXJ5VW5zcGVudHM6IHV0eG9saWIuYml0Z28uV2FsbGV0VW5zcGVudDxiaWdpbnQ+W10gPSBbXTtcbiAgICBpZiAoc3VwcGxlbWVudGFyeVVuc3BlbnRzTWluVmFsdWUgPiAwKSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMud2FsbGV0LnVuc3BlbnRzKHtcbiAgICAgICAgbWluVmFsdWU6IHN1cHBsZW1lbnRhcnlVbnNwZW50c01pblZhbHVlLFxuICAgICAgfSk7XG4gICAgICAvLyBGaWx0ZXIgb3V0IHRoZSBpbnNjcmlwdGlvbiB1bnNwZW50IGZyb20gdGhlIHN1cHBsZW1lbnRhcnkgdW5zcGVudHNcbiAgICAgIHN1cHBsZW1lbnRhcnlVbnNwZW50cyA9IHJlc3BvbnNlLnVuc3BlbnRzXG4gICAgICAgIC5maWx0ZXIoKHVuc3BlbnQpID0+IHVuc3BlbnQuaWQgIT09IGluc2NyaXB0aW9uVW5zcGVudHNbMF0uaWQpXG4gICAgICAgIC5zbGljZSgwLCBNQVhfVU5TUEVOVFNfRk9SX09VVFBVVF9MQVlPVVQgLSAxKVxuICAgICAgICAubWFwKCh1bnNwZW50KSA9PiB7XG4gICAgICAgICAgdW5zcGVudC52YWx1ZSA9IEJpZ0ludCh1bnNwZW50LnZhbHVlKTtcbiAgICAgICAgICByZXR1cm4gdW5zcGVudDtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IHBzYnQgPSBjcmVhdGVQc2J0Rm9yU2luZ2xlSW5zY3JpcHRpb25QYXNzaW5nVHJhbnNhY3Rpb24oXG4gICAgICB0aGlzLmNvaW4ubmV0d29yayxcbiAgICAgIHtcbiAgICAgICAgd2FsbGV0S2V5czogcm9vdFdhbGxldEtleXMsXG4gICAgICAgIHNpZ25lcixcbiAgICAgICAgY29zaWduZXIsXG4gICAgICB9LFxuICAgICAgaW5zY3JpcHRpb25VbnNwZW50cyxcbiAgICAgIHNhdFBvaW50LFxuICAgICAgb3V0cHV0cyxcbiAgICAgIHsgZmVlUmF0ZVNhdEtCLCAuLi5pbnNjcmlwdGlvbkNvbnN0cmFpbnRzIH0sXG4gICAgICB7IHN1cHBsZW1lbnRhcnlVbnNwZW50cyB9XG4gICAgKTtcbiAgICBpZiAoIXBzYnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRmVlIHRvbyBoaWdoIGZvciB0aGUgc2VsZWN0ZWQgdW5zcGVudCB3aXRoIHRoaXMgZmVlIHJhdGUnKTtcbiAgICB9XG5cbiAgICBjb25zdCBhbGxVbnNwZW50cyA9IFsuLi5pbnNjcmlwdGlvblVuc3BlbnRzLCAuLi5zdXBwbGVtZW50YXJ5VW5zcGVudHNdO1xuXG4gICAgLy8gVE9ETzogUmVtb3ZlIHRoZSBjYWxsIHRvIHRoaXMgZnVuY3Rpb24gYmVjYXVzZSBpdCdzIGFscmVhZHkgY2FsbGVkIGluc2lkZSB0aGUgY3JlYXRlUHNidCBmdW5jdGlvbiBhYm92ZS5cbiAgICAvLyBDcmVhdGUgJiB1c2UgYSBnZXRGZWUgZnVuY3Rpb24gaW5zaWRlIHRoZSBjcmVhdGVkIFBTQlQgaW5zdGVhZCwgbGFjayBvZiB3aGljaCBuZWNlc3NpdGF0ZXMgYSBkdXBsaWNhdGUgY2FsbCBoZXJlLlxuICAgIGNvbnN0IG91dHB1dExheW91dCA9IGZpbmRPdXRwdXRMYXlvdXRGb3JXYWxsZXRVbnNwZW50cyhhbGxVbnNwZW50cywgc2F0UG9pbnQsIG91dHB1dHMsIHtcbiAgICAgIGZlZVJhdGVTYXRLQixcbiAgICAgIC4uLmluc2NyaXB0aW9uQ29uc3RyYWludHMsXG4gICAgfSk7XG4gICAgaWYgKCFvdXRwdXRMYXlvdXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRmVlIHRvbyBoaWdoIGZvciB0aGUgc2VsZWN0ZWQgdW5zcGVudCB3aXRoIHRoaXMgZmVlIHJhdGUnKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHdhbGxldElkOiB0aGlzLndhbGxldC5pZCgpLFxuICAgICAgdHhIZXg6IHBzYnQuZ2V0VW5zaWduZWRUeCgpLnRvSGV4KCksXG4gICAgICB0eEluZm86IHsgdW5zcGVudHM6IGFsbFVuc3BlbnRzIH0sXG4gICAgICBmZWVJbmZvOiB7IGZlZTogTnVtYmVyKG91dHB1dExheW91dC5sYXlvdXQuZmVlT3V0cHV0KSwgZmVlU3RyaW5nOiBvdXRwdXRMYXlvdXQubGF5b3V0LmZlZU91dHB1dC50b1N0cmluZygpIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCBhIHRyYW5zYWN0aW9uIHRvIHNlbmQgYW4gaW5zY3JpcHRpb25cbiAgICogQHBhcmFtIHNhdFBvaW50IFNhdHBvaW50IHlvdSB3YW50IHRvIHNlbmRcbiAgICogQHBhcmFtIHJlY2lwaWVudCBBZGRyZXNzIHlvdSB3YW50IHRvIHNlbmQgdG9cbiAgICogQHBhcmFtIGZlZVJhdGVTYXRLQiBGZWUgcmF0ZSBmb3IgdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIHNpZ25lciBmaXJzdCBzaWduZXIgb2YgdGhlIHRyYW5zYWN0aW9uXG4gICAqIEBwYXJhbSBjb3NpZ25lciBzZWNvbmQgc2lnbmVyIG9mIHRoZSB0cmFuc2FjdGlvblxuICAgKiBAcGFyYW0gaW5zY3JpcHRpb25Db25zdHJhaW50cy5taW5DaGFuZ2VPdXRwdXQgKG9wdGlvbmFsKSB0aGUgbWluaW11bSBzaXplIG9mIHRoZSBjaGFuZ2Ugb3V0cHV0XG4gICAqIEBwYXJhbSBpbnNjcmlwdGlvbkNvbnN0cmFpbnRzLm1pbkluc2NyaXB0aW9uT3V0cHV0IChvcHRpb25hbCkgdGhlIG1pbmltdW0gbnVtYmVyIG9mIHNhdHMgb2YgdGhlIG91dHB1dCBjb250YWluaW5nIHRoZSBpbnNjcmlwdGlvblxuICAgKiBAcGFyYW0gaW5zY3JpcHRpb25Db25zdHJhaW50cy5tYXhJbnNjcmlwdGlvbk91dHB1dCAob3B0aW9uYWwpIHRoZSBtYXhpbXVtIG51bWJlciBvZiBzYXRzIG9mIHRoZSBvdXRwdXQgY29udGFpbmluZyB0aGUgaW5zY3JpcHRpb25cbiAgICogQHBhcmFtIGNoYW5nZUFkZHJlc3NUeXBlIEFkZHJlc3MgdHlwZSBvZiB0aGUgY2hhbmdlIGFkZHJlc3NcbiAgICovXG4gIGFzeW5jIHByZXBhcmVUcmFuc2ZlcihcbiAgICBzYXRQb2ludDogc3RyaW5nLFxuICAgIHJlY2lwaWVudDogc3RyaW5nLFxuICAgIGZlZVJhdGVTYXRLQjogbnVtYmVyLFxuICAgIHtcbiAgICAgIHNpZ25lciA9ICd1c2VyJyxcbiAgICAgIGNvc2lnbmVyID0gJ2JpdGdvJyxcbiAgICAgIGluc2NyaXB0aW9uQ29uc3RyYWludHMgPSBEZWZhdWx0SW5zY3JpcHRpb25Db25zdHJhaW50cyxcbiAgICAgIGNoYW5nZUFkZHJlc3NUeXBlID0gJ3Ayd3NoJyxcbiAgICB9OiB7XG4gICAgICBzaWduZXI/OiB1dHhvbGliLmJpdGdvLktleU5hbWU7XG4gICAgICBjb3NpZ25lcj86IHV0eG9saWIuYml0Z28uS2V5TmFtZTtcbiAgICAgIGluc2NyaXB0aW9uQ29uc3RyYWludHM/OiB7XG4gICAgICAgIG1pbkNoYW5nZU91dHB1dD86IGJpZ2ludDtcbiAgICAgICAgbWluSW5zY3JpcHRpb25PdXRwdXQ/OiBiaWdpbnQ7XG4gICAgICAgIG1heEluc2NyaXB0aW9uT3V0cHV0PzogYmlnaW50O1xuICAgICAgfTtcbiAgICAgIGNoYW5nZUFkZHJlc3NUeXBlPzogdXR4b2xpYi5iaXRnby5vdXRwdXRTY3JpcHRzLlNjcmlwdFR5cGUyT2YzO1xuICAgIH1cbiAgKTogUHJvbWlzZTxQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0PiB7XG4gICAgYXNzZXJ0KGlzU2F0UG9pbnQoc2F0UG9pbnQpKTtcblxuICAgIGNvbnN0IHJvb3RXYWxsZXRLZXlzID0gYXdhaXQgZ2V0V2FsbGV0S2V5cyh0aGlzLmNvaW4sIHRoaXMud2FsbGV0KTtcbiAgICBjb25zdCBwYXJzZWRTYXRQb2ludCA9IHBhcnNlU2F0UG9pbnQoc2F0UG9pbnQpO1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gYXdhaXQgdGhpcy53YWxsZXQuZ2V0VHJhbnNhY3Rpb24oeyB0eEhhc2g6IHBhcnNlZFNhdFBvaW50LnR4aWQgfSk7XG4gICAgY29uc3QgdW5zcGVudHM6IHV0eG9saWIuYml0Z28uV2FsbGV0VW5zcGVudDxiaWdpbnQ+W10gPSBbdHJhbnNhY3Rpb24ub3V0cHV0c1twYXJzZWRTYXRQb2ludC52b3V0XV07XG4gICAgdW5zcGVudHNbMF0udmFsdWUgPSBCaWdJbnQodW5zcGVudHNbMF0udmFsdWUpO1xuXG4gICAgY29uc3QgY2hhbmdlQWRkcmVzcyA9IGF3YWl0IHRoaXMud2FsbGV0LmNyZWF0ZUFkZHJlc3Moe1xuICAgICAgY2hhaW46IHV0eG9saWIuYml0Z28uZ2V0SW50ZXJuYWxDaGFpbkNvZGUoY2hhbmdlQWRkcmVzc1R5cGUpLFxuICAgIH0pO1xuICAgIGNvbnN0IG91dHB1dHM6IEluc2NyaXB0aW9uT3V0cHV0cyA9IHtcbiAgICAgIGluc2NyaXB0aW9uUmVjaXBpZW50OiByZWNpcGllbnQsXG4gICAgICBjaGFuZ2VPdXRwdXRzOiBbXG4gICAgICAgIHsgY2hhaW46IGNoYW5nZUFkZHJlc3MuY2hhaW4sIGluZGV4OiBjaGFuZ2VBZGRyZXNzLmluZGV4IH0sXG4gICAgICAgIHsgY2hhaW46IGNoYW5nZUFkZHJlc3MuY2hhaW4sIGluZGV4OiBjaGFuZ2VBZGRyZXNzLmluZGV4IH0sXG4gICAgICBdLFxuICAgIH07XG5cbiAgICBmb3IgKGNvbnN0IHN1cHBsZW1lbnRhcnlVbnNwZW50c01pblZhbHVlIG9mIFNVUFBMRU1FTlRBUllfVU5TUEVOVFNfTUlOX1ZBTFVFX1NBVFMpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnByZXBhcmVUcmFuc2ZlcldpdGhFeHRyYUlucHV0cyhcbiAgICAgICAgICBzYXRQb2ludCxcbiAgICAgICAgICBmZWVSYXRlU2F0S0IsXG4gICAgICAgICAgeyBzaWduZXIsIGNvc2lnbmVyLCBpbnNjcmlwdGlvbkNvbnN0cmFpbnRzIH0sXG4gICAgICAgICAgcm9vdFdhbGxldEtleXMsXG4gICAgICAgICAgb3V0cHV0cyxcbiAgICAgICAgICB1bnNwZW50cyxcbiAgICAgICAgICBzdXBwbGVtZW50YXJ5VW5zcGVudHNNaW5WYWx1ZVxuICAgICAgICApO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKCEoZXJyb3IgaW5zdGFuY2VvZiBFcnJvck5vTGF5b3V0KSkge1xuICAgICAgICAgIHRocm93IGVycm9yOyAvLyBQcm9wYWdhdGUgZXJyb3IgaWYgaXQncyBub3QgYW4gRXJyb3JOb0xheW91dFxuICAgICAgICB9IC8vIE90aGVyd2lzZSBjb250aW51ZSB0cnlpbmcgd2l0aCBoaWdoZXIgbWluVmFsdWUgZm9yIHN1cHBsZW1lbnRhcnkgdW5zcGVudHNcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZlZSB0b28gaGlnaCBmb3IgdGhlIHNlbGVjdGVkIHVuc3BlbnQgd2l0aCB0aGlzIGZlZSByYXRlJyk7IC8vIEV4aGF1c3RlZCBhbGwgdHJpZXMgdG8gc3VwcGxlbWVudFxuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSB3YWxsZXRQYXNzcGhyYXNlXG4gICAqIEBwYXJhbSB0YXBMZWFmU2NyaXB0XG4gICAqIEBwYXJhbSBjb21taXRBZGRyZXNzXG4gICAqIEBwYXJhbSB1bnNpZ25lZENvbW1pdFR4XG4gICAqIEBwYXJhbSBjb21taXRUcmFuc2FjdGlvblVuc3BlbnRzXG4gICAqIEBwYXJhbSByZWNpcGllbnRBZGRyZXNzXG4gICAqIEBwYXJhbSBpbnNjcmlwdGlvbkRhdGFcbiAgICovXG4gIGFzeW5jIHNpZ25BbmRTZW5kUmV2ZWFsKFxuICAgIHdhbGxldFBhc3NwaHJhc2U6IHN0cmluZyxcbiAgICB0YXBMZWFmU2NyaXB0OiB1dHhvbGliLmJpdGdvLlRhcExlYWZTY3JpcHQsXG4gICAgY29tbWl0QWRkcmVzczogc3RyaW5nLFxuICAgIHVuc2lnbmVkQ29tbWl0VHg6IEJ1ZmZlcixcbiAgICBjb21taXRUcmFuc2FjdGlvblVuc3BlbnRzOiB1dHhvbGliLmJpdGdvLldhbGxldFVuc3BlbnRbXSxcbiAgICByZWNpcGllbnRBZGRyZXNzOiBzdHJpbmcsXG4gICAgaW5zY3JpcHRpb25EYXRhOiBCdWZmZXJcbiAgKTogUHJvbWlzZTxTdWJtaXRUcmFuc2FjdGlvblJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXNlcktleWNoYWluID0gYXdhaXQgdGhpcy53YWxsZXQuYmFzZUNvaW4ua2V5Y2hhaW5zKCkuZ2V0KHsgaWQ6IHRoaXMud2FsbGV0LmtleUlkcygpW0tleUluZGljZXMuVVNFUl0gfSk7XG4gICAgY29uc3QgeHBydiA9IGF3YWl0IHRoaXMud2FsbGV0LmdldFVzZXJQcnYoeyBrZXljaGFpbjogdXNlcktleWNoYWluLCB3YWxsZXRQYXNzcGhyYXNlIH0pO1xuXG4gICAgY29uc3QgaGFsZlNpZ25lZENvbW1pdFRyYW5zYWN0aW9uID0gKGF3YWl0IHRoaXMud2FsbGV0LnNpZ25UcmFuc2FjdGlvbih7XG4gICAgICBwcnY6IHhwcnYsXG4gICAgICB0eFByZWJ1aWxkOiB7XG4gICAgICAgIHR4SGV4OiB1bnNpZ25lZENvbW1pdFR4LnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgICAgdHhJbmZvOiB7IHVuc3BlbnRzOiBjb21taXRUcmFuc2FjdGlvblVuc3BlbnRzIH0sXG4gICAgICB9LFxuICAgIH0pKSBhcyBIYWxmU2lnbmVkVXR4b1RyYW5zYWN0aW9uO1xuXG4gICAgY29uc3QgZGVyaXZlZCA9IHRoaXMuY29pbi5kZXJpdmVLZXlXaXRoU2VlZCh7IGtleTogeHBydiwgc2VlZDogaW5zY3JpcHRpb25EYXRhLnRvU3RyaW5nKCkgfSk7XG4gICAgY29uc3QgcHJ2ID0geHBydlRvUmF3UHJ2KGRlcml2ZWQua2V5KTtcblxuICAgIGNvbnN0IGZ1bGx5U2lnbmVkUmV2ZWFsVHJhbnNhY3Rpb24gPSBhd2FpdCBpbnNjcmlwdGlvbnMuc2lnblJldmVhbFRyYW5zYWN0aW9uKFxuICAgICAgQnVmZmVyLmZyb20ocHJ2LCAnaGV4JyksXG4gICAgICB0YXBMZWFmU2NyaXB0LFxuICAgICAgY29tbWl0QWRkcmVzcyxcbiAgICAgIHJlY2lwaWVudEFkZHJlc3MsXG4gICAgICBCdWZmZXIuZnJvbShoYWxmU2lnbmVkQ29tbWl0VHJhbnNhY3Rpb24udHhIZXgsICdoZXgnKSxcbiAgICAgIHRoaXMuY29pbi5uZXR3b3JrXG4gICAgKTtcblxuICAgIHJldHVybiB0aGlzLndhbGxldC5zdWJtaXRUcmFuc2FjdGlvbih7XG4gICAgICBoYWxmU2lnbmVkOiB7XG4gICAgICAgIHR4SGV4OiBoYWxmU2lnbmVkQ29tbWl0VHJhbnNhY3Rpb24udHhIZXgsXG4gICAgICAgIHNpZ25lZENoaWxkUHNidDogZnVsbHlTaWduZWRSZXZlYWxUcmFuc2FjdGlvbi50b0hleCgpLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTaWduIGFuZCBzZW5kIGEgdHJhbnNhY3Rpb24gdGhhdCB0cmFuc2ZlcnMgYW4gaW5zY3JpcHRpb25cbiAgICogQHBhcmFtIHdhbGxldFBhc3NwaHJhc2UgcGFzc3BocmFzZSB0byB1bmxvY2sgeW91ciBrZXlzXG4gICAqIEBwYXJhbSB0eFByZWJ1aWxkIHRoaXMgaXMgdGhlIG91dHB1dCBvZiBgaW5zY3JpcHRpb24ucHJlcGFyZVRyYW5zZmVyYFxuICAgKi9cbiAgYXN5bmMgc2lnbkFuZFNlbmRUcmFuc2ZlcihcbiAgICB3YWxsZXRQYXNzcGhyYXNlOiBzdHJpbmcsXG4gICAgdHhQcmVidWlsZDogUHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdFxuICApOiBQcm9taXNlPFN1Ym1pdFRyYW5zYWN0aW9uUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1c2VyS2V5Y2hhaW4gPSBhd2FpdCB0aGlzLndhbGxldC5iYXNlQ29pbi5rZXljaGFpbnMoKS5nZXQoeyBpZDogdGhpcy53YWxsZXQua2V5SWRzKClbS2V5SW5kaWNlcy5VU0VSXSB9KTtcbiAgICBjb25zdCBwcnYgPSB0aGlzLndhbGxldC5nZXRVc2VyUHJ2KHsga2V5Y2hhaW46IHVzZXJLZXljaGFpbiwgd2FsbGV0UGFzc3BocmFzZSB9KTtcblxuICAgIGNvbnN0IGhhbGZTaWduZWQgPSAoYXdhaXQgdGhpcy53YWxsZXQuc2lnblRyYW5zYWN0aW9uKHsgcHJ2LCB0eFByZWJ1aWxkIH0pKSBhcyBIYWxmU2lnbmVkVXR4b1RyYW5zYWN0aW9uO1xuICAgIHJldHVybiB0aGlzLndhbGxldC5zdWJtaXRUcmFuc2FjdGlvbih7IGhhbGZTaWduZWQgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ import { BitGoBase } from '@bitgo-beta/sdk-core';
2
+ export declare const register: (sdk: BitGoBase) => void;
3
+ //# sourceMappingURL=register.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,11 @@
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==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitgo-beta/sdk-coin-btc",
3
- "version": "1.2.3-alpha.9",
3
+ "version": "1.2.3-alpha.90",
4
4
  "description": "BitGo SDK coin library for Bitcoin",
5
5
  "main": "./dist/src/index.js",
6
6
  "types": "./dist/src/index.d.ts",
@@ -18,7 +18,7 @@
18
18
  "author": "BitGo SDK Team <sdkteam@bitgo.com>",
19
19
  "license": "MIT",
20
20
  "engines": {
21
- "node": ">=14 <17"
21
+ "node": ">=16 <19"
22
22
  },
23
23
  "repository": {
24
24
  "type": "git",
@@ -40,13 +40,14 @@
40
40
  ]
41
41
  },
42
42
  "dependencies": {
43
- "@bitgo-beta/abstract-utxo": "1.6.1-alpha.9",
44
- "@bitgo-beta/sdk-core": "2.4.1-alpha.9",
45
- "@bitgo-beta/utxo-lib": "4.0.1-alpha.9"
43
+ "@bitgo-beta/abstract-utxo": "1.6.1-alpha.90",
44
+ "@bitgo-beta/sdk-core": "2.4.1-alpha.90",
45
+ "@bitgo-beta/utxo-lib": "4.0.1-alpha.90",
46
+ "@bitgo-beta/utxo-ord": "1.1.3-alpha.45"
46
47
  },
47
48
  "devDependencies": {
48
- "@bitgo-beta/sdk-api": "1.6.1-alpha.9",
49
- "@bitgo-beta/sdk-test": "^1.2.4"
49
+ "@bitgo-beta/sdk-api": "1.6.1-alpha.90",
50
+ "@bitgo-beta/sdk-test": "^1.2.43"
50
51
  },
51
- "gitHead": "309dada140d3d662d4c6fe230515f231407cc056"
52
+ "gitHead": "f2a40747ace18421aadb1e339857e0f5a1fab259"
52
53
  }