@xyo-network/xl1-rpc 1.10.2 → 1.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/neutral/engine/requestSchemas.d.ts +2 -2
- package/dist/neutral/engine/requestSchemas.d.ts.map +1 -1
- package/dist/neutral/index.mjs +438 -314
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/provider/connection/XyoConnection.d.ts +2 -2
- package/dist/neutral/provider/connection/XyoConnection.d.ts.map +1 -1
- package/dist/neutral/provider/gateway/Abstract.d.ts +4 -4
- package/dist/neutral/provider/gateway/Abstract.d.ts.map +1 -1
- package/dist/neutral/provider/runner/JsonRpcXyoRunner.d.ts +2 -2
- package/dist/neutral/provider/runner/JsonRpcXyoRunner.d.ts.map +1 -1
- package/dist/neutral/provider/runner/MemoryXyoRunner.d.ts +2 -2
- package/dist/neutral/provider/runner/MemoryXyoRunner.d.ts.map +1 -1
- package/dist/neutral/provider/runner/NodeXyoRunner.d.ts +2 -2
- package/dist/neutral/provider/runner/NodeXyoRunner.d.ts.map +1 -1
- package/dist/neutral/provider/signer/JsonRpcXyoSigner.d.ts +5 -6
- package/dist/neutral/provider/signer/JsonRpcXyoSigner.d.ts.map +1 -1
- package/dist/neutral/provider/signer/MemoryXyoSigner.d.ts +3 -4
- package/dist/neutral/provider/signer/MemoryXyoSigner.d.ts.map +1 -1
- package/dist/neutral/provider/viewer/JsonRpcXyoViewer.d.ts +5 -5
- package/dist/neutral/provider/viewer/JsonRpcXyoViewer.d.ts.map +1 -1
- package/dist/neutral/transport/HttpRpcTransport.d.ts +1 -1
- package/dist/neutral/transport/HttpRpcTransport.d.ts.map +1 -1
- package/dist/neutral/transport/MemoryRpcTransport.d.ts +4 -4
- package/dist/neutral/transport/MemoryRpcTransport.d.ts.map +1 -1
- package/dist/neutral/transport/RpcTransport.d.ts +1 -1
- package/dist/neutral/transport/RpcTransport.d.ts.map +1 -1
- package/dist/neutral/transport/post-message/LegacyPostMessageRpcTransport.d.ts +5 -5
- package/dist/neutral/transport/post-message/LegacyPostMessageRpcTransport.d.ts.map +1 -1
- package/dist/neutral/types/schema/XyoGatewayRpcSchemas.d.ts +422 -76
- package/dist/neutral/types/schema/XyoGatewayRpcSchemas.d.ts.map +1 -1
- package/dist/neutral/types/schema/XyoProviderRpcSchemas.d.ts +297 -3
- package/dist/neutral/types/schema/XyoProviderRpcSchemas.d.ts.map +1 -1
- package/dist/neutral/types/schema/XyoRunnerRpcSchemas.d.ts +231 -3
- package/dist/neutral/types/schema/XyoRunnerRpcSchemas.d.ts.map +1 -1
- package/dist/neutral/types/schema/XyoSignerRpcSchemas.d.ts +838 -3
- package/dist/neutral/types/schema/XyoSignerRpcSchemas.d.ts.map +1 -1
- package/dist/neutral/types/schema/XyoViewerRpcSchemas.d.ts +1611 -3
- package/dist/neutral/types/schema/XyoViewerRpcSchemas.d.ts.map +1 -1
- package/dist/neutral/types/schema/common/Address.d.ts +7 -0
- package/dist/neutral/types/schema/common/Address.d.ts.map +1 -0
- package/dist/neutral/types/schema/common/AllowedBlockPayload.d.ts +11 -0
- package/dist/neutral/types/schema/common/AllowedBlockPayload.d.ts.map +1 -0
- package/dist/neutral/types/schema/common/BlockBoundWitness.d.ts +324 -0
- package/dist/neutral/types/schema/common/BlockBoundWitness.d.ts.map +1 -0
- package/dist/neutral/types/schema/common/BoundWitness.d.ts +420 -0
- package/dist/neutral/types/schema/common/BoundWitness.d.ts.map +1 -0
- package/dist/neutral/types/schema/common/Chain.d.ts +4 -0
- package/dist/neutral/types/schema/common/Chain.d.ts.map +1 -0
- package/dist/neutral/types/schema/common/HydratedBlock.d.ts +474 -0
- package/dist/neutral/types/schema/common/HydratedBlock.d.ts.map +1 -0
- package/dist/neutral/types/schema/common/HydratedTransaction.d.ts +624 -0
- package/dist/neutral/types/schema/common/HydratedTransaction.d.ts.map +1 -0
- package/dist/neutral/types/schema/common/Json.d.ts +7 -0
- package/dist/neutral/types/schema/common/Json.d.ts.map +1 -0
- package/dist/neutral/types/schema/common/Payload.d.ts +134 -0
- package/dist/neutral/types/schema/common/Payload.d.ts.map +1 -0
- package/dist/neutral/types/schema/common/Sequence.d.ts +9 -0
- package/dist/neutral/types/schema/common/Sequence.d.ts.map +1 -0
- package/dist/neutral/types/schema/common/TransactionBoundWitness.d.ts +239 -0
- package/dist/neutral/types/schema/common/TransactionBoundWitness.d.ts.map +1 -0
- package/dist/neutral/types/schema/common/TransactionFees.d.ts +93 -24
- package/dist/neutral/types/schema/common/TransactionFees.d.ts.map +1 -1
- package/dist/neutral/types/schema/common/index.d.ts +11 -13
- package/dist/neutral/types/schema/common/index.d.ts.map +1 -1
- package/dist/neutral/types/schema/common/spec/BigIntZod.spec.d.ts +2 -0
- package/dist/neutral/types/schema/common/spec/BigIntZod.spec.d.ts.map +1 -0
- package/dist/neutral/types/schema/common/spec/HydratedTransaction.spec.d.ts +2 -0
- package/dist/neutral/types/schema/common/spec/HydratedTransaction.spec.d.ts.map +1 -0
- package/dist/neutral/types/schema/common/spec/Payload.spec.d.ts +2 -0
- package/dist/neutral/types/schema/common/spec/Payload.spec.d.ts.map +1 -0
- package/dist/neutral/types/schema/common/spec/TransactionBoundWitnessZod.spec.d.ts +2 -0
- package/dist/neutral/types/schema/common/spec/TransactionBoundWitnessZod.spec.d.ts.map +1 -0
- package/dist/neutral/types/schema/common/spec/UnsignedHydratedTransactionSchema.spec copy.d.ts +2 -0
- package/dist/neutral/types/schema/common/spec/UnsignedHydratedTransactionSchema.spec copy.d.ts.map +1 -0
- package/dist/neutral/types/schema/createRequestSchema.d.ts +2 -22
- package/dist/neutral/types/schema/createRequestSchema.d.ts.map +1 -1
- package/dist/neutral/types/schema/createResponseSchema.d.ts +2 -18
- package/dist/neutral/types/schema/createResponseSchema.d.ts.map +1 -1
- package/dist/neutral/types/schema/index.d.ts +1 -0
- package/dist/neutral/types/schema/index.d.ts.map +1 -1
- package/dist/node/engine/requestSchemas.d.ts +2 -2
- package/dist/node/engine/requestSchemas.d.ts.map +1 -1
- package/dist/node/index-node.mjs +438 -314
- package/dist/node/index-node.mjs.map +1 -1
- package/dist/node/provider/connection/XyoConnection.d.ts +2 -2
- package/dist/node/provider/connection/XyoConnection.d.ts.map +1 -1
- package/dist/node/provider/gateway/Abstract.d.ts +4 -4
- package/dist/node/provider/gateway/Abstract.d.ts.map +1 -1
- package/dist/node/provider/runner/JsonRpcXyoRunner.d.ts +2 -2
- package/dist/node/provider/runner/JsonRpcXyoRunner.d.ts.map +1 -1
- package/dist/node/provider/runner/MemoryXyoRunner.d.ts +2 -2
- package/dist/node/provider/runner/MemoryXyoRunner.d.ts.map +1 -1
- package/dist/node/provider/runner/NodeXyoRunner.d.ts +2 -2
- package/dist/node/provider/runner/NodeXyoRunner.d.ts.map +1 -1
- package/dist/node/provider/signer/JsonRpcXyoSigner.d.ts +5 -6
- package/dist/node/provider/signer/JsonRpcXyoSigner.d.ts.map +1 -1
- package/dist/node/provider/signer/MemoryXyoSigner.d.ts +3 -4
- package/dist/node/provider/signer/MemoryXyoSigner.d.ts.map +1 -1
- package/dist/node/provider/viewer/JsonRpcXyoViewer.d.ts +5 -5
- package/dist/node/provider/viewer/JsonRpcXyoViewer.d.ts.map +1 -1
- package/dist/node/transport/HttpRpcTransport.d.ts +1 -1
- package/dist/node/transport/HttpRpcTransport.d.ts.map +1 -1
- package/dist/node/transport/MemoryRpcTransport.d.ts +4 -4
- package/dist/node/transport/MemoryRpcTransport.d.ts.map +1 -1
- package/dist/node/transport/RpcTransport.d.ts +1 -1
- package/dist/node/transport/RpcTransport.d.ts.map +1 -1
- package/dist/node/transport/post-message/LegacyPostMessageRpcTransport.d.ts +5 -5
- package/dist/node/transport/post-message/LegacyPostMessageRpcTransport.d.ts.map +1 -1
- package/dist/node/types/schema/XyoGatewayRpcSchemas.d.ts +422 -76
- package/dist/node/types/schema/XyoGatewayRpcSchemas.d.ts.map +1 -1
- package/dist/node/types/schema/XyoProviderRpcSchemas.d.ts +297 -3
- package/dist/node/types/schema/XyoProviderRpcSchemas.d.ts.map +1 -1
- package/dist/node/types/schema/XyoRunnerRpcSchemas.d.ts +231 -3
- package/dist/node/types/schema/XyoRunnerRpcSchemas.d.ts.map +1 -1
- package/dist/node/types/schema/XyoSignerRpcSchemas.d.ts +838 -3
- package/dist/node/types/schema/XyoSignerRpcSchemas.d.ts.map +1 -1
- package/dist/node/types/schema/XyoViewerRpcSchemas.d.ts +1611 -3
- package/dist/node/types/schema/XyoViewerRpcSchemas.d.ts.map +1 -1
- package/dist/node/types/schema/common/Address.d.ts +7 -0
- package/dist/node/types/schema/common/Address.d.ts.map +1 -0
- package/dist/node/types/schema/common/AllowedBlockPayload.d.ts +11 -0
- package/dist/node/types/schema/common/AllowedBlockPayload.d.ts.map +1 -0
- package/dist/node/types/schema/common/BlockBoundWitness.d.ts +324 -0
- package/dist/node/types/schema/common/BlockBoundWitness.d.ts.map +1 -0
- package/dist/node/types/schema/common/BoundWitness.d.ts +420 -0
- package/dist/node/types/schema/common/BoundWitness.d.ts.map +1 -0
- package/dist/node/types/schema/common/Chain.d.ts +4 -0
- package/dist/node/types/schema/common/Chain.d.ts.map +1 -0
- package/dist/node/types/schema/common/HydratedBlock.d.ts +474 -0
- package/dist/node/types/schema/common/HydratedBlock.d.ts.map +1 -0
- package/dist/node/types/schema/common/HydratedTransaction.d.ts +624 -0
- package/dist/node/types/schema/common/HydratedTransaction.d.ts.map +1 -0
- package/dist/node/types/schema/common/Json.d.ts +7 -0
- package/dist/node/types/schema/common/Json.d.ts.map +1 -0
- package/dist/node/types/schema/common/Payload.d.ts +134 -0
- package/dist/node/types/schema/common/Payload.d.ts.map +1 -0
- package/dist/node/types/schema/common/Sequence.d.ts +9 -0
- package/dist/node/types/schema/common/Sequence.d.ts.map +1 -0
- package/dist/node/types/schema/common/TransactionBoundWitness.d.ts +239 -0
- package/dist/node/types/schema/common/TransactionBoundWitness.d.ts.map +1 -0
- package/dist/node/types/schema/common/TransactionFees.d.ts +93 -24
- package/dist/node/types/schema/common/TransactionFees.d.ts.map +1 -1
- package/dist/node/types/schema/common/index.d.ts +11 -13
- package/dist/node/types/schema/common/index.d.ts.map +1 -1
- package/dist/node/types/schema/common/spec/BigIntZod.spec.d.ts +2 -0
- package/dist/node/types/schema/common/spec/BigIntZod.spec.d.ts.map +1 -0
- package/dist/node/types/schema/common/spec/HydratedTransaction.spec.d.ts +2 -0
- package/dist/node/types/schema/common/spec/HydratedTransaction.spec.d.ts.map +1 -0
- package/dist/node/types/schema/common/spec/Payload.spec.d.ts +2 -0
- package/dist/node/types/schema/common/spec/Payload.spec.d.ts.map +1 -0
- package/dist/node/types/schema/common/spec/TransactionBoundWitnessZod.spec.d.ts +2 -0
- package/dist/node/types/schema/common/spec/TransactionBoundWitnessZod.spec.d.ts.map +1 -0
- package/dist/node/types/schema/common/spec/UnsignedHydratedTransactionSchema.spec copy.d.ts +2 -0
- package/dist/node/types/schema/common/spec/UnsignedHydratedTransactionSchema.spec copy.d.ts.map +1 -0
- package/dist/node/types/schema/createRequestSchema.d.ts +2 -22
- package/dist/node/types/schema/createRequestSchema.d.ts.map +1 -1
- package/dist/node/types/schema/createResponseSchema.d.ts +2 -18
- package/dist/node/types/schema/createResponseSchema.d.ts.map +1 -1
- package/dist/node/types/schema/index.d.ts +1 -0
- package/dist/node/types/schema/index.d.ts.map +1 -1
- package/package.json +29 -27
- package/src/engine/requestSchemas.ts +2 -2
- package/src/provider/connection/XyoConnection.ts +3 -3
- package/src/provider/connection/spec/XyoConnection.ts +2 -2
- package/src/provider/gateway/Abstract.ts +7 -6
- package/src/provider/runner/JsonRpcXyoRunner.ts +2 -2
- package/src/provider/runner/MemoryXyoRunner.ts +2 -2
- package/src/provider/runner/NodeXyoRunner.ts +2 -2
- package/src/provider/signer/JsonRpcXyoSigner.ts +11 -7
- package/src/provider/signer/MemoryXyoSigner.ts +6 -6
- package/src/provider/signer/spec/RpcEngineXyoSigner.spec.ts +5 -4
- package/src/provider/viewer/JsonRpcXyoViewer.ts +15 -16
- package/src/transport/HttpRpcTransport.ts +7 -7
- package/src/transport/MemoryRpcTransport.ts +15 -13
- package/src/transport/RpcTransport.ts +3 -3
- package/src/transport/post-message/LegacyPostMessageRpcTransport.ts +12 -12
- package/src/types/schema/XyoGatewayRpcSchemas.ts +17 -17
- package/src/types/schema/XyoProviderRpcSchemas.ts +16 -16
- package/src/types/schema/XyoRunnerRpcSchemas.ts +8 -11
- package/src/types/schema/XyoSignerRpcSchemas.ts +30 -25
- package/src/types/schema/XyoViewerRpcSchemas.ts +55 -52
- package/src/types/schema/common/{AddressSchema.ts → Address.ts} +1 -2
- package/src/types/schema/common/AllowedBlockPayload.ts +16 -0
- package/src/types/schema/common/BlockBoundWitness.ts +49 -0
- package/src/types/schema/common/BoundWitness.ts +53 -0
- package/src/types/schema/common/Chain.ts +8 -0
- package/src/types/schema/common/HydratedBlock.ts +32 -0
- package/src/types/schema/common/HydratedTransaction.ts +38 -0
- package/src/types/schema/common/Json.ts +19 -0
- package/src/types/schema/common/Payload.ts +31 -0
- package/src/types/schema/common/Sequence.ts +19 -0
- package/src/types/schema/common/TransactionBoundWitness.ts +42 -0
- package/src/types/schema/common/TransactionFees.ts +37 -11
- package/src/types/schema/common/index.ts +11 -13
- package/src/types/schema/common/spec/{BigIntSchema.spec.ts → BigIntZod.spec.ts} +6 -7
- package/src/types/schema/common/spec/HydratedBlockSchema.spec.ts +9 -83
- package/src/types/schema/common/spec/HydratedTransaction.spec.ts +18 -0
- package/src/types/schema/common/spec/Payload.spec.ts +29 -0
- package/src/types/schema/common/spec/TransactionBoundWitnessZod.spec.ts +18 -0
- package/src/types/schema/common/spec/UnsignedHydratedTransactionSchema.spec copy.ts +53 -0
- package/src/types/schema/index.ts +1 -0
- package/dist/neutral/types/schema/common/AddressSchema.d.ts +0 -5
- package/dist/neutral/types/schema/common/AddressSchema.d.ts.map +0 -1
- package/dist/neutral/types/schema/common/BigIntSchema.d.ts +0 -4
- package/dist/neutral/types/schema/common/BigIntSchema.d.ts.map +0 -1
- package/dist/neutral/types/schema/common/BlockBoundWitnessSchema.d.ts +0 -235
- package/dist/neutral/types/schema/common/BlockBoundWitnessSchema.d.ts.map +0 -1
- package/dist/neutral/types/schema/common/BoundWitnessSchema.d.ts +0 -163
- package/dist/neutral/types/schema/common/BoundWitnessSchema.d.ts.map +0 -1
- package/dist/neutral/types/schema/common/HashSchema.d.ts +0 -5
- package/dist/neutral/types/schema/common/HashSchema.d.ts.map +0 -1
- package/dist/neutral/types/schema/common/HexSchema.d.ts +0 -5
- package/dist/neutral/types/schema/common/HexSchema.d.ts.map +0 -1
- package/dist/neutral/types/schema/common/HydratedBlockSchema.d.ts +0 -282
- package/dist/neutral/types/schema/common/HydratedBlockSchema.d.ts.map +0 -1
- package/dist/neutral/types/schema/common/HydratedTransactionSchema.d.ts +0 -214
- package/dist/neutral/types/schema/common/HydratedTransactionSchema.d.ts.map +0 -1
- package/dist/neutral/types/schema/common/JsonSchema.d.ts +0 -7
- package/dist/neutral/types/schema/common/JsonSchema.d.ts.map +0 -1
- package/dist/neutral/types/schema/common/PayloadSchema.d.ts +0 -28
- package/dist/neutral/types/schema/common/PayloadSchema.d.ts.map +0 -1
- package/dist/neutral/types/schema/common/SequenceSchema.d.ts +0 -9
- package/dist/neutral/types/schema/common/SequenceSchema.d.ts.map +0 -1
- package/dist/neutral/types/schema/common/StorageMetaSchema.d.ts +0 -46
- package/dist/neutral/types/schema/common/StorageMetaSchema.d.ts.map +0 -1
- package/dist/neutral/types/schema/common/TransactionBoundWitnessSchema.d.ts +0 -258
- package/dist/neutral/types/schema/common/TransactionBoundWitnessSchema.d.ts.map +0 -1
- package/dist/neutral/types/schema/common/spec/BigIntSchema.spec.d.ts +0 -2
- package/dist/neutral/types/schema/common/spec/BigIntSchema.spec.d.ts.map +0 -1
- package/dist/node/types/schema/common/AddressSchema.d.ts +0 -5
- package/dist/node/types/schema/common/AddressSchema.d.ts.map +0 -1
- package/dist/node/types/schema/common/BigIntSchema.d.ts +0 -4
- package/dist/node/types/schema/common/BigIntSchema.d.ts.map +0 -1
- package/dist/node/types/schema/common/BlockBoundWitnessSchema.d.ts +0 -235
- package/dist/node/types/schema/common/BlockBoundWitnessSchema.d.ts.map +0 -1
- package/dist/node/types/schema/common/BoundWitnessSchema.d.ts +0 -163
- package/dist/node/types/schema/common/BoundWitnessSchema.d.ts.map +0 -1
- package/dist/node/types/schema/common/HashSchema.d.ts +0 -5
- package/dist/node/types/schema/common/HashSchema.d.ts.map +0 -1
- package/dist/node/types/schema/common/HexSchema.d.ts +0 -5
- package/dist/node/types/schema/common/HexSchema.d.ts.map +0 -1
- package/dist/node/types/schema/common/HydratedBlockSchema.d.ts +0 -282
- package/dist/node/types/schema/common/HydratedBlockSchema.d.ts.map +0 -1
- package/dist/node/types/schema/common/HydratedTransactionSchema.d.ts +0 -214
- package/dist/node/types/schema/common/HydratedTransactionSchema.d.ts.map +0 -1
- package/dist/node/types/schema/common/JsonSchema.d.ts +0 -7
- package/dist/node/types/schema/common/JsonSchema.d.ts.map +0 -1
- package/dist/node/types/schema/common/PayloadSchema.d.ts +0 -28
- package/dist/node/types/schema/common/PayloadSchema.d.ts.map +0 -1
- package/dist/node/types/schema/common/SequenceSchema.d.ts +0 -9
- package/dist/node/types/schema/common/SequenceSchema.d.ts.map +0 -1
- package/dist/node/types/schema/common/StorageMetaSchema.d.ts +0 -46
- package/dist/node/types/schema/common/StorageMetaSchema.d.ts.map +0 -1
- package/dist/node/types/schema/common/TransactionBoundWitnessSchema.d.ts +0 -258
- package/dist/node/types/schema/common/TransactionBoundWitnessSchema.d.ts.map +0 -1
- package/dist/node/types/schema/common/spec/BigIntSchema.spec.d.ts +0 -2
- package/dist/node/types/schema/common/spec/BigIntSchema.spec.d.ts.map +0 -1
- package/src/types/schema/common/BigIntSchema.ts +0 -10
- package/src/types/schema/common/BlockBoundWitnessSchema.ts +0 -30
- package/src/types/schema/common/BoundWitnessSchema.ts +0 -45
- package/src/types/schema/common/HashSchema.ts +0 -7
- package/src/types/schema/common/HexSchema.ts +0 -7
- package/src/types/schema/common/HydratedBlockSchema.ts +0 -26
- package/src/types/schema/common/HydratedTransactionSchema.ts +0 -14
- package/src/types/schema/common/JsonSchema.ts +0 -19
- package/src/types/schema/common/PayloadSchema.ts +0 -6
- package/src/types/schema/common/SequenceSchema.ts +0 -19
- package/src/types/schema/common/StorageMetaSchema.ts +0 -14
- package/src/types/schema/common/TransactionBoundWitnessSchema.ts +0 -33
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createRequestSchema.d.ts","sourceRoot":"","sources":["../../../../src/types/schema/createRequestSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,KAAK,CAAA;AACvC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,mBAAmB,GAAI,OAAO,SAAS,CAAC,CAAC,UAAU,EAAE,WAAW,SAAS,MAAM,GAAG,MAAM,EACnG,YAAY,WAAW,EACvB,eAAc,OAAO,GAAG,YAA4B
|
|
1
|
+
{"version":3,"file":"createRequestSchema.d.ts","sourceRoot":"","sources":["../../../../src/types/schema/createRequestSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,KAAK,CAAA;AACvC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,mBAAmB,GAAI,OAAO,SAAS,CAAC,CAAC,UAAU,EAAE,WAAW,SAAS,MAAM,GAAG,MAAM,EACnG,YAAY,WAAW,EACvB,eAAc,OAAO,GAAG,YAA4B;;;;;iBAOlD,CAAA"}
|
|
@@ -1,24 +1,8 @@
|
|
|
1
1
|
import type { ZodUndefined } from 'zod';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
export declare const createResponseSchema: <TParams extends z.ZodTypeAny>(resultSchema?: TParams | ZodUndefined) => z.ZodObject<{
|
|
4
|
-
id: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
|
|
4
|
+
id: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
|
|
5
5
|
jsonrpc: z.ZodLiteral<"2.0">;
|
|
6
6
|
result: ZodUndefined | TParams;
|
|
7
|
-
},
|
|
8
|
-
id: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
|
|
9
|
-
jsonrpc: z.ZodLiteral<"2.0">;
|
|
10
|
-
result: ZodUndefined | TParams;
|
|
11
|
-
}>, any> extends infer T ? { [k in keyof T]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
|
|
12
|
-
id: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
|
|
13
|
-
jsonrpc: z.ZodLiteral<"2.0">;
|
|
14
|
-
result: ZodUndefined | TParams;
|
|
15
|
-
}>, any>[k]; } : never, z.baseObjectInputType<{
|
|
16
|
-
id: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
|
|
17
|
-
jsonrpc: z.ZodLiteral<"2.0">;
|
|
18
|
-
result: ZodUndefined | TParams;
|
|
19
|
-
}> extends infer T_1 ? { [k_1 in keyof T_1]: z.baseObjectInputType<{
|
|
20
|
-
id: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
|
|
21
|
-
jsonrpc: z.ZodLiteral<"2.0">;
|
|
22
|
-
result: ZodUndefined | TParams;
|
|
23
|
-
}>[k_1]; } : never>;
|
|
7
|
+
}, z.core.$strip>;
|
|
24
8
|
//# sourceMappingURL=createResponseSchema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createResponseSchema.d.ts","sourceRoot":"","sources":["../../../../src/types/schema/createResponseSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,KAAK,CAAA;AACvC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,oBAAoB,GAAI,OAAO,SAAS,CAAC,CAAC,UAAU,EAC/D,eAAc,OAAO,GAAG,YAA4B
|
|
1
|
+
{"version":3,"file":"createResponseSchema.d.ts","sourceRoot":"","sources":["../../../../src/types/schema/createResponseSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,KAAK,CAAA;AACvC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,oBAAoB,GAAI,OAAO,SAAS,CAAC,CAAC,UAAU,EAC/D,eAAc,OAAO,GAAG,YAA4B;;;;iBAMlD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/schema/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,2BAA2B,CAAA;AACzC,cAAc,mBAAmB,CAAA;AACjC,cAAc,2BAA2B,CAAA;AACzC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/schema/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,2BAA2B,CAAA;AACzC,cAAc,mBAAmB,CAAA;AACjC,cAAc,2BAA2B,CAAA;AACzC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA"}
|
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",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.12.0",
|
|
5
5
|
"description": "XYO Layer One API",
|
|
6
6
|
"homepage": "https://xylabs.com",
|
|
7
7
|
"bugs": {
|
|
@@ -59,39 +59,41 @@
|
|
|
59
59
|
"dependencies": {
|
|
60
60
|
"@metamask/json-rpc-engine": "~10.0.3",
|
|
61
61
|
"@metamask/utils": "~11.4.2",
|
|
62
|
-
"@xylabs/assert": "~5.0.
|
|
63
|
-
"@xylabs/axios": "~5.0.
|
|
64
|
-
"@xylabs/exists": "~5.0.
|
|
65
|
-
"@xylabs/hex": "~5.0.
|
|
66
|
-
"@xylabs/object": "~5.0.
|
|
67
|
-
"@xylabs/promise": "~5.0.
|
|
68
|
-
"@xylabs/typeof": "~5.0.
|
|
69
|
-
"@xyo-network/account-model": "~5.0.
|
|
70
|
-
"@xyo-network/archivist-memory": "~5.0.
|
|
71
|
-
"@xyo-network/archivist-model": "~5.0.
|
|
72
|
-
"@xyo-network/boundwitness-model": "~5.0.
|
|
73
|
-
"@xyo-network/
|
|
74
|
-
"@xyo-network/
|
|
75
|
-
"@xyo-network/
|
|
76
|
-
"@xyo-network/
|
|
77
|
-
"@xyo-network/payload-
|
|
78
|
-
"@xyo-network/payload-
|
|
79
|
-
"@xyo-network/
|
|
80
|
-
"@xyo-network/xl1-protocol
|
|
81
|
-
"@xyo-network/xl1-
|
|
62
|
+
"@xylabs/assert": "~5.0.7",
|
|
63
|
+
"@xylabs/axios": "~5.0.7",
|
|
64
|
+
"@xylabs/exists": "~5.0.7",
|
|
65
|
+
"@xylabs/hex": "~5.0.7",
|
|
66
|
+
"@xylabs/object": "~5.0.7",
|
|
67
|
+
"@xylabs/promise": "~5.0.7",
|
|
68
|
+
"@xylabs/typeof": "~5.0.7",
|
|
69
|
+
"@xyo-network/account-model": "~5.0.2",
|
|
70
|
+
"@xyo-network/archivist-memory": "~5.0.2",
|
|
71
|
+
"@xyo-network/archivist-model": "~5.0.2",
|
|
72
|
+
"@xyo-network/boundwitness-model": "~5.0.2",
|
|
73
|
+
"@xyo-network/core-payload-plugins": "~5.0.2",
|
|
74
|
+
"@xyo-network/hash": "~5.0.2",
|
|
75
|
+
"@xyo-network/module-model": "~5.0.2",
|
|
76
|
+
"@xyo-network/node-model": "~5.0.2",
|
|
77
|
+
"@xyo-network/payload-builder": "~5.0.2",
|
|
78
|
+
"@xyo-network/payload-model": "~5.0.2",
|
|
79
|
+
"@xyo-network/payload-wrapper": "~5.0.2",
|
|
80
|
+
"@xyo-network/xl1-protocol": "~1.10.12",
|
|
81
|
+
"@xyo-network/xl1-protocol-sdk": "~1.12.0",
|
|
82
|
+
"@xyo-network/xl1-wrappers": "~1.12.0",
|
|
82
83
|
"axios": "~1.11.0",
|
|
83
84
|
"uuid": "~11.1.0",
|
|
84
|
-
"zod": "~
|
|
85
|
+
"zod": "~4.0.17"
|
|
85
86
|
},
|
|
86
87
|
"devDependencies": {
|
|
87
88
|
"@metamask/utils": "~11.4.2",
|
|
88
|
-
"@types/node": "~24.2.
|
|
89
|
-
"@xylabs/logger": "~5.0.
|
|
89
|
+
"@types/node": "~24.2.1",
|
|
90
|
+
"@xylabs/logger": "~5.0.7",
|
|
90
91
|
"@xylabs/ts-scripts-yarn3": "~7.1.0",
|
|
91
92
|
"@xylabs/tsconfig": "~7.1.0",
|
|
92
|
-
"@xylabs/vitest-extended": "~5.0.
|
|
93
|
-
"@xyo-network/account": "~5.0.
|
|
94
|
-
"@xyo-network/
|
|
93
|
+
"@xylabs/vitest-extended": "~5.0.7",
|
|
94
|
+
"@xyo-network/account": "~5.0.2",
|
|
95
|
+
"@xyo-network/chain-protocol": "~1.12.0",
|
|
96
|
+
"@xyo-network/wallet": "~5.0.2",
|
|
95
97
|
"dotenv": "~17.2.1",
|
|
96
98
|
"typescript": "~5.9.2",
|
|
97
99
|
"vitest": "~3.2.4"
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ZodObject, ZodRawShape } from 'zod'
|
|
2
2
|
|
|
3
|
-
export const requestSchemas: Record<string,
|
|
3
|
+
export const requestSchemas: Record<string, ZodObject<ZodRawShape> | undefined> = {}
|
|
@@ -5,7 +5,7 @@ import { PayloadBuilder } from '@xyo-network/payload-builder'
|
|
|
5
5
|
import { isAnyPayload, type Payload } from '@xyo-network/payload-model'
|
|
6
6
|
import type {
|
|
7
7
|
AllowedBlockPayload,
|
|
8
|
-
|
|
8
|
+
SignedHydratedTransactionWithStorageMeta,
|
|
9
9
|
TransactionBoundWitness, TransactionFeesBigInt,
|
|
10
10
|
TransactionOptions, XyoConnectionProvider, XyoDataLakeProvider, XyoDataLakeViewer, XyoNetwork, XyoRunner, XyoSigner, XyoViewer,
|
|
11
11
|
} from '@xyo-network/xl1-protocol'
|
|
@@ -77,7 +77,7 @@ export class XyoConnection implements XyoConnectionProvider {
|
|
|
77
77
|
{
|
|
78
78
|
chain, exp, fees, from, nbf,
|
|
79
79
|
}: TransactionOptions = {},
|
|
80
|
-
): Promise<
|
|
80
|
+
): Promise<SignedHydratedTransactionWithStorageMeta> {
|
|
81
81
|
const viewer = assertEx(this.viewer, () => 'No viewer available')
|
|
82
82
|
// eslint-disable-next-line sonarjs/deprecation
|
|
83
83
|
const signer = assertEx(this.signer, () => 'No signer available')
|
|
@@ -100,7 +100,7 @@ export class XyoConnection implements XyoConnectionProvider {
|
|
|
100
100
|
feesResolved,
|
|
101
101
|
fromResolved,
|
|
102
102
|
), () => 'Failed to create transaction')
|
|
103
|
-
const hydratedTransaction:
|
|
103
|
+
const hydratedTransaction: SignedHydratedTransactionWithStorageMeta = [await PayloadBuilder.addStorageMeta(signedTransaction),
|
|
104
104
|
await PayloadBuilder.addStorageMeta(elevatedPayloads)]
|
|
105
105
|
|
|
106
106
|
// if storage configured, add the external payloads to it
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { toAddress } from '@xylabs/hex'
|
|
2
2
|
import { Account } from '@xyo-network/account'
|
|
3
3
|
import type { XyoConnectionProvider } from '@xyo-network/xl1-protocol'
|
|
4
4
|
import {
|
|
@@ -10,7 +10,7 @@ import { MemoryXyoSigner } from '../../signer/index.ts'
|
|
|
10
10
|
import { XyoConnection } from '../XyoConnection.ts'
|
|
11
11
|
|
|
12
12
|
describe('RpcEngine - XyoProvider', () => {
|
|
13
|
-
const chain
|
|
13
|
+
const chain = toAddress('2AAE728aFd1777b79c34D79c4523797F9D9965b0')
|
|
14
14
|
let sut: XyoConnectionProvider
|
|
15
15
|
beforeAll(async () => {
|
|
16
16
|
const account = await Account.random()
|
|
@@ -3,14 +3,15 @@ import type { Hash } from '@xylabs/hex'
|
|
|
3
3
|
import type { Promisable } from '@xylabs/promise'
|
|
4
4
|
import { PayloadBuilder } from '@xyo-network/payload-builder'
|
|
5
5
|
import type { Payload } from '@xyo-network/payload-model'
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
import type {
|
|
7
|
+
AllowedBlockPayload,
|
|
8
|
+
SignedHydratedTransaction,
|
|
9
|
+
XyoConnectionProvider, XyoGatewayProvider, XyoSigner,
|
|
9
10
|
} from '@xyo-network/xl1-protocol'
|
|
10
11
|
import { buildUnsignedTransaction } from '@xyo-network/xl1-protocol-sdk'
|
|
11
12
|
|
|
12
13
|
export abstract class AbstractXyoGateway implements XyoGatewayProvider {
|
|
13
|
-
async addPayloadsToChain(onChain: AllowedBlockPayload[], offChain: Payload[]): Promise<[Hash,
|
|
14
|
+
async addPayloadsToChain(onChain: AllowedBlockPayload[], offChain: Payload[]): Promise<[Hash, SignedHydratedTransaction]> {
|
|
14
15
|
const connection = await this.connection()
|
|
15
16
|
const viewer = assertEx(connection.viewer, () => 'No viewer available on connection')
|
|
16
17
|
const signer = await this.signer()
|
|
@@ -21,7 +22,7 @@ export abstract class AbstractXyoGateway implements XyoGatewayProvider {
|
|
|
21
22
|
return [hash, tx]
|
|
22
23
|
}
|
|
23
24
|
|
|
24
|
-
async addTransactionToChain(tx:
|
|
25
|
+
async addTransactionToChain(tx: SignedHydratedTransaction): Promise<Hash> {
|
|
25
26
|
const connection = await this.connection()
|
|
26
27
|
const signer = await this.signer()
|
|
27
28
|
const runner = assertEx(connection.runner, () => 'No runner available on connection')
|
|
@@ -33,7 +34,7 @@ export abstract class AbstractXyoGateway implements XyoGatewayProvider {
|
|
|
33
34
|
}
|
|
34
35
|
|
|
35
36
|
/** @deprecated use addPayloadsToChain instead */
|
|
36
|
-
async submitTransaction(elevatedPayloads: AllowedBlockPayload[], additionalPayloads: Payload[]): Promise<
|
|
37
|
+
async submitTransaction(elevatedPayloads: AllowedBlockPayload[], additionalPayloads: Payload[]): Promise<SignedHydratedTransaction> {
|
|
37
38
|
const connection = await this.connection()
|
|
38
39
|
// eslint-disable-next-line sonarjs/deprecation
|
|
39
40
|
assertEx(connection.submitTransaction, () => 'Active connection does not support transaction submission')
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Hash } from '@xylabs/hex'
|
|
2
|
-
import type {
|
|
2
|
+
import type { SignedHydratedTransaction, XyoRunner } from '@xyo-network/xl1-protocol'
|
|
3
3
|
|
|
4
4
|
import type { RpcTransport } from '../../transport/index.ts'
|
|
5
5
|
import type { XyoRunnerRpcSchemas } from '../../types/index.ts'
|
|
@@ -10,7 +10,7 @@ export class JsonRpcXyoRunner implements XyoRunner {
|
|
|
10
10
|
this.transport = transport
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
async broadcastTransaction(transaction:
|
|
13
|
+
async broadcastTransaction(transaction: SignedHydratedTransaction): Promise<Hash> {
|
|
14
14
|
return await this.transport.sendRequest('xyoRunner_broadcastTransaction', [transaction])
|
|
15
15
|
}
|
|
16
16
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { Hash } from '@xylabs/hex'
|
|
2
2
|
import { MemoryArchivist } from '@xyo-network/archivist-memory'
|
|
3
3
|
import { PayloadBuilder } from '@xyo-network/payload-builder'
|
|
4
|
-
import type {
|
|
4
|
+
import type { SignedHydratedTransactionWithStorageMeta, XyoRunner } from '@xyo-network/xl1-protocol'
|
|
5
5
|
import { flattenHydratedTransaction } from '@xyo-network/xl1-protocol-sdk'
|
|
6
6
|
|
|
7
7
|
export class MemoryXyoRunner implements XyoRunner {
|
|
8
8
|
protected _archivist: MemoryArchivist | undefined
|
|
9
9
|
|
|
10
|
-
async broadcastTransaction(transaction:
|
|
10
|
+
async broadcastTransaction(transaction: SignedHydratedTransactionWithStorageMeta): Promise<Hash> {
|
|
11
11
|
const archivist = await this.getArchivist()
|
|
12
12
|
await archivist.insert(flattenHydratedTransaction(transaction))
|
|
13
13
|
return await PayloadBuilder.hash(transaction[0])
|
|
@@ -8,7 +8,7 @@ import { PayloadBuilder } from '@xyo-network/payload-builder'
|
|
|
8
8
|
import type { PayloadBundle } from '@xyo-network/payload-model'
|
|
9
9
|
import { PayloadBundleSchema } from '@xyo-network/payload-model'
|
|
10
10
|
import type {
|
|
11
|
-
|
|
11
|
+
SignedHydratedTransaction,
|
|
12
12
|
XyoRunner,
|
|
13
13
|
} from '@xyo-network/xl1-protocol'
|
|
14
14
|
import { flattenHydratedTransaction } from '@xyo-network/xl1-protocol-sdk'
|
|
@@ -24,7 +24,7 @@ export class NodeXyoRunner implements XyoRunner {
|
|
|
24
24
|
this.node = node
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
async broadcastTransaction(transaction:
|
|
27
|
+
async broadcastTransaction(transaction: SignedHydratedTransaction): Promise<Hash> {
|
|
28
28
|
const flattened = flattenHydratedTransaction(transaction)
|
|
29
29
|
|
|
30
30
|
const pendingArchivist = await this.getPendingArchivist()
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type {
|
|
3
|
-
import type { Signed, UnsignedBoundWitness } from '@xyo-network/boundwitness-model'
|
|
1
|
+
import type { Address } from '@xylabs/hex'
|
|
2
|
+
import type { Signed } from '@xyo-network/boundwitness-model'
|
|
4
3
|
import type { Payload } from '@xyo-network/payload-model'
|
|
5
4
|
import type {
|
|
6
5
|
AllowedBlockPayload,
|
|
6
|
+
Chain,
|
|
7
|
+
SignedHydratedTransaction,
|
|
7
8
|
TransactionBoundWitness,
|
|
8
9
|
TransactionFeesBigInt,
|
|
10
|
+
UnsignedHydratedTransaction,
|
|
9
11
|
XyoSigner,
|
|
10
12
|
} from '@xyo-network/xl1-protocol'
|
|
11
13
|
|
|
@@ -24,7 +26,7 @@ export class RpcXyoSigner implements XyoSigner {
|
|
|
24
26
|
}
|
|
25
27
|
|
|
26
28
|
async createSignedTransaction(
|
|
27
|
-
chain:
|
|
29
|
+
chain: Chain,
|
|
28
30
|
elevatedPayloads: AllowedBlockPayload[],
|
|
29
31
|
additionalPayloads: Payload[],
|
|
30
32
|
nbf: number,
|
|
@@ -32,7 +34,7 @@ export class RpcXyoSigner implements XyoSigner {
|
|
|
32
34
|
fees: TransactionFeesBigInt,
|
|
33
35
|
from?: Address,
|
|
34
36
|
): Promise<Signed<TransactionBoundWitness>> {
|
|
35
|
-
|
|
37
|
+
const ret = await this.transport.sendRequest('xyoSigner_createSignedTransaction', [
|
|
36
38
|
chain,
|
|
37
39
|
elevatedPayloads,
|
|
38
40
|
additionalPayloads,
|
|
@@ -41,10 +43,12 @@ export class RpcXyoSigner implements XyoSigner {
|
|
|
41
43
|
fees,
|
|
42
44
|
from,
|
|
43
45
|
])
|
|
46
|
+
return ret
|
|
44
47
|
}
|
|
45
48
|
|
|
46
|
-
signTransaction(
|
|
47
|
-
|
|
49
|
+
async signTransaction(tx: UnsignedHydratedTransaction): Promise<SignedHydratedTransaction> {
|
|
50
|
+
const ret = await this.transport.sendRequest('xyoSigner_signTransaction', [tx])
|
|
51
|
+
return ret
|
|
48
52
|
}
|
|
49
53
|
}
|
|
50
54
|
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import type { Address } from '@xylabs/hex'
|
|
2
|
-
import type { Promisable } from '@xylabs/promise'
|
|
3
2
|
import type { AccountInstance } from '@xyo-network/account-model'
|
|
4
3
|
import type { Signed, UnsignedBoundWitness } from '@xyo-network/boundwitness-model'
|
|
5
4
|
import { type Payload } from '@xyo-network/payload-model'
|
|
6
5
|
import type {
|
|
7
|
-
AllowedBlockPayload, TransactionBoundWitness, TransactionFeesBigInt, XyoSigner,
|
|
6
|
+
AllowedBlockPayload, Chain, TransactionBoundWitness, TransactionFeesBigInt, XyoSigner,
|
|
8
7
|
} from '@xyo-network/xl1-protocol'
|
|
9
|
-
import { buildTransaction } from '@xyo-network/xl1-protocol-sdk'
|
|
8
|
+
import { buildTransaction, signTransaction } from '@xyo-network/xl1-protocol-sdk'
|
|
10
9
|
|
|
11
10
|
export class MemoryXyoSigner implements XyoSigner {
|
|
12
11
|
protected readonly _account: AccountInstance
|
|
@@ -20,7 +19,7 @@ export class MemoryXyoSigner implements XyoSigner {
|
|
|
20
19
|
}
|
|
21
20
|
|
|
22
21
|
async createSignedTransaction(
|
|
23
|
-
chain:
|
|
22
|
+
chain: Chain,
|
|
24
23
|
elevatedPayloads: AllowedBlockPayload[],
|
|
25
24
|
additionalPayloads: Payload[],
|
|
26
25
|
nbf: number,
|
|
@@ -42,7 +41,8 @@ export class MemoryXyoSigner implements XyoSigner {
|
|
|
42
41
|
return transaction[0]
|
|
43
42
|
}
|
|
44
43
|
|
|
45
|
-
signTransaction(
|
|
46
|
-
|
|
44
|
+
async signTransaction(tx: [UnsignedBoundWitness<TransactionBoundWitness>, Payload[]]): Promise<[Signed<TransactionBoundWitness>, Payload[]]> {
|
|
45
|
+
const txBW = await signTransaction(tx[0], this._account)
|
|
46
|
+
return [txBW, tx[1]]
|
|
47
47
|
}
|
|
48
48
|
}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import type { Hex } from '@xylabs/hex'
|
|
2
1
|
import { asAddress, toAddress } from '@xylabs/hex'
|
|
3
2
|
import { Account } from '@xyo-network/account'
|
|
4
|
-
import {
|
|
3
|
+
import type { Chain, XyoSigner } from '@xyo-network/xl1-protocol'
|
|
4
|
+
import { defaultTransactionFees } from '@xyo-network/xl1-protocol'
|
|
5
5
|
import {
|
|
6
6
|
beforeAll, describe, expect, it,
|
|
7
7
|
} from 'vitest'
|
|
8
8
|
|
|
9
9
|
// eslint-disable-next-line import-x/no-internal-modules
|
|
10
10
|
import { rpcEngineFromProvider } from '../../../engine/index-node.ts'
|
|
11
|
+
import { XyoSignerRpcSchemas } from '../../../index-node.ts'
|
|
11
12
|
import { MemoryRpcTransport } from '../../../transport/index.ts'
|
|
12
13
|
import { XyoConnection } from '../../connection/index.ts'
|
|
13
14
|
import { RpcXyoSigner } from '../JsonRpcXyoSigner.ts'
|
|
@@ -15,13 +16,13 @@ import { MemoryXyoSigner } from '../MemoryXyoSigner.ts'
|
|
|
15
16
|
|
|
16
17
|
describe('RpcEngine - XyoSigner', () => {
|
|
17
18
|
let sut: XyoSigner
|
|
18
|
-
const chain
|
|
19
|
+
const chain = toAddress('2AAE728aFd1777b79c34D79c4523797F9D9965b0') as Chain
|
|
19
20
|
beforeAll(async () => {
|
|
20
21
|
const account = await Account.random()
|
|
21
22
|
const signer = new MemoryXyoSigner(account)
|
|
22
23
|
const provider = new XyoConnection({ signer })
|
|
23
24
|
const engine = rpcEngineFromProvider(provider)
|
|
24
|
-
const transport = new MemoryRpcTransport(engine)
|
|
25
|
+
const transport = new MemoryRpcTransport(engine, XyoSignerRpcSchemas)
|
|
25
26
|
sut = new RpcXyoSigner(transport)
|
|
26
27
|
})
|
|
27
28
|
describe('address', () => {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { type Address, type Hash } from '@xylabs/hex'
|
|
2
2
|
import type {
|
|
3
|
-
HydratedBlock,
|
|
4
|
-
TransactionBoundWitness,
|
|
3
|
+
HydratedBlock, SignedHydratedTransaction,
|
|
5
4
|
Transfer,
|
|
6
5
|
XyoViewer,
|
|
7
6
|
} from '@xyo-network/xl1-protocol'
|
|
@@ -19,20 +18,20 @@ export class JsonRpcXyoViewer implements XyoViewer {
|
|
|
19
18
|
return await this.transport.sendRequest('xyoViewer_accountBalance', [address])
|
|
20
19
|
}
|
|
21
20
|
|
|
22
|
-
async accountHistory(address: Address): Promise<[
|
|
23
|
-
return await this.transport.sendRequest('
|
|
21
|
+
async accountHistory(address: Address): Promise<[Hash, Hash, Transfer][]> {
|
|
22
|
+
return (await this.transport.sendRequest('xyoViewer_accountHistory', [address])) as [Hash, Hash, Transfer][]
|
|
24
23
|
}
|
|
25
24
|
|
|
26
25
|
async blockByHash(hash: Hash): Promise<HydratedBlock | null> {
|
|
27
|
-
return await this.transport.sendRequest('xyoViewer_blockByHash', [hash])
|
|
26
|
+
return (await this.transport.sendRequest('xyoViewer_blockByHash', [hash])) as HydratedBlock | null
|
|
28
27
|
}
|
|
29
28
|
|
|
30
29
|
async blockByNumber(blockNumber: number): Promise<HydratedBlock | null> {
|
|
31
|
-
return await this.transport.sendRequest('xyoViewer_blockByNumber', [blockNumber])
|
|
30
|
+
return (await this.transport.sendRequest('xyoViewer_blockByNumber', [blockNumber])) as HydratedBlock | null
|
|
32
31
|
}
|
|
33
32
|
|
|
34
33
|
async blocksByHash(hash: Hash, limit?: number): Promise<HydratedBlock[]> {
|
|
35
|
-
return await this.transport.sendRequest('xyoViewer_blocksByHash', [hash, limit])
|
|
34
|
+
return (await this.transport.sendRequest('xyoViewer_blocksByHash', [hash, limit])) as HydratedBlock[]
|
|
36
35
|
}
|
|
37
36
|
|
|
38
37
|
async chainId(): Promise<Address> {
|
|
@@ -40,26 +39,26 @@ export class JsonRpcXyoViewer implements XyoViewer {
|
|
|
40
39
|
}
|
|
41
40
|
|
|
42
41
|
async currentBlock(): Promise<HydratedBlock> {
|
|
43
|
-
return await this.transport.sendRequest('xyoViewer_currentBlock')
|
|
42
|
+
return (await this.transport.sendRequest('xyoViewer_currentBlock')) as HydratedBlock
|
|
44
43
|
}
|
|
45
44
|
|
|
46
45
|
async currentBlockHash(): Promise<Hash> {
|
|
47
|
-
return await this.transport.sendRequest('xyoViewer_currentBlockHash')
|
|
46
|
+
return (await this.transport.sendRequest('xyoViewer_currentBlockHash')) as Hash
|
|
48
47
|
}
|
|
49
48
|
|
|
50
49
|
async currentBlockNumber(): Promise<number> {
|
|
51
|
-
return await this.transport.sendRequest('xyoViewer_currentBlockNumber')
|
|
50
|
+
return (await this.transport.sendRequest('xyoViewer_currentBlockNumber')) as number
|
|
52
51
|
}
|
|
53
52
|
|
|
54
|
-
async transactionByBlockHashAndIndex(blockHash: Hash, transactionIndex: number): Promise<
|
|
55
|
-
return await this.transport.sendRequest('xyoViewer_transactionByBlockHashAndIndex', [blockHash, transactionIndex])
|
|
53
|
+
async transactionByBlockHashAndIndex(blockHash: Hash, transactionIndex: number): Promise<SignedHydratedTransaction | null> {
|
|
54
|
+
return (await this.transport.sendRequest('xyoViewer_transactionByBlockHashAndIndex', [blockHash, transactionIndex])) as SignedHydratedTransaction | null
|
|
56
55
|
}
|
|
57
56
|
|
|
58
|
-
async transactionByBlockNumberAndIndex(blockNumber: number, transactionIndex: number): Promise<
|
|
59
|
-
return await this.transport.sendRequest('xyoViewer_transactionByBlockNumberAndIndex', [blockNumber, transactionIndex])
|
|
57
|
+
async transactionByBlockNumberAndIndex(blockNumber: number, transactionIndex: number): Promise<SignedHydratedTransaction | null> {
|
|
58
|
+
return (await this.transport.sendRequest('xyoViewer_transactionByBlockNumberAndIndex', [blockNumber, transactionIndex])) as SignedHydratedTransaction | null
|
|
60
59
|
}
|
|
61
60
|
|
|
62
|
-
async transactionByHash(transactionHash: Hash): Promise<
|
|
63
|
-
return await this.transport.sendRequest('xyoViewer_transactionByHash', [transactionHash])
|
|
61
|
+
async transactionByHash(transactionHash: Hash): Promise<SignedHydratedTransaction | null> {
|
|
62
|
+
return (await this.transport.sendRequest('xyoViewer_transactionByHash', [transactionHash])) as SignedHydratedTransaction | null
|
|
64
63
|
}
|
|
65
64
|
}
|
|
@@ -21,11 +21,11 @@ export class HttpRpcTransport<T extends RpcSchemaMap = RpcSchemaMap> implements
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
async sendRequest<
|
|
24
|
-
TMethod extends keyof T
|
|
24
|
+
TMethod extends keyof T,
|
|
25
25
|
>(
|
|
26
26
|
method: TMethod,
|
|
27
|
-
params?: z.
|
|
28
|
-
): Promise<z.
|
|
27
|
+
params?: z.input<T[TMethod]['params']['to']>,
|
|
28
|
+
): Promise<z.output<T[TMethod]['result']['from']>> {
|
|
29
29
|
return await this.callRpc(this._rpcUrl, this._schemas, method, params)
|
|
30
30
|
}
|
|
31
31
|
|
|
@@ -36,8 +36,8 @@ export class HttpRpcTransport<T extends RpcSchemaMap = RpcSchemaMap> implements
|
|
|
36
36
|
url: string,
|
|
37
37
|
schemas: TSchemas,
|
|
38
38
|
method: TMethod,
|
|
39
|
-
params?: z.
|
|
40
|
-
): Promise<z.
|
|
39
|
+
params?: z.input<TSchemas[TMethod]['params']['to']>,
|
|
40
|
+
): Promise<z.output<TSchemas[TMethod]['result']['from']>> {
|
|
41
41
|
try {
|
|
42
42
|
const id = v4()
|
|
43
43
|
const body: JsonRpcRequest = {
|
|
@@ -47,7 +47,7 @@ export class HttpRpcTransport<T extends RpcSchemaMap = RpcSchemaMap> implements
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
if (params) {
|
|
50
|
-
body.params = schemas[method].params.to.parse(params)
|
|
50
|
+
body.params = schemas[method].params.to.parse(params) as JsonRpcRequest
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
const res = await new AxiosJson().post(url, body)
|
|
@@ -57,7 +57,7 @@ export class HttpRpcTransport<T extends RpcSchemaMap = RpcSchemaMap> implements
|
|
|
57
57
|
throw new Error((json as JsonRpcFailure).error.message)
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
return schemas[method].result.from.parse((json as JsonRpcSuccess).result)
|
|
60
|
+
return schemas[method].result.from.parse((json as JsonRpcSuccess).result) as z.output<TSchemas[TMethod]['result']['from']>
|
|
61
61
|
} catch (ex) {
|
|
62
62
|
let message = isError(ex) ? ex.message : String(ex)
|
|
63
63
|
if (isAxiosError(ex)) {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { JsonRpcEngine } from '@metamask/json-rpc-engine'
|
|
2
|
-
import type { JsonRpcRequest } from '@metamask/utils'
|
|
3
|
-
import {
|
|
2
|
+
import type { JsonRpcParams, JsonRpcRequest } from '@metamask/utils'
|
|
3
|
+
import { assertEx } from '@xylabs/assert'
|
|
4
|
+
import { isObject, isString } from '@xylabs/typeof'
|
|
4
5
|
import { v4 } from 'uuid'
|
|
5
|
-
import type { z } from 'zod'
|
|
6
|
+
import type { z, ZodRawShape } from 'zod'
|
|
6
7
|
|
|
7
8
|
import type { RpcSchemaMap } from '../types/index.ts'
|
|
8
9
|
import {
|
|
@@ -13,8 +14,8 @@ import type { RpcTransport } from './RpcTransport.ts'
|
|
|
13
14
|
export class MemoryRpcTransport<T extends RpcSchemaMap = typeof AllRpcSchemas> implements RpcTransport<T> {
|
|
14
15
|
protected readonly _rpcEngine: JsonRpcEngine
|
|
15
16
|
protected readonly _schemas: T
|
|
16
|
-
protected readonly requestSchemas
|
|
17
|
-
protected readonly responseSchemas
|
|
17
|
+
protected readonly requestSchemas = {} as Record<keyof T, z.ZodObject<ZodRawShape>>
|
|
18
|
+
protected readonly responseSchemas = {} as Record<keyof T, z.ZodObject<ZodRawShape>>
|
|
18
19
|
|
|
19
20
|
constructor(rpcEngine: JsonRpcEngine, schemas: T = AllRpcSchemas as T) {
|
|
20
21
|
this._rpcEngine = rpcEngine
|
|
@@ -22,22 +23,23 @@ export class MemoryRpcTransport<T extends RpcSchemaMap = typeof AllRpcSchemas> i
|
|
|
22
23
|
}
|
|
23
24
|
|
|
24
25
|
async sendRequest<
|
|
25
|
-
TMethod extends keyof T
|
|
26
|
+
TMethod extends keyof T,
|
|
26
27
|
>(
|
|
27
28
|
method: TMethod,
|
|
28
|
-
params?: z.
|
|
29
|
-
): Promise<z.
|
|
29
|
+
params?: z.input<T[TMethod]['params']['to']>,
|
|
30
|
+
): Promise<z.output<T[TMethod]['result']['from']>> {
|
|
30
31
|
// Get schema for method
|
|
31
32
|
// Get handler for method
|
|
32
33
|
const schema = this._schemas[method]
|
|
33
34
|
let requestSchema = this.requestSchemas[method]
|
|
34
35
|
if (!isObject(requestSchema)) {
|
|
35
|
-
|
|
36
|
+
const stringMethod = assertEx(isString(method) ? method : null, () => 'Method must be a string')
|
|
37
|
+
requestSchema = createRequestSchema(stringMethod, schema.params.to)
|
|
36
38
|
this.requestSchemas[method] = requestSchema
|
|
37
39
|
}
|
|
38
|
-
const req
|
|
39
|
-
jsonrpc, id: v4(), method: method as string, params,
|
|
40
|
-
}
|
|
40
|
+
const req = {
|
|
41
|
+
jsonrpc, id: v4(), method: method as string, params: params as JsonRpcParams,
|
|
42
|
+
} satisfies JsonRpcRequest
|
|
41
43
|
const request = requestSchema.parse(req) as JsonRpcRequest
|
|
42
44
|
const response = await this._rpcEngine.handle(request)
|
|
43
45
|
let responseSchema = this.responseSchemas[method]
|
|
@@ -45,6 +47,6 @@ export class MemoryRpcTransport<T extends RpcSchemaMap = typeof AllRpcSchemas> i
|
|
|
45
47
|
responseSchema = createResponseSchema(schema.result.from)
|
|
46
48
|
this.responseSchemas[method] = responseSchema
|
|
47
49
|
}
|
|
48
|
-
return responseSchema.parse(response)?.result
|
|
50
|
+
return responseSchema.parse(response)?.result as z.infer<T[TMethod]['result']['from']>
|
|
49
51
|
}
|
|
50
52
|
}
|
|
@@ -4,9 +4,9 @@ import type { RpcSchemaMap } from '../types/index.ts'
|
|
|
4
4
|
|
|
5
5
|
export interface RpcTransport<TSchemas extends RpcSchemaMap> {
|
|
6
6
|
sendRequest<
|
|
7
|
-
TMethod extends keyof TSchemas
|
|
7
|
+
TMethod extends keyof TSchemas,
|
|
8
8
|
>(
|
|
9
9
|
method: TMethod,
|
|
10
|
-
params?: z.
|
|
11
|
-
): Promise<z.
|
|
10
|
+
params?: z.input<TSchemas[TMethod]['params']['to']>
|
|
11
|
+
): Promise<z.output<TSchemas[TMethod]['result']['from']>>
|
|
12
12
|
}
|