@1sat/wallet-server 0.0.33 → 0.0.34
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.
|
@@ -6,6 +6,9 @@ import { LockingScript, Transaction } from '@bsv/sdk';
|
|
|
6
6
|
import type { ResolvedBind } from './types';
|
|
7
7
|
/**
|
|
8
8
|
* Load tip locking script for alias, verify PushDrop bind, return identity key.
|
|
9
|
+
*
|
|
10
|
+
* The OpNS lookup returns the name's ORIGIN outpoint; the current tip is
|
|
11
|
+
* resolved by following the origin's spend chain via ORDFS (`:-1` = latest).
|
|
9
12
|
*/
|
|
10
13
|
export declare function resolvePaymailBind(services: OneSatServices, alias: string): Promise<ResolvedBind>;
|
|
11
14
|
export declare function verifyPushDropBind(tx: Transaction, vout: number, lockingScript: LockingScript): Promise<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/paymail/resolve.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,OAAO,EACN,aAAa,EAGb,WAAW,EAEX,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAY3C
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/paymail/resolve.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,OAAO,EACN,aAAa,EAGb,WAAW,EAEX,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAY3C;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACvC,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,MAAM,GACX,OAAO,CAAC,YAAY,CAAC,CAcvB;AAED,wBAAsB,kBAAkB,CACvC,EAAE,EAAE,WAAW,EACf,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,aAAa,GAC1B,OAAO,CAAC,MAAM,CAAC,CAiDjB"}
|
package/dist/paymail/resolve.js
CHANGED
|
@@ -14,15 +14,19 @@ function parseOutpoint(outpoint) {
|
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
16
|
* Load tip locking script for alias, verify PushDrop bind, return identity key.
|
|
17
|
+
*
|
|
18
|
+
* The OpNS lookup returns the name's ORIGIN outpoint; the current tip is
|
|
19
|
+
* resolved by following the origin's spend chain via ORDFS (`:-1` = latest).
|
|
17
20
|
*/
|
|
18
21
|
export async function resolvePaymailBind(services, alias) {
|
|
19
|
-
const { outpoint } = await services.opns.getOrigin(alias);
|
|
20
|
-
const
|
|
22
|
+
const { outpoint: originOutpoint } = await services.opns.getOrigin(alias);
|
|
23
|
+
const latest = await services.ordfs.getMetadata(originOutpoint, -1);
|
|
24
|
+
const { txid, vout } = parseOutpoint(latest.outpoint);
|
|
21
25
|
const beefBytes = await services.beef.getBeef(txid);
|
|
22
26
|
const tx = Transaction.fromBEEF(Array.from(beefBytes));
|
|
23
27
|
const output = tx.outputs[vout];
|
|
24
28
|
if (!output?.lockingScript) {
|
|
25
|
-
throw new Error(`no output at ${
|
|
29
|
+
throw new Error(`no output at ${txid}.${vout}`);
|
|
26
30
|
}
|
|
27
31
|
const identityKey = await verifyPushDropBind(tx, vout, output.lockingScript);
|
|
28
32
|
return { identityKey, outpoint: `${txid}.${vout}` };
|
|
@@ -47,11 +51,13 @@ export async function verifyPushDropBind(tx, vout, lockingScript) {
|
|
|
47
51
|
}
|
|
48
52
|
const keyID = opnsRegisterKeyId(`${sourceTxid}.${sourceVout}`);
|
|
49
53
|
const anyone = new ProtoWallet('anyone');
|
|
54
|
+
// forSelf: false = the identity's derived key for counterparty 'anyone',
|
|
55
|
+
// which is the key PushDrop.lock derives on the owner's wallet.
|
|
50
56
|
const { publicKey: expectedLockPub } = await anyone.getPublicKey({
|
|
51
57
|
protocolID: P1SAT_PROTOCOL,
|
|
52
58
|
keyID,
|
|
53
59
|
counterparty: identityKey,
|
|
54
|
-
forSelf:
|
|
60
|
+
forSelf: false,
|
|
55
61
|
});
|
|
56
62
|
if (expectedLockPub !== decoded.lockingPublicKey.toString()) {
|
|
57
63
|
throw new Error('lock pubkey does not match bind derivation');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/paymail/resolve.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/D,OAAO,EAEN,WAAW,EACX,QAAQ,EACR,WAAW,EACX,KAAK,GACL,MAAM,UAAU,CAAA;AAGjB,SAAS,aAAa,CAAC,QAAgB;IACtC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAC7C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;IAC5B,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAA;IACjD,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;AACtB,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/paymail/resolve.ts"],"names":[],"mappings":"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"}
|