@1sat/wallet-server 0.0.45 → 0.0.47

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 (103) hide show
  1. package/dist/accounts/client.d.ts +31 -0
  2. package/dist/accounts/client.d.ts.map +1 -0
  3. package/dist/accounts/client.js +45 -0
  4. package/dist/accounts/client.js.map +1 -0
  5. package/dist/accounts/index.d.ts +8 -5
  6. package/dist/accounts/index.d.ts.map +1 -1
  7. package/dist/accounts/index.js +7 -4
  8. package/dist/accounts/index.js.map +1 -1
  9. package/dist/accounts/middleware.d.ts +2 -2
  10. package/dist/accounts/middleware.d.ts.map +1 -1
  11. package/dist/accounts/middleware.js +3 -3
  12. package/dist/accounts/middleware.js.map +1 -1
  13. package/dist/accounts/paymentRoute.d.ts +4 -1
  14. package/dist/accounts/paymentRoute.d.ts.map +1 -1
  15. package/dist/accounts/paymentRoute.js +8 -4
  16. package/dist/accounts/paymentRoute.js.map +1 -1
  17. package/dist/accounts/pricing.d.ts +1 -1
  18. package/dist/accounts/pricing.d.ts.map +1 -1
  19. package/dist/accounts/queries.d.ts +1 -1
  20. package/dist/accounts/queries.d.ts.map +1 -1
  21. package/dist/accounts/registrationRoutes.d.ts +29 -0
  22. package/dist/accounts/registrationRoutes.d.ts.map +1 -0
  23. package/dist/accounts/registrationRoutes.js +104 -0
  24. package/dist/accounts/registrationRoutes.js.map +1 -0
  25. package/dist/accounts/store.d.ts +70 -0
  26. package/dist/accounts/store.d.ts.map +1 -0
  27. package/dist/accounts/store.js +174 -0
  28. package/dist/accounts/store.js.map +1 -0
  29. package/dist/accounts/types.d.ts +17 -3
  30. package/dist/accounts/types.d.ts.map +1 -1
  31. package/dist/client.d.ts +1 -1
  32. package/dist/client.d.ts.map +1 -1
  33. package/dist/createBearerServer.d.ts +7 -3
  34. package/dist/createBearerServer.d.ts.map +1 -1
  35. package/dist/createBearerServer.js +60 -9
  36. package/dist/createBearerServer.js.map +1 -1
  37. package/dist/createHostServer.d.ts +14 -9
  38. package/dist/createHostServer.d.ts.map +1 -1
  39. package/dist/createHostServer.js +24 -42
  40. package/dist/createHostServer.js.map +1 -1
  41. package/dist/createWalletRpcHandler.d.ts +1 -1
  42. package/dist/createWalletRpcHandler.d.ts.map +1 -1
  43. package/dist/createWalletRpcHandler.js +1 -1
  44. package/dist/createWalletRpcHandler.js.map +1 -1
  45. package/dist/createWalletServer.d.ts +8 -7
  46. package/dist/createWalletServer.d.ts.map +1 -1
  47. package/dist/createWalletServer.js +16 -28
  48. package/dist/createWalletServer.js.map +1 -1
  49. package/dist/dispatch.d.ts +1 -1
  50. package/dist/dispatch.d.ts.map +1 -1
  51. package/dist/index.d.ts +25 -27
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +14 -16
  54. package/dist/index.js.map +1 -1
  55. package/dist/openapi/fragments.d.ts +1 -1
  56. package/dist/openapi/fragments.d.ts.map +1 -1
  57. package/dist/openapi/fragments.js +85 -72
  58. package/dist/openapi/fragments.js.map +1 -1
  59. package/dist/openapi/index.d.ts +2 -2
  60. package/dist/openapi/index.d.ts.map +1 -1
  61. package/dist/openapi/index.js +4 -5
  62. package/dist/openapi/index.js.map +1 -1
  63. package/dist/paymail/destination.d.ts +1 -1
  64. package/dist/paymail/destination.d.ts.map +1 -1
  65. package/dist/paymail/destination.js +1 -1
  66. package/dist/paymail/destination.js.map +1 -1
  67. package/dist/paymail/messagebox.d.ts +1 -1
  68. package/dist/paymail/messagebox.d.ts.map +1 -1
  69. package/dist/paymail/pending.d.ts +1 -1
  70. package/dist/paymail/pending.d.ts.map +1 -1
  71. package/dist/paymail/resolve.d.ts +1 -1
  72. package/dist/paymail/resolve.d.ts.map +1 -1
  73. package/dist/paymail/resolvers.d.ts +10 -0
  74. package/dist/paymail/resolvers.d.ts.map +1 -0
  75. package/dist/paymail/resolvers.js +22 -0
  76. package/dist/paymail/resolvers.js.map +1 -0
  77. package/dist/paymail/routes.d.ts +1 -1
  78. package/dist/paymail/routes.d.ts.map +1 -1
  79. package/dist/paymail/routes.js +139 -82
  80. package/dist/paymail/routes.js.map +1 -1
  81. package/dist/paymail/types.d.ts +18 -6
  82. package/dist/paymail/types.d.ts.map +1 -1
  83. package/dist/resolvers/bearer.d.ts +1 -1
  84. package/dist/resolvers/bearer.d.ts.map +1 -1
  85. package/dist/resolvers/index.d.ts +2 -2
  86. package/dist/resolvers/index.d.ts.map +1 -1
  87. package/dist/resolvers/index.js +1 -1
  88. package/dist/resolvers/index.js.map +1 -1
  89. package/dist/topUp.d.ts +1 -1
  90. package/dist/topUp.d.ts.map +1 -1
  91. package/package.json +7 -7
  92. package/dist/hosting/client.d.ts +0 -33
  93. package/dist/hosting/client.d.ts.map +0 -1
  94. package/dist/hosting/client.js +0 -45
  95. package/dist/hosting/client.js.map +0 -1
  96. package/dist/hosting/routes.d.ts +0 -27
  97. package/dist/hosting/routes.d.ts.map +0 -1
  98. package/dist/hosting/routes.js +0 -239
  99. package/dist/hosting/routes.js.map +0 -1
  100. package/dist/paymail/entitlement.d.ts +0 -15
  101. package/dist/paymail/entitlement.d.ts.map +0 -1
  102. package/dist/paymail/entitlement.js +0 -30
  103. package/dist/paymail/entitlement.js.map +0 -1
@@ -0,0 +1,174 @@
1
+ /**
2
+ * Host account registry — the one row the host keeps per identity.
3
+ *
4
+ * An account is created by registering a username. The username is the
5
+ * identity's handle on the host's user paymail domain (e.g. alice@1sat.app)
6
+ * and is permanent: one username per identity, one identity per username,
7
+ * no renames. Display name and avatar are editable presentation fields
8
+ * served by the paymail public-profile capability.
9
+ *
10
+ * Storage capacity is *not* recorded here — it stays derived from the host
11
+ * wallet's payment labels (see ./queries.ts).
12
+ */
13
+ /** Lowercase label: 3-63 chars, alphanumeric ends, no leading/trailing hyphen. */
14
+ export const USERNAME_RE = /^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$/;
15
+ /** `txid_vout` origin of an image ordinal. */
16
+ export const AVATAR_ORIGIN_RE = /^[0-9a-f]{64}_\d+$/;
17
+ export const DISPLAY_NAME_MAX = 64;
18
+ export function normalizeUsername(input) {
19
+ if (typeof input !== 'string')
20
+ return null;
21
+ const name = input.trim().toLowerCase();
22
+ return USERNAME_RE.test(name) ? name : null;
23
+ }
24
+ /**
25
+ * Trim and bound a display name. Empty string clears the field (returns
26
+ * null); non-strings and over-long values are invalid (undefined).
27
+ */
28
+ export function normalizeDisplayName(input) {
29
+ if (input === null)
30
+ return null;
31
+ if (typeof input !== 'string')
32
+ return undefined;
33
+ const name = input.trim();
34
+ if (name === '')
35
+ return null;
36
+ if (name.length > DISPLAY_NAME_MAX)
37
+ return undefined;
38
+ return name;
39
+ }
40
+ /** Same contract as normalizeDisplayName for an avatar origin. */
41
+ export function normalizeAvatarOrigin(input) {
42
+ if (input === null)
43
+ return null;
44
+ if (typeof input !== 'string')
45
+ return undefined;
46
+ const origin = input.trim().toLowerCase();
47
+ if (origin === '')
48
+ return null;
49
+ return AVATAR_ORIGIN_RE.test(origin) ? origin : undefined;
50
+ }
51
+ export class UsernameTakenError extends Error {
52
+ constructor(username) {
53
+ super(`username "${username}" is already registered`);
54
+ this.name = 'UsernameTakenError';
55
+ }
56
+ }
57
+ export class AlreadyRegisteredError extends Error {
58
+ constructor(username) {
59
+ super(`identity is already registered as "${username}"`);
60
+ this.name = 'AlreadyRegisteredError';
61
+ }
62
+ }
63
+ export class NotRegisteredError extends Error {
64
+ constructor() {
65
+ super('identity has no registered account');
66
+ this.name = 'NotRegisteredError';
67
+ }
68
+ }
69
+ function rowToAccount(row) {
70
+ return {
71
+ identityKey: row.identity_key,
72
+ username: row.username,
73
+ ...(row.display_name && { displayName: row.display_name }),
74
+ ...(row.avatar_origin && { avatarOrigin: row.avatar_origin }),
75
+ createdAt: new Date(row.created_at),
76
+ updatedAt: new Date(row.updated_at),
77
+ };
78
+ }
79
+ function profileColumns(profile) {
80
+ const cols = {};
81
+ if (profile.displayName !== undefined) {
82
+ cols.display_name = profile.displayName;
83
+ }
84
+ if (profile.avatarOrigin !== undefined) {
85
+ cols.avatar_origin = profile.avatarOrigin;
86
+ }
87
+ return cols;
88
+ }
89
+ export class KnexAccountStore {
90
+ db;
91
+ constructor(db) {
92
+ this.db = db;
93
+ }
94
+ async init() {
95
+ const has = await this.db.schema.hasTable('accounts');
96
+ if (!has) {
97
+ await this.db.schema.createTable('accounts', (t) => {
98
+ t.string('identity_key').primary();
99
+ t.string('username').notNullable().unique();
100
+ t.string('display_name').nullable();
101
+ t.string('avatar_origin').nullable();
102
+ t.string('created_at').notNullable();
103
+ t.string('updated_at').notNullable();
104
+ });
105
+ }
106
+ }
107
+ async getByIdentity(identityKey) {
108
+ const row = await this.db('accounts')
109
+ .where({ identity_key: identityKey })
110
+ .first();
111
+ return row ? rowToAccount(row) : null;
112
+ }
113
+ async getByUsername(username) {
114
+ const row = await this.db('accounts')
115
+ .where({ username: username.toLowerCase() })
116
+ .first();
117
+ return row ? rowToAccount(row) : null;
118
+ }
119
+ async register(identityKey, username, profile = {}) {
120
+ const name = username.toLowerCase();
121
+ const mine = await this.getByIdentity(identityKey);
122
+ if (mine) {
123
+ if (mine.username === name)
124
+ return mine;
125
+ throw new AlreadyRegisteredError(mine.username);
126
+ }
127
+ const held = await this.getByUsername(name);
128
+ if (held)
129
+ throw new UsernameTakenError(name);
130
+ const now = new Date().toISOString();
131
+ try {
132
+ await this.db('accounts').insert({
133
+ identity_key: identityKey,
134
+ username: name,
135
+ display_name: null,
136
+ avatar_origin: null,
137
+ ...profileColumns(profile),
138
+ created_at: now,
139
+ updated_at: now,
140
+ });
141
+ }
142
+ catch (err) {
143
+ // Unique-constraint race between the checks above and the insert.
144
+ const mineNow = await this.getByIdentity(identityKey);
145
+ if (mineNow) {
146
+ if (mineNow.username === name)
147
+ return mineNow;
148
+ throw new AlreadyRegisteredError(mineNow.username);
149
+ }
150
+ if (await this.getByUsername(name))
151
+ throw new UsernameTakenError(name);
152
+ throw err;
153
+ }
154
+ const created = await this.getByIdentity(identityKey);
155
+ if (!created)
156
+ throw new Error('account insert did not persist');
157
+ return created;
158
+ }
159
+ async updateProfile(identityKey, profile) {
160
+ const cols = profileColumns(profile);
161
+ if (Object.keys(cols).length > 0) {
162
+ const updated = await this.db('accounts')
163
+ .where({ identity_key: identityKey })
164
+ .update({ ...cols, updated_at: new Date().toISOString() });
165
+ if (updated === 0)
166
+ throw new NotRegisteredError();
167
+ }
168
+ const account = await this.getByIdentity(identityKey);
169
+ if (!account)
170
+ throw new NotRegisteredError();
171
+ return account;
172
+ }
173
+ }
174
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/accounts/store.ts"],"names":[],"mappings":"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"}
@@ -36,12 +36,26 @@ export interface NextPaymentDerivation {
36
36
  derivationPrefix: string;
37
37
  derivationSuffix: string;
38
38
  }
39
+ /**
40
+ * Registration facet of `GET /account/status`. `account` is present (and
41
+ * possibly null) only when the host runs an account registry.
42
+ */
43
+ export interface RegistrationStatus {
44
+ registrationEnabled: boolean;
45
+ account?: {
46
+ username: string;
47
+ displayName?: string;
48
+ avatarOrigin?: string;
49
+ createdAt: string;
50
+ } | null;
51
+ }
39
52
  /**
40
53
  * Response shape of `GET /account/status`. When accounts metering is
41
54
  * disabled the capacity / pricing fields are omitted; callers should branch
42
- * on `accountsEnabled` to know which fields are present.
55
+ * on `accountsEnabled` to know which fields are present. The registration
56
+ * facet is always present.
43
57
  */
44
- export type AccountStatusResponse = {
58
+ export type AccountStatusResponse = RegistrationStatus & ({
45
59
  identityKey: IdentityKey;
46
60
  serverIdentityKey: IdentityKey;
47
61
  accountsEnabled: false;
@@ -64,5 +78,5 @@ export type AccountStatusResponse = {
64
78
  durationBlocks: number;
65
79
  };
66
80
  nextPayment: NextPaymentDerivation;
67
- };
81
+ });
68
82
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/accounts/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAEhC,MAAM,WAAW,cAAc;IAC9B,OAAO,EAAE,OAAO,CAAA;IAChB,yDAAyD;IACzD,aAAa,EAAE,MAAM,CAAA;IACrB;;;;;OAKG;IACH,iBAAiB,EAAE,MAAM,CAAA;IACzB,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAA;IACnB,sFAAsF;IACtF,cAAc,EAAE,MAAM,CAAA;IACtB,sGAAsG;IACtG,gBAAgB,CAAC,EAAE,WAAW,EAAE,CAAA;CAChC;AAED;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,MAAM,cAAc,CAAA;AAEzD;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACrC,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;CACxB;AAED;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAC9B;IACA,WAAW,EAAE,WAAW,CAAA;IACxB,iBAAiB,EAAE,WAAW,CAAA;IAC9B,eAAe,EAAE,KAAK,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;CACjB,GACD;IACA,WAAW,EAAE,WAAW,CAAA;IACxB,iBAAiB,EAAE,WAAW,CAAA;IAC9B,eAAe,EAAE,IAAI,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,OAAO,EAAE;QACR,iBAAiB,EAAE,MAAM,CAAA;QACzB,WAAW,EAAE,MAAM,CAAA;QACnB,cAAc,EAAE,MAAM,CAAA;KACtB,CAAA;IACD,WAAW,EAAE,qBAAqB,CAAA;CACjC,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/accounts/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAEhC,MAAM,WAAW,cAAc;IAC9B,OAAO,EAAE,OAAO,CAAA;IAChB,yDAAyD;IACzD,aAAa,EAAE,MAAM,CAAA;IACrB;;;;;OAKG;IACH,iBAAiB,EAAE,MAAM,CAAA;IACzB,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAA;IACnB,sFAAsF;IACtF,cAAc,EAAE,MAAM,CAAA;IACtB,sGAAsG;IACtG,gBAAgB,CAAC,EAAE,WAAW,EAAE,CAAA;CAChC;AAED;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,MAAM,cAAc,CAAA;AAEzD;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACrC,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAClC,mBAAmB,EAAE,OAAO,CAAA;IAC5B,OAAO,CAAC,EAAE;QACT,QAAQ,EAAE,MAAM,CAAA;QAChB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,SAAS,EAAE,MAAM,CAAA;KACjB,GAAG,IAAI,CAAA;CACR;AAED;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,GACrD,CACG;IACA,WAAW,EAAE,WAAW,CAAA;IACxB,iBAAiB,EAAE,WAAW,CAAA;IAC9B,eAAe,EAAE,KAAK,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;CACjB,GACD;IACA,WAAW,EAAE,WAAW,CAAA;IACxB,iBAAiB,EAAE,WAAW,CAAA;IAC9B,eAAe,EAAE,IAAI,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,OAAO,EAAE;QACR,iBAAiB,EAAE,MAAM,CAAA;QACzB,WAAW,EAAE,MAAM,CAAA;QACnB,cAAc,EAAE,MAAM,CAAA;KACtB,CAAA;IACD,WAAW,EAAE,qBAAqB,CAAA;CACjC,CACH,CAAA"}
package/dist/client.d.ts CHANGED
@@ -7,7 +7,7 @@
7
7
  */
8
8
  import { BaseClient } from '@1sat/client';
9
9
  import type { WalletInterface } from '@bsv/sdk';
10
- import type { AccountStatusResponse } from './accounts/types';
10
+ import type { AccountStatusResponse } from './accounts/types.js';
11
11
  export interface WalletServerClientOptions {
12
12
  timeout?: number;
13
13
  fetch?: typeof fetch;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAE7D,MAAM,WAAW,yBAAyB;IACzC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;CACpB;AAED,qBAAa,kBAAmB,SAAQ,UAAU;gBAEhD,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,eAAe,EACvB,OAAO,GAAE,yBAA8B;IASxC,8EAA8E;IAC9E,aAAa,IAAI,OAAO,CAAC,qBAAqB,CAAC;CAG/C"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAEhE,MAAM,WAAW,yBAAyB;IACzC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;CACpB;AAED,qBAAa,kBAAmB,SAAQ,UAAU;gBAEhD,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,eAAe,EACvB,OAAO,GAAE,yBAA8B;IASxC,8EAA8E;IAC9E,aAAa,IAAI,OAAO,CAAC,qBAAqB,CAAC;CAG/C"}
@@ -1,4 +1,4 @@
1
- import type { WalletStorageProvider } from './types';
1
+ import type { WalletStorageProvider } from './types.js';
2
2
  export interface BearerServerConfig {
3
3
  storage: WalletStorageProvider;
4
4
  token: string;
@@ -8,11 +8,15 @@ export interface BearerServerConfig {
8
8
  adminIdentityKeys?: string[];
9
9
  }
10
10
  export interface BearerServerHandle {
11
- port: number;
11
+ /** Bound port once `ready` resolves; the configured port before that. */
12
+ readonly port: number;
13
+ /** Resolves with the bound port once the socket is listening. */
14
+ ready: Promise<number>;
12
15
  stop(): Promise<void>;
13
16
  }
14
17
  /**
15
- * Bearer-only RPC server. Native Bun.serve, no Express, no BRC-100.
18
+ * Bearer-only RPC server on `node:http`, no Express, no BRC-100. Runs under
19
+ * Node or Bun.
16
20
  *
17
21
  * Intended for firewalled internal deployments where an upstream has already
18
22
  * authenticated the caller (e.g. 1sat-stack's `/internal` consumer path).
@@ -1 +1 @@
1
- {"version":3,"file":"createBearerServer.d.ts","sourceRoot":"","sources":["../src/createBearerServer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAEpD,MAAM,WAAW,kBAAkB;IAClC,OAAO,EAAE,qBAAqB,CAAA;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC5B;AAED,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,kBAAkB,GACxB,kBAAkB,CAsBpB"}
1
+ {"version":3,"file":"createBearerServer.d.ts","sourceRoot":"","sources":["../src/createBearerServer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAEvD,MAAM,WAAW,kBAAkB;IAClC,OAAO,EAAE,qBAAqB,CAAA;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC5B;AAED,MAAM,WAAW,kBAAkB;IAClC,yEAAyE;IACzE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,iEAAiE;IACjE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IACtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACrB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,kBAAkB,GACxB,kBAAkB,CAgDpB"}
@@ -1,7 +1,9 @@
1
- import { createWalletRpcHandler } from './createWalletRpcHandler';
2
- import { bearerResolver } from './resolvers/bearer';
1
+ import { createServer } from 'node:http';
2
+ import { createWalletRpcHandler } from './createWalletRpcHandler.js';
3
+ import { bearerResolver } from './resolvers/bearer.js';
3
4
  /**
4
- * Bearer-only RPC server. Native Bun.serve, no Express, no BRC-100.
5
+ * Bearer-only RPC server on `node:http`, no Express, no BRC-100. Runs under
6
+ * Node or Bun.
5
7
  *
6
8
  * Intended for firewalled internal deployments where an upstream has already
7
9
  * authenticated the caller (e.g. 1sat-stack's `/internal` consumer path).
@@ -15,16 +17,65 @@ export function createBearerServer(config) {
15
17
  }),
16
18
  adminIdentityKeys: config.adminIdentityKeys,
17
19
  });
18
- const server = Bun.serve({
19
- port: config.port,
20
- hostname: config.hostname,
21
- fetch: handler,
20
+ const server = createServer(async (req, res) => {
21
+ try {
22
+ const response = await handler(await toFetchRequest(req));
23
+ res.writeHead(response.status, Object.fromEntries(response.headers.entries()));
24
+ res.end(new Uint8Array(await response.arrayBuffer()));
25
+ }
26
+ catch (err) {
27
+ res.writeHead(500, { 'content-type': 'application/json' });
28
+ res.end(JSON.stringify({
29
+ error: err instanceof Error ? err.message : 'internal error',
30
+ }));
31
+ }
32
+ });
33
+ let boundPort = config.port;
34
+ const ready = new Promise((resolve, reject) => {
35
+ server.once('error', reject);
36
+ server.listen(config.port, config.hostname ?? '0.0.0.0', () => {
37
+ const address = server.address();
38
+ if (typeof address === 'object' && address)
39
+ boundPort = address.port;
40
+ resolve(boundPort);
41
+ });
22
42
  });
23
43
  return {
24
- port: server.port ?? config.port,
44
+ get port() {
45
+ return boundPort;
46
+ },
47
+ ready,
25
48
  async stop() {
26
- await server.stop();
49
+ await new Promise((resolve, reject) => {
50
+ server.close((err) => (err ? reject(err) : resolve()));
51
+ });
27
52
  },
28
53
  };
29
54
  }
55
+ async function toFetchRequest(req) {
56
+ const host = req.headers.host ?? 'localhost';
57
+ const url = new URL(req.url ?? '/', `http://${host}`);
58
+ const headers = new Headers();
59
+ for (const [k, v] of Object.entries(req.headers)) {
60
+ if (typeof v === 'string')
61
+ headers.set(k, v);
62
+ else if (Array.isArray(v))
63
+ headers.set(k, v.join(', '));
64
+ }
65
+ const method = req.method ?? 'GET';
66
+ if (method === 'GET' || method === 'HEAD') {
67
+ return new Request(url, { method, headers });
68
+ }
69
+ const chunks = [];
70
+ for await (const chunk of req)
71
+ chunks.push(chunk);
72
+ const total = chunks.reduce((n, c) => n + c.length, 0);
73
+ const body = new Uint8Array(total);
74
+ let offset = 0;
75
+ for (const c of chunks) {
76
+ body.set(c, offset);
77
+ offset += c.length;
78
+ }
79
+ return new Request(url, { method, headers, body });
80
+ }
30
81
  //# sourceMappingURL=createBearerServer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createBearerServer.js","sourceRoot":"","sources":["../src/createBearerServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAiBnD;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CACjC,MAA0B;IAE1B,MAAM,OAAO,GAAG,sBAAsB,CAAC;QACtC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,eAAe,EAAE,cAAc,CAAC;YAC/B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,cAAc,EAAE,MAAM,CAAC,cAAc;SACrC,CAAC;QACF,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;KAC3C,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,KAAK,EAAE,OAAO;KACd,CAAC,CAAA;IAEF,OAAO;QACN,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI;QAChC,KAAK,CAAC,IAAI;YACT,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;QACpB,CAAC;KACD,CAAA;AACF,CAAC"}
1
+ {"version":3,"file":"createBearerServer.js","sourceRoot":"","sources":["../src/createBearerServer.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,17 @@
1
1
  /**
2
- * Unified host server: wallet storage RPC + hosting + paymail + messagebox
2
+ * Unified host server: wallet storage RPC + accounts + paymail + messagebox
3
3
  * in one process with one host identity.
4
4
  *
5
5
  * Auth zoning:
6
- * - public: paymail bsvalias, GET /hosting/price
7
- * - BRC-100: storage RPC, /account/*, /hosting/status|subscribe, messagebox
6
+ * - public: paymail bsvalias, OpenAPI docs
7
+ * - BRC-100: storage RPC, /account/*, messagebox
8
8
  */
9
9
  import { type MessageBoxContext } from '@bopen-io/messagebox-server';
10
10
  import type { WalletInterface } from '@bsv/sdk';
11
11
  import { type Express } from 'express';
12
- import { type WalletServerAccounts, type WalletServerConfig } from './createWalletServer';
13
- import { type HostingConfigProvider } from './hosting/routes';
14
- import type { PaymailDeps } from './paymail/types';
12
+ import type { AccountStore } from './accounts/store.js';
13
+ import { type WalletServerAccounts, type WalletServerConfig } from './createWalletServer.js';
14
+ import type { PaymailDeps } from './paymail/types.js';
15
15
  export interface HostServerMessageboxConfig {
16
16
  /** Knex instance for message tables */
17
17
  knex: MessageBoxContext['knex'];
@@ -27,9 +27,14 @@ export interface HostServerConfig {
27
27
  host?: string;
28
28
  };
29
29
  accounts?: WalletServerAccounts;
30
- hosting?: {
31
- getConfig: HostingConfigProvider;
32
- };
30
+ /**
31
+ * Host account registry. Enables POST /account/register and
32
+ * PUT /account/profile, reports the account on GET /account/status, and
33
+ * gates messagebox delivery on the recipient holding an account. Pass the
34
+ * same store as `paymail.accountStore` so paymail resolution is gated the
35
+ * same way.
36
+ */
37
+ accountStore?: AccountStore;
33
38
  paymail?: PaymailDeps;
34
39
  messagebox?: HostServerMessageboxConfig;
35
40
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"createHostServer.d.ts","sourceRoot":"","sources":["../src/createHostServer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EACN,KAAK,iBAAiB,EAKtB,MAAM,6BAA6B,CAAA;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAG/C,OAAgB,EAAE,KAAK,OAAO,EAAU,MAAM,SAAS,CAAA;AAMvD,OAAO,EACN,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EAIvB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EACN,KAAK,qBAAqB,EAE1B,MAAM,kBAAkB,CAAA;AAIzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAGlD,MAAM,WAAW,0BAA0B;IAC1C,uCAAuC;IACvC,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAC/B,6DAA6D;IAC7D,UAAU,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,gBAAgB;IAChC,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAA;IACtC,iBAAiB,EAAE,MAAM,CAAA;IACzB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACvC,QAAQ,CAAC,EAAE,oBAAoB,CAAA;IAC/B,OAAO,CAAC,EAAE;QAAE,SAAS,EAAE,qBAAqB,CAAA;KAAE,CAAA;IAC9C,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,UAAU,CAAC,EAAE,0BAA0B,CAAA;IACvC;;;OAGG;IACH,YAAY,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACxD,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,gBAAgB;IAChC,GAAG,EAAE,OAAO,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;IACxB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACrB;AAED,wBAAsB,gBAAgB,CACrC,MAAM,EAAE,gBAAgB,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAoL3B"}
1
+ {"version":3,"file":"createHostServer.d.ts","sourceRoot":"","sources":["../src/createHostServer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EACN,KAAK,iBAAiB,EAKtB,MAAM,6BAA6B,CAAA;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAG/C,OAAgB,EAAE,KAAK,OAAO,EAAU,MAAM,SAAS,CAAA;AAOvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EACN,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EAIvB,MAAM,yBAAyB,CAAA;AAIhC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAGrD,MAAM,WAAW,0BAA0B;IAC1C,uCAAuC;IACvC,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAC/B,6DAA6D;IAC7D,UAAU,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,gBAAgB;IAChC,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAA;IACtC,iBAAiB,EAAE,MAAM,CAAA;IACzB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACvC,QAAQ,CAAC,EAAE,oBAAoB,CAAA;IAC/B;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,UAAU,CAAC,EAAE,0BAA0B,CAAA;IACvC;;;OAGG;IACH,YAAY,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACxD,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,gBAAgB;IAChC,GAAG,EAAE,OAAO,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;IACxB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACrB;AAED,wBAAsB,gBAAgB,CACrC,MAAM,EAAE,gBAAgB,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAmK3B"}
@@ -1,24 +1,22 @@
1
1
  /**
2
- * Unified host server: wallet storage RPC + hosting + paymail + messagebox
2
+ * Unified host server: wallet storage RPC + accounts + paymail + messagebox
3
3
  * in one process with one host identity.
4
4
  *
5
5
  * Auth zoning:
6
- * - public: paymail bsvalias, GET /hosting/price
7
- * - BRC-100: storage RPC, /account/*, /hosting/status|subscribe, messagebox
6
+ * - public: paymail bsvalias, OpenAPI docs
7
+ * - BRC-100: storage RPC, /account/*, messagebox
8
8
  */
9
9
  import { createServer } from 'node:http';
10
10
  import { attachMessageBoxWebSockets, createMessageBoxContext, registerMessageBoxPostAuthRoutes, registerMessageBoxPreAuthRoutes, } from '@bopen-io/messagebox-server';
11
11
  import { createLogger } from 'evlog';
12
12
  import { evlog } from 'evlog/express';
13
13
  import express, { Router } from 'express';
14
- import { accountsCapacityGate, mountPaymentRoute, } from './accounts';
15
- import { corsMiddleware, dispatchHandler, mountStatusRoute, } from './createWalletServer';
16
- import { mountTerminalErrorHandler } from './errorHandler';
17
- import { mountHostingRoutes, } from './hosting/routes';
18
- import { mountOpenApiRoutes } from './openapi';
19
- import { checkHostingEntitlement } from './paymail/entitlement';
20
- import { mountPaymailRoutes } from './paymail/routes';
21
- import { buildAuthMiddleware } from './sessions/redisSessionManager';
14
+ import { accountsCapacityGate, mountPaymentRoute, mountRegistrationRoutes, } from './accounts/index.js';
15
+ import { corsMiddleware, dispatchHandler, mountStatusRoute, } from './createWalletServer.js';
16
+ import { mountTerminalErrorHandler } from './errorHandler.js';
17
+ import { mountOpenApiRoutes } from './openapi/index.js';
18
+ import { mountPaymailRoutes } from './paymail/routes.js';
19
+ import { buildAuthMiddleware } from './sessions/redisSessionManager.js';
22
20
  export async function createHostServer(config) {
23
21
  const app = express();
24
22
  app.use(evlog());
@@ -26,7 +24,7 @@ export async function createHostServer(config) {
26
24
  app.use(corsMiddleware);
27
25
  const { wallet } = config;
28
26
  // One authMiddleware instance for every authed surface (storage, account,
29
- // hosting, messagebox), so a single /.well-known/auth handshake authenticates
27
+ // messagebox), so a single /.well-known/auth handshake authenticates
30
28
  // a client everywhere. With a session store, sessions are mirrored to
31
29
  // Redis and hydrated on demand so any instance can validate any session.
32
30
  const authMiddleware = buildAuthMiddleware(wallet, config.sessionStore);
@@ -34,26 +32,12 @@ export async function createHostServer(config) {
34
32
  if (config.paymail) {
35
33
  await mountPaymailRoutes(app, config.paymail);
36
34
  }
37
- if (config.hosting) {
38
- app.get('/hosting/price', (_req, res) => {
39
- const cfg = config.hosting.getConfig();
40
- if (!cfg.enabled)
41
- return res.status(404).json({ error: 'hosting disabled' });
42
- return res.json({
43
- priceSats: cfg.priceSats,
44
- ...(cfg.priceUsd !== undefined && { priceUsd: cfg.priceUsd }),
45
- periodSeconds: cfg.periodSeconds,
46
- });
47
- });
48
- }
49
35
  mountOpenApiRoutes(app, {
50
36
  serverIdentityKey: config.serverIdentityKey,
51
37
  surfaces: {
52
38
  storage: true,
53
39
  accounts: config.accounts != null,
54
- hosting: config.hosting
55
- ? () => config.hosting.getConfig().enabled
56
- : undefined,
40
+ registration: config.accountStore != null,
57
41
  paymail: config.paymail != null,
58
42
  messagebox: config.messagebox != null,
59
43
  },
@@ -90,14 +74,11 @@ export async function createHostServer(config) {
90
74
  walletStorage: accountsDeps.walletStorage,
91
75
  serverIdentityKey: accountsDeps.serverIdentityKey,
92
76
  currentBlock: accountsDeps.currentBlock,
77
+ accountStore: config.accountStore,
93
78
  });
94
79
  }
95
- if (config.hosting) {
96
- mountHostingRoutes(app, '/', {
97
- wallet,
98
- getConfig: config.hosting.getConfig,
99
- authMiddleware,
100
- });
80
+ if (config.accountStore) {
81
+ mountRegistrationRoutes(app, '/', { store: config.accountStore });
101
82
  }
102
83
  // --- messagebox (own router; host owns the auth) --------------------------
103
84
  if (config.messagebox) {
@@ -108,10 +89,11 @@ export async function createHostServer(config) {
108
89
  });
109
90
  const mbRouter = Router();
110
91
  registerMessageBoxPreAuthRoutes(mbRouter);
111
- // Host pack gate: when hosting is enabled, recipients must hold an active
112
- // receipt before this server stores messages for them. Runs before auth —
113
- // it only inspects the request body.
114
- if (config.hosting?.getConfig().enabled) {
92
+ // Account gate: recipients must hold an account on this host before it
93
+ // stores messages for them. Runs before auth — it only inspects the
94
+ // request body.
95
+ const accountStore = config.accountStore;
96
+ if (accountStore) {
115
97
  mbRouter.post('/sendMessage', async (req, res, next) => {
116
98
  try {
117
99
  const message = req.body
@@ -121,12 +103,12 @@ export async function createHostServer(config) {
121
103
  for (const recipient of recipients) {
122
104
  if (typeof recipient !== 'string')
123
105
  continue;
124
- const ent = await checkHostingEntitlement(wallet, recipient);
125
- if (!ent.active) {
106
+ const account = await accountStore.getByIdentity(recipient);
107
+ if (!account) {
126
108
  return res.status(403).json({
127
109
  status: 'error',
128
- code: 'ERR_HOSTING_REQUIRED',
129
- description: 'Recipient does not have an active hosting subscription',
110
+ code: 'ERR_ACCOUNT_REQUIRED',
111
+ description: 'Recipient has no account on this host',
130
112
  });
131
113
  }
132
114
  }
@@ -197,7 +179,7 @@ function listenWithLog(server, config, websockets) {
197
179
  host: config.listen.host ?? '0.0.0.0',
198
180
  port,
199
181
  paymail: config.paymail != null,
200
- hosting: config.hosting != null,
182
+ registration: config.accountStore != null,
201
183
  messagebox: config.messagebox != null,
202
184
  websockets,
203
185
  });
@@ -1 +1 @@
1
- {"version":3,"file":"createHostServer.js","sourceRoot":"","sources":["../src/createHostServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createHostServer.js","sourceRoot":"","sources":["../src/createHostServer.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { WalletRpcHandlerConfig } from './types';
1
+ import type { WalletRpcHandlerConfig } from './types.js';
2
2
  export type WalletRpcHandler = (req: Request) => Promise<Response>;
3
3
  export declare function createWalletRpcHandler(config: WalletRpcHandlerConfig): WalletRpcHandler;
4
4
  //# sourceMappingURL=createWalletRpcHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createWalletRpcHandler.d.ts","sourceRoot":"","sources":["../src/createWalletRpcHandler.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAGX,sBAAsB,EACtB,MAAM,SAAS,CAAA;AAEhB,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAElE,wBAAgB,sBAAsB,CACrC,MAAM,EAAE,sBAAsB,GAC5B,gBAAgB,CAoDlB"}
1
+ {"version":3,"file":"createWalletRpcHandler.d.ts","sourceRoot":"","sources":["../src/createWalletRpcHandler.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAGX,sBAAsB,EACtB,MAAM,YAAY,CAAA;AAEnB,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAElE,wBAAgB,sBAAsB,CACrC,MAAM,EAAE,sBAAsB,GAC5B,gBAAgB,CAoDlB"}
@@ -1,5 +1,5 @@
1
1
  import { BINARY_ENCODING, BINARY_ENCODING_HEADER, stringifyJsonRpc, } from '@bsv/wallet-toolbox/out/src/storage/remoting/BinaryJson.js';
2
- import { dispatch } from './dispatch';
2
+ import { dispatch } from './dispatch.js';
3
3
  export function createWalletRpcHandler(config) {
4
4
  return async (req) => {
5
5
  if (req.method !== 'POST') {
@@ -1 +1 @@
1
- {"version":3,"file":"createWalletRpcHandler.js","sourceRoot":"","sources":["../src/createWalletRpcHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createWalletRpcHandler.js","sourceRoot":"","sources":["../src/createWalletRpcHandler.ts"],"names":[],"mappings":"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"}