@asyncswap/jsonrpc 0.4.11 → 0.4.13

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 (44) hide show
  1. package/dist/base.d.ts +5 -2
  2. package/dist/base.d.ts.map +1 -1
  3. package/dist/base.js.map +1 -1
  4. package/dist/client.d.ts +2 -1
  5. package/dist/client.d.ts.map +1 -1
  6. package/dist/client.js.map +1 -1
  7. package/dist/index.d.ts +1 -0
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +1 -0
  10. package/dist/index.js.map +1 -1
  11. package/dist/server.d.ts +2 -1
  12. package/dist/server.d.ts.map +1 -1
  13. package/dist/server.js.map +1 -1
  14. package/dist/types/base.d.ts +9 -0
  15. package/dist/types/base.d.ts.map +1 -0
  16. package/dist/types/base.js +1 -0
  17. package/dist/types/base.js.map +1 -0
  18. package/dist/types/index.d.ts +4 -0
  19. package/dist/types/index.d.ts.map +1 -0
  20. package/dist/types/index.js +4 -0
  21. package/dist/types/index.js.map +1 -0
  22. package/dist/types/request.d.ts +8 -0
  23. package/dist/types/request.d.ts.map +1 -0
  24. package/dist/types/request.js +1 -0
  25. package/dist/types/request.js.map +1 -0
  26. package/dist/types/response.d.ts +18 -0
  27. package/dist/types/response.d.ts.map +1 -0
  28. package/dist/types/response.js +1 -0
  29. package/dist/types/response.js.map +1 -0
  30. package/package.json +5 -1
  31. package/src/base.ts +7 -5
  32. package/src/client.ts +2 -1
  33. package/src/index.ts +1 -0
  34. package/src/server.ts +2 -1
  35. package/src/types/base.ts +9 -0
  36. package/src/types/index.ts +3 -0
  37. package/src/types/request.ts +8 -0
  38. package/src/types/response.ts +22 -0
  39. package/CHANGELOG.md +0 -94
  40. package/example.ts +0 -39
  41. package/src/types/base.d.ts +0 -5
  42. package/src/types/request.d.ts +0 -15
  43. package/src/types/response.d.ts +0 -24
  44. package/tsconfig.json +0 -33
package/dist/base.d.ts CHANGED
@@ -1,6 +1,9 @@
1
1
  import { JsonRpcClient } from "./client";
2
- export declare abstract class BaseClient<MethodsSpec extends RpcSpecBase> {
3
- rpc: JsonRpcClient<MethodsSpec>;
2
+ export declare abstract class BaseClient<Spec extends Record<string, {
3
+ params: unknown[];
4
+ result: unknown;
5
+ }>> {
6
+ rpc: JsonRpcClient<Spec>;
4
7
  protected headers: Record<string, string>;
5
8
  constructor(url: string);
6
9
  withHeaders(headers: Record<string, string>): this;
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,8BAAsB,UAAU,CAAC,WAAW,SAAS,WAAW;IAC/D,GAAG,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAChC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;gBAEnC,GAAG,EAAE,MAAM;IA8BvB,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAM3C"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,8BAAsB,UAAU,CAC/B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;IAEnE,GAAG,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IACzB,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;gBAEnC,GAAG,EAAE,MAAM;IA8BvB,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAM3C"}
package/dist/base.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,OAAgB,UAAU;IAC/B,GAAG,CAA6B;IACtB,OAAO,GAA2B,EAAE,CAAC;IAE/C,YAAY,GAAW;QACtB,IAAI,CAAC,GAAG,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;QAElC,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE;YACtB,GAAG,EAAE,CAAC,MAAY,EAAE,IAAqB,EAAE,QAAQ,EAAE,EAAE;gBACtD,wCAAwC;gBACxC,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;oBACpB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAClD,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;wBACjC,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;4BACzB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;4BACzC,iDAAiD;4BACjD,OAAO,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;wBAC9C,CAAC,CAAC;oBACH,CAAC;oBACD,OAAO,KAAK,CAAC;gBACd,CAAC;gBACD,cAAc;gBACd,IAAI,OAAO,IAAI,KAAK,QAAQ;oBAAE,OAAO,SAAS,CAAC;gBAE/C,MAAM,MAAM,GAAG,IAAyB,CAAC;gBAEzC,OAAO,CACN,GAAG,MAA4C,EACR,EAAE,CACzC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACrE,CAAC;SACD,CAAC,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,OAA+B;QAC1C,IAAI,CAAC,OAAO,GAAG;YACd,GAAG,OAAO;SACV,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;CACD"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,OAAgB,UAAU;IAG/B,GAAG,CAAsB;IACf,OAAO,GAA2B,EAAE,CAAC;IAE/C,YAAY,GAAW;QACtB,IAAI,CAAC,GAAG,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;QAElC,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE;YACtB,GAAG,EAAE,CAAC,MAAY,EAAE,IAAqB,EAAE,QAAQ,EAAE,EAAE;gBACtD,wCAAwC;gBACxC,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;oBACpB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAClD,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;wBACjC,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;4BACzB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;4BACzC,iDAAiD;4BACjD,OAAO,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;wBAC9C,CAAC,CAAC;oBACH,CAAC;oBACD,OAAO,KAAK,CAAC;gBACd,CAAC;gBACD,cAAc;gBACd,IAAI,OAAO,IAAI,KAAK,QAAQ;oBAAE,OAAO,SAAS,CAAC;gBAE/C,MAAM,MAAM,GAAG,IAAkB,CAAC;gBAElC,OAAO,CACN,GAAG,MAAqC,EACR,EAAE,CAClC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACrE,CAAC;SACD,CAAC,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,OAA+B;QAC1C,IAAI,CAAC,OAAO,GAAG;YACd,GAAG,OAAO;SACV,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;CACD"}
package/dist/client.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- export declare class JsonRpcClient<MethodsSpec extends RpcSpecBase> {
1
+ import type { JsonRpcRequest, SpecBase } from "./types";
2
+ export declare class JsonRpcClient<MethodsSpec extends SpecBase> {
2
3
  private url;
3
4
  private id;
4
5
  constructor(url: string);
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAEA,qBAAa,aAAa,CAAC,WAAW,SAAS,WAAW;IAG7C,OAAO,CAAC,GAAG;IAFvB,OAAO,CAAC,EAAE,CAAK;gBAEK,GAAG,EAAE,MAAM;IAEzB,IAAI,CAAC,MAAM,SAAS,MAAM,WAAW,EAAE,MAAM,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EACzE,OAAO,EACJ,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,GACrD,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,EAC1D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC;IAgBjC,YAAY,CAAC,MAAM,SAAS,MAAM,WAAW,EAC5C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GACnC,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;YAS1C,OAAO;IAoCf,MAAM,CAAC,MAAM,SAAS,MAAM,WAAW,EAC5C,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;CAavC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAmB,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEzE,qBAAa,aAAa,CAAC,WAAW,SAAS,QAAQ;IAG1C,OAAO,CAAC,GAAG;IAFvB,OAAO,CAAC,EAAE,CAAK;gBAEK,GAAG,EAAE,MAAM;IAEzB,IAAI,CAAC,MAAM,SAAS,MAAM,WAAW,EAAE,MAAM,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EACzE,OAAO,EACJ,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,GACrD,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,EAC1D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC;IAgBjC,YAAY,CAAC,MAAM,SAAS,MAAM,WAAW,EAC5C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GACnC,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;YAS1C,OAAO;IAoCf,MAAM,CAAC,MAAM,SAAS,MAAM,WAAW,EAC5C,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;CAavC"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,OAAO,aAAa;IAGL;IAFZ,EAAE,GAAG,CAAC,CAAC;IAEf,YAAoB,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;IAAI,CAAC;IAEpC,KAAK,CAAC,IAAI,CACT,OAE0D,EAC1D,OAAgC;QAEhC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtD,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;YACzB,OAAO,QAAQ,CAAC,KAAU,CAAC;QAC5B,CAAC;QACD,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAC1B,OAAO,QAAQ,CAAC,MAAgB,CAAC;QAClC,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,QAAoB,CAAC;QAC7B,CAAC;aAAM,CAAC;YACP,2CAA2C;YAC3C,OAAO,QAAQ,CAAC;QACjB,CAAC;IACF,CAAC;IAED,YAAY,CACX,MAAc,EACd,MAAqC;QAErC,OAAO;YACN,OAAO,EAAE,KAAK;YACd,MAAM;YACN,MAAM;YACN,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE;SACb,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,OAAO,CACpB,GAE0D,EAC1D,aAAsC;QAItC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI,CAAC;YACJ,MAAM,OAAO,GAA2B;gBACvC,cAAc,EAAE,kBAAkB;gBAClC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC;aACxB,CAAC;YACF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;gBACjC,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;gBACzB,MAAM,EAAE,UAAU,CAAC,MAAM;aACzB,CAAC,CAAC;YAEH,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAEa,CAAC;QACvC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,OAAO;gBACN,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACN,IAAI,EAAE,gBAAgB,CAAC,cAAc;oBACrC,OAAO,EAAE,mBAAmB,GAAG,EAAE;iBACjC;gBACD,EAAE,EAAE,IAAI;aACR,CAAC;QACH,CAAC;IACF,CAAC;IAED,KAAK,CAAC,MAAM,CACX,MAAc,EACd,MAAsC;QAEtC,MAAM,OAAO,GAA0D;YACtE,OAAO,EAAE,KAAK;YACd,MAAM;YACN,MAAM;SACN,CAAC;QACF,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;YACrB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAC7B,CAAC,CAAC;IACJ,CAAC;CACD"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG3C,MAAM,OAAO,aAAa;IAGL;IAFZ,EAAE,GAAG,CAAC,CAAC;IAEf,YAAoB,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;IAAI,CAAC;IAEpC,KAAK,CAAC,IAAI,CACT,OAE0D,EAC1D,OAAgC;QAEhC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtD,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;YACzB,OAAO,QAAQ,CAAC,KAAU,CAAC;QAC5B,CAAC;QACD,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAC1B,OAAO,QAAQ,CAAC,MAAgB,CAAC;QAClC,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,QAAoB,CAAC;QAC7B,CAAC;aAAM,CAAC;YACP,2CAA2C;YAC3C,OAAO,QAAQ,CAAC;QACjB,CAAC;IACF,CAAC;IAED,YAAY,CACX,MAAc,EACd,MAAqC;QAErC,OAAO;YACN,OAAO,EAAE,KAAK;YACd,MAAM;YACN,MAAM;YACN,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE;SACb,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,OAAO,CACpB,GAE0D,EAC1D,aAAsC;QAItC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI,CAAC;YACJ,MAAM,OAAO,GAA2B;gBACvC,cAAc,EAAE,kBAAkB;gBAClC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC;aACxB,CAAC;YACF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;gBACjC,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;gBACzB,MAAM,EAAE,UAAU,CAAC,MAAM;aACzB,CAAC,CAAC;YAEH,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAEa,CAAC;QACvC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,OAAO;gBACN,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACN,IAAI,EAAE,gBAAgB,CAAC,cAAc;oBACrC,OAAO,EAAE,mBAAmB,GAAG,EAAE;iBACjC;gBACD,EAAE,EAAE,IAAI;aACR,CAAC;QACH,CAAC;IACF,CAAC;IAED,KAAK,CAAC,MAAM,CACX,MAAc,EACd,MAAsC;QAEtC,MAAM,OAAO,GAA0D;YACtE,OAAO,EAAE,KAAK;YACd,MAAM;YACN,MAAM;SACN,CAAC;QACF,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;YACrB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAC7B,CAAC,CAAC;IACJ,CAAC;CACD"}
package/dist/index.d.ts CHANGED
@@ -2,4 +2,5 @@ export * from "./base";
2
2
  export * from "./client";
3
3
  export * from "./error";
4
4
  export * from "./server";
5
+ export * from "./types";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -2,4 +2,5 @@ export * from "./base";
2
2
  export * from "./client";
3
3
  export * from "./error";
4
4
  export * from "./server";
5
+ export * from "./types";
5
6
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
package/dist/server.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import { JsonRpcErrorCode } from "./error";
2
+ import type { JsonRpcResponse, SpecBase } from "./types";
2
3
  type RpcParams = readonly unknown[] | undefined;
3
4
  export type Handler<Params extends RpcParams, Result> = (params: Params) => Promise<Result>;
4
- export declare class JsonRpcServer<MethodsSpec extends RpcSpecBase> {
5
+ export declare class JsonRpcServer<MethodsSpec extends SpecBase> {
5
6
  private methods;
6
7
  register<Method extends keyof MethodsSpec, Params extends MethodsSpec[Method]["params"], Result>(method: Method, handler: Handler<Params, Result>): void;
7
8
  handle<Method extends keyof MethodsSpec, Params extends MethodsSpec[Method]["params"], Result>(raw: unknown): Promise<JsonRpcResponse<Result, JsonRpcErrorCode | number> | JsonRpcResponse<Result, JsonRpcErrorCode | number>[] | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,KAAK,SAAS,GAAG,SAAS,OAAO,EAAE,GAAG,SAAS,CAAC;AAEhD,MAAM,MAAM,OAAO,CAAC,MAAM,SAAS,SAAS,EAAE,MAAM,IAAI,CACvD,MAAM,EAAE,MAAM,KACV,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,qBAAa,aAAa,CAAC,WAAW,SAAS,WAAW;IACzD,OAAO,CAAC,OAAO,CAGX;IAEJ,QAAQ,CACP,MAAM,SAAS,MAAM,WAAW,EAChC,MAAM,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAC5C,MAAM,EACL,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;IAI5C,MAAM,CACX,MAAM,SAAS,MAAM,WAAW,EAChC,MAAM,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAC5C,MAAM,EAEN,GAAG,EAAE,OAAO,GACV,OAAO,CACP,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAAC,GAClD,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAAC,EAAE,GACpD,IAAI,CACN;IAsED,OAAO,CAAC,KAAK;CAgBb"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAkB,eAAe,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEzE,KAAK,SAAS,GAAG,SAAS,OAAO,EAAE,GAAG,SAAS,CAAC;AAEhD,MAAM,MAAM,OAAO,CAAC,MAAM,SAAS,SAAS,EAAE,MAAM,IAAI,CACvD,MAAM,EAAE,MAAM,KACV,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,qBAAa,aAAa,CAAC,WAAW,SAAS,QAAQ;IACtD,OAAO,CAAC,OAAO,CAGX;IAEJ,QAAQ,CACP,MAAM,SAAS,MAAM,WAAW,EAChC,MAAM,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAC5C,MAAM,EACL,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;IAI5C,MAAM,CACX,MAAM,SAAS,MAAM,WAAW,EAChC,MAAM,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAC5C,MAAM,EAEN,GAAG,EAAE,OAAO,GACV,OAAO,CACP,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAAC,GAClD,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAAC,EAAE,GACpD,IAAI,CACN;IAsED,OAAO,CAAC,KAAK;CAgBb"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export type JsonRpcId = string | number | null;
2
+ export type SpecBase = Record<string, {
3
+ params: unknown[];
4
+ result: unknown;
5
+ }>;
6
+ export type RpcSpec<Spec extends SpecBase> = {
7
+ [Method in keyof Spec]: (...params: Spec[Method]["params"]) => Promise<Spec[Method]["result"]>;
8
+ };
9
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/types/base.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAE/C,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAE9E,MAAM,MAAM,OAAO,CAAC,IAAI,SAAS,QAAQ,IAAI;KAC3C,MAAM,IAAI,MAAM,IAAI,GAAG,CACvB,GAAG,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAC7B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;CACpC,CAAC"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/types/base.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export * from "./base";
2
+ export * from "./request";
3
+ export * from "./response";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./base";
2
+ export * from "./request";
3
+ export * from "./response";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { JsonRpcId } from "./base";
2
+ export interface JsonRpcRequest<Method, Params extends readonly unknown[]> {
3
+ jsonrpc: "2.0";
4
+ method: Method;
5
+ params?: Params;
6
+ id?: JsonRpcId;
7
+ }
8
+ //# sourceMappingURL=request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/types/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,MAAM,WAAW,cAAc,CAAC,MAAM,EAAE,MAAM,SAAS,SAAS,OAAO,EAAE;IACxE,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,SAAS,CAAC;CACf"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/types/request.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import type { JsonRpcId } from "./base";
2
+ export interface JsonRpcSuccess<Result> {
3
+ jsonrpc: "2.0";
4
+ result: Result;
5
+ id: JsonRpcId;
6
+ }
7
+ export interface JsonRpcError<ErrorCode> {
8
+ jsonrpc: "2.0";
9
+ error: JsonRpcErrorObject<ErrorCode>;
10
+ id: JsonRpcId;
11
+ }
12
+ export interface JsonRpcErrorObject<ErrorCode> {
13
+ code: ErrorCode;
14
+ message: string;
15
+ data?: unknown;
16
+ }
17
+ export type JsonRpcResponse<Result, ErrorCode> = JsonRpcSuccess<Result> | JsonRpcError<ErrorCode>;
18
+ //# sourceMappingURL=response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/types/response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,MAAM,WAAW,cAAc,CAAC,MAAM;IACrC,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,SAAS,CAAC;CACd;AAED,MAAM,WAAW,YAAY,CAAC,SAAS;IACtC,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACrC,EAAE,EAAE,SAAS,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB,CAAC,SAAS;IAC5C,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AACD,MAAM,MAAM,eAAe,CAAC,MAAM,EAAE,SAAS,IAC1C,cAAc,CAAC,MAAM,CAAC,GACtB,YAAY,CAAC,SAAS,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/types/response.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@asyncswap/jsonrpc",
3
3
  "description": "A minimal jsonrpc spec implementation.",
4
4
  "author": "Meek Msaki",
5
- "version": "0.4.11",
5
+ "version": "0.4.13",
6
6
  "license": "MIT",
7
7
  "main": "dist/index.js",
8
8
  "module": "dist/index.mjs",
@@ -13,6 +13,10 @@
13
13
  "rpc",
14
14
  "bun"
15
15
  ],
16
+ "files": [
17
+ "dist",
18
+ "src"
19
+ ],
16
20
  "homepage": "https://github.com/asyncswap/eth-libs/tree/main/packages/jsonrpc",
17
21
  "repository": {
18
22
  "type": "git",
package/src/base.ts CHANGED
@@ -1,7 +1,9 @@
1
1
  import { JsonRpcClient } from "./client";
2
2
 
3
- export abstract class BaseClient<MethodsSpec extends RpcSpecBase> {
4
- rpc: JsonRpcClient<MethodsSpec>;
3
+ export abstract class BaseClient<
4
+ Spec extends Record<string, { params: unknown[]; result: unknown }>,
5
+ > {
6
+ rpc: JsonRpcClient<Spec>;
5
7
  protected headers: Record<string, string> = {};
6
8
 
7
9
  constructor(url: string) {
@@ -24,11 +26,11 @@ export abstract class BaseClient<MethodsSpec extends RpcSpecBase> {
24
26
  // dynamic rpc
25
27
  if (typeof prop !== "string") return undefined;
26
28
 
27
- const method = prop as keyof MethodsSpec;
29
+ const method = prop as keyof Spec;
28
30
 
29
31
  return (
30
- ...params: MethodsSpec[typeof method]["params"]
31
- ): MethodsSpec[typeof method]["result"] =>
32
+ ...params: Spec[typeof method]["params"]
33
+ ): Spec[typeof method]["result"] =>
32
34
  this.rpc.call(this.rpc.buildRequest(method, params), this.headers);
33
35
  },
34
36
  });
package/src/client.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { JsonRpcErrorCode } from "./error";
2
+ import type { JsonRpcRequest, JsonRpcResponse, SpecBase } from "./types";
2
3
 
3
- export class JsonRpcClient<MethodsSpec extends RpcSpecBase> {
4
+ export class JsonRpcClient<MethodsSpec extends SpecBase> {
4
5
  private id = 0;
5
6
 
6
7
  constructor(private url: string) { }
package/src/index.ts CHANGED
@@ -2,3 +2,4 @@ export * from "./base";
2
2
  export * from "./client";
3
3
  export * from "./error";
4
4
  export * from "./server";
5
+ export * from "./types";
package/src/server.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { JsonRpcErrorCode } from "./error";
2
+ import type { JsonRpcRequest, JsonRpcResponse, SpecBase } from "./types";
2
3
 
3
4
  type RpcParams = readonly unknown[] | undefined;
4
5
 
@@ -6,7 +7,7 @@ export type Handler<Params extends RpcParams, Result> = (
6
7
  params: Params,
7
8
  ) => Promise<Result>;
8
9
 
9
- export class JsonRpcServer<MethodsSpec extends RpcSpecBase> {
10
+ export class JsonRpcServer<MethodsSpec extends SpecBase> {
10
11
  private methods = new Map<
11
12
  keyof MethodsSpec,
12
13
  Handler<MethodsSpec[keyof MethodsSpec]["params"], any>
@@ -0,0 +1,9 @@
1
+ export type JsonRpcId = string | number | null;
2
+
3
+ export type SpecBase = Record<string, { params: unknown[]; result: unknown }>;
4
+
5
+ export type RpcSpec<Spec extends SpecBase> = {
6
+ [Method in keyof Spec]: (
7
+ ...params: Spec[Method]["params"]
8
+ ) => Promise<Spec[Method]["result"]>;
9
+ };
@@ -0,0 +1,3 @@
1
+ export * from "./base";
2
+ export * from "./request";
3
+ export * from "./response";
@@ -0,0 +1,8 @@
1
+ import type { JsonRpcId } from "./base";
2
+
3
+ export interface JsonRpcRequest<Method, Params extends readonly unknown[]> {
4
+ jsonrpc: "2.0";
5
+ method: Method;
6
+ params?: Params;
7
+ id?: JsonRpcId;
8
+ }
@@ -0,0 +1,22 @@
1
+ import type { JsonRpcId } from "./base";
2
+
3
+ export interface JsonRpcSuccess<Result> {
4
+ jsonrpc: "2.0";
5
+ result: Result;
6
+ id: JsonRpcId;
7
+ }
8
+
9
+ export interface JsonRpcError<ErrorCode> {
10
+ jsonrpc: "2.0";
11
+ error: JsonRpcErrorObject<ErrorCode>;
12
+ id: JsonRpcId;
13
+ }
14
+
15
+ export interface JsonRpcErrorObject<ErrorCode> {
16
+ code: ErrorCode;
17
+ message: string;
18
+ data?: unknown;
19
+ }
20
+ export type JsonRpcResponse<Result, ErrorCode> =
21
+ | JsonRpcSuccess<Result>
22
+ | JsonRpcError<ErrorCode>;
package/CHANGELOG.md DELETED
@@ -1,94 +0,0 @@
1
- # @asyncswap/jsonrpc
2
-
3
- ## 0.4.11
4
-
5
- ### Patch Changes
6
-
7
- - 2f7dece: fixes build
8
-
9
- ## 0.4.10
10
-
11
- ### Patch Changes
12
-
13
- - 69a2d7e: patch types updates
14
-
15
- ## 0.4.9
16
-
17
- ### Patch Changes
18
-
19
- - dc792b1: (refactor): change to `withHeaders` option and update BaseClient source
20
-
21
- ## 0.4.8
22
-
23
- ### Patch Changes
24
-
25
- - e9fc1df: remove biome dep
26
-
27
- ## 0.4.7
28
-
29
- ### Patch Changes
30
-
31
- - 882f94f: new params typing
32
-
33
- ## 0.4.6
34
-
35
- ### Patch Changes
36
-
37
- - 07c284d: update handle type
38
-
39
- ## 0.4.5
40
-
41
- ### Patch Changes
42
-
43
- - 0d61f89: simplify method type and export error codes
44
-
45
- ## 0.4.4
46
-
47
- ### Patch Changes
48
-
49
- - f7d28d9: (fix): error code now generated in build
50
-
51
- ## 0.4.3
52
-
53
- ### Patch Changes
54
-
55
- - 40a79dc: add support for batcing and streamlined error methods
56
-
57
- ## 0.4.2
58
-
59
- ### Patch Changes
60
-
61
- - 9512db5: update documentation
62
-
63
- ## 0.4.0
64
-
65
- ### Minor Changes
66
-
67
- - 7e8300c: changes api for jsonrpc construction
68
-
69
- ### Patch Changes
70
-
71
- - 43de065: update docs
72
- - 7126afa: add `otherHeaders` to initializedClient calls
73
-
74
- ## 0.3.1
75
-
76
- ### Patch Changes
77
-
78
- - 1c3a46e: fix example
79
-
80
- ## 0.3.0
81
-
82
- ### Minor Changes
83
-
84
- - dc1718c: refactor of types dir to global types
85
- - 00ba692: - Converts error codes as enums
86
- - Uses generic types on rpc request and response methods, and results
87
- - 07dc4e5: improve docs example and updates to build config
88
-
89
- ### Patch Changes
90
-
91
- - e15733c: update scripts and make changeset in monorepo
92
- - e3ac747: patch
93
- - abddcdc: add source map to typescript build build
94
- - ded3e6b: update
package/example.ts DELETED
@@ -1,39 +0,0 @@
1
- import { JsonRpcServer } from "./src";
2
-
3
- const server = new JsonRpcServer();
4
-
5
- server.register("eth_add", async ([a, b]: [number, number]) => a + b);
6
- server.register("eth_ping", async () => "pong");
7
-
8
- Bun.serve({
9
- port: 4444,
10
- async fetch(req) {
11
- if (req.method !== "POST") {
12
- return new Response("JSON-RPC only", { status: 405 });
13
- }
14
- const payload = await req.json();
15
- const response = await server.handle(payload);
16
- if (!response) {
17
- return new Response(null, { status: 204 });
18
- }
19
- return Response.json(response);
20
- },
21
- });
22
-
23
- console.log("JSON-RPC running on http://localhost:4444");
24
-
25
- import { JsonRpcClient } from "./src";
26
-
27
- const url = "http://localhost:4444";
28
- const client = new JsonRpcClient(url);
29
- const result = await client.call(client.buildRequest("eth_ping", []));
30
- console.log(result); // pong
31
-
32
- const response = await server.handle({
33
- jsonrpc: "2.0",
34
- method: "eth_add",
35
- params: [2, 3],
36
- id: 1,
37
- });
38
-
39
- console.log(response); // { jsonrpc: '2.0', result: 5, id: 1 }
@@ -1,5 +0,0 @@
1
- declare global {
2
- export type JsonRpcId = string | number | null;
3
- }
4
-
5
- export { };
@@ -1,15 +0,0 @@
1
- declare global {
2
- export type RpcSpecBase = Record<
3
- string,
4
- { params: readonly unknown[]; result: unknown }
5
- >;
6
-
7
- export interface JsonRpcRequest<Method, Params extends readonly unknown[]> {
8
- jsonrpc: "2.0";
9
- method: Method;
10
- params?: Params;
11
- id?: JsonRpcId;
12
- }
13
- }
14
-
15
- export { };
@@ -1,24 +0,0 @@
1
- declare global {
2
- export interface JsonRpcSuccess<Result> {
3
- jsonrpc: "2.0";
4
- result: Result;
5
- id: JsonRpcId;
6
- }
7
-
8
- export interface JsonRpcError<ErrorCode> {
9
- jsonrpc: "2.0";
10
- error: JsonRpcErrorObject<ErrorCode>;
11
- id: JsonRpcId;
12
- }
13
-
14
- export interface JsonRpcErrorObject<ErrorCode> {
15
- code: ErrorCode;
16
- message: string;
17
- data?: unknown;
18
- }
19
- export type JsonRpcResponse<Result, ErrorCode> =
20
- | JsonRpcSuccess<Result>
21
- | JsonRpcError<ErrorCode>;
22
- }
23
-
24
- export { };
package/tsconfig.json DELETED
@@ -1,33 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- // Environment setup & latest features
4
- "lib": ["ESNext"],
5
- "target": "ESNext",
6
- "module": "Preserve",
7
- "moduleDetection": "force",
8
- "jsx": "react-jsx",
9
- "allowJs": true,
10
- // Bundler mode
11
- "sourceMap": true,
12
- "declaration": true,
13
- "declarationMap": true,
14
- "moduleResolution": "bundler",
15
- "outDir": "dist",
16
- "rootDir": "src",
17
- "allowImportingTsExtensions": false,
18
- "verbatimModuleSyntax": true,
19
- "noEmit": false,
20
- // Best practices
21
- "strict": true,
22
- "skipLibCheck": true,
23
- "noFallthroughCasesInSwitch": true,
24
- "noUncheckedIndexedAccess": true,
25
- "noImplicitOverride": true,
26
- // Some stricter flags (disabled by default)
27
- "noUnusedLocals": false,
28
- "noUnusedParameters": false,
29
- "noPropertyAccessFromIndexSignature": false
30
- },
31
- "include": ["src/**/*"],
32
- "exclude": ["example.ts"]
33
- }