@bsv/templates 1.1.0 → 1.2.0
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/README.md +1 -0
- package/dist/cjs/mod.js +4 -40
- package/dist/cjs/mod.js.map +1 -1
- package/dist/cjs/package.json +6 -5
- package/dist/cjs/src/MultiPushDrop.js +2 -1
- package/dist/cjs/src/MultiPushDrop.js.map +1 -1
- package/dist/cjs/src/MultiSigPubkeyHash.js +173 -0
- package/dist/cjs/src/MultiSigPubkeyHash.js.map +1 -0
- package/dist/cjs/src/OpReturn.js +2 -1
- package/dist/cjs/src/OpReturn.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/mod.js +2 -3
- package/dist/esm/mod.js.map +1 -1
- package/dist/esm/src/MultiPushDrop.js +1 -1
- package/dist/esm/src/MultiPushDrop.js.map +1 -1
- package/dist/esm/src/MultiSigPubkeyHash.js +170 -0
- package/dist/esm/src/MultiSigPubkeyHash.js.map +1 -0
- package/dist/esm/src/OpReturn.js +1 -1
- package/dist/esm/src/OpReturn.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/mod.d.ts +2 -3
- package/dist/types/mod.d.ts.map +1 -1
- package/dist/types/src/MultiPushDrop.d.ts +1 -1
- package/dist/types/src/MultiPushDrop.d.ts.map +1 -1
- package/dist/types/src/MultiSigPubkeyHash.d.ts +24 -0
- package/dist/types/src/MultiSigPubkeyHash.d.ts.map +1 -0
- package/dist/types/src/OpReturn.d.ts +1 -1
- package/dist/types/src/OpReturn.d.ts.map +1 -1
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/mod.ts +2 -3
- package/package.json +6 -5
- package/src/MultiPushDrop.ts +1 -1
- package/src/MultiSigPubkeyHash.ts +214 -0
- package/src/OpReturn.ts +1 -1
- package/src/Metanet.ts +0 -49
- package/src/__tests/Metanet.test.ts +0 -21
- package/src/__tests/MultiPushDrop.test.ts +0 -256
- package/src/__tests/OpReturn.test.ts +0 -11
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { LockingScript, UnlockingScript, OP, Hash, PublicKey, TransactionSignature, Signature, Utils } from "@bsv/sdk";
|
|
2
|
+
export class MultiSigPubkeyHash {
|
|
3
|
+
static address(pubkeys, threshold) {
|
|
4
|
+
const concat = pubkeys.map((p) => p.toDER()).reduce((a, b) => a.concat(b), []);
|
|
5
|
+
const hash = Hash.hash160(concat);
|
|
6
|
+
const writer = new Utils.Writer();
|
|
7
|
+
writer.write(hash);
|
|
8
|
+
writer.writeVarIntNum(threshold);
|
|
9
|
+
writer.writeVarIntNum(pubkeys.length);
|
|
10
|
+
const data = writer.toArray();
|
|
11
|
+
return Utils.toBase58Check(data, [0x98]);
|
|
12
|
+
}
|
|
13
|
+
static async addressBRC29(wallet, counterparties, keyID, threshold) {
|
|
14
|
+
const pubkeys = await Promise.all(counterparties.map(async (counterparty) => {
|
|
15
|
+
const { publicKey } = await wallet.getPublicKey({
|
|
16
|
+
protocolID: [1, "multi sig brc29"],
|
|
17
|
+
keyID,
|
|
18
|
+
counterparty
|
|
19
|
+
});
|
|
20
|
+
return PublicKey.fromString(publicKey);
|
|
21
|
+
}));
|
|
22
|
+
return { pubkeys: pubkeys.map(p => p.toString()), address: this.address(pubkeys, threshold) };
|
|
23
|
+
}
|
|
24
|
+
static thresholdAndTotalFromAddress(address) {
|
|
25
|
+
const h = Utils.fromBase58Check(address);
|
|
26
|
+
if (h.prefix[0] !== 0x98) {
|
|
27
|
+
throw new Error('only P2MSH is supported, set your prefix byte to 0x98');
|
|
28
|
+
}
|
|
29
|
+
const reader = new Utils.Reader(h.data);
|
|
30
|
+
const hash = reader.read(20);
|
|
31
|
+
const threshold = reader.readVarIntNum();
|
|
32
|
+
const total = reader.readVarIntNum();
|
|
33
|
+
return { hash, threshold, total };
|
|
34
|
+
}
|
|
35
|
+
lock(address, pubkeys, threshold = 1) {
|
|
36
|
+
let hash;
|
|
37
|
+
let total;
|
|
38
|
+
if (address) {
|
|
39
|
+
if (typeof address !== 'string')
|
|
40
|
+
throw new Error('address must be a string');
|
|
41
|
+
const result = MultiSigPubkeyHash.thresholdAndTotalFromAddress(address);
|
|
42
|
+
hash = result.hash;
|
|
43
|
+
total = result.total;
|
|
44
|
+
threshold = result.threshold;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
if (!pubkeys || pubkeys.length < 2 || pubkeys.length < threshold)
|
|
48
|
+
throw new Error(`at least ${threshold} pubkeys are required, or use an address`);
|
|
49
|
+
const concat = pubkeys.map((p) => p.encode(true)).reduce((a, b) => a.concat(b), []);
|
|
50
|
+
hash = Hash.hash160(concat);
|
|
51
|
+
total = pubkeys.length;
|
|
52
|
+
}
|
|
53
|
+
const script = new LockingScript();
|
|
54
|
+
for (let i = 0; i < total - 1; i++) {
|
|
55
|
+
script.writeOpCode(OP.OP_CAT);
|
|
56
|
+
}
|
|
57
|
+
script
|
|
58
|
+
.writeOpCode(OP.OP_DUP)
|
|
59
|
+
.writeOpCode(OP.OP_HASH160)
|
|
60
|
+
.writeBin(hash)
|
|
61
|
+
.writeOpCode(OP.OP_EQUALVERIFY)
|
|
62
|
+
.writeNumber(threshold)
|
|
63
|
+
.writeOpCode(OP.OP_SWAP);
|
|
64
|
+
for (let i = 0; i < total - 1; i++) {
|
|
65
|
+
script
|
|
66
|
+
.writeNumber(33)
|
|
67
|
+
.writeOpCode(OP.OP_SPLIT);
|
|
68
|
+
}
|
|
69
|
+
script.writeNumber(total);
|
|
70
|
+
script.writeOpCode(OP.OP_CHECKMULTISIG);
|
|
71
|
+
return script;
|
|
72
|
+
}
|
|
73
|
+
unlock(wallet, customInstructions, workingUnlockingScript, signOutputs = "all", anyoneCanPay = false, sourceSatoshis, lockingScript) {
|
|
74
|
+
return {
|
|
75
|
+
sign: async (tx, inputIndex) => {
|
|
76
|
+
if (!workingUnlockingScript) {
|
|
77
|
+
workingUnlockingScript = new UnlockingScript();
|
|
78
|
+
workingUnlockingScript.writeOpCode(OP.OP_0);
|
|
79
|
+
customInstructions.pubkeys.forEach((pubkey) => {
|
|
80
|
+
workingUnlockingScript.writeBin(PublicKey.fromString(pubkey).toDER());
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
let signatureScope = TransactionSignature.SIGHASH_FORKID;
|
|
84
|
+
if (signOutputs === "all") {
|
|
85
|
+
signatureScope |= TransactionSignature.SIGHASH_ALL;
|
|
86
|
+
}
|
|
87
|
+
if (signOutputs === "none") {
|
|
88
|
+
signatureScope |= TransactionSignature.SIGHASH_NONE;
|
|
89
|
+
}
|
|
90
|
+
if (signOutputs === "single") {
|
|
91
|
+
signatureScope |= TransactionSignature.SIGHASH_SINGLE;
|
|
92
|
+
}
|
|
93
|
+
if (anyoneCanPay) {
|
|
94
|
+
signatureScope |= TransactionSignature.SIGHASH_ANYONECANPAY;
|
|
95
|
+
}
|
|
96
|
+
const input = tx.inputs[inputIndex];
|
|
97
|
+
const otherInputs = tx.inputs.filter((_, index) => index !== inputIndex);
|
|
98
|
+
const sourceTXID = input.sourceTXID
|
|
99
|
+
? input.sourceTXID
|
|
100
|
+
: input.sourceTransaction?.id("hex");
|
|
101
|
+
if (!sourceTXID) {
|
|
102
|
+
throw new Error("The input sourceTXID or sourceTransaction is required for transaction signing.");
|
|
103
|
+
}
|
|
104
|
+
sourceSatoshis ||=
|
|
105
|
+
input.sourceTransaction?.outputs[input.sourceOutputIndex].satoshis;
|
|
106
|
+
if (!sourceSatoshis) {
|
|
107
|
+
throw new Error("The sourceSatoshis or input sourceTransaction is required for transaction signing.");
|
|
108
|
+
}
|
|
109
|
+
lockingScript ||=
|
|
110
|
+
input.sourceTransaction?.outputs[input.sourceOutputIndex]
|
|
111
|
+
.lockingScript;
|
|
112
|
+
if (!lockingScript) {
|
|
113
|
+
throw new Error("The lockingScript or input sourceTransaction is required for transaction signing.");
|
|
114
|
+
}
|
|
115
|
+
const preimage = TransactionSignature.format({
|
|
116
|
+
sourceTXID,
|
|
117
|
+
sourceOutputIndex: input.sourceOutputIndex,
|
|
118
|
+
sourceSatoshis,
|
|
119
|
+
transactionVersion: tx.version,
|
|
120
|
+
otherInputs,
|
|
121
|
+
inputIndex,
|
|
122
|
+
outputs: tx.outputs,
|
|
123
|
+
inputSequence: input.sequence || 0xffffffff,
|
|
124
|
+
subscript: lockingScript,
|
|
125
|
+
lockTime: tx.lockTime,
|
|
126
|
+
scope: signatureScope,
|
|
127
|
+
});
|
|
128
|
+
const hashToDirectlySign = Hash.hash256(preimage);
|
|
129
|
+
const { signature } = await wallet.createSignature({
|
|
130
|
+
hashToDirectlySign,
|
|
131
|
+
protocolID: [1, "multi sig brc29"],
|
|
132
|
+
counterparty: customInstructions.counterparty,
|
|
133
|
+
keyID: customInstructions.keyID,
|
|
134
|
+
});
|
|
135
|
+
const s = Signature.fromDER(signature);
|
|
136
|
+
const sig = new TransactionSignature(s.r, s.s, signatureScope);
|
|
137
|
+
const sigForScript = sig.toChecksigFormat();
|
|
138
|
+
workingUnlockingScript.writeBin(sigForScript);
|
|
139
|
+
const chunkforSig = workingUnlockingScript.chunks.pop();
|
|
140
|
+
// add it to the array at position 1, pushing the other content to the right
|
|
141
|
+
workingUnlockingScript.chunks.splice(1, 0, chunkforSig);
|
|
142
|
+
return workingUnlockingScript;
|
|
143
|
+
},
|
|
144
|
+
estimateLength: (tx, inputIndex) => {
|
|
145
|
+
let numberOfPubkeys = 2;
|
|
146
|
+
let numberOfSignatures = 1;
|
|
147
|
+
const staticLength = 6;
|
|
148
|
+
const input = tx.inputs[inputIndex];
|
|
149
|
+
const lockingScript = input.sourceTransaction?.outputs[input.sourceOutputIndex].lockingScript;
|
|
150
|
+
if (!lockingScript) {
|
|
151
|
+
return Promise.resolve(1000); // guess
|
|
152
|
+
}
|
|
153
|
+
let chunks = lockingScript.chunks.length - 6; // remove static opcodes
|
|
154
|
+
const numPubKeys = chunks / 4;
|
|
155
|
+
const thresholdPos = 6 + ((numPubKeys - 1) * 3);
|
|
156
|
+
const n = lockingScript?.chunks[thresholdPos];
|
|
157
|
+
if (!n.data) {
|
|
158
|
+
numberOfSignatures = 1 + n.op - OP.OP_1;
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
const reader = new Utils.Reader(n.data);
|
|
162
|
+
const threshold = reader.readInt64LEBn();
|
|
163
|
+
numberOfSignatures = threshold.toNumber();
|
|
164
|
+
}
|
|
165
|
+
return Promise.resolve(staticLength + (numberOfPubkeys * 33) + (numberOfSignatures * 72));
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=MultiSigPubkeyHash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiSigPubkeyHash.js","sourceRoot":"","sources":["../../../src/MultiSigPubkeyHash.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/src/OpReturn.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpReturn.js","sourceRoot":"","sources":["../../../src/OpReturn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAA0B,aAAa,EAAgC,KAAK,EAAE,MAAM,UAAU,CAAA;AAEzG;;;;GAIG;AACH,MAAM,
|
|
1
|
+
{"version":3,"file":"OpReturn.js","sourceRoot":"","sources":["../../../src/OpReturn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAA0B,aAAa,EAAgC,KAAK,EAAE,MAAM,UAAU,CAAA;AAEzG;;;;GAIG;AACH,MAAM,OAAO,QAAQ;IACnB;;;;;;SAMK;IACL,IAAI,CAAE,IAAkC,EAAE,GAA+B;QACvE,MAAM,MAAM,GAA2C;YACrD,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE;YACnB,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,EAAE;SACrB,CAAA;QAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAI,GAAG,CAAC,IAAI,CAAC,CAAA;QACf,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;YACrD,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAgB,EAAE,CAAC,CAAA;QAC1D,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;gBACrC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;YAC5C,CAAC;QACH,CAAC;QAED,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC,CAAA;IAClC,CAAC;IAED;;SAEK;IACL,MAAM;QAIJ,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IACjE,CAAC;IAED;;;;KAIC;IACD,MAAM,CAAC,MAAM,CAAE,MAAc;QAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACjD,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;IACvE,CAAC;CACF"}
|