@teleportdao/bitcoin 1.5.6 → 1.5.8
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/.tmp/check.ts +10 -6
- package/dist/bitcoin-base.d.ts +2 -2
- package/dist/bitcoin-base.d.ts.map +1 -1
- package/dist/bitcoin-base.js +4 -4
- package/dist/bitcoin-base.js.map +1 -1
- package/dist/bundle.js +2 -2
- package/dist/transaction-builder/transaction-builder.d.ts +1 -1
- package/dist/transaction-builder/transaction-builder.d.ts.map +1 -1
- package/dist/transaction-builder/transaction-builder.js +24 -8
- package/dist/transaction-builder/transaction-builder.js.map +1 -1
- package/package.json +2 -2
- package/src/bitcoin-base.ts +4 -4
- package/src/transaction-builder/transaction-builder.ts +33 -8
|
@@ -91,7 +91,7 @@ declare class BaseBitcoinLikeTransaction {
|
|
|
91
91
|
value: number;
|
|
92
92
|
index: number;
|
|
93
93
|
}[]>;
|
|
94
|
-
|
|
94
|
+
helperHandleInputsAndOutputs({ targets, extendedUtxo, feeRate, changeObject, selectType, }: {
|
|
95
95
|
extendedUtxo: ExtendedUtxo[];
|
|
96
96
|
targets: Target[];
|
|
97
97
|
feeRate: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-builder.d.ts","sourceRoot":"","sources":["../../src/transaction-builder/transaction-builder.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"transaction-builder.d.ts","sourceRoot":"","sources":["../../src/transaction-builder/transaction-builder.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AAgCxC,MAAM,MAAM,IAAI,GAAG;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AACD,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AACD,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AACD,MAAM,MAAM,MAAM,GAAG,aAAa,GAAG,YAAY,CAAA;AACjD,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG;IACzC,eAAe,CAAC,EAAE;QAChB,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,MAAM,CAAA;QACd,iBAAiB,EAAE,MAAM,CAAA;KAC1B,EAAE,CAAA;CACJ,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG;IAC9C,eAAe,CAAC,EAAE;QAChB,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,MAAM,CAAA;QACd,iBAAiB,EAAE,MAAM,CAAA;KAC1B,EAAE,CAAA;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,CAAC,EAAE;QACZ,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,mBAAmB,EAAE,MAAM,CAAA;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;QACb,UAAU,EAAE,UAAU,CAAA;KACvB,EAAE,CAAA;IACH,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,aAAa,GAAG,SAAS,CAAA;CAClC,CAAA;AAED,cAAM,0BAA0B;IAC9B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAA;IACxB,mCAAmC,EAAE,MAAM,CAAA;IAC3C,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;gBAEL,EACV,OAAO,EACP,OAAO,EACP,MAAU,EACV,SAAS,EACT,mCAAwC,GACzC,EAAE;QACD,OAAO,EAAE,OAAO,CAAC,OAAO,CAAA;QACxB,OAAO,EAAE,OAAO,CAAA;QAChB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,mCAAmC,CAAC,EAAE,MAAM,CAAA;KAC7C;IASK,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAO9C,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOhE,mBAAmB,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IAKrE,eAAe,CAAC,OAAO,EAAE,MAAM;IAS/B,iBAAiB,CAAC,OAAO,EAAE,MAAM;;;;IAY3B,eAAe,CAAC,UAAU,EAAE,UAAU;;;;;;IAY5C,4BAA4B,CAAC,EAC3B,OAAO,EACP,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,UAAqB,GACtB,EAAE;QACD,YAAY,EAAE,YAAY,EAAE,CAAA;QAC5B,OAAO,EAAE,MAAM,EAAE,CAAA;QACjB,OAAO,EAAE,MAAM,CAAA;QACf,YAAY,CAAC,EAAE;YACb,OAAO,EAAE,MAAM,CAAA;YACf,SAAS,CAAC,EAAE,MAAM,CAAA;YAClB,WAAW,CAAC,EAAE,MAAM,CAAA;YACpB,cAAc,CAAC,EAAE,MAAM,CAAA;YACvB,iBAAiB,CAAC,EAAE,MAAM,CAAA;SAC3B,CAAA;QACD,UAAU,CAAC,EAAE,QAAQ,GAAG,cAAc,GAAG,MAAM,CAAA;KAChD;;;;;;IA2JK,sCAAsC,CAAC,EAC3C,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,OAAO,EACP,UAAU,GACX,EAAE;QACD,YAAY,EAAE,YAAY,EAAE,CAAA;QAC5B,OAAO,EAAE,MAAM,EAAE,CAAA;QACjB,OAAO,EAAE,MAAM,CAAA;QACf,YAAY,CAAC,EAAE;YACb,OAAO,EAAE,MAAM,CAAA;YACf,SAAS,CAAC,EAAE,MAAM,CAAA;YAClB,WAAW,CAAC,EAAE,MAAM,CAAA;YACpB,cAAc,CAAC,EAAE,MAAM,CAAA;YACvB,iBAAiB,CAAC,EAAE,MAAM,CAAA;SAC3B,CAAA;QACD,UAAU,CAAC,EAAE,QAAQ,GAAG,cAAc,GAAG,MAAM,CAAA;KAChD;;;;;;;;;;;;;;;;;;;;;;IA0BK,2BAA2B,CAAC,UAAU,GAAE,YAAY,EAAO;;;;;;;;;;;;;;oBAEjD,UAAU;;IA2F1B,yBAAyB,CAAC,EACxB,MAAM,EACN,OAAO,EACP,MAAM,EACN,GAAG,EACH,OAAO,GACR,EAAE;QACD,MAAM,EAAE,kBAAkB,EAAE,CAAA;QAC5B,OAAO,EAAE,MAAM,EAAE,CAAA;QACjB,MAAM,CAAC,EAAE,YAAY,CAAA;QACrB,GAAG,EAAE,MAAM,CAAA;QACX,OAAO,EAAE,MAAM,CAAA;KAChB;;;;;;;;;;;;IA2GK,0BAA0B,CAAC,EAC/B,YAAY,EACZ,OAAY,EACZ,aAAyB,EACzB,UAAkB,EAClB,OAAO,EACP,eAAuB,EACvB,UAAqB,GACtB,EAAE;QACD,YAAY,EAAE,YAAY,EAAE,CAAA;QAC5B,OAAO,EAAE,MAAM,EAAE,CAAA;QACjB,OAAO,EAAE,MAAM,CAAA;QAEf,aAAa,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;QACnC,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB,eAAe,CAAC,EAAE,OAAO,CAAA;QACzB,UAAU,CAAC,EAAE,QAAQ,GAAG,cAAc,GAAG,MAAM,CAAA;KAChD;;;;;;;;;;;;CAyBF;AAED,eAAe,0BAA0B,CAAA"}
|
|
@@ -42,7 +42,7 @@ const componentBytes = {
|
|
|
42
42
|
p2pkh: 148,
|
|
43
43
|
p2wpkh: 68,
|
|
44
44
|
"p2sh-p2wpkh": 91,
|
|
45
|
-
p2tr:
|
|
45
|
+
p2tr: 65,
|
|
46
46
|
},
|
|
47
47
|
baseTxBytes: 10 + 2,
|
|
48
48
|
bytePerOutput: {
|
|
@@ -81,7 +81,7 @@ class BaseBitcoinLikeTransaction {
|
|
|
81
81
|
}
|
|
82
82
|
validateAddress(address) {
|
|
83
83
|
try {
|
|
84
|
-
(0, bitcoin_utils_1.getAddressType)(address);
|
|
84
|
+
(0, bitcoin_utils_1.getAddressType)(address, this.network);
|
|
85
85
|
return true;
|
|
86
86
|
}
|
|
87
87
|
catch (error) {
|
|
@@ -110,7 +110,7 @@ class BaseBitcoinLikeTransaction {
|
|
|
110
110
|
return extendedUtxo;
|
|
111
111
|
});
|
|
112
112
|
}
|
|
113
|
-
|
|
113
|
+
helperHandleInputsAndOutputs({ targets, extendedUtxo, feeRate, changeObject, selectType = "normal", }) {
|
|
114
114
|
const filteredUtxo = extendedUtxo.filter((u) => u.value >
|
|
115
115
|
+feeRate *
|
|
116
116
|
componentBytes.bytePerInput[u.signerInfo.addressType]);
|
|
@@ -139,10 +139,11 @@ class BaseBitcoinLikeTransaction {
|
|
|
139
139
|
}
|
|
140
140
|
const inputsSizes = inputs.map((i) => componentBytes.bytePerInput[i.signerInfo.addressType]);
|
|
141
141
|
const outputSizes = outputs.map((outP) => {
|
|
142
|
+
console.log("r", outP);
|
|
142
143
|
if (outP.address) {
|
|
143
144
|
let addressType = "default";
|
|
144
145
|
try {
|
|
145
|
-
addressType = (0, bitcoin_utils_1.getAddressType)(outP.address);
|
|
146
|
+
addressType = (0, bitcoin_utils_1.getAddressType)(outP.address, this.network);
|
|
146
147
|
}
|
|
147
148
|
catch (_a) {
|
|
148
149
|
addressType = "default";
|
|
@@ -155,16 +156,31 @@ class BaseBitcoinLikeTransaction {
|
|
|
155
156
|
}
|
|
156
157
|
return componentBytes.opReturn.dataMoreThan75;
|
|
157
158
|
}
|
|
158
|
-
|
|
159
|
+
let addressType = "default";
|
|
160
|
+
try {
|
|
161
|
+
console.log(changeObject === null || changeObject === void 0 ? void 0 : changeObject.address);
|
|
162
|
+
addressType = (0, bitcoin_utils_1.getAddressType)((changeObject === null || changeObject === void 0 ? void 0 : changeObject.address) || "", this.network);
|
|
163
|
+
}
|
|
164
|
+
catch (_b) {
|
|
165
|
+
addressType = "default";
|
|
166
|
+
}
|
|
167
|
+
return componentBytes.bytePerOutput[addressType];
|
|
159
168
|
});
|
|
160
169
|
const txSize = componentBytes.baseTxBytes +
|
|
161
170
|
inputsSizes.reduce((a, c) => a + c, 0) +
|
|
162
171
|
outputSizes.reduce((a, c) => a + c, 0) +
|
|
163
172
|
componentBytes.bytePerOutput.default;
|
|
164
173
|
const txFee = txSize * Math.round(feeRate);
|
|
165
|
-
if (inputs.reduce((a, b) => a + b.value, 0) -
|
|
174
|
+
if (inputs.reduce((a, b) => a + b.value, 0) -
|
|
175
|
+
outputs.filter((o) => o.address || o.script).reduce((a, b) => a + b.value, 0) -
|
|
176
|
+
txFee <
|
|
166
177
|
DUST) {
|
|
167
|
-
|
|
178
|
+
let spendableBalance = inputs.reduce((a, b) => a + b.value, 0);
|
|
179
|
+
let totalOutputAmount = outputs
|
|
180
|
+
.filter((o) => o.address || o.script)
|
|
181
|
+
.reduce((a, b) => a + b.value, 0);
|
|
182
|
+
let need = spendableBalance - totalOutputAmount - txFee;
|
|
183
|
+
throw new Error(`not enough balance. details: ${JSON.stringify({ spendableBalance, totalOutputAmount, txFee, need }, null, 2)}`);
|
|
168
184
|
}
|
|
169
185
|
let diff = fee - txFee;
|
|
170
186
|
let changeIndex = outputs.findIndex((x) => !(x === null || x === void 0 ? void 0 : x.address) && !x.script && (x.value || 0) > 0);
|
|
@@ -202,7 +218,7 @@ class BaseBitcoinLikeTransaction {
|
|
|
202
218
|
}
|
|
203
219
|
filterAndConvertTxDataToStandardFormat({ extendedUtxo, targets, changeObject, feeRate, selectType, }) {
|
|
204
220
|
return __awaiter(this, void 0, void 0, function* () {
|
|
205
|
-
let { inputs: filteredInputs, outputs, change, fee, } =
|
|
221
|
+
let { inputs: filteredInputs, outputs, change, fee, } = this.helperHandleInputsAndOutputs({
|
|
206
222
|
targets,
|
|
207
223
|
extendedUtxo,
|
|
208
224
|
feeRate,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-builder.js","sourceRoot":"","sources":["../../src/transaction-builder/transaction-builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transaction-builder.js","sourceRoot":"","sources":["../../src/transaction-builder/transaction-builder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uDAAwC;AAExC,oDAAiF;AAEjF,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;AACxC,MAAM,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;AACnD,MAAM,sBAAsB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAA;AAGjE,MAAM,cAAc,GAAG;IACrB,YAAY,EAAE;QACZ,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,EAAE;QACV,aAAa,EAAE,EAAE;QACjB,IAAI,EAAE,EAAE;KACT;IACD,WAAW,EAAE,EAAE,GAAG,CAAC;IACnB,aAAa,EAAE;QACb,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,EAAE;QACR,OAAO,EAAE,EAAE;KACZ;IACD,QAAQ,EAAE;QACR,cAAc,EAAE,EAAE;QAClB,cAAc,EAAE,EAAE;KACnB;CACF,CAAA;AAED,MAAM,IAAI,GAAG,IAAI,CAAA;AAoEjB,MAAM,0BAA0B;IAO9B,YAAY,EACV,OAAO,EACP,OAAO,EACP,MAAM,GAAG,CAAC,EACV,SAAS,EACT,mCAAmC,GAAG,EAAE,GAOzC;QACC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,mCAAmC,GAAG,mCAAmC,CAAA;QAC9E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,YAAY,CAAC,KAAK,CAAA;IACzE,CAAC;IAGK,QAAQ,CAAC,WAAmB;;YAEhC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QAEzD,CAAC;KAAA;IAGK,kBAAkB,CAAC,aAAqB;;YAE5C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QAEzD,CAAC;KAAA;IAGD,mBAAmB,CAAC,KAAiD;QACnE,OAAO,IAAA,8CAA8B,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC5D,CAAC;IAGD,eAAe,CAAC,OAAe;QAC7B,IAAI;YACF,IAAA,8BAAc,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;YACrC,OAAO,IAAI,CAAA;SACZ;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,KAAK,CAAA;SACb;IACH,CAAC;IAED,iBAAiB,CAAC,OAAe;QAC/B,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACjE,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;YACnC,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACnC,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAA;QACF,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,MAAO;YACrB,KAAK,EAAE,CAAC;SACT,CAAA;IACH,CAAC;IAEK,eAAe,CAAC,UAAsB;;YAC1C,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;YAClD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iCACpC,KAAK,KACR,UAAU,IACV,CAAC,CAAA;YACH,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9C,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA;aACjC;YACD,OAAO,YAAY,CAAA;QACrB,CAAC;KAAA;IAED,4BAA4B,CAAC,EAC3B,OAAO,EACP,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,UAAU,GAAG,QAAQ,GAatB;QACC,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,KAAK;YACP,CAAC,OAAO;gBACN,cAAc,CAAC,YAAY,CACzB,CAAC,CAAC,UAAU,CAAC,WAAuD,CACrE,CACN,CAAA;QACD,IAAI,cAAc,CAAA;QAClB,QAAQ,UAAU,EAAE;YAClB,KAAK,QAAQ;gBACX,cAAc,GAAG,UAAU,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;gBACvE,MAAK;YACP,KAAK,cAAc;gBACjB,cAAc,GAAG,sBAAsB,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;gBACnF,MAAK;YACP,KAAK,MAAM;gBACT,IAAI,CAAE,OAAO,CAAC,CAAC,CAAmB,CAAC,OAAO,EAAE;oBAC1C,MAAM,IAAI,KAAK,EAAE,CAAA;iBAClB;gBACD,cAAc,GAAG,eAAe,CAC9B,YAAY,EACZ,CAAC,EAAE,OAAO,EAAG,OAAO,CAAC,CAAC,CAAmB,CAAC,OAAO,EAAE,CAAC,EACpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CACpB,CAAA;gBACD,MAAK;YAEP;gBACE,MAAK;SACR;QAED,IAAI,EACF,MAAM,EACN,OAAO,EACP,GAAG,GACJ,GAQG,cAAc,CAAA;QAElB,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE;YACvB,MAAM,GAAG,YAAY,CAAA;YACrB,OAAO,GAAG,OAAO,CAAA;YACjB,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;SACzF;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAC5B,CAAC,CAAC,EAAE,EAAE,CACJ,cAAc,CAAC,YAAY,CACzB,CAAC,CAAC,UAAU,CAAC,WAAuD,CACrE,CACJ,CAAA;QACD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACvC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YAEtB,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,WAAW,GAAG,SAAS,CAAA;gBAC3B,IAAI;oBACF,WAAW,GAAG,IAAA,8BAAc,EAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;iBACzD;gBAAC,WAAM;oBACN,WAAW,GAAG,SAAS,CAAA;iBACxB;gBACD,OAAO,cAAc,CAAC,aAAa,CACjC,WAAwD,CACzD,CAAA;aACF;YAED,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,EAAE;oBAC/B,OAAO,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAA;iBAC9C;gBACD,OAAO,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAA;aAC9C;YAED,IAAI,WAAW,GAAG,SAAS,CAAA;YAC3B,IAAI;gBACF,OAAO,CAAC,GAAG,CAAC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,CAAC,CAAA;gBAElC,WAAW,GAAG,IAAA,8BAAc,EAAC,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,KAAI,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;aACxE;YAAC,WAAM;gBACN,WAAW,GAAG,SAAS,CAAA;aACxB;YAED,OAAO,cAAc,CAAC,aAAa,CAAC,WAAwD,CAAC,CAAA;QAC/F,CAAC,CAAC,CAAA;QAEF,MAAM,MAAM,GACV,cAAc,CAAC,WAAW;YAC1B,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAA;QAEtC,MAAM,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC1C,IACE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACrC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC7E,KAAK;YACP,IAAI,EACJ;YACA,IAAI,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAC9D,IAAI,iBAAiB,GAAG,OAAO;iBAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC;iBACpC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YACnC,IAAI,IAAI,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,KAAK,CAAA;YACvD,MAAM,IAAI,KAAK,CACb,gCAAgC,IAAI,CAAC,SAAS,CAC5C,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAE,EACpD,IAAI,EACJ,CAAC,CACF,EAAE,CACJ,CAAA;SACF;QACD,IAAI,IAAI,GAAG,GAAG,GAAG,KAAK,CAAA;QACtB,IAAI,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,OAAO,CAAA,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAC1F,IAAI,MAAgC,CAAA;QACpC,IAAI,WAAW,IAAI,CAAC,IAAI,IAAI,GAAG,IAAI,EAAE;YACnC,IAAI,WAAW,IAAI,CAAC,EAAE;gBACpB,IAAI,GAAG,IAAI,GAAG,cAAc,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;aACzE;YAED,IAAI,IAAI,GAAG,CAAC,EAAE;gBACZ,IAAI,GAAG,CAAC,CAAA;aACT;YAED,IAAI,UAAU,KAAK,MAAM,EAAE;gBACzB,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAA;gBAC1C,GAAG,GAAG,GAAG,GAAG,IAAI,CAAA;aACjB;iBAAM;gBACL,IAAI,CAAC,YAAY;oBAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;gBACtD,MAAM,GAAG;oBACP,OAAO,EAAE,YAAY,CAAC,OAAO;oBAC7B,KAAK,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI;iBACnE,CAAA;gBACD,GAAG,GAAG,GAAG,GAAG,IAAI,CAAA;aACjB;YAED,IAAI,WAAW,IAAI,CAAC,EAAE;gBACpB,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;aAC/B;SACF;QAED,OAAO;YACL,MAAM;YACN,GAAG;YACH,OAAO,EAAE,OAAmB;YAC5B,MAAM;SACP,CAAA;IACH,CAAC;IAEK,sCAAsC,CAAC,EAC3C,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,OAAO,EACP,UAAU,GAaX;;YACC,IAAI,EACF,MAAM,EAAE,cAAc,EACtB,OAAO,EACP,MAAM,EACN,GAAG,GACJ,GAAG,IAAI,CAAC,4BAA4B,CAAC;gBACpC,OAAO;gBACP,YAAY;gBACZ,OAAO;gBACP,YAAY;gBACZ,UAAU;aACX,CAAC,CAAA;YAEF,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,cAAc,CAAC,CAAA;YAEnE,OAAO;gBACL,MAAM;gBACN,OAAO;gBACP,MAAM;gBACN,GAAG;gBACH,OAAO;aACR,CAAA;QACH,CAAC;KAAA;IAGK,2BAA2B,CAAC,aAA6B,EAAE;;;YAC/D,IAAI,MAAM,GAEH,UAAU,CAAA;YACjB,IAAI,aAAa,GAAkB,IAAI,CAAA;YACvC,IAAI,cAAc,GAAkB,IAAI,CAAA;YACxC,KAAK,IAAI,CAAC,IAAI,MAAM,EAAE;gBACpB,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,iBAAiB,EAAE,WAAW,EAAE,GACxE,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA;gBAEtB,IAAI,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC;oBAC3C,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;oBACxC,WAAW;iBACZ,CAAC,CAAA;gBACF,IAAI,cAAc,IAAI,iBAAiB,IAAI,aAAa,CAAC,MAAM,EAAE;oBAC/D,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG;wBAC1B;4BACE,IAAI,EAAE,cAAc;4BACpB,MAAM,EAAE,aAAa,CAAC,MAAM;4BAC5B,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC;yBACzD;qBACF,CAAA;iBACF;gBACD,IAAI,WAAW,KAAK,OAAO,EAAE;oBAE3B,IAAI,cAAc,IAAI,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;wBACtD,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;qBAC9D;yBAAM;wBACL,cAAc,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;wBAC9D,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;wBAC9B,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;qBAC9D;iBACF;qBAAM,IAAI,WAAW,KAAK,QAAQ,EAAE;oBAEnC,IAAI,CAAC,aAAa,CAAC,MAAM;wBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;oBACjE,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG;wBACtB,MAAM,EAAE,aAAa,CAAC,MAAM;wBAC5B,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK;qBACvB,CAAA;oBAED,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE;wBACnC,IAAI,cAAc,IAAI,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;4BACtD,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;yBAC9D;6BAAM;4BACL,cAAc,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;4BAC9D,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;4BAC9B,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;yBAC9D;qBACF;iBACF;qBAAM,IAAI,WAAW,KAAK,aAAa,EAAE;oBAExC,IAAI,CAAC,aAAa,CAAC,MAAM;wBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;oBACjE,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG;wBACtB,MAAM,EAAE,aAAa,CAAC,MAAM;wBAC5B,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK;qBACvB,CAAA;oBACD,IAAI,CAAC,CAAA,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,0CAAE,MAAM,CAAA;wBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;oBAC3F,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAA;oBAEpD,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE;wBACnC,IAAI,cAAc,IAAI,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;4BACtD,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;yBAC9D;6BAAM;4BACL,cAAc,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;4BAC9D,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;4BAC9B,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;yBAC9D;qBACF;iBACF;qBAAM,IAAI,WAAW,KAAK,MAAM,EAAE;oBACjC,IAAI,CAAC,aAAa,CAAC,MAAM;wBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;oBACjE,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG;wBACtB,MAAM,EAAE,aAAa,CAAC,MAAM;wBAC5B,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK;qBACvB,CAAA;oBACD,IAAI,CAAC,aAAa,CAAC,MAAM;wBAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;oBAC3F,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,aAAa,CAAC,cAAc,CAAA;oBAEvD,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE;wBACnC,IAAI,cAAc,IAAI,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;4BACtD,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;yBAC9D;6BAAM;4BACL,cAAc,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;4BAC9D,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;4BAC9B,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;yBAC9D;qBACF;iBACF;aACF;YAED,OAAO,MAAM,CAAA;;KACd;IAGD,yBAAyB,CAAC,EACxB,MAAM,EACN,OAAO,EACP,MAAM,EACN,GAAG,EACH,OAAO,GAOR;QACC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;QACxB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;QAC7C,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;QAE/D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,IAAI,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,UAAU,CAAA;YACtC,QAAQ,WAAW,EAAE;gBACnB,KAAK,OAAO,CAAC,CAAC;oBACZ,IAAI,CAAC,GAAG;wBACN,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;wBAC1B,cAAc,EAAE,KAAK,CAAC,cAAc;wBACpC,QAAQ,EAAE,UAAU,GAAG,CAAC;wBACxB,eAAe,EAAE,KAAK,CAAC,eAAe;qBACvC,CAAA;oBACD,IAAI,CAAC,CAAC,CAAC,eAAe;wBAAE,OAAO,CAAC,CAAC,eAAe,CAAA;oBAChD,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;oBACnB,MAAK;iBACN;gBACD,KAAK,QAAQ,CAAC,CAAC;oBACb,IAAI,CAAC,GAAG;wBACN,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;wBAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;wBAE9B,cAAc,EAAE,KAAK,CAAC,cAAc;wBACpC,QAAQ,EAAE,UAAU,GAAG,CAAC;wBACxB,eAAe,EAAE,KAAK,CAAC,eAAe;qBACvC,CAAA;oBACD,IAAI,CAAC,CAAC,CAAC,eAAe;wBAAE,OAAO,CAAC,CAAC,eAAe,CAAA;oBAChD,IAAI,CAAC,CAAC,CAAC,cAAc;wBAAE,OAAO,CAAC,CAAC,cAAc,CAAA;oBAC9C,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;oBACnB,MAAK;iBACN;gBACD,KAAK,aAAa,CAAC,CAAC;oBAClB,IAAI,CAAC,GAAG;wBACN,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;wBAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;wBAE9B,cAAc,EAAE,KAAK,CAAC,cAAc;wBACpC,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,QAAQ,EAAE,UAAU,GAAG,CAAC;wBACxB,eAAe,EAAE,KAAK,CAAC,eAAe;qBACvC,CAAA;oBACD,IAAI,CAAC,CAAC,CAAC,eAAe;wBAAE,OAAO,CAAC,CAAC,eAAe,CAAA;oBAChD,IAAI,CAAC,CAAC,CAAC,cAAc;wBAAE,OAAO,CAAC,CAAC,cAAc,CAAA;oBAC9C,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;oBACnB,MAAK;iBACN;gBACD,KAAK,MAAM,CAAC,CAAC;oBACX,IAAI,CAAC,GAAG;wBACN,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;wBAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;wBAE9B,cAAc,EAAE,KAAK,CAAC,cAAc;wBACpC,cAAc,EAAE,KAAK,CAAC,cAAc;wBACpC,QAAQ,EAAE,UAAU,GAAG,CAAC;wBACxB,eAAe,EAAE,KAAK,CAAC,eAAe;qBACvC,CAAA;oBACD,IAAI,CAAC,CAAC,CAAC,eAAe;wBAAE,OAAO,CAAC,CAAC,eAAe,CAAA;oBAChD,IAAI,CAAC,CAAC,CAAC,cAAc;wBAAE,OAAO,CAAC,CAAC,cAAc,CAAA;oBAC9C,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;oBACnB,MAAK;iBACN;gBACD;oBACE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;aAC/C;SACF;QAGD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;SAC1B;QAGD,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;SAC1B;QAGD,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9C,IAAI,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE;gBAChE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;aACxC;SAIF;QAED,MAAM,oBAAoB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAA;QAC/C,OAAO;YACL,mBAAmB,EAAE,oBAAoB;YACzC,OAAO;YACP,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC3B,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;gBACxB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,UAAU,EAAE,GAAG,CAAC,UAAU;aAC3B,CAAC,CAAC;YACH,GAAG;YACH,MAAM;SACP,CAAA;IACH,CAAC;IAEK,0BAA0B,CAAC,EAC/B,YAAY,EACZ,OAAO,GAAG,EAAE,EACZ,aAAa,GAAG,SAAS,EACzB,UAAU,GAAG,KAAK,EAClB,OAAO,EACP,eAAe,GAAG,KAAK,EACvB,UAAU,GAAG,QAAQ,GAUtB;;YACC,IAAI,CAAC,eAAe,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAA;YAC1E,IAAI,YAAY,GACd,OAAO,aAAa,KAAK,QAAQ;gBAC/B,CAAC,CAAC;oBACE,OAAO,EAAE,aAAa;iBACvB;gBACH,CAAC,CAAC,aAAa,CAAA;YACnB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,sCAAsC,CAAC;gBACzF,YAAY;gBACZ,OAAO;gBACP,YAAY;gBACZ,OAAO;gBACP,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU;aAC7C,CAAC,CAAA;YACF,IAAI,mBAAmB,GAAG,IAAI,CAAC,yBAAyB,CAAC;gBACvD,MAAM;gBACN,OAAO;gBACP,MAAM;gBACN,GAAG;gBACH,OAAO;aACR,CAAC,CAAA;YAEF,OAAO,mBAAmB,CAAA;QAC5B,CAAC;KAAA;CACF;AAED,kBAAe,0BAA0B,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teleportdao/bitcoin",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.8",
|
|
4
4
|
"description": "teleswap bitcoin package",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"browser": "dist/bundle.js",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"publishConfig": {
|
|
35
35
|
"access": "public"
|
|
36
36
|
},
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "0330d1f73ca5caa91fe0a2c6c5f66046f35a8d40",
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@babel/preset-react": "^7.23.3"
|
|
40
40
|
}
|
package/src/bitcoin-base.ts
CHANGED
|
@@ -74,7 +74,7 @@ class BitcoinBase {
|
|
|
74
74
|
: undefined
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
|
|
77
|
+
createTransactionInputsAndOutputs({
|
|
78
78
|
targets,
|
|
79
79
|
extendedUtxo,
|
|
80
80
|
changeAddress,
|
|
@@ -86,7 +86,7 @@ class BitcoinBase {
|
|
|
86
86
|
feeRate: number
|
|
87
87
|
fullAmount?: boolean
|
|
88
88
|
}) {
|
|
89
|
-
return
|
|
89
|
+
return this.transactionBuilder.helperHandleInputsAndOutputs({
|
|
90
90
|
targets,
|
|
91
91
|
extendedUtxo,
|
|
92
92
|
changeObject: {
|
|
@@ -96,7 +96,7 @@ class BitcoinBase {
|
|
|
96
96
|
})
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
-
|
|
99
|
+
checkBalanceIsSufficient({
|
|
100
100
|
targets,
|
|
101
101
|
extendedUtxo,
|
|
102
102
|
changeAddress,
|
|
@@ -110,7 +110,7 @@ class BitcoinBase {
|
|
|
110
110
|
fullAmount?: boolean
|
|
111
111
|
}) {
|
|
112
112
|
try {
|
|
113
|
-
|
|
113
|
+
this.transactionBuilder.helperHandleInputsAndOutputs({
|
|
114
114
|
targets,
|
|
115
115
|
extendedUtxo,
|
|
116
116
|
changeObject: {
|
|
@@ -13,7 +13,7 @@ const componentBytes = {
|
|
|
13
13
|
p2pkh: 148,
|
|
14
14
|
p2wpkh: 68,
|
|
15
15
|
"p2sh-p2wpkh": 91,
|
|
16
|
-
p2tr: 58
|
|
16
|
+
p2tr: 65, // actual 58
|
|
17
17
|
},
|
|
18
18
|
baseTxBytes: 10 + 2, // +2 extra bytes to be sure
|
|
19
19
|
bytePerOutput: {
|
|
@@ -146,7 +146,7 @@ class BaseBitcoinLikeTransaction {
|
|
|
146
146
|
// methods
|
|
147
147
|
validateAddress(address: string) {
|
|
148
148
|
try {
|
|
149
|
-
getAddressType(address)
|
|
149
|
+
getAddressType(address, this.network)
|
|
150
150
|
return true
|
|
151
151
|
} catch (error) {
|
|
152
152
|
return false
|
|
@@ -177,7 +177,7 @@ class BaseBitcoinLikeTransaction {
|
|
|
177
177
|
return extendedUtxo
|
|
178
178
|
}
|
|
179
179
|
|
|
180
|
-
|
|
180
|
+
helperHandleInputsAndOutputs({
|
|
181
181
|
targets,
|
|
182
182
|
extendedUtxo,
|
|
183
183
|
feeRate,
|
|
@@ -254,10 +254,12 @@ class BaseBitcoinLikeTransaction {
|
|
|
254
254
|
],
|
|
255
255
|
)
|
|
256
256
|
const outputSizes = outputs.map((outP) => {
|
|
257
|
+
console.log("r", outP)
|
|
258
|
+
|
|
257
259
|
if (outP.address) {
|
|
258
260
|
let addressType = "default"
|
|
259
261
|
try {
|
|
260
|
-
addressType = getAddressType(outP.address)
|
|
262
|
+
addressType = getAddressType(outP.address, this.network)
|
|
261
263
|
} catch {
|
|
262
264
|
addressType = "default"
|
|
263
265
|
}
|
|
@@ -272,7 +274,17 @@ class BaseBitcoinLikeTransaction {
|
|
|
272
274
|
}
|
|
273
275
|
return componentBytes.opReturn.dataMoreThan75
|
|
274
276
|
}
|
|
275
|
-
|
|
277
|
+
|
|
278
|
+
let addressType = "default"
|
|
279
|
+
try {
|
|
280
|
+
console.log(changeObject?.address)
|
|
281
|
+
|
|
282
|
+
addressType = getAddressType(changeObject?.address || "", this.network)
|
|
283
|
+
} catch {
|
|
284
|
+
addressType = "default"
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
return componentBytes.bytePerOutput[addressType as keyof typeof componentBytes.bytePerOutput]
|
|
276
288
|
})
|
|
277
289
|
|
|
278
290
|
const txSize =
|
|
@@ -283,10 +295,23 @@ class BaseBitcoinLikeTransaction {
|
|
|
283
295
|
|
|
284
296
|
const txFee = txSize * Math.round(feeRate)
|
|
285
297
|
if (
|
|
286
|
-
inputs.reduce((a, b) => a + b.value, 0) -
|
|
298
|
+
inputs.reduce((a, b) => a + b.value, 0) -
|
|
299
|
+
outputs.filter((o) => o.address || o.script).reduce((a, b) => a + b.value, 0) -
|
|
300
|
+
txFee <
|
|
287
301
|
DUST
|
|
288
302
|
) {
|
|
289
|
-
|
|
303
|
+
let spendableBalance = inputs.reduce((a, b) => a + b.value, 0)
|
|
304
|
+
let totalOutputAmount = outputs
|
|
305
|
+
.filter((o) => o.address || o.script)
|
|
306
|
+
.reduce((a, b) => a + b.value, 0)
|
|
307
|
+
let need = spendableBalance - totalOutputAmount - txFee
|
|
308
|
+
throw new Error(
|
|
309
|
+
`not enough balance. details: ${JSON.stringify(
|
|
310
|
+
{ spendableBalance, totalOutputAmount, txFee, need },
|
|
311
|
+
null,
|
|
312
|
+
2,
|
|
313
|
+
)}`,
|
|
314
|
+
)
|
|
290
315
|
}
|
|
291
316
|
let diff = fee - txFee
|
|
292
317
|
let changeIndex = outputs.findIndex((x) => !x?.address && !x.script && (x.value || 0) > 0)
|
|
@@ -349,7 +374,7 @@ class BaseBitcoinLikeTransaction {
|
|
|
349
374
|
outputs,
|
|
350
375
|
change,
|
|
351
376
|
fee,
|
|
352
|
-
} =
|
|
377
|
+
} = this.helperHandleInputsAndOutputs({
|
|
353
378
|
targets,
|
|
354
379
|
extendedUtxo,
|
|
355
380
|
feeRate,
|