@xyo-network/xl1-rpc 3.0.1 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -1
- package/dist/neutral/client/index.d.ts +5 -0
- package/dist/neutral/client/index.d.ts.map +1 -0
- package/dist/neutral/client/index.mjs +3007 -0
- package/dist/neutral/client/index.mjs.map +7 -0
- package/dist/neutral/index.d.ts +2 -4
- package/dist/neutral/index.d.ts.map +1 -1
- package/dist/neutral/index.mjs +190 -1
- package/dist/neutral/index.mjs.map +4 -4
- package/dist/neutral/server/index.d.ts +4 -0
- package/dist/neutral/server/index.d.ts.map +1 -0
- package/dist/neutral/server/index.mjs +1635 -0
- package/dist/neutral/server/index.mjs.map +7 -0
- package/package.json +13 -5
package/dist/neutral/index.mjs
CHANGED
|
@@ -2911,6 +2911,187 @@ var JsonRpcXyoSigner = class extends JsonRpcXyoSignerMethods {
|
|
|
2911
2911
|
static monikers = [XyoSignerMoniker2];
|
|
2912
2912
|
static surface = "node";
|
|
2913
2913
|
};
|
|
2914
|
+
|
|
2915
|
+
// src/engine-node/composedRpcEngineFromConnection.ts
|
|
2916
|
+
import {
|
|
2917
|
+
JsonRpcEngineV2,
|
|
2918
|
+
JsonRpcServer as JsonRpcServer2
|
|
2919
|
+
} from "@metamask/json-rpc-engine/v2";
|
|
2920
|
+
|
|
2921
|
+
// src/engine-node/middleware/createHandlerMiddleware.ts
|
|
2922
|
+
import { createScaffoldMiddleware } from "@metamask/json-rpc-engine/v2";
|
|
2923
|
+
var buildHandlerScaffold = (handlers) => {
|
|
2924
|
+
const scaffold = {};
|
|
2925
|
+
for (const [method, handler] of Object.entries(handlers)) {
|
|
2926
|
+
if (handler === void 0) continue;
|
|
2927
|
+
scaffold[method] = async ({ context }) => {
|
|
2928
|
+
const schema = context.assertGet("schema");
|
|
2929
|
+
const params = context.assertGet("params");
|
|
2930
|
+
const result = await handler(params);
|
|
2931
|
+
return schema.result.to.parse(result);
|
|
2932
|
+
};
|
|
2933
|
+
}
|
|
2934
|
+
return createScaffoldMiddleware(scaffold);
|
|
2935
|
+
};
|
|
2936
|
+
var createTypedHandlerMiddleware = (_schemas, handlers) => buildHandlerScaffold(handlers);
|
|
2937
|
+
|
|
2938
|
+
// src/engine-node/middleware/createLoggingMiddleware.ts
|
|
2939
|
+
var createLoggingMiddleware = (logger) => async ({ request, next }) => {
|
|
2940
|
+
try {
|
|
2941
|
+
return await next();
|
|
2942
|
+
} catch (error) {
|
|
2943
|
+
logger?.error(`RPC ${request.method} failed`, error);
|
|
2944
|
+
throw error;
|
|
2945
|
+
}
|
|
2946
|
+
};
|
|
2947
|
+
|
|
2948
|
+
// src/engine-node/middleware/createMethodNotFoundMiddleware.ts
|
|
2949
|
+
var createMethodNotFoundMiddleware = () => ({ request }) => {
|
|
2950
|
+
throw new Error(`${JsonRpcErrorCodes.MethodNotFound.message} (${request.method})`);
|
|
2951
|
+
};
|
|
2952
|
+
|
|
2953
|
+
// src/engine-node/middleware/createValidationMiddleware.ts
|
|
2954
|
+
var createValidationMiddleware = (schemas) => ({
|
|
2955
|
+
request,
|
|
2956
|
+
context,
|
|
2957
|
+
next
|
|
2958
|
+
}) => {
|
|
2959
|
+
const schema = schemas[request.method];
|
|
2960
|
+
if (schema === void 0) return next();
|
|
2961
|
+
let requestSchema = requestSchemas[request.method];
|
|
2962
|
+
if (requestSchema === void 0) {
|
|
2963
|
+
requestSchema = createRequestSchema(request.method, schema.params.from);
|
|
2964
|
+
requestSchemas[request.method] = requestSchema;
|
|
2965
|
+
}
|
|
2966
|
+
const parsed = requestSchema.safeParse(request);
|
|
2967
|
+
if (!parsed.success) {
|
|
2968
|
+
throw new Error(parsed.error.message);
|
|
2969
|
+
}
|
|
2970
|
+
context.set("schema", schema);
|
|
2971
|
+
context.set("params", parsed.data.params);
|
|
2972
|
+
return next();
|
|
2973
|
+
};
|
|
2974
|
+
|
|
2975
|
+
// src/engine-node/composedRpcEngineFromConnection.ts
|
|
2976
|
+
var buildTypedSubEngine = (schemas, handlers) => JsonRpcEngineV2.create({
|
|
2977
|
+
middleware: [
|
|
2978
|
+
createValidationMiddleware(schemas),
|
|
2979
|
+
createTypedHandlerMiddleware(schemas, handlers)
|
|
2980
|
+
]
|
|
2981
|
+
});
|
|
2982
|
+
var composedRpcEngineFromConnection = (connection, logger) => {
|
|
2983
|
+
const { runner, viewer } = connection;
|
|
2984
|
+
const subEngines = [];
|
|
2985
|
+
if (runner) {
|
|
2986
|
+
subEngines.push(buildTypedSubEngine(XyoRunnerRpcSchemas, rpcMethodHandlersFromRunner(runner)));
|
|
2987
|
+
}
|
|
2988
|
+
if (viewer) {
|
|
2989
|
+
subEngines.push(buildTypedSubEngine(XyoViewerRpcSchemas, rpcMethodHandlersFromViewer(viewer)));
|
|
2990
|
+
}
|
|
2991
|
+
const accountBalanceViewer = viewer?.account?.balance;
|
|
2992
|
+
if (accountBalanceViewer) {
|
|
2993
|
+
subEngines.push(buildTypedSubEngine(
|
|
2994
|
+
AccountBalanceViewerRpcSchemas,
|
|
2995
|
+
rpcMethodHandlersFromAccountBalanceViewer(accountBalanceViewer)
|
|
2996
|
+
));
|
|
2997
|
+
}
|
|
2998
|
+
const blockViewer = viewer?.block;
|
|
2999
|
+
if (blockViewer) {
|
|
3000
|
+
subEngines.push(buildTypedSubEngine(
|
|
3001
|
+
BlockViewerRpcSchemas,
|
|
3002
|
+
rpcMethodHandlersFromBlockViewer(blockViewer)
|
|
3003
|
+
));
|
|
3004
|
+
}
|
|
3005
|
+
const finalizationViewer = viewer?.finalization;
|
|
3006
|
+
if (finalizationViewer) {
|
|
3007
|
+
subEngines.push(buildTypedSubEngine(
|
|
3008
|
+
FinalizationViewerRpcSchemas,
|
|
3009
|
+
rpcMethodHandlersFromFinalizationViewer(finalizationViewer)
|
|
3010
|
+
));
|
|
3011
|
+
}
|
|
3012
|
+
const mempoolViewer = viewer?.mempool;
|
|
3013
|
+
if (mempoolViewer) {
|
|
3014
|
+
subEngines.push(buildTypedSubEngine(
|
|
3015
|
+
MempoolViewerRpcSchemas,
|
|
3016
|
+
rpcMethodHandlersFromMempoolViewer(mempoolViewer)
|
|
3017
|
+
));
|
|
3018
|
+
}
|
|
3019
|
+
const timeSyncViewer = viewer?.time;
|
|
3020
|
+
if (timeSyncViewer) {
|
|
3021
|
+
subEngines.push(buildTypedSubEngine(
|
|
3022
|
+
TimeSyncViewerRpcSchemas,
|
|
3023
|
+
rpcMethodHandlersFromTimeSyncViewer(timeSyncViewer)
|
|
3024
|
+
));
|
|
3025
|
+
}
|
|
3026
|
+
const transactionViewer = viewer?.transaction;
|
|
3027
|
+
if (transactionViewer) {
|
|
3028
|
+
subEngines.push(buildTypedSubEngine(
|
|
3029
|
+
TransactionViewerRpcSchemas,
|
|
3030
|
+
rpcMethodHandlersFromTransactionViewer(transactionViewer)
|
|
3031
|
+
));
|
|
3032
|
+
}
|
|
3033
|
+
const mempoolRunner = runner?.mempool;
|
|
3034
|
+
if (mempoolRunner) {
|
|
3035
|
+
subEngines.push(buildTypedSubEngine(
|
|
3036
|
+
MempoolRunnerRpcSchemas,
|
|
3037
|
+
rpcMethodHandlersFromMempoolRunner(mempoolRunner)
|
|
3038
|
+
));
|
|
3039
|
+
}
|
|
3040
|
+
const networkStakeViewer = viewer?.networkStake;
|
|
3041
|
+
if (networkStakeViewer?.stepRewards?.position) {
|
|
3042
|
+
subEngines.push(buildTypedSubEngine(
|
|
3043
|
+
NetworkStakingStepRewardsByPositionViewerRpcSchemas,
|
|
3044
|
+
rpcMethodHandlersFromNetworkStakingStepRewardsByPositionViewer(networkStakeViewer.stepRewards.position)
|
|
3045
|
+
));
|
|
3046
|
+
}
|
|
3047
|
+
const middleware = [
|
|
3048
|
+
createLoggingMiddleware(logger),
|
|
3049
|
+
...subEngines.map((engine) => engine.asMiddleware()),
|
|
3050
|
+
createMethodNotFoundMiddleware()
|
|
3051
|
+
];
|
|
3052
|
+
return JsonRpcEngineV2.create({ middleware });
|
|
3053
|
+
};
|
|
3054
|
+
var composedRpcServerFromConnection = (connection, logger) => {
|
|
3055
|
+
const engine = composedRpcEngineFromConnection(connection, logger);
|
|
3056
|
+
return new JsonRpcServer2({ engine });
|
|
3057
|
+
};
|
|
3058
|
+
|
|
3059
|
+
// src/engine-node/rpcEngineFromConnection.ts
|
|
3060
|
+
import { JsonRpcEngineV2 as JsonRpcEngineV22, JsonRpcServer as JsonRpcServer3 } from "@metamask/json-rpc-engine/v2";
|
|
3061
|
+
var rpcEngineFromConnection = (connection, logger) => {
|
|
3062
|
+
const handlers = rpcMethodHandlersFromConnection(connection);
|
|
3063
|
+
const middleware = async ({ request }) => {
|
|
3064
|
+
const method = request.method;
|
|
3065
|
+
const handler = handlers[method];
|
|
3066
|
+
const schema = AllRpcSchemas[method];
|
|
3067
|
+
if (schema === void 0 || handler === void 0) {
|
|
3068
|
+
throw new Error(JsonRpcErrorCodes.MethodNotFound.message);
|
|
3069
|
+
}
|
|
3070
|
+
let requestSchema = requestSchemas[method];
|
|
3071
|
+
if (requestSchema == void 0) {
|
|
3072
|
+
requestSchema = createRequestSchema(method, schema.params.from);
|
|
3073
|
+
requestSchemas[method] = requestSchema;
|
|
3074
|
+
}
|
|
3075
|
+
const parsed = requestSchema.safeParse(request);
|
|
3076
|
+
if (!parsed.success) {
|
|
3077
|
+
logger?.error("RPC Request Validation Error", parsed.error);
|
|
3078
|
+
throw new Error(parsed.error.message);
|
|
3079
|
+
}
|
|
3080
|
+
const { params } = parsed.data;
|
|
3081
|
+
try {
|
|
3082
|
+
const result = await handler(params);
|
|
3083
|
+
return schema.result.to.parse(result);
|
|
3084
|
+
} catch (error) {
|
|
3085
|
+
logger?.error("RPC Response Handler Error", error);
|
|
3086
|
+
throw error;
|
|
3087
|
+
}
|
|
3088
|
+
};
|
|
3089
|
+
return JsonRpcEngineV22.create({ middleware: [middleware] });
|
|
3090
|
+
};
|
|
3091
|
+
function rpcServerFromConnection(connection, logger) {
|
|
3092
|
+
const engine = rpcEngineFromConnection(connection, logger);
|
|
3093
|
+
return new JsonRpcServer3({ engine });
|
|
3094
|
+
}
|
|
2914
3095
|
export {
|
|
2915
3096
|
AbstractJsonRpcRunner,
|
|
2916
3097
|
AbstractJsonRpcViewer,
|
|
@@ -2981,13 +3162,20 @@ export {
|
|
|
2981
3162
|
XyoRunnerRpcSchemas,
|
|
2982
3163
|
XyoSignerRpcSchemas,
|
|
2983
3164
|
XyoViewerRpcSchemas,
|
|
3165
|
+
composedRpcEngineFromConnection,
|
|
3166
|
+
composedRpcServerFromConnection,
|
|
3167
|
+
createLoggingMiddleware,
|
|
3168
|
+
createMethodNotFoundMiddleware,
|
|
2984
3169
|
createRequestSchema,
|
|
2985
3170
|
createResponseSchema,
|
|
3171
|
+
createTypedHandlerMiddleware,
|
|
3172
|
+
createValidationMiddleware,
|
|
2986
3173
|
hasSessionId,
|
|
2987
3174
|
isEventWithId,
|
|
2988
3175
|
isMessageWithId,
|
|
2989
3176
|
jsonrpc,
|
|
2990
3177
|
requestSchemas,
|
|
3178
|
+
rpcEngineFromConnection,
|
|
2991
3179
|
rpcMethodHandlersFromAccountBalanceViewer,
|
|
2992
3180
|
rpcMethodHandlersFromBlockViewer,
|
|
2993
3181
|
rpcMethodHandlersFromConnection,
|
|
@@ -3002,6 +3190,7 @@ export {
|
|
|
3002
3190
|
rpcMethodHandlersFromSigner,
|
|
3003
3191
|
rpcMethodHandlersFromTimeSyncViewer,
|
|
3004
3192
|
rpcMethodHandlersFromTransactionViewer,
|
|
3005
|
-
rpcMethodHandlersFromViewer
|
|
3193
|
+
rpcMethodHandlersFromViewer,
|
|
3194
|
+
rpcServerFromConnection
|
|
3006
3195
|
};
|
|
3007
3196
|
//# sourceMappingURL=index.mjs.map
|