@1sat/wallet-server 0.0.1 → 0.0.3

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.
Files changed (51) hide show
  1. package/dist/accounts/index.d.ts +4 -7
  2. package/dist/accounts/index.d.ts.map +1 -1
  3. package/dist/accounts/index.js +3 -6
  4. package/dist/accounts/index.js.map +1 -1
  5. package/dist/accounts/middleware.d.ts +29 -30
  6. package/dist/accounts/middleware.d.ts.map +1 -1
  7. package/dist/accounts/middleware.js +303 -121
  8. package/dist/accounts/middleware.js.map +1 -1
  9. package/dist/accounts/pricing.d.ts +38 -11
  10. package/dist/accounts/pricing.d.ts.map +1 -1
  11. package/dist/accounts/pricing.js +40 -11
  12. package/dist/accounts/pricing.js.map +1 -1
  13. package/dist/accounts/queries.d.ts +42 -0
  14. package/dist/accounts/queries.d.ts.map +1 -0
  15. package/dist/accounts/queries.js +91 -0
  16. package/dist/accounts/queries.js.map +1 -0
  17. package/dist/accounts/types.d.ts +46 -29
  18. package/dist/accounts/types.d.ts.map +1 -1
  19. package/dist/client.d.ts +20 -0
  20. package/dist/client.d.ts.map +1 -0
  21. package/dist/client.js +34 -0
  22. package/dist/client.js.map +1 -0
  23. package/dist/createWalletServer.d.ts +12 -3
  24. package/dist/createWalletServer.d.ts.map +1 -1
  25. package/dist/createWalletServer.js +84 -46
  26. package/dist/createWalletServer.js.map +1 -1
  27. package/dist/index.d.ts +3 -0
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +2 -0
  30. package/dist/index.js.map +1 -1
  31. package/dist/topUp.d.ts +28 -0
  32. package/dist/topUp.d.ts.map +1 -0
  33. package/dist/topUp.js +67 -0
  34. package/dist/topUp.js.map +1 -0
  35. package/package.json +57 -46
  36. package/dist/accounts/metering.d.ts +0 -15
  37. package/dist/accounts/metering.d.ts.map +0 -1
  38. package/dist/accounts/metering.js +0 -32
  39. package/dist/accounts/metering.js.map +0 -1
  40. package/dist/accounts/migrations.d.ts +0 -18
  41. package/dist/accounts/migrations.d.ts.map +0 -1
  42. package/dist/accounts/migrations.js +0 -46
  43. package/dist/accounts/migrations.js.map +0 -1
  44. package/dist/accounts/paymentValidation.d.ts +0 -59
  45. package/dist/accounts/paymentValidation.d.ts.map +0 -1
  46. package/dist/accounts/paymentValidation.js +0 -112
  47. package/dist/accounts/paymentValidation.js.map +0 -1
  48. package/dist/accounts/repo.d.ts +0 -17
  49. package/dist/accounts/repo.d.ts.map +0 -1
  50. package/dist/accounts/repo.js +0 -94
  51. package/dist/accounts/repo.js.map +0 -1
@@ -1,7 +1,6 @@
1
1
  import { createAuthMiddleware } from '@bsv/auth-express-middleware';
2
- import { PrivateKey, ProtoWallet, PublicKey, } from '@bsv/sdk';
3
2
  import express from 'express';
4
- import { AccountsGate } from './accounts';
3
+ import { accountsCapacityGate, latestActivePaymentForPayer, nextPaymentDerivation, } from './accounts';
5
4
  import { createWalletRpcHandler } from './createWalletRpcHandler';
6
5
  import { dispatch } from './dispatch';
7
6
  import { bearerResolver } from './resolvers/bearer';
@@ -17,25 +16,22 @@ export function createWalletServer(config) {
17
16
  const app = express();
18
17
  app.use(express.json({ limit: config.bodyLimit ?? '30mb' }));
19
18
  app.use(corsMiddleware);
20
- const wallet = buildServerWallet(config.serverPrivateKey);
21
- const serverIdentityKey = identityKeyFromPrivateKey(config.serverPrivateKey);
22
- let gate;
23
- if (config.accounts?.config.enabled) {
24
- const deps = {
19
+ const { wallet, serverIdentityKey } = config;
20
+ const accountsDeps = config.accounts
21
+ ? {
25
22
  config: config.accounts.config,
26
23
  walletStorage: config.storage,
27
- knex: config.accounts.knex,
28
24
  wallet,
29
25
  serverIdentityKey,
30
26
  currentBlock: config.accounts.currentBlock,
31
- };
32
- gate = new AccountsGate(deps);
33
- }
27
+ }
28
+ : undefined;
34
29
  if (publicPath) {
35
- mountPublicRoute(app, publicPath, config, wallet, gate);
30
+ mountPublicRoute(app, publicPath, config, wallet, accountsDeps);
31
+ mountStatusRoute(app, publicPath, config, serverIdentityKey, wallet);
36
32
  }
37
33
  if (internalPath) {
38
- mountInternalRoute(app, internalPath, config, gate);
34
+ mountInternalRoute(app, internalPath, config);
39
35
  }
40
36
  let server;
41
37
  return {
@@ -61,10 +57,21 @@ export function createWalletServer(config) {
61
57
  },
62
58
  };
63
59
  }
64
- function mountPublicRoute(app, path, config, wallet, gate) {
60
+ function mountPublicRoute(app, path, config, wallet, accountsDeps) {
65
61
  const authMiddleware = createAuthMiddleware({ wallet });
66
62
  app.use(path, authMiddleware);
67
- app.post(path, async (req, res) => {
63
+ // JSON-RPC endpoint. The capacity gate sits between auth and dispatch:
64
+ // over-capacity billable calls return 507 unless they carry a valid
65
+ // inline self-payment (label + BRC-29 output) that the gate recognises.
66
+ const postHandlers = [];
67
+ if (accountsDeps) {
68
+ postHandlers.push(accountsCapacityGate(accountsDeps));
69
+ }
70
+ postHandlers.push(dispatchHandler(config));
71
+ app.post(path, ...postHandlers);
72
+ }
73
+ function dispatchHandler(config) {
74
+ return async (req, res) => {
68
75
  const identityKey = req.auth?.identityKey;
69
76
  if (!identityKey || identityKey === 'unknown') {
70
77
  return res.status(401).json({
@@ -81,18 +88,6 @@ function mountPublicRoute(app, path, config, wallet, gate) {
81
88
  id: body?.id ?? null,
82
89
  });
83
90
  }
84
- const id = normalizeJsonRpcId(body.id);
85
- if (gate) {
86
- const decision = await gate.check({
87
- method: body.method,
88
- identity: { identityKey },
89
- request: expressToFetchRequest(req),
90
- id,
91
- });
92
- if (decision.type === 'blocked') {
93
- return relayFetchResponse(res, decision.response);
94
- }
95
- }
96
91
  const response = await dispatch({
97
92
  storage: config.storage,
98
93
  adminIdentityKeys: config.adminIdentityKeys,
@@ -100,22 +95,74 @@ function mountPublicRoute(app, path, config, wallet, gate) {
100
95
  }, {
101
96
  method: body.method,
102
97
  params: Array.isArray(body.params) ? body.params : [],
103
- id,
98
+ id: normalizeJsonRpcId(body.id),
104
99
  identity: { identityKey },
105
100
  });
106
101
  res.status(200).json(response);
102
+ };
103
+ }
104
+ function mountStatusRoute(app, basePath, config, serverIdentityKey, serverWallet) {
105
+ const statusPath = joinPath(basePath, 'account/status');
106
+ app.get(statusPath, async (req, res) => {
107
+ const identityKey = req.auth?.identityKey;
108
+ if (!identityKey || identityKey === 'unknown') {
109
+ return res.status(401).json({ error: 'Unauthenticated' });
110
+ }
111
+ const accounts = config.accounts;
112
+ if (!accounts) {
113
+ return res.status(200).json({
114
+ identityKey,
115
+ serverIdentityKey,
116
+ accountsEnabled: false,
117
+ });
118
+ }
119
+ const currentBlock = await accounts.currentBlock();
120
+ const userResult = await config.storage.findOrInsertUser(identityKey);
121
+ const userId = userResult?.user?.userId;
122
+ const usedBytes = userId == null
123
+ ? 0
124
+ : await config.storage.measureUsedBytes(userId);
125
+ if (!accounts.config.enabled) {
126
+ return res.status(200).json({
127
+ identityKey,
128
+ serverIdentityKey,
129
+ accountsEnabled: false,
130
+ currentBlock,
131
+ usedBytes,
132
+ });
133
+ }
134
+ const currentPayment = await latestActivePaymentForPayer(serverWallet, identityKey, currentBlock);
135
+ const paidBytes = currentPayment?.bytesCovered ?? 0;
136
+ const capacityBytes = accounts.config.baselineBytes + paidBytes;
137
+ const deficitBytes = Math.max(0, usedBytes - capacityBytes);
138
+ const nextPayment = await nextPaymentDerivation(identityKey, serverWallet);
139
+ return res.status(200).json({
140
+ identityKey,
141
+ serverIdentityKey,
142
+ accountsEnabled: true,
143
+ currentBlock,
144
+ usedBytes,
145
+ baselineBytes: accounts.config.baselineBytes,
146
+ paidBytes,
147
+ capacityBytes,
148
+ deficitBytes,
149
+ paidThroughBlock: currentPayment?.paidThroughBlock ?? null,
150
+ pricing: {
151
+ purchaseUnitBytes: accounts.config.purchaseUnitBytes,
152
+ satsPerUnit: accounts.config.satsPerUnit,
153
+ durationBlocks: accounts.config.durationBlocks,
154
+ },
155
+ nextPayment,
156
+ });
107
157
  });
108
158
  }
109
- async function relayFetchResponse(res, fetchRes) {
110
- res.status(fetchRes.status);
111
- fetchRes.headers.forEach((v, k) => res.set(k, v));
112
- const buf = Buffer.from(await fetchRes.arrayBuffer());
113
- res.send(buf);
159
+ function joinPath(basePath, sub) {
160
+ const trimmedBase = basePath.endsWith('/') ? basePath.slice(0, -1) : basePath;
161
+ const trimmedSub = sub.startsWith('/') ? sub.slice(1) : sub;
162
+ return trimmedBase === '' ? `/${trimmedSub}` : `${trimmedBase}/${trimmedSub}`;
114
163
  }
115
- function mountInternalRoute(app, path, config, gate) {
116
- const preDispatch = gate
117
- ? (ctx) => gate.check(ctx)
118
- : undefined;
164
+ function mountInternalRoute(app, path, config) {
165
+ const preDispatch = undefined;
119
166
  const handler = createWalletRpcHandler({
120
167
  storage: config.storage,
121
168
  resolveIdentity: bearerResolver({
@@ -135,15 +182,6 @@ function mountInternalRoute(app, path, config, gate) {
135
182
  res.send(buf);
136
183
  });
137
184
  }
138
- function buildServerWallet(privateKeyHex) {
139
- const key = PrivateKey.fromHex(privateKeyHex);
140
- return new ProtoWallet(key);
141
- }
142
- function identityKeyFromPrivateKey(privateKeyHex) {
143
- const key = PrivateKey.fromHex(privateKeyHex);
144
- const pub = PublicKey.fromPrivateKey(key);
145
- return pub.toString();
146
- }
147
185
  function corsMiddleware(_req, res, next) {
148
186
  res.header('Access-Control-Allow-Origin', '*');
149
187
  res.header('Access-Control-Allow-Headers', '*');
@@ -1 +1 @@
1
- {"version":3,"file":"createWalletServer.js","sourceRoot":"","sources":["../src/createWalletServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createWalletServer.js","sourceRoot":"","sources":["../src/createWalletServer.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,6 +4,9 @@ export { createBearerServer } from './createBearerServer';
4
4
  export type { BearerServerConfig, BearerServerHandle, } from './createBearerServer';
5
5
  export { createWalletServer } from './createWalletServer';
6
6
  export type { WalletServerConfig, WalletServerHandle, } from './createWalletServer';
7
+ export { WalletServerClient } from './client';
8
+ export { topUpStorage } from './topUp';
9
+ export type { TopUpOptions, TopUpResult } from './topUp';
7
10
  export { createWalletMonitor } from './createWalletMonitor';
8
11
  export type { WalletMonitorConfig, WalletMonitorHandle, } from './createWalletMonitor';
9
12
  export { BILLABLE_METHODS, dispatch, isBillableMethod } from './dispatch';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,YAAY,EACX,kBAAkB,EAClB,kBAAkB,GAClB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,YAAY,EACX,kBAAkB,EAClB,kBAAkB,GAClB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,YAAY,EACX,mBAAmB,EACnB,mBAAmB,GACnB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACzE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEhE,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAE1B,YAAY,EACX,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,GACrB,MAAM,SAAS,CAAA;AAEhB,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,YAAY,EACX,kBAAkB,EAClB,kBAAkB,GAClB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,YAAY,EACX,kBAAkB,EAClB,kBAAkB,GAClB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAExD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,YAAY,EACX,mBAAmB,EACnB,mBAAmB,GACnB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACzE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEhE,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAE1B,YAAY,EACX,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,GACrB,MAAM,SAAS,CAAA;AAEhB,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA"}
package/dist/index.js CHANGED
@@ -1,6 +1,8 @@
1
1
  export { createWalletRpcHandler } from './createWalletRpcHandler';
2
2
  export { createBearerServer } from './createBearerServer';
3
3
  export { createWalletServer } from './createWalletServer';
4
+ export { WalletServerClient } from './client';
5
+ export { topUpStorage } from './topUp';
4
6
  export { createWalletMonitor } from './createWalletMonitor';
5
7
  export { BILLABLE_METHODS, dispatch, isBillableMethod } from './dispatch';
6
8
  export * from './resolvers';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAGjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAMzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAMzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAM3D,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAGzE,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAGjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAMzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAMzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAGtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAM3D,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAGzE,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Top-up helper: buys capacity on a remote wallet-server by building a
3
+ * BRC-29 self-payment createAction. The server's accounts gate recognises
4
+ * the self-payment, bypasses the 507, and auto-internalizes the payment
5
+ * into its own wallet as part of processAction post-dispatch — so the
6
+ * client never needs a second HTTP round-trip.
7
+ *
8
+ * Shared by the CLI `1sat remote topup` command and the eventual
9
+ * factory-level auto-retry.
10
+ */
11
+ import { type WalletInterface } from '@bsv/sdk';
12
+ import type { AccountStatusResponse } from './accounts/types';
13
+ import { WalletServerClient } from './client';
14
+ export interface TopUpOptions {
15
+ /** Buy this many purchase units. Defaults to `ceil(deficit / unitBytes)`. */
16
+ units?: number;
17
+ /** Reuse an existing client. Defaults to a fresh instance from `remoteUrl`. */
18
+ client?: WalletServerClient;
19
+ }
20
+ export interface TopUpResult {
21
+ unitsBought: number;
22
+ satsPaid: number;
23
+ txid: string;
24
+ /** Account status after the payment is recorded. */
25
+ status: AccountStatusResponse;
26
+ }
27
+ export declare function topUpStorage(wallet: WalletInterface, remoteUrl: string, options?: TopUpOptions): Promise<TopUpResult>;
28
+ //# sourceMappingURL=topUp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topUp.d.ts","sourceRoot":"","sources":["../src/topUp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAGN,KAAK,eAAe,EACpB,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAK7C,MAAM,WAAW,YAAY;IAC5B,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+EAA+E;IAC/E,MAAM,CAAC,EAAE,kBAAkB,CAAA;CAC3B;AAED,MAAM,WAAW,WAAW;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,oDAAoD;IACpD,MAAM,EAAE,qBAAqB,CAAA;CAC7B;AAED,wBAAsB,YAAY,CACjC,MAAM,EAAE,eAAe,EACvB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,YAAiB,GACxB,OAAO,CAAC,WAAW,CAAC,CAiEtB"}
package/dist/topUp.js ADDED
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Top-up helper: buys capacity on a remote wallet-server by building a
3
+ * BRC-29 self-payment createAction. The server's accounts gate recognises
4
+ * the self-payment, bypasses the 507, and auto-internalizes the payment
5
+ * into its own wallet as part of processAction post-dispatch — so the
6
+ * client never needs a second HTTP round-trip.
7
+ *
8
+ * Shared by the CLI `1sat remote topup` command and the eventual
9
+ * factory-level auto-retry.
10
+ */
11
+ import { P2PKH, PublicKey, } from '@bsv/sdk';
12
+ import { WalletServerClient } from './client';
13
+ /** BRC-29 protocol ID for wallet payments (mirrors `@1sat/types`). */
14
+ const BRC29_PROTOCOL_ID = [2, '3241645161d8'];
15
+ export async function topUpStorage(wallet, remoteUrl, options = {}) {
16
+ const client = options.client ?? new WalletServerClient(remoteUrl, wallet);
17
+ const status = await client.accountStatus();
18
+ if (!status.accountsEnabled) {
19
+ throw new Error('remote has accounts metering disabled — no topup possible');
20
+ }
21
+ const units = options.units ??
22
+ Math.ceil(status.deficitBytes / status.pricing.purchaseUnitBytes);
23
+ if (units <= 0) {
24
+ throw new Error(`no topup needed — deficit is ${status.deficitBytes} bytes`);
25
+ }
26
+ const sats = units * status.pricing.satsPerUnit;
27
+ const { derivationPrefix, derivationSuffix } = status.nextPayment;
28
+ const keyID = `${derivationPrefix} ${derivationSuffix}`;
29
+ const { publicKey } = await wallet.getPublicKey({
30
+ protocolID: BRC29_PROTOCOL_ID,
31
+ keyID,
32
+ counterparty: status.serverIdentityKey,
33
+ forSelf: false,
34
+ });
35
+ const address = PublicKey.fromString(publicKey).toAddress();
36
+ const lockingScript = new P2PKH().lock(address).toHex();
37
+ const createResult = await wallet.createAction({
38
+ description: `wallet-server storage payment (${units} unit${units === 1 ? '' : 's'})`,
39
+ labels: [`account-payment:${status.serverIdentityKey}`],
40
+ outputs: [
41
+ {
42
+ lockingScript,
43
+ satoshis: sats,
44
+ outputDescription: 'storage capacity payment',
45
+ customInstructions: JSON.stringify({
46
+ derivationPrefix,
47
+ derivationSuffix,
48
+ }),
49
+ },
50
+ ],
51
+ options: {
52
+ randomizeOutputs: false,
53
+ acceptDelayedBroadcast: false,
54
+ },
55
+ });
56
+ if (!createResult.txid) {
57
+ throw new Error('createAction did not return a broadcast txid');
58
+ }
59
+ const newStatus = await client.accountStatus();
60
+ return {
61
+ unitsBought: units,
62
+ satsPaid: sats,
63
+ txid: createResult.txid,
64
+ status: newStatus,
65
+ };
66
+ }
67
+ //# sourceMappingURL=topUp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topUp.js","sourceRoot":"","sources":["../src/topUp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACN,KAAK,EACL,SAAS,GAET,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAE7C,sEAAsE;AACtE,MAAM,iBAAiB,GAAgB,CAAC,CAAC,EAAE,cAAc,CAAC,CAAA;AAiB1D,MAAM,CAAC,KAAK,UAAU,YAAY,CACjC,MAAuB,EACvB,SAAiB,EACjB,UAAwB,EAAE;IAE1B,MAAM,MAAM,GACX,OAAO,CAAC,MAAM,IAAI,IAAI,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAE5D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,CAAA;IAC3C,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACd,2DAA2D,CAC3D,CAAA;IACF,CAAC;IAED,MAAM,KAAK,GACV,OAAO,CAAC,KAAK;QACb,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAClE,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACd,gCAAgC,MAAM,CAAC,YAAY,QAAQ,CAC3D,CAAA;IACF,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAA;IAC/C,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC,WAAW,CAAA;IACjE,MAAM,KAAK,GAAG,GAAG,gBAAgB,IAAI,gBAAgB,EAAE,CAAA;IAEvD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;QAC/C,UAAU,EAAE,iBAAiB;QAC7B,KAAK;QACL,YAAY,EAAE,MAAM,CAAC,iBAAiB;QACtC,OAAO,EAAE,KAAK;KACd,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,CAAA;IAC3D,MAAM,aAAa,GAAG,IAAI,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAA;IAEvD,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;QAC9C,WAAW,EAAE,kCAAkC,KAAK,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG;QACrF,MAAM,EAAE,CAAC,mBAAmB,MAAM,CAAC,iBAAiB,EAAE,CAAC;QACvD,OAAO,EAAE;YACR;gBACC,aAAa;gBACb,QAAQ,EAAE,IAAI;gBACd,iBAAiB,EAAE,0BAA0B;gBAC7C,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC;oBAClC,gBAAgB;oBAChB,gBAAgB;iBAChB,CAAC;aACF;SACD;QACD,OAAO,EAAE;YACR,gBAAgB,EAAE,KAAK;YACvB,sBAAsB,EAAE,KAAK;SAC7B;KACD,CAAC,CAAA;IAEF,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IAChE,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,CAAA;IAE9C,OAAO;QACN,WAAW,EAAE,KAAK;QAClB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,YAAY,CAAC,IAAI;QACvB,MAAM,EAAE,SAAS;KACjB,CAAA;AACF,CAAC"}
package/package.json CHANGED
@@ -1,48 +1,59 @@
1
1
  {
2
- "name": "@1sat/wallet-server",
3
- "version": "0.0.1",
4
- "description": "BRC-100 wallet storage RPC server for 1Sat Ordinals SDK",
5
- "type": "module",
6
- "main": "./dist/index.js",
7
- "types": "./dist/index.d.ts",
8
- "exports": {
9
- ".": {
10
- "types": "./dist/index.d.ts",
11
- "import": "./dist/index.js"
12
- }
13
- },
14
- "files": ["dist"],
15
- "scripts": {
16
- "build": "tsc",
17
- "dev": "tsc --watch",
18
- "clean": "rm -rf dist",
19
- "test": "bun test"
20
- },
21
- "keywords": ["1sat", "bsv", "ordinals", "wallet", "server", "rpc", "brc-100"],
22
- "license": "MIT",
23
- "dependencies": {
24
- "@1sat/client": "0.0.21",
25
- "@1sat/wallet": "0.0.47",
26
- "express": "^4.21.2"
27
- },
28
- "peerDependencies": {
29
- "@bsv/auth-express-middleware": "^2.0.4",
30
- "@bsv/sdk": "^2.0.13",
31
- "@bsv/wallet-toolbox": "^2.1.21",
32
- "knex": "^3.1.0"
33
- },
34
- "peerDependenciesMeta": {
35
- "pg": {
36
- "optional": true
37
- }
38
- },
39
- "devDependencies": {
40
- "@bsv/auth-express-middleware": "^2.0.4",
41
- "@bsv/sdk": "^2.0.13",
42
- "@bsv/wallet-toolbox": "^2.1.21",
43
- "@types/bun": "^1.3.10",
44
- "@types/express": "^4.17.21",
45
- "knex": "^3.1.0",
46
- "typescript": "^5.9.3"
47
- }
2
+ "name": "@1sat/wallet-server",
3
+ "version": "0.0.3",
4
+ "description": "BRC-100 wallet storage RPC server for 1Sat Ordinals SDK",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "bun": "./src/index.ts",
12
+ "import": "./dist/index.js"
13
+ }
14
+ },
15
+ "files": [
16
+ "dist"
17
+ ],
18
+ "scripts": {
19
+ "build": "tsc",
20
+ "dev": "tsc --watch",
21
+ "clean": "rm -rf dist",
22
+ "test": "bun test"
23
+ },
24
+ "keywords": [
25
+ "1sat",
26
+ "bsv",
27
+ "ordinals",
28
+ "wallet",
29
+ "server",
30
+ "rpc",
31
+ "brc-100"
32
+ ],
33
+ "license": "MIT",
34
+ "dependencies": {
35
+ "@1sat/client": "0.0.21",
36
+ "@1sat/wallet": "0.0.49",
37
+ "express": "^4.21.2"
38
+ },
39
+ "peerDependencies": {
40
+ "@bsv/auth-express-middleware": "^2.0.4",
41
+ "@bsv/sdk": "^2.0.13",
42
+ "@bsv/wallet-toolbox": "^2.1.21",
43
+ "knex": "^3.1.0"
44
+ },
45
+ "peerDependenciesMeta": {
46
+ "pg": {
47
+ "optional": true
48
+ }
49
+ },
50
+ "devDependencies": {
51
+ "@bsv/auth-express-middleware": "^2.0.4",
52
+ "@bsv/sdk": "^2.0.13",
53
+ "@bsv/wallet-toolbox": "^2.1.21",
54
+ "@types/bun": "^1.3.10",
55
+ "@types/express": "^4.17.21",
56
+ "knex": "^3.1.0",
57
+ "typescript": "^5.9.3"
58
+ }
48
59
  }
@@ -1,15 +0,0 @@
1
- import type { Knex } from 'knex';
2
- /**
3
- * Measures the stored-byte footprint of a single wallet-toolbox user.
4
- *
5
- * Sums the sizes of data that represent persisted wallet state:
6
- * - `transactions.rawTx`
7
- * - `transactions.inputBEEF`
8
- * - `outputs.lockingScript` (or `outputs.scriptLength` when the blob was pushed to rawTx)
9
- *
10
- * These are the fields that actually consume storage per user and that the
11
- * dispatcher's billable methods grow (`createAction`, `processAction`,
12
- * `internalizeAction`, `processSyncChunk`, `insertCertificateAuth`).
13
- */
14
- export declare function measureUsedBytes(knex: Knex, userId: number): Promise<number>;
15
- //# sourceMappingURL=metering.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metering.d.ts","sourceRoot":"","sources":["../../src/accounts/metering.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAEhC;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CACrC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CAkBjB"}
@@ -1,32 +0,0 @@
1
- /**
2
- * Measures the stored-byte footprint of a single wallet-toolbox user.
3
- *
4
- * Sums the sizes of data that represent persisted wallet state:
5
- * - `transactions.rawTx`
6
- * - `transactions.inputBEEF`
7
- * - `outputs.lockingScript` (or `outputs.scriptLength` when the blob was pushed to rawTx)
8
- *
9
- * These are the fields that actually consume storage per user and that the
10
- * dispatcher's billable methods grow (`createAction`, `processAction`,
11
- * `internalizeAction`, `processSyncChunk`, `insertCertificateAuth`).
12
- */
13
- export async function measureUsedBytes(knex, userId) {
14
- const [txRow] = await knex('transactions')
15
- .where({ userId })
16
- .select(knex.raw('COALESCE(SUM(COALESCE(LENGTH(rawTx), 0) + COALESCE(LENGTH(inputBEEF), 0)), 0) as total'));
17
- const [outRow] = await knex('outputs')
18
- .where({ userId })
19
- .select(knex.raw('COALESCE(SUM(COALESCE(scriptLength, LENGTH(lockingScript), 0)), 0) as total'));
20
- return asNumber(txRow?.total) + asNumber(outRow?.total);
21
- }
22
- function asNumber(v) {
23
- if (v == null)
24
- return 0;
25
- if (typeof v === 'number')
26
- return v;
27
- if (typeof v === 'bigint')
28
- return Number(v);
29
- const n = Number(v);
30
- return Number.isFinite(n) ? n : 0;
31
- }
32
- //# sourceMappingURL=metering.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metering.js","sourceRoot":"","sources":["../../src/accounts/metering.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACrC,IAAU,EACV,MAAc;IAEd,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC;SACxC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;SACjB,MAAM,CACN,IAAI,CAAC,GAAG,CACP,wFAAwF,CACxF,CACD,CAAA;IAEF,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC;SACpC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;SACjB,MAAM,CACN,IAAI,CAAC,GAAG,CACP,6EAA6E,CAC7E,CACD,CAAA;IAEF,OAAO,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AACxD,CAAC;AAED,SAAS,QAAQ,CAAC,CAAU;IAC3B,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,CAAC,CAAA;IACvB,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAA;IACnC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAA;IAC3C,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACnB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAClC,CAAC"}
@@ -1,18 +0,0 @@
1
- import type { Knex } from 'knex';
2
- /**
3
- * Knex migrations for the accounts layer.
4
- *
5
- * Tables are prefixed `wsa_` (wallet-server-accounts) to avoid colliding with
6
- * wallet-toolbox's own tables (`transactions`, `outputs`, etc.) that live in
7
- * the same database.
8
- */
9
- export declare const ACCOUNTS_TABLE = "wsa_accounts";
10
- export declare const PAYMENTS_TABLE = "wsa_payments";
11
- export declare function up(knex: Knex): Promise<void>;
12
- export declare function down(knex: Knex): Promise<void>;
13
- /**
14
- * Runs migrations against the given knex instance. Idempotent — safe to call on
15
- * every server start.
16
- */
17
- export declare function runMigrations(knex: Knex): Promise<void>;
18
- //# sourceMappingURL=migrations.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/accounts/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAEhC;;;;;;GAMG;AAEH,eAAO,MAAM,cAAc,iBAAiB,CAAA;AAC5C,eAAO,MAAM,cAAc,iBAAiB,CAAA;AAE5C,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BlD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAGpD;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7D"}
@@ -1,46 +0,0 @@
1
- /**
2
- * Knex migrations for the accounts layer.
3
- *
4
- * Tables are prefixed `wsa_` (wallet-server-accounts) to avoid colliding with
5
- * wallet-toolbox's own tables (`transactions`, `outputs`, etc.) that live in
6
- * the same database.
7
- */
8
- export const ACCOUNTS_TABLE = 'wsa_accounts';
9
- export const PAYMENTS_TABLE = 'wsa_payments';
10
- export async function up(knex) {
11
- const hasAccounts = await knex.schema.hasTable(ACCOUNTS_TABLE);
12
- if (!hasAccounts) {
13
- await knex.schema.createTable(ACCOUNTS_TABLE, (t) => {
14
- t.string('identity_key', 66).primary();
15
- t.timestamp('created_at').notNullable().defaultTo(knex.fn.now());
16
- t.timestamp('updated_at').notNullable().defaultTo(knex.fn.now());
17
- });
18
- }
19
- const hasPayments = await knex.schema.hasTable(PAYMENTS_TABLE);
20
- if (!hasPayments) {
21
- await knex.schema.createTable(PAYMENTS_TABLE, (t) => {
22
- t.increments('id').primary();
23
- t.string('identity_key', 66).notNullable();
24
- t.string('txid', 64).notNullable().unique();
25
- t.bigInteger('bytes_covered').notNullable();
26
- t.bigInteger('sats_paid').notNullable();
27
- t.integer('paid_through_block').notNullable();
28
- t.timestamp('applied_at').notNullable().defaultTo(knex.fn.now());
29
- t.index('identity_key');
30
- t.index('paid_through_block');
31
- t.foreign('identity_key').references(`${ACCOUNTS_TABLE}.identity_key`);
32
- });
33
- }
34
- }
35
- export async function down(knex) {
36
- await knex.schema.dropTableIfExists(PAYMENTS_TABLE);
37
- await knex.schema.dropTableIfExists(ACCOUNTS_TABLE);
38
- }
39
- /**
40
- * Runs migrations against the given knex instance. Idempotent — safe to call on
41
- * every server start.
42
- */
43
- export async function runMigrations(knex) {
44
- await up(knex);
45
- }
46
- //# sourceMappingURL=migrations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/accounts/migrations.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAA;AAC5C,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAA;AAE5C,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,IAAU;IAClC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;IAC9D,IAAI,CAAC,WAAW,EAAE,CAAC;QAClB,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE;YACnD,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAA;YACtC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAA;YAChE,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAA;QACjE,CAAC,CAAC,CAAA;IACH,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;IAC9D,IAAI,CAAC,WAAW,EAAE,CAAC;QAClB,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE;YACnD,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAA;YAC5B,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;YAC1C,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,CAAA;YAC3C,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAA;YAC3C,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAA;YACvC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE,CAAA;YAC7C,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAA;YAEhE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;YACvB,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;YAC7B,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC,GAAG,cAAc,eAAe,CAAC,CAAA;QACvE,CAAC,CAAC,CAAA;IACH,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAU;IACpC,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAA;IACnD,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAA;AACpD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAU;IAC7C,MAAM,EAAE,CAAC,IAAI,CAAC,CAAA;AACf,CAAC"}