@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.
Files changed (269) hide show
  1. package/dist/neutral/engine/requestSchemas.d.ts +2 -2
  2. package/dist/neutral/engine/requestSchemas.d.ts.map +1 -1
  3. package/dist/neutral/index.mjs +438 -314
  4. package/dist/neutral/index.mjs.map +1 -1
  5. package/dist/neutral/provider/connection/XyoConnection.d.ts +2 -2
  6. package/dist/neutral/provider/connection/XyoConnection.d.ts.map +1 -1
  7. package/dist/neutral/provider/gateway/Abstract.d.ts +4 -4
  8. package/dist/neutral/provider/gateway/Abstract.d.ts.map +1 -1
  9. package/dist/neutral/provider/runner/JsonRpcXyoRunner.d.ts +2 -2
  10. package/dist/neutral/provider/runner/JsonRpcXyoRunner.d.ts.map +1 -1
  11. package/dist/neutral/provider/runner/MemoryXyoRunner.d.ts +2 -2
  12. package/dist/neutral/provider/runner/MemoryXyoRunner.d.ts.map +1 -1
  13. package/dist/neutral/provider/runner/NodeXyoRunner.d.ts +2 -2
  14. package/dist/neutral/provider/runner/NodeXyoRunner.d.ts.map +1 -1
  15. package/dist/neutral/provider/signer/JsonRpcXyoSigner.d.ts +5 -6
  16. package/dist/neutral/provider/signer/JsonRpcXyoSigner.d.ts.map +1 -1
  17. package/dist/neutral/provider/signer/MemoryXyoSigner.d.ts +3 -4
  18. package/dist/neutral/provider/signer/MemoryXyoSigner.d.ts.map +1 -1
  19. package/dist/neutral/provider/viewer/JsonRpcXyoViewer.d.ts +5 -5
  20. package/dist/neutral/provider/viewer/JsonRpcXyoViewer.d.ts.map +1 -1
  21. package/dist/neutral/transport/HttpRpcTransport.d.ts +1 -1
  22. package/dist/neutral/transport/HttpRpcTransport.d.ts.map +1 -1
  23. package/dist/neutral/transport/MemoryRpcTransport.d.ts +4 -4
  24. package/dist/neutral/transport/MemoryRpcTransport.d.ts.map +1 -1
  25. package/dist/neutral/transport/RpcTransport.d.ts +1 -1
  26. package/dist/neutral/transport/RpcTransport.d.ts.map +1 -1
  27. package/dist/neutral/transport/post-message/LegacyPostMessageRpcTransport.d.ts +5 -5
  28. package/dist/neutral/transport/post-message/LegacyPostMessageRpcTransport.d.ts.map +1 -1
  29. package/dist/neutral/types/schema/XyoGatewayRpcSchemas.d.ts +422 -76
  30. package/dist/neutral/types/schema/XyoGatewayRpcSchemas.d.ts.map +1 -1
  31. package/dist/neutral/types/schema/XyoProviderRpcSchemas.d.ts +297 -3
  32. package/dist/neutral/types/schema/XyoProviderRpcSchemas.d.ts.map +1 -1
  33. package/dist/neutral/types/schema/XyoRunnerRpcSchemas.d.ts +231 -3
  34. package/dist/neutral/types/schema/XyoRunnerRpcSchemas.d.ts.map +1 -1
  35. package/dist/neutral/types/schema/XyoSignerRpcSchemas.d.ts +838 -3
  36. package/dist/neutral/types/schema/XyoSignerRpcSchemas.d.ts.map +1 -1
  37. package/dist/neutral/types/schema/XyoViewerRpcSchemas.d.ts +1611 -3
  38. package/dist/neutral/types/schema/XyoViewerRpcSchemas.d.ts.map +1 -1
  39. package/dist/neutral/types/schema/common/Address.d.ts +7 -0
  40. package/dist/neutral/types/schema/common/Address.d.ts.map +1 -0
  41. package/dist/neutral/types/schema/common/AllowedBlockPayload.d.ts +11 -0
  42. package/dist/neutral/types/schema/common/AllowedBlockPayload.d.ts.map +1 -0
  43. package/dist/neutral/types/schema/common/BlockBoundWitness.d.ts +324 -0
  44. package/dist/neutral/types/schema/common/BlockBoundWitness.d.ts.map +1 -0
  45. package/dist/neutral/types/schema/common/BoundWitness.d.ts +420 -0
  46. package/dist/neutral/types/schema/common/BoundWitness.d.ts.map +1 -0
  47. package/dist/neutral/types/schema/common/Chain.d.ts +4 -0
  48. package/dist/neutral/types/schema/common/Chain.d.ts.map +1 -0
  49. package/dist/neutral/types/schema/common/HydratedBlock.d.ts +474 -0
  50. package/dist/neutral/types/schema/common/HydratedBlock.d.ts.map +1 -0
  51. package/dist/neutral/types/schema/common/HydratedTransaction.d.ts +624 -0
  52. package/dist/neutral/types/schema/common/HydratedTransaction.d.ts.map +1 -0
  53. package/dist/neutral/types/schema/common/Json.d.ts +7 -0
  54. package/dist/neutral/types/schema/common/Json.d.ts.map +1 -0
  55. package/dist/neutral/types/schema/common/Payload.d.ts +134 -0
  56. package/dist/neutral/types/schema/common/Payload.d.ts.map +1 -0
  57. package/dist/neutral/types/schema/common/Sequence.d.ts +9 -0
  58. package/dist/neutral/types/schema/common/Sequence.d.ts.map +1 -0
  59. package/dist/neutral/types/schema/common/TransactionBoundWitness.d.ts +239 -0
  60. package/dist/neutral/types/schema/common/TransactionBoundWitness.d.ts.map +1 -0
  61. package/dist/neutral/types/schema/common/TransactionFees.d.ts +93 -24
  62. package/dist/neutral/types/schema/common/TransactionFees.d.ts.map +1 -1
  63. package/dist/neutral/types/schema/common/index.d.ts +11 -13
  64. package/dist/neutral/types/schema/common/index.d.ts.map +1 -1
  65. package/dist/neutral/types/schema/common/spec/BigIntZod.spec.d.ts +2 -0
  66. package/dist/neutral/types/schema/common/spec/BigIntZod.spec.d.ts.map +1 -0
  67. package/dist/neutral/types/schema/common/spec/HydratedTransaction.spec.d.ts +2 -0
  68. package/dist/neutral/types/schema/common/spec/HydratedTransaction.spec.d.ts.map +1 -0
  69. package/dist/neutral/types/schema/common/spec/Payload.spec.d.ts +2 -0
  70. package/dist/neutral/types/schema/common/spec/Payload.spec.d.ts.map +1 -0
  71. package/dist/neutral/types/schema/common/spec/TransactionBoundWitnessZod.spec.d.ts +2 -0
  72. package/dist/neutral/types/schema/common/spec/TransactionBoundWitnessZod.spec.d.ts.map +1 -0
  73. package/dist/neutral/types/schema/common/spec/UnsignedHydratedTransactionSchema.spec copy.d.ts +2 -0
  74. package/dist/neutral/types/schema/common/spec/UnsignedHydratedTransactionSchema.spec copy.d.ts.map +1 -0
  75. package/dist/neutral/types/schema/createRequestSchema.d.ts +2 -22
  76. package/dist/neutral/types/schema/createRequestSchema.d.ts.map +1 -1
  77. package/dist/neutral/types/schema/createResponseSchema.d.ts +2 -18
  78. package/dist/neutral/types/schema/createResponseSchema.d.ts.map +1 -1
  79. package/dist/neutral/types/schema/index.d.ts +1 -0
  80. package/dist/neutral/types/schema/index.d.ts.map +1 -1
  81. package/dist/node/engine/requestSchemas.d.ts +2 -2
  82. package/dist/node/engine/requestSchemas.d.ts.map +1 -1
  83. package/dist/node/index-node.mjs +438 -314
  84. package/dist/node/index-node.mjs.map +1 -1
  85. package/dist/node/provider/connection/XyoConnection.d.ts +2 -2
  86. package/dist/node/provider/connection/XyoConnection.d.ts.map +1 -1
  87. package/dist/node/provider/gateway/Abstract.d.ts +4 -4
  88. package/dist/node/provider/gateway/Abstract.d.ts.map +1 -1
  89. package/dist/node/provider/runner/JsonRpcXyoRunner.d.ts +2 -2
  90. package/dist/node/provider/runner/JsonRpcXyoRunner.d.ts.map +1 -1
  91. package/dist/node/provider/runner/MemoryXyoRunner.d.ts +2 -2
  92. package/dist/node/provider/runner/MemoryXyoRunner.d.ts.map +1 -1
  93. package/dist/node/provider/runner/NodeXyoRunner.d.ts +2 -2
  94. package/dist/node/provider/runner/NodeXyoRunner.d.ts.map +1 -1
  95. package/dist/node/provider/signer/JsonRpcXyoSigner.d.ts +5 -6
  96. package/dist/node/provider/signer/JsonRpcXyoSigner.d.ts.map +1 -1
  97. package/dist/node/provider/signer/MemoryXyoSigner.d.ts +3 -4
  98. package/dist/node/provider/signer/MemoryXyoSigner.d.ts.map +1 -1
  99. package/dist/node/provider/viewer/JsonRpcXyoViewer.d.ts +5 -5
  100. package/dist/node/provider/viewer/JsonRpcXyoViewer.d.ts.map +1 -1
  101. package/dist/node/transport/HttpRpcTransport.d.ts +1 -1
  102. package/dist/node/transport/HttpRpcTransport.d.ts.map +1 -1
  103. package/dist/node/transport/MemoryRpcTransport.d.ts +4 -4
  104. package/dist/node/transport/MemoryRpcTransport.d.ts.map +1 -1
  105. package/dist/node/transport/RpcTransport.d.ts +1 -1
  106. package/dist/node/transport/RpcTransport.d.ts.map +1 -1
  107. package/dist/node/transport/post-message/LegacyPostMessageRpcTransport.d.ts +5 -5
  108. package/dist/node/transport/post-message/LegacyPostMessageRpcTransport.d.ts.map +1 -1
  109. package/dist/node/types/schema/XyoGatewayRpcSchemas.d.ts +422 -76
  110. package/dist/node/types/schema/XyoGatewayRpcSchemas.d.ts.map +1 -1
  111. package/dist/node/types/schema/XyoProviderRpcSchemas.d.ts +297 -3
  112. package/dist/node/types/schema/XyoProviderRpcSchemas.d.ts.map +1 -1
  113. package/dist/node/types/schema/XyoRunnerRpcSchemas.d.ts +231 -3
  114. package/dist/node/types/schema/XyoRunnerRpcSchemas.d.ts.map +1 -1
  115. package/dist/node/types/schema/XyoSignerRpcSchemas.d.ts +838 -3
  116. package/dist/node/types/schema/XyoSignerRpcSchemas.d.ts.map +1 -1
  117. package/dist/node/types/schema/XyoViewerRpcSchemas.d.ts +1611 -3
  118. package/dist/node/types/schema/XyoViewerRpcSchemas.d.ts.map +1 -1
  119. package/dist/node/types/schema/common/Address.d.ts +7 -0
  120. package/dist/node/types/schema/common/Address.d.ts.map +1 -0
  121. package/dist/node/types/schema/common/AllowedBlockPayload.d.ts +11 -0
  122. package/dist/node/types/schema/common/AllowedBlockPayload.d.ts.map +1 -0
  123. package/dist/node/types/schema/common/BlockBoundWitness.d.ts +324 -0
  124. package/dist/node/types/schema/common/BlockBoundWitness.d.ts.map +1 -0
  125. package/dist/node/types/schema/common/BoundWitness.d.ts +420 -0
  126. package/dist/node/types/schema/common/BoundWitness.d.ts.map +1 -0
  127. package/dist/node/types/schema/common/Chain.d.ts +4 -0
  128. package/dist/node/types/schema/common/Chain.d.ts.map +1 -0
  129. package/dist/node/types/schema/common/HydratedBlock.d.ts +474 -0
  130. package/dist/node/types/schema/common/HydratedBlock.d.ts.map +1 -0
  131. package/dist/node/types/schema/common/HydratedTransaction.d.ts +624 -0
  132. package/dist/node/types/schema/common/HydratedTransaction.d.ts.map +1 -0
  133. package/dist/node/types/schema/common/Json.d.ts +7 -0
  134. package/dist/node/types/schema/common/Json.d.ts.map +1 -0
  135. package/dist/node/types/schema/common/Payload.d.ts +134 -0
  136. package/dist/node/types/schema/common/Payload.d.ts.map +1 -0
  137. package/dist/node/types/schema/common/Sequence.d.ts +9 -0
  138. package/dist/node/types/schema/common/Sequence.d.ts.map +1 -0
  139. package/dist/node/types/schema/common/TransactionBoundWitness.d.ts +239 -0
  140. package/dist/node/types/schema/common/TransactionBoundWitness.d.ts.map +1 -0
  141. package/dist/node/types/schema/common/TransactionFees.d.ts +93 -24
  142. package/dist/node/types/schema/common/TransactionFees.d.ts.map +1 -1
  143. package/dist/node/types/schema/common/index.d.ts +11 -13
  144. package/dist/node/types/schema/common/index.d.ts.map +1 -1
  145. package/dist/node/types/schema/common/spec/BigIntZod.spec.d.ts +2 -0
  146. package/dist/node/types/schema/common/spec/BigIntZod.spec.d.ts.map +1 -0
  147. package/dist/node/types/schema/common/spec/HydratedTransaction.spec.d.ts +2 -0
  148. package/dist/node/types/schema/common/spec/HydratedTransaction.spec.d.ts.map +1 -0
  149. package/dist/node/types/schema/common/spec/Payload.spec.d.ts +2 -0
  150. package/dist/node/types/schema/common/spec/Payload.spec.d.ts.map +1 -0
  151. package/dist/node/types/schema/common/spec/TransactionBoundWitnessZod.spec.d.ts +2 -0
  152. package/dist/node/types/schema/common/spec/TransactionBoundWitnessZod.spec.d.ts.map +1 -0
  153. package/dist/node/types/schema/common/spec/UnsignedHydratedTransactionSchema.spec copy.d.ts +2 -0
  154. package/dist/node/types/schema/common/spec/UnsignedHydratedTransactionSchema.spec copy.d.ts.map +1 -0
  155. package/dist/node/types/schema/createRequestSchema.d.ts +2 -22
  156. package/dist/node/types/schema/createRequestSchema.d.ts.map +1 -1
  157. package/dist/node/types/schema/createResponseSchema.d.ts +2 -18
  158. package/dist/node/types/schema/createResponseSchema.d.ts.map +1 -1
  159. package/dist/node/types/schema/index.d.ts +1 -0
  160. package/dist/node/types/schema/index.d.ts.map +1 -1
  161. package/package.json +29 -27
  162. package/src/engine/requestSchemas.ts +2 -2
  163. package/src/provider/connection/XyoConnection.ts +3 -3
  164. package/src/provider/connection/spec/XyoConnection.ts +2 -2
  165. package/src/provider/gateway/Abstract.ts +7 -6
  166. package/src/provider/runner/JsonRpcXyoRunner.ts +2 -2
  167. package/src/provider/runner/MemoryXyoRunner.ts +2 -2
  168. package/src/provider/runner/NodeXyoRunner.ts +2 -2
  169. package/src/provider/signer/JsonRpcXyoSigner.ts +11 -7
  170. package/src/provider/signer/MemoryXyoSigner.ts +6 -6
  171. package/src/provider/signer/spec/RpcEngineXyoSigner.spec.ts +5 -4
  172. package/src/provider/viewer/JsonRpcXyoViewer.ts +15 -16
  173. package/src/transport/HttpRpcTransport.ts +7 -7
  174. package/src/transport/MemoryRpcTransport.ts +15 -13
  175. package/src/transport/RpcTransport.ts +3 -3
  176. package/src/transport/post-message/LegacyPostMessageRpcTransport.ts +12 -12
  177. package/src/types/schema/XyoGatewayRpcSchemas.ts +17 -17
  178. package/src/types/schema/XyoProviderRpcSchemas.ts +16 -16
  179. package/src/types/schema/XyoRunnerRpcSchemas.ts +8 -11
  180. package/src/types/schema/XyoSignerRpcSchemas.ts +30 -25
  181. package/src/types/schema/XyoViewerRpcSchemas.ts +55 -52
  182. package/src/types/schema/common/{AddressSchema.ts → Address.ts} +1 -2
  183. package/src/types/schema/common/AllowedBlockPayload.ts +16 -0
  184. package/src/types/schema/common/BlockBoundWitness.ts +49 -0
  185. package/src/types/schema/common/BoundWitness.ts +53 -0
  186. package/src/types/schema/common/Chain.ts +8 -0
  187. package/src/types/schema/common/HydratedBlock.ts +32 -0
  188. package/src/types/schema/common/HydratedTransaction.ts +38 -0
  189. package/src/types/schema/common/Json.ts +19 -0
  190. package/src/types/schema/common/Payload.ts +31 -0
  191. package/src/types/schema/common/Sequence.ts +19 -0
  192. package/src/types/schema/common/TransactionBoundWitness.ts +42 -0
  193. package/src/types/schema/common/TransactionFees.ts +37 -11
  194. package/src/types/schema/common/index.ts +11 -13
  195. package/src/types/schema/common/spec/{BigIntSchema.spec.ts → BigIntZod.spec.ts} +6 -7
  196. package/src/types/schema/common/spec/HydratedBlockSchema.spec.ts +9 -83
  197. package/src/types/schema/common/spec/HydratedTransaction.spec.ts +18 -0
  198. package/src/types/schema/common/spec/Payload.spec.ts +29 -0
  199. package/src/types/schema/common/spec/TransactionBoundWitnessZod.spec.ts +18 -0
  200. package/src/types/schema/common/spec/UnsignedHydratedTransactionSchema.spec copy.ts +53 -0
  201. package/src/types/schema/index.ts +1 -0
  202. package/dist/neutral/types/schema/common/AddressSchema.d.ts +0 -5
  203. package/dist/neutral/types/schema/common/AddressSchema.d.ts.map +0 -1
  204. package/dist/neutral/types/schema/common/BigIntSchema.d.ts +0 -4
  205. package/dist/neutral/types/schema/common/BigIntSchema.d.ts.map +0 -1
  206. package/dist/neutral/types/schema/common/BlockBoundWitnessSchema.d.ts +0 -235
  207. package/dist/neutral/types/schema/common/BlockBoundWitnessSchema.d.ts.map +0 -1
  208. package/dist/neutral/types/schema/common/BoundWitnessSchema.d.ts +0 -163
  209. package/dist/neutral/types/schema/common/BoundWitnessSchema.d.ts.map +0 -1
  210. package/dist/neutral/types/schema/common/HashSchema.d.ts +0 -5
  211. package/dist/neutral/types/schema/common/HashSchema.d.ts.map +0 -1
  212. package/dist/neutral/types/schema/common/HexSchema.d.ts +0 -5
  213. package/dist/neutral/types/schema/common/HexSchema.d.ts.map +0 -1
  214. package/dist/neutral/types/schema/common/HydratedBlockSchema.d.ts +0 -282
  215. package/dist/neutral/types/schema/common/HydratedBlockSchema.d.ts.map +0 -1
  216. package/dist/neutral/types/schema/common/HydratedTransactionSchema.d.ts +0 -214
  217. package/dist/neutral/types/schema/common/HydratedTransactionSchema.d.ts.map +0 -1
  218. package/dist/neutral/types/schema/common/JsonSchema.d.ts +0 -7
  219. package/dist/neutral/types/schema/common/JsonSchema.d.ts.map +0 -1
  220. package/dist/neutral/types/schema/common/PayloadSchema.d.ts +0 -28
  221. package/dist/neutral/types/schema/common/PayloadSchema.d.ts.map +0 -1
  222. package/dist/neutral/types/schema/common/SequenceSchema.d.ts +0 -9
  223. package/dist/neutral/types/schema/common/SequenceSchema.d.ts.map +0 -1
  224. package/dist/neutral/types/schema/common/StorageMetaSchema.d.ts +0 -46
  225. package/dist/neutral/types/schema/common/StorageMetaSchema.d.ts.map +0 -1
  226. package/dist/neutral/types/schema/common/TransactionBoundWitnessSchema.d.ts +0 -258
  227. package/dist/neutral/types/schema/common/TransactionBoundWitnessSchema.d.ts.map +0 -1
  228. package/dist/neutral/types/schema/common/spec/BigIntSchema.spec.d.ts +0 -2
  229. package/dist/neutral/types/schema/common/spec/BigIntSchema.spec.d.ts.map +0 -1
  230. package/dist/node/types/schema/common/AddressSchema.d.ts +0 -5
  231. package/dist/node/types/schema/common/AddressSchema.d.ts.map +0 -1
  232. package/dist/node/types/schema/common/BigIntSchema.d.ts +0 -4
  233. package/dist/node/types/schema/common/BigIntSchema.d.ts.map +0 -1
  234. package/dist/node/types/schema/common/BlockBoundWitnessSchema.d.ts +0 -235
  235. package/dist/node/types/schema/common/BlockBoundWitnessSchema.d.ts.map +0 -1
  236. package/dist/node/types/schema/common/BoundWitnessSchema.d.ts +0 -163
  237. package/dist/node/types/schema/common/BoundWitnessSchema.d.ts.map +0 -1
  238. package/dist/node/types/schema/common/HashSchema.d.ts +0 -5
  239. package/dist/node/types/schema/common/HashSchema.d.ts.map +0 -1
  240. package/dist/node/types/schema/common/HexSchema.d.ts +0 -5
  241. package/dist/node/types/schema/common/HexSchema.d.ts.map +0 -1
  242. package/dist/node/types/schema/common/HydratedBlockSchema.d.ts +0 -282
  243. package/dist/node/types/schema/common/HydratedBlockSchema.d.ts.map +0 -1
  244. package/dist/node/types/schema/common/HydratedTransactionSchema.d.ts +0 -214
  245. package/dist/node/types/schema/common/HydratedTransactionSchema.d.ts.map +0 -1
  246. package/dist/node/types/schema/common/JsonSchema.d.ts +0 -7
  247. package/dist/node/types/schema/common/JsonSchema.d.ts.map +0 -1
  248. package/dist/node/types/schema/common/PayloadSchema.d.ts +0 -28
  249. package/dist/node/types/schema/common/PayloadSchema.d.ts.map +0 -1
  250. package/dist/node/types/schema/common/SequenceSchema.d.ts +0 -9
  251. package/dist/node/types/schema/common/SequenceSchema.d.ts.map +0 -1
  252. package/dist/node/types/schema/common/StorageMetaSchema.d.ts +0 -46
  253. package/dist/node/types/schema/common/StorageMetaSchema.d.ts.map +0 -1
  254. package/dist/node/types/schema/common/TransactionBoundWitnessSchema.d.ts +0 -258
  255. package/dist/node/types/schema/common/TransactionBoundWitnessSchema.d.ts.map +0 -1
  256. package/dist/node/types/schema/common/spec/BigIntSchema.spec.d.ts +0 -2
  257. package/dist/node/types/schema/common/spec/BigIntSchema.spec.d.ts.map +0 -1
  258. package/src/types/schema/common/BigIntSchema.ts +0 -10
  259. package/src/types/schema/common/BlockBoundWitnessSchema.ts +0 -30
  260. package/src/types/schema/common/BoundWitnessSchema.ts +0 -45
  261. package/src/types/schema/common/HashSchema.ts +0 -7
  262. package/src/types/schema/common/HexSchema.ts +0 -7
  263. package/src/types/schema/common/HydratedBlockSchema.ts +0 -26
  264. package/src/types/schema/common/HydratedTransactionSchema.ts +0 -14
  265. package/src/types/schema/common/JsonSchema.ts +0 -19
  266. package/src/types/schema/common/PayloadSchema.ts +0 -6
  267. package/src/types/schema/common/SequenceSchema.ts +0 -19
  268. package/src/types/schema/common/StorageMetaSchema.ts +0 -14
  269. 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;;;;;;;;;;;;;;;;;;;;;;;;;mBAOlD,CAAA"}
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
- }, "strip", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
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;;;;;;;;;;;;;;;;;;;;mBAMlD,CAAA"}
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,4 +1,5 @@
1
1
  export * from './AllRpcSchemas.ts';
2
+ export * from './common/index.ts';
2
3
  export * from './createRequestSchema.ts';
3
4
  export * from './createResponseSchema.ts';
4
5
  export * from './RpcSchemaMap.ts';
@@ -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.10.2",
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.3",
63
- "@xylabs/axios": "~5.0.3",
64
- "@xylabs/exists": "~5.0.3",
65
- "@xylabs/hex": "~5.0.3",
66
- "@xylabs/object": "~5.0.3",
67
- "@xylabs/promise": "~5.0.3",
68
- "@xylabs/typeof": "~5.0.3",
69
- "@xyo-network/account-model": "~5.0.1",
70
- "@xyo-network/archivist-memory": "~5.0.1",
71
- "@xyo-network/archivist-model": "~5.0.1",
72
- "@xyo-network/boundwitness-model": "~5.0.1",
73
- "@xyo-network/hash": "~5.0.1",
74
- "@xyo-network/module-model": "~5.0.1",
75
- "@xyo-network/node-model": "~5.0.1",
76
- "@xyo-network/payload-builder": "~5.0.1",
77
- "@xyo-network/payload-model": "~5.0.1",
78
- "@xyo-network/payload-wrapper": "~5.0.1",
79
- "@xyo-network/xl1-protocol": "~1.9.3",
80
- "@xyo-network/xl1-protocol-sdk": "~1.10.2",
81
- "@xyo-network/xl1-wrappers": "~1.10.2",
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": "~3.25.76"
85
+ "zod": "~4.0.17"
85
86
  },
86
87
  "devDependencies": {
87
88
  "@metamask/utils": "~11.4.2",
88
- "@types/node": "~24.2.0",
89
- "@xylabs/logger": "~5.0.3",
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.3",
93
- "@xyo-network/account": "~5.0.1",
94
- "@xyo-network/wallet": "~5.0.1",
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 { AnyZodObject } from 'zod'
1
+ import type { ZodObject, ZodRawShape } from 'zod'
2
2
 
3
- export const requestSchemas: Record<string, AnyZodObject | undefined> = {}
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
- HydratedTransaction,
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<HydratedTransaction> {
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: HydratedTransaction = [await PayloadBuilder.addStorageMeta(signedTransaction),
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 { type Hex, toAddress } from '@xylabs/hex'
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: Hex = toAddress('2AAE728aFd1777b79c34D79c4523797F9D9965b0')
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
- type AllowedBlockPayload,
8
- type HydratedTransaction, type XyoConnectionProvider, type XyoGatewayProvider, type XyoSigner,
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, HydratedTransaction]> {
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: HydratedTransaction): Promise<Hash> {
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<HydratedTransaction> {
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 { HydratedTransaction, XyoRunner } from '@xyo-network/xl1-protocol'
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: HydratedTransaction): Promise<Hash> {
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 { HydratedTransaction, XyoRunner } from '@xyo-network/xl1-protocol'
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: HydratedTransaction): Promise<Hash> {
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
- HydratedTransaction,
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: HydratedTransaction): Promise<Hash> {
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 { type Address } from '@xylabs/hex'
2
- import type { Promisable } from '@xylabs/promise'
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: Address,
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
- return await this.transport.sendRequest('xyoSigner_createSignedTransaction', [
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(_tx: [UnsignedBoundWitness<TransactionBoundWitness>, Payload[]]): Promisable<[Signed<TransactionBoundWitness>, Payload[]]> {
47
- throw new Error('Method not implemented.')
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: Address,
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(_tx: [UnsignedBoundWitness<TransactionBoundWitness>, Payload[]]): Promisable<[Signed<TransactionBoundWitness>, Payload[]]> {
46
- throw new Error('Method not implemented.')
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 { defaultTransactionFees, type XyoSigner } from '@xyo-network/xl1-protocol'
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: Hex = toAddress('2AAE728aFd1777b79c34D79c4523797F9D9965b0')
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, HydratedTransaction,
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<[TransactionBoundWitness[], Transfer[]]> {
23
- return await this.transport.sendRequest('xyoViewer_accountBalance', [address])
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<HydratedTransaction | null> {
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<HydratedTransaction | null> {
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<HydratedTransaction | null> {
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 & string,
24
+ TMethod extends keyof T,
25
25
  >(
26
26
  method: TMethod,
27
- params?: z.infer<T[TMethod]['params']['to']>,
28
- ): Promise<z.infer<T[TMethod]['result']['from']>> {
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.infer<TSchemas[TMethod]['params']['to']>,
40
- ): Promise<z.infer<TSchemas[TMethod]['result']['from']>> {
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 { isObject } from '@xylabs/typeof'
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: Record<string, z.AnyZodObject> = {}
17
- protected readonly responseSchemas: Record<string, z.AnyZodObject> = {}
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 & string,
26
+ TMethod extends keyof T,
26
27
  >(
27
28
  method: TMethod,
28
- params?: z.infer<T[TMethod]['params']['to']>,
29
- ): Promise<z.infer<T[TMethod]['result']['from']>> {
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
- requestSchema = createRequestSchema(method, schema.params.to)
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: JsonRpcRequest = {
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 & string,
7
+ TMethod extends keyof TSchemas,
8
8
  >(
9
9
  method: TMethod,
10
- params?: z.infer<TSchemas[TMethod]['params']['to']>
11
- ): Promise<z.infer<TSchemas[TMethod]['result']['from']>>
10
+ params?: z.input<TSchemas[TMethod]['params']['to']>
11
+ ): Promise<z.output<TSchemas[TMethod]['result']['from']>>
12
12
  }