@1sat/serve 0.0.1 → 0.0.2
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/dist/payment.d.ts +7 -4
- package/dist/payment.d.ts.map +1 -1
- package/dist/payment.js +3 -1
- package/dist/payment.js.map +1 -1
- package/package.json +1 -1
package/dist/payment.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ import type { AuthContext, AuthHandler } from './transport.js';
|
|
|
4
4
|
export interface VerifiedPayment {
|
|
5
5
|
/** The payment transaction as AtomicBEEF bytes. */
|
|
6
6
|
tx: number[];
|
|
7
|
+
/** The payment transaction id. */
|
|
8
|
+
txid: string;
|
|
7
9
|
/** Index of the output that pays the server. */
|
|
8
10
|
outputIndex: number;
|
|
9
11
|
/** Satoshis on that output. */
|
|
@@ -20,11 +22,12 @@ export interface PaidContext extends AuthContext {
|
|
|
20
22
|
export type PaidHandler = (ctx: PaidContext) => Promise<Response> | Response;
|
|
21
23
|
/**
|
|
22
24
|
* Decides how the verified payment is recorded. Receives the default
|
|
23
|
-
* 'wallet payment' internalize args (general balance)
|
|
24
|
-
*
|
|
25
|
-
*
|
|
25
|
+
* 'wallet payment' internalize args (general balance), the request context
|
|
26
|
+
* (to read the body / identity for custom tags and instructions), and returns
|
|
27
|
+
* the args to actually use — e.g. a 'basket insertion' with tags. Defaults to
|
|
28
|
+
* the wallet payment when omitted.
|
|
26
29
|
*/
|
|
27
|
-
export type OnInternalize = (payment: VerifiedPayment, defaults: InternalizeActionArgs) => InternalizeActionArgs | Promise<InternalizeActionArgs>;
|
|
30
|
+
export type OnInternalize = (payment: VerifiedPayment, defaults: InternalizeActionArgs, ctx: AuthContext) => InternalizeActionArgs | Promise<InternalizeActionArgs>;
|
|
28
31
|
export interface WithPaymentOptions {
|
|
29
32
|
/** Server wallet that issued the auth session; also records the payment. */
|
|
30
33
|
wallet: WalletInterface;
|
package/dist/payment.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../src/payment.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,qBAAqB,EAK1B,KAAK,eAAe,EAIpB,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAM9D,mEAAmE;AACnE,MAAM,WAAW,eAAe;IAC/B,mDAAmD;IACnD,EAAE,EAAE,MAAM,EAAE,CAAA;IACZ,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAA;IACnB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;IACxB,sCAAsC;IACtC,iBAAiB,EAAE,MAAM,CAAA;CACzB;AAED,+EAA+E;AAC/E,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC/C,OAAO,EAAE,eAAe,CAAA;CACxB;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAA;AAE5E
|
|
1
|
+
{"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../src/payment.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,qBAAqB,EAK1B,KAAK,eAAe,EAIpB,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAM9D,mEAAmE;AACnE,MAAM,WAAW,eAAe;IAC/B,mDAAmD;IACnD,EAAE,EAAE,MAAM,EAAE,CAAA;IACZ,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAA;IACnB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;IACxB,sCAAsC;IACtC,iBAAiB,EAAE,MAAM,CAAA;CACzB;AAED,+EAA+E;AAC/E,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC/C,OAAO,EAAE,eAAe,CAAA;CACxB;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAA;AAE5E;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,CAC3B,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,qBAAqB,EAC/B,GAAG,EAAE,WAAW,KACZ,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAA;AAE3D,MAAM,WAAW,kBAAkB;IAClC,4EAA4E;IAC5E,MAAM,EAAE,eAAe,CAAA;IACvB,mDAAmD;IACnD,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,WAAW,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;IAChE,sEAAsE;IACtE,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB;AAQD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAC1B,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,WAAW,GAClB,WAAW,CAwGb"}
|
package/dist/payment.js
CHANGED
|
@@ -90,7 +90,7 @@ export function withPayment(options, handler) {
|
|
|
90
90
|
description: (options.description ?? 'payment for request').slice(0, 50),
|
|
91
91
|
};
|
|
92
92
|
try {
|
|
93
|
-
await wallet.internalizeAction(onInternalize ? await onInternalize(verified, defaults) : defaults);
|
|
93
|
+
await wallet.internalizeAction(onInternalize ? await onInternalize(verified, defaults, ctx) : defaults);
|
|
94
94
|
}
|
|
95
95
|
catch (err) {
|
|
96
96
|
return json(400, {
|
|
@@ -124,12 +124,14 @@ async function verifyPayment(wallet, senderIdentityKey, pay, price) {
|
|
|
124
124
|
.toHex();
|
|
125
125
|
const txBytes = Utils.toArray(pay.transaction, 'base64');
|
|
126
126
|
const tx = Transaction.fromAtomicBEEF(txBytes);
|
|
127
|
+
const txid = tx.id('hex');
|
|
127
128
|
for (let i = 0; i < tx.outputs.length; i++) {
|
|
128
129
|
const out = tx.outputs[i];
|
|
129
130
|
if (out?.lockingScript.toHex() === expectedScript &&
|
|
130
131
|
(out.satoshis ?? 0) >= price) {
|
|
131
132
|
return {
|
|
132
133
|
tx: txBytes,
|
|
134
|
+
txid,
|
|
133
135
|
outputIndex: i,
|
|
134
136
|
satoshis: out.satoshis ?? 0,
|
|
135
137
|
derivationPrefix: pay.derivationPrefix,
|
package/dist/payment.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment.js","sourceRoot":"","sources":["../src/payment.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,KAAK,EACL,SAAS,EACT,WAAW,EACX,KAAK,EAGL,WAAW,EACX,WAAW,GACX,MAAM,UAAU,CAAA;AAGjB,oEAAoE;AACpE,MAAM,iBAAiB,GAAmB,CAAC,CAAC,EAAE,cAAc,CAAC,CAAA;AAC7D,MAAM,eAAe,GAAG,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"payment.js","sourceRoot":"","sources":["../src/payment.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@1sat/serve",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.2",
|
|
4
4
|
"description": "Bun-native BRC-103/104 mutual-auth transport and BRC-105 payment for HTTP servers, wire-compatible with the BSV Express middleware",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|