@xyo-network/xl1-rpc-server 1.26.21 → 1.26.24
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/createRpcHttpServer.ts","../../src/createRpcRequestHandler.ts"],"sourcesContent":["import HTTP from 'node:http'\n\nimport { type JsonRpcEngineV2, JsonRpcServer } from '@metamask/json-rpc-engine/v2'\n\n/** Result returned by createRpcHttpServer. */\nexport interface RpcHttpServer {\n close: () => Promise<void>\n port: number\n server: HTTP.Server\n}\n\n/** Creates a standalone Node.js HTTP server that handles JSON-RPC requests at POST /rpc. */\nexport function createRpcHttpServer(options: { engine: JsonRpcEngineV2; port: number }): Promise<RpcHttpServer> {\n const { engine, port } = options\n const rpcServer = new JsonRpcServer({ engine })\n\n return new Promise((resolve, reject) => {\n const server = HTTP.createServer((req, res) => {\n res.setHeader('Access-Control-Allow-Origin', '*')\n res.setHeader('Access-Control-Allow-Methods', 'POST, OPTIONS')\n res.setHeader('Access-Control-Allow-Headers', 'Content-Type')\n\n if (req.method === 'OPTIONS') {\n res.writeHead(204)\n res.end()\n return\n }\n\n if (req.method !== 'POST' || req.url !== '/rpc') {\n res.writeHead(404, { 'Content-Type': 'application/json' })\n res.end(JSON.stringify({ error: 'Not found' }))\n return\n }\n\n let body = ''\n req.on('data', (chunk: Buffer) => {\n body += chunk.toString()\n })\n\n req.on('end', () => {\n const parsed = JSON.parse(body)\n rpcServer.handle(parsed)\n .then((response) => {\n res.writeHead(200, { 'Content-Type': 'application/json' })\n res.end(JSON.stringify(response))\n })\n .catch((error: unknown) => {\n res.writeHead(500, { 'Content-Type': 'application/json' })\n res.end(JSON.stringify({ error: (error as Error).message }))\n })\n })\n })\n\n server.on('error', reject)\n\n server.listen(port, () => {\n resolve({\n server,\n port,\n close: () => new Promise<void>((resolveClose, rejectClose) => {\n server.close((err) => {\n if (err) {\n rejectClose(err)\n } else {\n resolveClose()\n }\n })\n }),\n })\n })\n })\n}\n","import type { JsonRpcEngineV2, JsonRpcRequest } from '@metamask/json-rpc-engine/v2'\n\n/** Creates a framework-agnostic RPC request handler from a JSON-RPC engine. */\nexport function createRpcRequestHandler(engine: JsonRpcEngineV2): (body: unknown) => Promise<unknown> {\n return async (body: unknown) => {\n const request = body as JsonRpcRequest\n try {\n const result = await engine.handle(request)\n return {\n jsonrpc: '2.0', id: request.id, result,\n }\n } catch (error) {\n return {\n jsonrpc: '2.0',\n id: request.id,\n error: { code: -32_603, message: (error as Error).message },\n }\n }\n }\n}\n"],"mappings":";AAAA,OAAO,UAAU;AAEjB,SAA+B,qBAAqB;AAU7C,SAAS,oBAAoB,SAA4E;AAC9G,QAAM,EAAE,QAAQ,KAAK,IAAI;AACzB,QAAM,YAAY,IAAI,cAAc,EAAE,OAAO,CAAC;AAE9C,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,UAAM,SAAS,KAAK,aAAa,CAAC,KAAK,QAAQ;AAC7C,UAAI,UAAU,+BAA+B,GAAG;AAChD,UAAI,UAAU,gCAAgC,eAAe;AAC7D,UAAI,UAAU,gCAAgC,cAAc;AAE5D,UAAI,IAAI,WAAW,WAAW;AAC5B,YAAI,UAAU,GAAG;AACjB,YAAI,IAAI;AACR;AAAA,MACF;AAEA,UAAI,IAAI,WAAW,UAAU,IAAI,QAAQ,QAAQ;AAC/C,YAAI,UAAU,KAAK,EAAE,gBAAgB,mBAAmB,CAAC;AACzD,YAAI,IAAI,KAAK,UAAU,EAAE,OAAO,YAAY,CAAC,CAAC;AAC9C;AAAA,MACF;AAEA,UAAI,OAAO;AACX,UAAI,GAAG,QAAQ,CAAC,UAAkB;AAChC,gBAAQ,MAAM,SAAS;AAAA,MACzB,CAAC;AAED,UAAI,GAAG,OAAO,MAAM;AAClB,cAAM,
|
|
1
|
+
{"version":3,"sources":["../../src/createRpcHttpServer.ts","../../src/createRpcRequestHandler.ts"],"sourcesContent":["import HTTP from 'node:http'\n\nimport { type JsonRpcEngineV2, JsonRpcServer } from '@metamask/json-rpc-engine/v2'\n\n/** Result returned by createRpcHttpServer. */\nexport interface RpcHttpServer {\n close: () => Promise<void>\n port: number\n server: HTTP.Server\n}\n\n/** Creates a standalone Node.js HTTP server that handles JSON-RPC requests at POST /rpc. */\nexport function createRpcHttpServer(options: { engine: JsonRpcEngineV2; port: number }): Promise<RpcHttpServer> {\n const { engine, port } = options\n const rpcServer = new JsonRpcServer({ engine })\n\n return new Promise((resolve, reject) => {\n const server = HTTP.createServer((req, res) => {\n res.setHeader('Access-Control-Allow-Origin', '*')\n res.setHeader('Access-Control-Allow-Methods', 'POST, OPTIONS')\n res.setHeader('Access-Control-Allow-Headers', 'Content-Type')\n\n if (req.method === 'OPTIONS') {\n res.writeHead(204)\n res.end()\n return\n }\n\n if (req.method !== 'POST' || req.url !== '/rpc') {\n res.writeHead(404, { 'Content-Type': 'application/json' })\n res.end(JSON.stringify({ error: 'Not found' }))\n return\n }\n\n let body = ''\n req.on('data', (chunk: Buffer) => {\n body += chunk.toString()\n })\n\n req.on('end', () => {\n const parsed: unknown = JSON.parse(body)\n rpcServer.handle(parsed)\n .then((response) => {\n res.writeHead(200, { 'Content-Type': 'application/json' })\n res.end(JSON.stringify(response))\n })\n .catch((error: unknown) => {\n res.writeHead(500, { 'Content-Type': 'application/json' })\n res.end(JSON.stringify({ error: (error as Error).message }))\n })\n })\n })\n\n server.on('error', reject)\n\n server.listen(port, () => {\n resolve({\n server,\n port,\n close: () => new Promise<void>((resolveClose, rejectClose) => {\n server.close((err) => {\n if (err) {\n rejectClose(err)\n } else {\n resolveClose()\n }\n })\n }),\n })\n })\n })\n}\n","import type { JsonRpcEngineV2, JsonRpcRequest } from '@metamask/json-rpc-engine/v2'\n\n/** Creates a framework-agnostic RPC request handler from a JSON-RPC engine. */\nexport function createRpcRequestHandler(engine: JsonRpcEngineV2): (body: unknown) => Promise<unknown> {\n return async (body: unknown) => {\n const request = body as JsonRpcRequest\n try {\n const result = await engine.handle(request)\n return {\n jsonrpc: '2.0', id: request.id, result,\n }\n } catch (error) {\n return {\n jsonrpc: '2.0',\n id: request.id,\n error: { code: -32_603, message: (error as Error).message },\n }\n }\n }\n}\n"],"mappings":";AAAA,OAAO,UAAU;AAEjB,SAA+B,qBAAqB;AAU7C,SAAS,oBAAoB,SAA4E;AAC9G,QAAM,EAAE,QAAQ,KAAK,IAAI;AACzB,QAAM,YAAY,IAAI,cAAc,EAAE,OAAO,CAAC;AAE9C,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,UAAM,SAAS,KAAK,aAAa,CAAC,KAAK,QAAQ;AAC7C,UAAI,UAAU,+BAA+B,GAAG;AAChD,UAAI,UAAU,gCAAgC,eAAe;AAC7D,UAAI,UAAU,gCAAgC,cAAc;AAE5D,UAAI,IAAI,WAAW,WAAW;AAC5B,YAAI,UAAU,GAAG;AACjB,YAAI,IAAI;AACR;AAAA,MACF;AAEA,UAAI,IAAI,WAAW,UAAU,IAAI,QAAQ,QAAQ;AAC/C,YAAI,UAAU,KAAK,EAAE,gBAAgB,mBAAmB,CAAC;AACzD,YAAI,IAAI,KAAK,UAAU,EAAE,OAAO,YAAY,CAAC,CAAC;AAC9C;AAAA,MACF;AAEA,UAAI,OAAO;AACX,UAAI,GAAG,QAAQ,CAAC,UAAkB;AAChC,gBAAQ,MAAM,SAAS;AAAA,MACzB,CAAC;AAED,UAAI,GAAG,OAAO,MAAM;AAClB,cAAM,SAAkB,KAAK,MAAM,IAAI;AACvC,kBAAU,OAAO,MAAM,EACpB,KAAK,CAAC,aAAa;AAClB,cAAI,UAAU,KAAK,EAAE,gBAAgB,mBAAmB,CAAC;AACzD,cAAI,IAAI,KAAK,UAAU,QAAQ,CAAC;AAAA,QAClC,CAAC,EACA,MAAM,CAAC,UAAmB;AACzB,cAAI,UAAU,KAAK,EAAE,gBAAgB,mBAAmB,CAAC;AACzD,cAAI,IAAI,KAAK,UAAU,EAAE,OAAQ,MAAgB,QAAQ,CAAC,CAAC;AAAA,QAC7D,CAAC;AAAA,MACL,CAAC;AAAA,IACH,CAAC;AAED,WAAO,GAAG,SAAS,MAAM;AAEzB,WAAO,OAAO,MAAM,MAAM;AACxB,cAAQ;AAAA,QACN;AAAA,QACA;AAAA,QACA,OAAO,MAAM,IAAI,QAAc,CAAC,cAAc,gBAAgB;AAC5D,iBAAO,MAAM,CAAC,QAAQ;AACpB,gBAAI,KAAK;AACP,0BAAY,GAAG;AAAA,YACjB,OAAO;AACL,2BAAa;AAAA,YACf;AAAA,UACF,CAAC;AAAA,QACH,CAAC;AAAA,MACH,CAAC;AAAA,IACH,CAAC;AAAA,EACH,CAAC;AACH;;;ACpEO,SAAS,wBAAwB,QAA8D;AACpG,SAAO,OAAO,SAAkB;AAC9B,UAAM,UAAU;AAChB,QAAI;AACF,YAAM,SAAS,MAAM,OAAO,OAAO,OAAO;AAC1C,aAAO;AAAA,QACL,SAAS;AAAA,QAAO,IAAI,QAAQ;AAAA,QAAI;AAAA,MAClC;AAAA,IACF,SAAS,OAAO;AACd,aAAO;AAAA,QACL,SAAS;AAAA,QACT,IAAI,QAAQ;AAAA,QACZ,OAAO,EAAE,MAAM,QAAS,SAAU,MAAgB,QAAQ;AAAA,MAC5D;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/createRpcHttpServer.ts","../../src/createRpcRequestHandler.ts"],"sourcesContent":["import HTTP from 'node:http'\n\nimport { type JsonRpcEngineV2, JsonRpcServer } from '@metamask/json-rpc-engine/v2'\n\n/** Result returned by createRpcHttpServer. */\nexport interface RpcHttpServer {\n close: () => Promise<void>\n port: number\n server: HTTP.Server\n}\n\n/** Creates a standalone Node.js HTTP server that handles JSON-RPC requests at POST /rpc. */\nexport function createRpcHttpServer(options: { engine: JsonRpcEngineV2; port: number }): Promise<RpcHttpServer> {\n const { engine, port } = options\n const rpcServer = new JsonRpcServer({ engine })\n\n return new Promise((resolve, reject) => {\n const server = HTTP.createServer((req, res) => {\n res.setHeader('Access-Control-Allow-Origin', '*')\n res.setHeader('Access-Control-Allow-Methods', 'POST, OPTIONS')\n res.setHeader('Access-Control-Allow-Headers', 'Content-Type')\n\n if (req.method === 'OPTIONS') {\n res.writeHead(204)\n res.end()\n return\n }\n\n if (req.method !== 'POST' || req.url !== '/rpc') {\n res.writeHead(404, { 'Content-Type': 'application/json' })\n res.end(JSON.stringify({ error: 'Not found' }))\n return\n }\n\n let body = ''\n req.on('data', (chunk: Buffer) => {\n body += chunk.toString()\n })\n\n req.on('end', () => {\n const parsed = JSON.parse(body)\n rpcServer.handle(parsed)\n .then((response) => {\n res.writeHead(200, { 'Content-Type': 'application/json' })\n res.end(JSON.stringify(response))\n })\n .catch((error: unknown) => {\n res.writeHead(500, { 'Content-Type': 'application/json' })\n res.end(JSON.stringify({ error: (error as Error).message }))\n })\n })\n })\n\n server.on('error', reject)\n\n server.listen(port, () => {\n resolve({\n server,\n port,\n close: () => new Promise<void>((resolveClose, rejectClose) => {\n server.close((err) => {\n if (err) {\n rejectClose(err)\n } else {\n resolveClose()\n }\n })\n }),\n })\n })\n })\n}\n","import type { JsonRpcEngineV2, JsonRpcRequest } from '@metamask/json-rpc-engine/v2'\n\n/** Creates a framework-agnostic RPC request handler from a JSON-RPC engine. */\nexport function createRpcRequestHandler(engine: JsonRpcEngineV2): (body: unknown) => Promise<unknown> {\n return async (body: unknown) => {\n const request = body as JsonRpcRequest\n try {\n const result = await engine.handle(request)\n return {\n jsonrpc: '2.0', id: request.id, result,\n }\n } catch (error) {\n return {\n jsonrpc: '2.0',\n id: request.id,\n error: { code: -32_603, message: (error as Error).message },\n }\n }\n }\n}\n"],"mappings":";AAAA,OAAO,UAAU;AAEjB,SAA+B,qBAAqB;AAU7C,SAAS,oBAAoB,SAA4E;AAC9G,QAAM,EAAE,QAAQ,KAAK,IAAI;AACzB,QAAM,YAAY,IAAI,cAAc,EAAE,OAAO,CAAC;AAE9C,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,UAAM,SAAS,KAAK,aAAa,CAAC,KAAK,QAAQ;AAC7C,UAAI,UAAU,+BAA+B,GAAG;AAChD,UAAI,UAAU,gCAAgC,eAAe;AAC7D,UAAI,UAAU,gCAAgC,cAAc;AAE5D,UAAI,IAAI,WAAW,WAAW;AAC5B,YAAI,UAAU,GAAG;AACjB,YAAI,IAAI;AACR;AAAA,MACF;AAEA,UAAI,IAAI,WAAW,UAAU,IAAI,QAAQ,QAAQ;AAC/C,YAAI,UAAU,KAAK,EAAE,gBAAgB,mBAAmB,CAAC;AACzD,YAAI,IAAI,KAAK,UAAU,EAAE,OAAO,YAAY,CAAC,CAAC;AAC9C;AAAA,MACF;AAEA,UAAI,OAAO;AACX,UAAI,GAAG,QAAQ,CAAC,UAAkB;AAChC,gBAAQ,MAAM,SAAS;AAAA,MACzB,CAAC;AAED,UAAI,GAAG,OAAO,MAAM;AAClB,cAAM,
|
|
1
|
+
{"version":3,"sources":["../../src/createRpcHttpServer.ts","../../src/createRpcRequestHandler.ts"],"sourcesContent":["import HTTP from 'node:http'\n\nimport { type JsonRpcEngineV2, JsonRpcServer } from '@metamask/json-rpc-engine/v2'\n\n/** Result returned by createRpcHttpServer. */\nexport interface RpcHttpServer {\n close: () => Promise<void>\n port: number\n server: HTTP.Server\n}\n\n/** Creates a standalone Node.js HTTP server that handles JSON-RPC requests at POST /rpc. */\nexport function createRpcHttpServer(options: { engine: JsonRpcEngineV2; port: number }): Promise<RpcHttpServer> {\n const { engine, port } = options\n const rpcServer = new JsonRpcServer({ engine })\n\n return new Promise((resolve, reject) => {\n const server = HTTP.createServer((req, res) => {\n res.setHeader('Access-Control-Allow-Origin', '*')\n res.setHeader('Access-Control-Allow-Methods', 'POST, OPTIONS')\n res.setHeader('Access-Control-Allow-Headers', 'Content-Type')\n\n if (req.method === 'OPTIONS') {\n res.writeHead(204)\n res.end()\n return\n }\n\n if (req.method !== 'POST' || req.url !== '/rpc') {\n res.writeHead(404, { 'Content-Type': 'application/json' })\n res.end(JSON.stringify({ error: 'Not found' }))\n return\n }\n\n let body = ''\n req.on('data', (chunk: Buffer) => {\n body += chunk.toString()\n })\n\n req.on('end', () => {\n const parsed: unknown = JSON.parse(body)\n rpcServer.handle(parsed)\n .then((response) => {\n res.writeHead(200, { 'Content-Type': 'application/json' })\n res.end(JSON.stringify(response))\n })\n .catch((error: unknown) => {\n res.writeHead(500, { 'Content-Type': 'application/json' })\n res.end(JSON.stringify({ error: (error as Error).message }))\n })\n })\n })\n\n server.on('error', reject)\n\n server.listen(port, () => {\n resolve({\n server,\n port,\n close: () => new Promise<void>((resolveClose, rejectClose) => {\n server.close((err) => {\n if (err) {\n rejectClose(err)\n } else {\n resolveClose()\n }\n })\n }),\n })\n })\n })\n}\n","import type { JsonRpcEngineV2, JsonRpcRequest } from '@metamask/json-rpc-engine/v2'\n\n/** Creates a framework-agnostic RPC request handler from a JSON-RPC engine. */\nexport function createRpcRequestHandler(engine: JsonRpcEngineV2): (body: unknown) => Promise<unknown> {\n return async (body: unknown) => {\n const request = body as JsonRpcRequest\n try {\n const result = await engine.handle(request)\n return {\n jsonrpc: '2.0', id: request.id, result,\n }\n } catch (error) {\n return {\n jsonrpc: '2.0',\n id: request.id,\n error: { code: -32_603, message: (error as Error).message },\n }\n }\n }\n}\n"],"mappings":";AAAA,OAAO,UAAU;AAEjB,SAA+B,qBAAqB;AAU7C,SAAS,oBAAoB,SAA4E;AAC9G,QAAM,EAAE,QAAQ,KAAK,IAAI;AACzB,QAAM,YAAY,IAAI,cAAc,EAAE,OAAO,CAAC;AAE9C,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,UAAM,SAAS,KAAK,aAAa,CAAC,KAAK,QAAQ;AAC7C,UAAI,UAAU,+BAA+B,GAAG;AAChD,UAAI,UAAU,gCAAgC,eAAe;AAC7D,UAAI,UAAU,gCAAgC,cAAc;AAE5D,UAAI,IAAI,WAAW,WAAW;AAC5B,YAAI,UAAU,GAAG;AACjB,YAAI,IAAI;AACR;AAAA,MACF;AAEA,UAAI,IAAI,WAAW,UAAU,IAAI,QAAQ,QAAQ;AAC/C,YAAI,UAAU,KAAK,EAAE,gBAAgB,mBAAmB,CAAC;AACzD,YAAI,IAAI,KAAK,UAAU,EAAE,OAAO,YAAY,CAAC,CAAC;AAC9C;AAAA,MACF;AAEA,UAAI,OAAO;AACX,UAAI,GAAG,QAAQ,CAAC,UAAkB;AAChC,gBAAQ,MAAM,SAAS;AAAA,MACzB,CAAC;AAED,UAAI,GAAG,OAAO,MAAM;AAClB,cAAM,SAAkB,KAAK,MAAM,IAAI;AACvC,kBAAU,OAAO,MAAM,EACpB,KAAK,CAAC,aAAa;AAClB,cAAI,UAAU,KAAK,EAAE,gBAAgB,mBAAmB,CAAC;AACzD,cAAI,IAAI,KAAK,UAAU,QAAQ,CAAC;AAAA,QAClC,CAAC,EACA,MAAM,CAAC,UAAmB;AACzB,cAAI,UAAU,KAAK,EAAE,gBAAgB,mBAAmB,CAAC;AACzD,cAAI,IAAI,KAAK,UAAU,EAAE,OAAQ,MAAgB,QAAQ,CAAC,CAAC;AAAA,QAC7D,CAAC;AAAA,MACL,CAAC;AAAA,IACH,CAAC;AAED,WAAO,GAAG,SAAS,MAAM;AAEzB,WAAO,OAAO,MAAM,MAAM;AACxB,cAAQ;AAAA,QACN;AAAA,QACA;AAAA,QACA,OAAO,MAAM,IAAI,QAAc,CAAC,cAAc,gBAAgB;AAC5D,iBAAO,MAAM,CAAC,QAAQ;AACpB,gBAAI,KAAK;AACP,0BAAY,GAAG;AAAA,YACjB,OAAO;AACL,2BAAa;AAAA,YACf;AAAA,UACF,CAAC;AAAA,QACH,CAAC;AAAA,MACH,CAAC;AAAA,IACH,CAAC;AAAA,EACH,CAAC;AACH;;;ACpEO,SAAS,wBAAwB,QAA8D;AACpG,SAAO,OAAO,SAAkB;AAC9B,UAAM,UAAU;AAChB,QAAI;AACF,YAAM,SAAS,MAAM,OAAO,OAAO,OAAO;AAC1C,aAAO;AAAA,QACL,SAAS;AAAA,QAAO,IAAI,QAAQ;AAAA,QAAI;AAAA,MAClC;AAAA,IACF,SAAS,OAAO;AACd,aAAO;AAAA,QACL,SAAS;AAAA,QACT,IAAI,QAAQ;AAAA,QACZ,OAAO,EAAE,MAAM,QAAS,SAAU,MAAgB,QAAQ;AAAA,MAC5D;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
package/dist/node/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/createRpcHttpServer.ts","../../src/createRpcRequestHandler.ts"],"sourcesContent":["import HTTP from 'node:http'\n\nimport { type JsonRpcEngineV2, JsonRpcServer } from '@metamask/json-rpc-engine/v2'\n\n/** Result returned by createRpcHttpServer. */\nexport interface RpcHttpServer {\n close: () => Promise<void>\n port: number\n server: HTTP.Server\n}\n\n/** Creates a standalone Node.js HTTP server that handles JSON-RPC requests at POST /rpc. */\nexport function createRpcHttpServer(options: { engine: JsonRpcEngineV2; port: number }): Promise<RpcHttpServer> {\n const { engine, port } = options\n const rpcServer = new JsonRpcServer({ engine })\n\n return new Promise((resolve, reject) => {\n const server = HTTP.createServer((req, res) => {\n res.setHeader('Access-Control-Allow-Origin', '*')\n res.setHeader('Access-Control-Allow-Methods', 'POST, OPTIONS')\n res.setHeader('Access-Control-Allow-Headers', 'Content-Type')\n\n if (req.method === 'OPTIONS') {\n res.writeHead(204)\n res.end()\n return\n }\n\n if (req.method !== 'POST' || req.url !== '/rpc') {\n res.writeHead(404, { 'Content-Type': 'application/json' })\n res.end(JSON.stringify({ error: 'Not found' }))\n return\n }\n\n let body = ''\n req.on('data', (chunk: Buffer) => {\n body += chunk.toString()\n })\n\n req.on('end', () => {\n const parsed = JSON.parse(body)\n rpcServer.handle(parsed)\n .then((response) => {\n res.writeHead(200, { 'Content-Type': 'application/json' })\n res.end(JSON.stringify(response))\n })\n .catch((error: unknown) => {\n res.writeHead(500, { 'Content-Type': 'application/json' })\n res.end(JSON.stringify({ error: (error as Error).message }))\n })\n })\n })\n\n server.on('error', reject)\n\n server.listen(port, () => {\n resolve({\n server,\n port,\n close: () => new Promise<void>((resolveClose, rejectClose) => {\n server.close((err) => {\n if (err) {\n rejectClose(err)\n } else {\n resolveClose()\n }\n })\n }),\n })\n })\n })\n}\n","import type { JsonRpcEngineV2, JsonRpcRequest } from '@metamask/json-rpc-engine/v2'\n\n/** Creates a framework-agnostic RPC request handler from a JSON-RPC engine. */\nexport function createRpcRequestHandler(engine: JsonRpcEngineV2): (body: unknown) => Promise<unknown> {\n return async (body: unknown) => {\n const request = body as JsonRpcRequest\n try {\n const result = await engine.handle(request)\n return {\n jsonrpc: '2.0', id: request.id, result,\n }\n } catch (error) {\n return {\n jsonrpc: '2.0',\n id: request.id,\n error: { code: -32_603, message: (error as Error).message },\n }\n }\n }\n}\n"],"mappings":";AAAA,OAAO,UAAU;AAEjB,SAA+B,qBAAqB;AAU7C,SAAS,oBAAoB,SAA4E;AAC9G,QAAM,EAAE,QAAQ,KAAK,IAAI;AACzB,QAAM,YAAY,IAAI,cAAc,EAAE,OAAO,CAAC;AAE9C,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,UAAM,SAAS,KAAK,aAAa,CAAC,KAAK,QAAQ;AAC7C,UAAI,UAAU,+BAA+B,GAAG;AAChD,UAAI,UAAU,gCAAgC,eAAe;AAC7D,UAAI,UAAU,gCAAgC,cAAc;AAE5D,UAAI,IAAI,WAAW,WAAW;AAC5B,YAAI,UAAU,GAAG;AACjB,YAAI,IAAI;AACR;AAAA,MACF;AAEA,UAAI,IAAI,WAAW,UAAU,IAAI,QAAQ,QAAQ;AAC/C,YAAI,UAAU,KAAK,EAAE,gBAAgB,mBAAmB,CAAC;AACzD,YAAI,IAAI,KAAK,UAAU,EAAE,OAAO,YAAY,CAAC,CAAC;AAC9C;AAAA,MACF;AAEA,UAAI,OAAO;AACX,UAAI,GAAG,QAAQ,CAAC,UAAkB;AAChC,gBAAQ,MAAM,SAAS;AAAA,MACzB,CAAC;AAED,UAAI,GAAG,OAAO,MAAM;AAClB,cAAM,
|
|
1
|
+
{"version":3,"sources":["../../src/createRpcHttpServer.ts","../../src/createRpcRequestHandler.ts"],"sourcesContent":["import HTTP from 'node:http'\n\nimport { type JsonRpcEngineV2, JsonRpcServer } from '@metamask/json-rpc-engine/v2'\n\n/** Result returned by createRpcHttpServer. */\nexport interface RpcHttpServer {\n close: () => Promise<void>\n port: number\n server: HTTP.Server\n}\n\n/** Creates a standalone Node.js HTTP server that handles JSON-RPC requests at POST /rpc. */\nexport function createRpcHttpServer(options: { engine: JsonRpcEngineV2; port: number }): Promise<RpcHttpServer> {\n const { engine, port } = options\n const rpcServer = new JsonRpcServer({ engine })\n\n return new Promise((resolve, reject) => {\n const server = HTTP.createServer((req, res) => {\n res.setHeader('Access-Control-Allow-Origin', '*')\n res.setHeader('Access-Control-Allow-Methods', 'POST, OPTIONS')\n res.setHeader('Access-Control-Allow-Headers', 'Content-Type')\n\n if (req.method === 'OPTIONS') {\n res.writeHead(204)\n res.end()\n return\n }\n\n if (req.method !== 'POST' || req.url !== '/rpc') {\n res.writeHead(404, { 'Content-Type': 'application/json' })\n res.end(JSON.stringify({ error: 'Not found' }))\n return\n }\n\n let body = ''\n req.on('data', (chunk: Buffer) => {\n body += chunk.toString()\n })\n\n req.on('end', () => {\n const parsed: unknown = JSON.parse(body)\n rpcServer.handle(parsed)\n .then((response) => {\n res.writeHead(200, { 'Content-Type': 'application/json' })\n res.end(JSON.stringify(response))\n })\n .catch((error: unknown) => {\n res.writeHead(500, { 'Content-Type': 'application/json' })\n res.end(JSON.stringify({ error: (error as Error).message }))\n })\n })\n })\n\n server.on('error', reject)\n\n server.listen(port, () => {\n resolve({\n server,\n port,\n close: () => new Promise<void>((resolveClose, rejectClose) => {\n server.close((err) => {\n if (err) {\n rejectClose(err)\n } else {\n resolveClose()\n }\n })\n }),\n })\n })\n })\n}\n","import type { JsonRpcEngineV2, JsonRpcRequest } from '@metamask/json-rpc-engine/v2'\n\n/** Creates a framework-agnostic RPC request handler from a JSON-RPC engine. */\nexport function createRpcRequestHandler(engine: JsonRpcEngineV2): (body: unknown) => Promise<unknown> {\n return async (body: unknown) => {\n const request = body as JsonRpcRequest\n try {\n const result = await engine.handle(request)\n return {\n jsonrpc: '2.0', id: request.id, result,\n }\n } catch (error) {\n return {\n jsonrpc: '2.0',\n id: request.id,\n error: { code: -32_603, message: (error as Error).message },\n }\n }\n }\n}\n"],"mappings":";AAAA,OAAO,UAAU;AAEjB,SAA+B,qBAAqB;AAU7C,SAAS,oBAAoB,SAA4E;AAC9G,QAAM,EAAE,QAAQ,KAAK,IAAI;AACzB,QAAM,YAAY,IAAI,cAAc,EAAE,OAAO,CAAC;AAE9C,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,UAAM,SAAS,KAAK,aAAa,CAAC,KAAK,QAAQ;AAC7C,UAAI,UAAU,+BAA+B,GAAG;AAChD,UAAI,UAAU,gCAAgC,eAAe;AAC7D,UAAI,UAAU,gCAAgC,cAAc;AAE5D,UAAI,IAAI,WAAW,WAAW;AAC5B,YAAI,UAAU,GAAG;AACjB,YAAI,IAAI;AACR;AAAA,MACF;AAEA,UAAI,IAAI,WAAW,UAAU,IAAI,QAAQ,QAAQ;AAC/C,YAAI,UAAU,KAAK,EAAE,gBAAgB,mBAAmB,CAAC;AACzD,YAAI,IAAI,KAAK,UAAU,EAAE,OAAO,YAAY,CAAC,CAAC;AAC9C;AAAA,MACF;AAEA,UAAI,OAAO;AACX,UAAI,GAAG,QAAQ,CAAC,UAAkB;AAChC,gBAAQ,MAAM,SAAS;AAAA,MACzB,CAAC;AAED,UAAI,GAAG,OAAO,MAAM;AAClB,cAAM,SAAkB,KAAK,MAAM,IAAI;AACvC,kBAAU,OAAO,MAAM,EACpB,KAAK,CAAC,aAAa;AAClB,cAAI,UAAU,KAAK,EAAE,gBAAgB,mBAAmB,CAAC;AACzD,cAAI,IAAI,KAAK,UAAU,QAAQ,CAAC;AAAA,QAClC,CAAC,EACA,MAAM,CAAC,UAAmB;AACzB,cAAI,UAAU,KAAK,EAAE,gBAAgB,mBAAmB,CAAC;AACzD,cAAI,IAAI,KAAK,UAAU,EAAE,OAAQ,MAAgB,QAAQ,CAAC,CAAC;AAAA,QAC7D,CAAC;AAAA,MACL,CAAC;AAAA,IACH,CAAC;AAED,WAAO,GAAG,SAAS,MAAM;AAEzB,WAAO,OAAO,MAAM,MAAM;AACxB,cAAQ;AAAA,QACN;AAAA,QACA;AAAA,QACA,OAAO,MAAM,IAAI,QAAc,CAAC,cAAc,gBAAgB;AAC5D,iBAAO,MAAM,CAAC,QAAQ;AACpB,gBAAI,KAAK;AACP,0BAAY,GAAG;AAAA,YACjB,OAAO;AACL,2BAAa;AAAA,YACf;AAAA,UACF,CAAC;AAAA,QACH,CAAC;AAAA,MACH,CAAC;AAAA,IACH,CAAC;AAAA,EACH,CAAC;AACH;;;ACpEO,SAAS,wBAAwB,QAA8D;AACpG,SAAO,OAAO,SAAkB;AAC9B,UAAM,UAAU;AAChB,QAAI;AACF,YAAM,SAAS,MAAM,OAAO,OAAO,OAAO;AAC1C,aAAO;AAAA,QACL,SAAS;AAAA,QAAO,IAAI,QAAQ;AAAA,QAAI;AAAA,MAClC;AAAA,IACF,SAAS,OAAO;AACd,aAAO;AAAA,QACL,SAAS;AAAA,QACT,IAAI,QAAQ;AAAA,QACZ,OAAO,EAAE,MAAM,QAAS,SAAU,MAAgB,QAAQ;AAAA,MAC5D;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "http://json.schemastore.org/package.json",
|
|
3
3
|
"name": "@xyo-network/xl1-rpc-server",
|
|
4
|
-
"version": "1.26.
|
|
4
|
+
"version": "1.26.24",
|
|
5
5
|
"description": "XYO Layer One RPC HTTP Server",
|
|
6
6
|
"homepage": "https://xylabs.com",
|
|
7
7
|
"bugs": {
|
|
@@ -23,12 +23,10 @@
|
|
|
23
23
|
"exports": {
|
|
24
24
|
".": {
|
|
25
25
|
"types": "./dist/node/index.d.ts",
|
|
26
|
-
"import": "./dist/node/index.mjs",
|
|
27
26
|
"default": "./dist/node/index.mjs"
|
|
28
27
|
},
|
|
29
28
|
"./package.json": "./package.json"
|
|
30
29
|
},
|
|
31
|
-
"types": "./dist/node/index.d.ts",
|
|
32
30
|
"files": [
|
|
33
31
|
"dist",
|
|
34
32
|
"!**/*.bench.*",
|
|
@@ -40,14 +38,14 @@
|
|
|
40
38
|
"@metamask/json-rpc-engine": "~10.2.4"
|
|
41
39
|
},
|
|
42
40
|
"devDependencies": {
|
|
43
|
-
"@types/node": "^25.
|
|
44
|
-
"@xylabs/ts-scripts-common": "~7.9.
|
|
45
|
-
"@xylabs/ts-scripts-pnpm": "~7.9.
|
|
46
|
-
"@xylabs/tsconfig": "~7.9.
|
|
41
|
+
"@types/node": "^25.6.0",
|
|
42
|
+
"@xylabs/ts-scripts-common": "~7.9.9",
|
|
43
|
+
"@xylabs/ts-scripts-pnpm": "~7.9.9",
|
|
44
|
+
"@xylabs/tsconfig": "~7.9.9",
|
|
47
45
|
"esbuild": "^0.28.0",
|
|
48
46
|
"typescript": "~5.9.3",
|
|
49
|
-
"vite": "^8.0.
|
|
50
|
-
"vitest": "~4.1.
|
|
47
|
+
"vite": "^8.0.8",
|
|
48
|
+
"vitest": "~4.1.4"
|
|
51
49
|
},
|
|
52
50
|
"engines": {
|
|
53
51
|
"node": ">=22.3"
|