@xyo-network/xl1-rpc 1.7.17 → 1.7.19

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 (116) hide show
  1. package/dist/neutral/index.mjs +225 -251
  2. package/dist/neutral/index.mjs.map +1 -1
  3. package/dist/neutral/provider/client/MemoryXyoClient.d.ts +4 -5
  4. package/dist/neutral/provider/client/MemoryXyoClient.d.ts.map +1 -1
  5. package/dist/neutral/provider/client/PermissionsStore/MemoryPermissionsStore.d.ts.map +1 -0
  6. package/dist/neutral/provider/client/PermissionsStore/PermissionsStore.d.ts.map +1 -0
  7. package/dist/neutral/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +1 -0
  8. package/dist/neutral/provider/client/PermissionsStore/index.d.ts.map +1 -0
  9. package/dist/neutral/provider/client/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map +1 -0
  10. package/dist/neutral/provider/client/index.d.ts +1 -1
  11. package/dist/neutral/provider/client/index.d.ts.map +1 -1
  12. package/dist/neutral/provider/host/Abstract.d.ts +9 -7
  13. package/dist/neutral/provider/host/Abstract.d.ts.map +1 -1
  14. package/dist/neutral/provider/host/MemoryXyoGateway.d.ts +5 -17
  15. package/dist/neutral/provider/host/MemoryXyoGateway.d.ts.map +1 -1
  16. package/dist/neutral/provider/host/index.d.ts +0 -2
  17. package/dist/neutral/provider/host/index.d.ts.map +1 -1
  18. package/dist/neutral/provider/index.d.ts +1 -0
  19. package/dist/neutral/provider/index.d.ts.map +1 -1
  20. package/dist/neutral/provider/provider/RpcXyoConnection.d.ts +0 -3
  21. package/dist/neutral/provider/provider/RpcXyoConnection.d.ts.map +1 -1
  22. package/dist/neutral/provider/provider/confirmSubmittedTransaction.d.ts +21 -0
  23. package/dist/neutral/provider/provider/confirmSubmittedTransaction.d.ts.map +1 -0
  24. package/dist/neutral/provider/provider/index.d.ts +1 -0
  25. package/dist/neutral/provider/provider/index.d.ts.map +1 -1
  26. package/dist/neutral/types/XyoGatewayRpc.d.ts +1 -1
  27. package/dist/neutral/types/XyoGatewayRpc.d.ts.map +1 -1
  28. package/dist/neutral/types/schema/XyoGatewayRpcSchemas.d.ts.map +1 -1
  29. package/dist/neutral/types/schema/common/JsonSchema.d.ts +7 -0
  30. package/dist/neutral/types/schema/common/JsonSchema.d.ts.map +1 -0
  31. package/dist/neutral/types/schema/common/index.d.ts +1 -0
  32. package/dist/neutral/types/schema/common/index.d.ts.map +1 -1
  33. package/dist/node/index-node.mjs +223 -249
  34. package/dist/node/index-node.mjs.map +1 -1
  35. package/dist/node/provider/client/MemoryXyoClient.d.ts +4 -5
  36. package/dist/node/provider/client/MemoryXyoClient.d.ts.map +1 -1
  37. package/dist/node/provider/client/PermissionsStore/MemoryPermissionsStore.d.ts.map +1 -0
  38. package/dist/node/provider/client/PermissionsStore/PermissionsStore.d.ts.map +1 -0
  39. package/dist/node/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +1 -0
  40. package/dist/node/provider/client/PermissionsStore/index.d.ts.map +1 -0
  41. package/dist/node/provider/client/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map +1 -0
  42. package/dist/node/provider/client/index.d.ts +1 -1
  43. package/dist/node/provider/client/index.d.ts.map +1 -1
  44. package/dist/node/provider/host/Abstract.d.ts +9 -7
  45. package/dist/node/provider/host/Abstract.d.ts.map +1 -1
  46. package/dist/node/provider/host/MemoryXyoGateway.d.ts +5 -17
  47. package/dist/node/provider/host/MemoryXyoGateway.d.ts.map +1 -1
  48. package/dist/node/provider/host/index.d.ts +0 -2
  49. package/dist/node/provider/host/index.d.ts.map +1 -1
  50. package/dist/node/provider/index.d.ts +1 -0
  51. package/dist/node/provider/index.d.ts.map +1 -1
  52. package/dist/node/provider/provider/RpcXyoConnection.d.ts +0 -3
  53. package/dist/node/provider/provider/RpcXyoConnection.d.ts.map +1 -1
  54. package/dist/node/provider/provider/confirmSubmittedTransaction.d.ts +21 -0
  55. package/dist/node/provider/provider/confirmSubmittedTransaction.d.ts.map +1 -0
  56. package/dist/node/provider/provider/index.d.ts +1 -0
  57. package/dist/node/provider/provider/index.d.ts.map +1 -1
  58. package/dist/node/types/XyoGatewayRpc.d.ts +1 -1
  59. package/dist/node/types/XyoGatewayRpc.d.ts.map +1 -1
  60. package/dist/node/types/schema/XyoGatewayRpcSchemas.d.ts.map +1 -1
  61. package/dist/node/types/schema/common/JsonSchema.d.ts +7 -0
  62. package/dist/node/types/schema/common/JsonSchema.d.ts.map +1 -0
  63. package/dist/node/types/schema/common/index.d.ts +1 -0
  64. package/dist/node/types/schema/common/index.d.ts.map +1 -1
  65. package/package.json +36 -35
  66. package/src/provider/client/MemoryXyoClient.ts +7 -6
  67. package/src/provider/client/PermissionsStore/getPermissionsStoreFromTransport.ts +12 -0
  68. package/src/provider/client/index.ts +1 -1
  69. package/src/provider/client/spec/MemoryXyoClient.spec.ts +13 -10
  70. package/src/provider/host/Abstract.ts +28 -7
  71. package/src/provider/host/MemoryXyoGateway.ts +8 -70
  72. package/src/provider/host/index.ts +0 -2
  73. package/src/provider/host/spec/MemoryXyoGateway.spec.ts +9 -50
  74. package/src/provider/index.ts +1 -0
  75. package/src/provider/provider/RpcXyoConnection.ts +0 -11
  76. package/src/provider/provider/confirmSubmittedTransaction.ts +55 -0
  77. package/src/provider/provider/index.ts +1 -0
  78. package/src/types/XyoGatewayRpc.ts +1 -1
  79. package/src/types/schema/XyoGatewayRpcSchemas.ts +2 -0
  80. package/src/types/schema/common/JsonSchema.ts +19 -0
  81. package/src/types/schema/common/index.ts +1 -0
  82. package/dist/neutral/provider/client/XyoClient.d.ts +0 -6
  83. package/dist/neutral/provider/client/XyoClient.d.ts.map +0 -1
  84. package/dist/neutral/provider/host/JsonRpcXyoGateway.d.ts +0 -16
  85. package/dist/neutral/provider/host/JsonRpcXyoGateway.d.ts.map +0 -1
  86. package/dist/neutral/provider/host/PermissionsStore/MemoryPermissionsStore.d.ts.map +0 -1
  87. package/dist/neutral/provider/host/PermissionsStore/PermissionsStore.d.ts.map +0 -1
  88. package/dist/neutral/provider/host/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +0 -1
  89. package/dist/neutral/provider/host/PermissionsStore/index.d.ts.map +0 -1
  90. package/dist/neutral/provider/host/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map +0 -1
  91. package/dist/node/provider/client/XyoClient.d.ts +0 -6
  92. package/dist/node/provider/client/XyoClient.d.ts.map +0 -1
  93. package/dist/node/provider/host/JsonRpcXyoGateway.d.ts +0 -16
  94. package/dist/node/provider/host/JsonRpcXyoGateway.d.ts.map +0 -1
  95. package/dist/node/provider/host/PermissionsStore/MemoryPermissionsStore.d.ts.map +0 -1
  96. package/dist/node/provider/host/PermissionsStore/PermissionsStore.d.ts.map +0 -1
  97. package/dist/node/provider/host/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +0 -1
  98. package/dist/node/provider/host/PermissionsStore/index.d.ts.map +0 -1
  99. package/dist/node/provider/host/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map +0 -1
  100. package/src/provider/client/XyoClient.ts +0 -6
  101. package/src/provider/host/JsonRpcXyoGateway.ts +0 -41
  102. package/src/provider/host/PermissionsStore/getPermissionsStoreFromTransport.ts +0 -13
  103. /package/dist/neutral/provider/{host → client}/PermissionsStore/MemoryPermissionsStore.d.ts +0 -0
  104. /package/dist/neutral/provider/{host → client}/PermissionsStore/PermissionsStore.d.ts +0 -0
  105. /package/dist/neutral/provider/{host → client}/PermissionsStore/getPermissionsStoreFromTransport.d.ts +0 -0
  106. /package/dist/neutral/provider/{host → client}/PermissionsStore/index.d.ts +0 -0
  107. /package/dist/neutral/provider/{host → client}/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts +0 -0
  108. /package/dist/node/provider/{host → client}/PermissionsStore/MemoryPermissionsStore.d.ts +0 -0
  109. /package/dist/node/provider/{host → client}/PermissionsStore/PermissionsStore.d.ts +0 -0
  110. /package/dist/node/provider/{host → client}/PermissionsStore/getPermissionsStoreFromTransport.d.ts +0 -0
  111. /package/dist/node/provider/{host → client}/PermissionsStore/index.d.ts +0 -0
  112. /package/dist/node/provider/{host → client}/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts +0 -0
  113. /package/src/provider/{host → client}/PermissionsStore/MemoryPermissionsStore.ts +0 -0
  114. /package/src/provider/{host → client}/PermissionsStore/PermissionsStore.ts +0 -0
  115. /package/src/provider/{host → client}/PermissionsStore/index.ts +0 -0
  116. /package/src/provider/{host → client}/PermissionsStore/spec/MemoryPermissionsStore.spec.ts +0 -0
@@ -1,3 +1,3 @@
1
1
  export * from './MemoryXyoClient.ts';
2
- export * from './XyoClient.ts';
2
+ export * from './PermissionsStore/index.ts';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/provider/client/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/provider/client/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,6BAA6B,CAAA"}
@@ -1,13 +1,15 @@
1
1
  import type { Promisable } from '@xylabs/promise';
2
2
  import type { Payload } from '@xyo-network/payload-model';
3
- import type { AllowedBlockPayload, HydratedTransaction, InvokerPermission, Permission, XyoConnectionProvider, XyoGatewayProvider, XyoRpcConnectionConfig } from '@xyo-network/xl1-protocol';
3
+ import type { AllowedBlockPayload, HydratedTransaction, InvokerPermission, Permission, XyoConnectionProvider, XyoGatewayProvider, XyoRpcConnectionConfig, XyoSigner } from '@xyo-network/xl1-protocol';
4
4
  export declare abstract class AbstractXyoGateway implements XyoGatewayProvider {
5
+ activeConnection(): Promisable<XyoConnectionProvider | undefined>;
6
+ addConnection(config: XyoRpcConnectionConfig): Promisable<XyoConnectionProvider>;
7
+ connections(): Promisable<Record<string, XyoConnectionProvider>>;
8
+ getPermissions(): Promisable<InvokerPermission[]>;
9
+ requestPermissions(permissions: Permission[]): Promisable<boolean>;
10
+ revokePermissions(permissions: Permission[]): Promisable<boolean>;
5
11
  submitTransaction(elevatedPayloads: AllowedBlockPayload[], additionalPayloads: Payload[]): Promise<HydratedTransaction>;
6
- abstract activeConnection(): Promisable<XyoConnectionProvider | undefined>;
7
- abstract addConnection(config: XyoRpcConnectionConfig): Promisable<XyoConnectionProvider>;
8
- abstract connections(): Promisable<Record<string, XyoConnectionProvider>>;
9
- abstract getPermissions(): Promisable<InvokerPermission[]>;
10
- abstract requestPermissions(permissions: Permission[]): Promisable<boolean>;
11
- abstract revokePermissions(permissions: Permission[]): Promisable<boolean>;
12
+ abstract connection(): Promisable<XyoConnectionProvider>;
13
+ abstract signer(): Promisable<XyoSigner>;
12
14
  }
13
15
  //# sourceMappingURL=Abstract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Abstract.d.ts","sourceRoot":"","sources":["../../../../src/provider/host/Abstract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EAAE,UAAU,EAC7B,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,2BAA2B,CAAA;AAElC,8BAAsB,kBAAmB,YAAW,kBAAkB;IAC9D,iBAAiB,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,EAAE,kBAAkB,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAU7H,QAAQ,CAAC,gBAAgB,IAAI,UAAU,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAC1E,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,sBAAsB,GAAG,UAAU,CAAC,qBAAqB,CAAC;IACzF,QAAQ,CAAC,WAAW,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACzE,QAAQ,CAAC,cAAc,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC;IAC1D,QAAQ,CAAC,kBAAkB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC;IAC3E,QAAQ,CAAC,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC;CAC3E"}
1
+ {"version":3,"file":"Abstract.d.ts","sourceRoot":"","sources":["../../../../src/provider/host/Abstract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EAAE,UAAU,EAC7B,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,SAAS,EACV,MAAM,2BAA2B,CAAA;AAElC,8BAAsB,kBAAmB,YAAW,kBAAkB;IACpE,gBAAgB,IAAI,UAAU,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAIjE,aAAa,CAAC,MAAM,EAAE,sBAAsB,GAAG,UAAU,CAAC,qBAAqB,CAAC;IAIhF,WAAW,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAIhE,cAAc,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC;IAIjD,kBAAkB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC;IAIlE,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC;IAI3D,iBAAiB,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,EAAE,kBAAkB,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAU7H,QAAQ,CAAC,UAAU,IAAI,UAAU,CAAC,qBAAqB,CAAC;IACxD,QAAQ,CAAC,MAAM,IAAI,UAAU,CAAC,SAAS,CAAC;CACzC"}
@@ -1,22 +1,10 @@
1
- import type { Promisable } from '@xylabs/promise';
2
- import type { InvokerPermission, Permission, XyoConnectionProvider, XyoRpcConnectionConfig, XyoSigner } from '@xyo-network/xl1-protocol';
3
- import type { XyoConnection } from '../provider/index.ts';
1
+ import type { XyoConnectionProvider, XyoSigner } from '@xyo-network/xl1-protocol';
4
2
  import { AbstractXyoGateway } from './Abstract.ts';
5
- import type { PermissionsStore } from './PermissionsStore/index.ts';
6
3
  export declare class MemoryXyoGateway extends AbstractXyoGateway {
7
- private _activeConnectionId?;
8
- private readonly _connections;
9
- private readonly _permissionsStore;
4
+ private readonly _connection;
10
5
  private readonly _signer;
11
- constructor(signer: XyoSigner, permissionsStore: PermissionsStore);
12
- get signer(): XyoSigner;
13
- activeConnection(): XyoConnectionProvider | undefined;
14
- addConnection(config: XyoRpcConnectionConfig): Promisable<XyoConnectionProvider>;
15
- addConnection(name: string, connection: XyoConnection): Promisable<XyoConnectionProvider>;
16
- connections(): Promisable<Record<string, XyoConnectionProvider>>;
17
- getPermissions(): Promisable<InvokerPermission[]>;
18
- requestPermissions(permissions: Permission[]): Promisable<boolean>;
19
- revokePermissions(permissions: Permission[]): Promisable<boolean>;
20
- private setActiveConnectionIdIfUndefined;
6
+ constructor(signer: XyoSigner, connection: XyoConnectionProvider);
7
+ connection(): XyoConnectionProvider;
8
+ signer(): XyoSigner;
21
9
  }
22
10
  //# sourceMappingURL=MemoryXyoGateway.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryXyoGateway.d.ts","sourceRoot":"","sources":["../../../../src/provider/host/MemoryXyoGateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,EACV,iBAAiB,EAAE,UAAU,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,SAAS,EACxF,MAAM,2BAA2B,CAAA;AAElC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAEnE,qBAAa,gBAAiB,SAAQ,kBAAkB;IACtD,OAAO,CAAC,mBAAmB,CAAC,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgD;IAC7E,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkB;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAW;gBAEvB,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB;IAMjE,IAAI,MAAM,IAAI,SAAS,CAEtB;IAED,gBAAgB,IAAI,qBAAqB,GAAG,SAAS;IAOrD,aAAa,CAAC,MAAM,EAAE,sBAAsB,GAAG,UAAU,CAAC,qBAAqB,CAAC;IAChF,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,GAAG,UAAU,CAAC,qBAAqB,CAAC;IAuBzF,WAAW,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAQhE,cAAc,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC;IAIjD,kBAAkB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC;IAIlE,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC;IAIjE,OAAO,CAAC,gCAAgC;CAKzC"}
1
+ {"version":3,"file":"MemoryXyoGateway.d.ts","sourceRoot":"","sources":["../../../../src/provider/host/MemoryXyoGateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAEjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAElD,qBAAa,gBAAiB,SAAQ,kBAAkB;IACtD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IACnD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAW;gBAEvB,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,qBAAqB;IAMhE,UAAU,IAAI,qBAAqB;IAInC,MAAM,IAAI,SAAS;CAGpB"}
@@ -1,5 +1,3 @@
1
1
  export * from './Abstract.ts';
2
- export * from './JsonRpcXyoGateway.ts';
3
2
  export * from './MemoryXyoGateway.ts';
4
- export * from './PermissionsStore/index.ts';
5
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/provider/host/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,6BAA6B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/provider/host/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA"}
@@ -1,3 +1,4 @@
1
+ export * from './client/index.ts';
1
2
  export * from './host/index.ts';
2
3
  export * from './network/index.ts';
3
4
  export * from './provider/index.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/provider/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/provider/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA"}
@@ -1,6 +1,4 @@
1
1
  import type { AccountInstance } from '@xyo-network/account-model';
2
- import type { Signed } from '@xyo-network/boundwitness-model';
3
- import type { TransactionBoundWitness } from '@xyo-network/xl1-protocol';
4
2
  import { XyoConnection } from './XyoConnection.ts';
5
3
  export interface RpcXyoProviderParams {
6
4
  account?: AccountInstance;
@@ -8,6 +6,5 @@ export interface RpcXyoProviderParams {
8
6
  }
9
7
  export declare class RpcXyoConnection extends XyoConnection {
10
8
  constructor(params: RpcXyoProviderParams);
11
- confirm(tx: Signed<TransactionBoundWitness>, onConfirm?: (txBWHash: string) => void, onTimeout?: () => void): Promise<void>;
12
9
  }
13
10
  //# sourceMappingURL=RpcXyoConnection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RpcXyoConnection.d.ts","sourceRoot":"","sources":["../../../../src/provider/provider/RpcXyoConnection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AASxE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,eAAe,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,qBAAa,gBAAiB,SAAQ,aAAa;gBACrC,MAAM,EAAE,oBAAoB;IAUlC,OAAO,CACX,EAAE,EAAE,MAAM,CAAC,uBAAuB,CAAC,EACnC,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,EACtC,SAAS,CAAC,EAAE,MAAM,IAAI;CAIzB"}
1
+ {"version":3,"file":"RpcXyoConnection.d.ts","sourceRoot":"","sources":["../../../../src/provider/provider/RpcXyoConnection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAQjE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,eAAe,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,qBAAa,gBAAiB,SAAQ,aAAa;gBACrC,MAAM,EAAE,oBAAoB;CASzC"}
@@ -0,0 +1,21 @@
1
+ import type { Logger } from '@xylabs/logger';
2
+ import type { Signed } from '@xyo-network/boundwitness-model';
3
+ import type { HydratedTransaction, TransactionBoundWitness, XyoConnectionProvider } from '@xyo-network/xl1-protocol';
4
+ export type ConfirmSubmittedTransactionOptions = {
5
+ /**
6
+ * Number of attempts to confirm the transaction.
7
+ * Defaults to 20.
8
+ */
9
+ attempts?: number;
10
+ /**
11
+ * Delay in milliseconds between confirmation attempts.
12
+ * Defaults to 1000 (1 second).
13
+ */
14
+ delay?: number;
15
+ /**
16
+ * Optional logger instance for logging progress.
17
+ */
18
+ logger?: Logger;
19
+ };
20
+ export declare const confirmSubmittedTransaction: (provider: XyoConnectionProvider, txBW: Signed<TransactionBoundWitness>, options?: ConfirmSubmittedTransactionOptions) => Promise<HydratedTransaction>;
21
+ //# sourceMappingURL=confirmSubmittedTransaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirmSubmittedTransaction.d.ts","sourceRoot":"","sources":["../../../../src/provider/provider/confirmSubmittedTransaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAA;AAE7D,OAAO,KAAK,EACV,mBAAmB,EAAE,uBAAuB,EAAE,qBAAqB,EACpE,MAAM,2BAA2B,CAAA;AAKlC,MAAM,MAAM,kCAAkC,GAAG;IAC/C;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,2BAA2B,GACtC,UAAU,qBAAqB,EAC/B,MAAM,MAAM,CAAC,uBAAuB,CAAC,EACrC,UAAU,kCAAkC,KAC3C,OAAO,CAAC,mBAAmB,CAqB7B,CAAA"}
@@ -1,3 +1,4 @@
1
+ export * from './confirmSubmittedTransaction.ts';
1
2
  export * from './confirmTransaction.ts';
2
3
  export * from './RpcXyoConnection.ts';
3
4
  export * from './XyoConnection.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/provider/provider/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/provider/provider/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAA;AAChD,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import type { XyoGatewayProvider } from '@xyo-network/xl1-protocol';
2
2
  export type XyoGatewayMethodPrefix = 'xyoGateway';
3
- export type XyoGatewayMethodName = keyof XyoGatewayProvider;
3
+ export type XyoGatewayMethodName = keyof Pick<XyoGatewayProvider, 'submitTransaction'>;
4
4
  export type XyoGatewayRpcMethodName = `${XyoGatewayMethodPrefix}_${XyoGatewayMethodName}`;
5
5
  export type XyoGatewayRpcMethodHandlers = {
6
6
  [K in XyoGatewayMethodName as `${XyoGatewayMethodPrefix}_${K}`]: (params: Parameters<XyoGatewayProvider[K]>) => ReturnType<XyoGatewayProvider[K]>;
@@ -1 +1 @@
1
- {"version":3,"file":"XyoGatewayRpc.d.ts","sourceRoot":"","sources":["../../../src/types/XyoGatewayRpc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAEnE,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAAA;AAEjD,MAAM,MAAM,oBAAoB,GAAG,MAAM,kBAAkB,CAAA;AAG3D,MAAM,MAAM,uBAAuB,GAAG,GAAG,sBAAsB,IAAI,oBAAoB,EAAE,CAAA;AAGzF,MAAM,MAAM,2BAA2B,GAAG;KACvC,CAAC,IAAI,oBAAoB,IAAI,GAAG,sBAAsB,IAAI,CAAC,EAAE,GAAG,CAC/D,MAAM,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,KACtC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;CACvC,CAAA"}
1
+ {"version":3,"file":"XyoGatewayRpc.d.ts","sourceRoot":"","sources":["../../../src/types/XyoGatewayRpc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAEnE,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAAA;AAEjD,MAAM,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAA;AAGtF,MAAM,MAAM,uBAAuB,GAAG,GAAG,sBAAsB,IAAI,oBAAoB,EAAE,CAAA;AAGzF,MAAM,MAAM,2BAA2B,GAAG;KACvC,CAAC,IAAI,oBAAoB,IAAI,GAAG,sBAAsB,IAAI,CAAC,EAAE,GAAG,CAC/D,MAAM,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,KACtC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;CACvC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"XyoGatewayRpcSchemas.d.ts","sourceRoot":"","sources":["../../../../src/types/schema/XyoGatewayRpcSchemas.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAElE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;EAIhC,CAAA;AAEF,eAAO,MAAM,iBAAiB,qEAAmE,CAAA;AAEjG,eAAO,MAAM,aAAa;;;;;;;;;EAGxB,CAAA;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAI3B,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA2D,CAAA;AAE/F,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEnE,eAAO,MAAM,oBAAoB,EAAE,YAAY,CAAC,uBAAuB,CA2EtE,CAAA"}
1
+ {"version":3,"file":"XyoGatewayRpcSchemas.d.ts","sourceRoot":"","sources":["../../../../src/types/schema/XyoGatewayRpcSchemas.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAElE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;EAIhC,CAAA;AAEF,eAAO,MAAM,iBAAiB,qEAAmE,CAAA;AAEjG,eAAO,MAAM,aAAa;;;;;;;;;EAGxB,CAAA;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAI3B,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA2D,CAAA;AAE/F,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEnE,eAAO,MAAM,oBAAoB,EAAE,YAAY,CAAC,uBAAuB,CA6EtE,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { z } from 'zod';
2
+ declare const JsonValueSchema: z.ZodType<unknown>;
3
+ export declare const JsonObjectSchema: z.ZodRecord<z.ZodString, z.ZodType<unknown, z.ZodTypeDef, unknown>>;
4
+ export type JsonValue = z.infer<typeof JsonValueSchema>;
5
+ export type JsonObject = z.infer<typeof JsonObjectSchema>;
6
+ export {};
7
+ //# sourceMappingURL=JsonSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonSchema.d.ts","sourceRoot":"","sources":["../../../../../src/types/schema/common/JsonSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,QAAA,MAAM,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAQnC,CAAA;AAGL,eAAO,MAAM,gBAAgB,qEAA4B,CAAA;AAGzD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AACvD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA"}
@@ -6,6 +6,7 @@ export * from './HashSchema.ts';
6
6
  export * from './HexSchema.ts';
7
7
  export * from './HydratedBlockSchema.ts';
8
8
  export * from './HydratedTransactionSchema.ts';
9
+ export * from './JsonSchema.ts';
9
10
  export * from './PayloadSchema.ts';
10
11
  export * from './SequenceSchema.ts';
11
12
  export * from './StorageMetaSchema.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/types/schema/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yBAAyB,CAAA;AACvC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,0BAA0B,CAAA;AACxC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,oCAAoC,CAAA;AAClD,cAAc,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/types/schema/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yBAAyB,CAAA;AACvC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,0BAA0B,CAAA;AACxC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,oCAAoC,CAAA;AAClD,cAAc,sBAAsB,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.7.17",
4
+ "version": "1.7.19",
5
5
  "description": "XYO Layer One API",
6
6
  "homepage": "https://xylabs.com",
7
7
  "bugs": {
@@ -57,42 +57,43 @@
57
57
  "types": "tsc --noEmit -p tsconfig.test.json"
58
58
  },
59
59
  "dependencies": {
60
- "@metamask/json-rpc-engine": "^10.0.3",
61
- "@metamask/utils": "^11.4.2",
62
- "@xylabs/assert": "^4.13.23",
63
- "@xylabs/axios": "^4.13.23",
64
- "@xylabs/delay": "^4.13.23",
65
- "@xylabs/hex": "^4.13.23",
66
- "@xylabs/object": "^4.13.23",
67
- "@xylabs/promise": "^4.13.23",
68
- "@xylabs/typeof": "^4.13.23",
69
- "@xyo-network/account-model": "^4.1.7",
70
- "@xyo-network/archivist-memory": "^4.1.7",
71
- "@xyo-network/archivist-model": "^4.1.7",
72
- "@xyo-network/boundwitness-model": "^4.1.7",
73
- "@xyo-network/module-model": "^4.1.7",
74
- "@xyo-network/node-model": "^4.1.7",
75
- "@xyo-network/payload-builder": "^4.1.7",
76
- "@xyo-network/payload-model": "^4.1.7",
77
- "@xyo-network/payload-wrapper": "^4.1.7",
78
- "@xyo-network/xl1-protocol": "^1.7.20",
79
- "@xyo-network/xl1-protocol-sdk": "^1.7.17",
80
- "@xyo-network/xl1-wrappers": "^1.7.17",
81
- "axios": "^1.11.0",
82
- "uuid": "^11.1.0",
83
- "zod": "^3.25.76"
60
+ "@metamask/json-rpc-engine": "~10.0.3",
61
+ "@metamask/utils": "~11.4.2",
62
+ "@xylabs/assert": "~4.13.23",
63
+ "@xylabs/axios": "~4.13.23",
64
+ "@xylabs/delay": "~4.13.23",
65
+ "@xylabs/hex": "~4.13.23",
66
+ "@xylabs/object": "~4.13.23",
67
+ "@xylabs/promise": "~4.13.23",
68
+ "@xylabs/typeof": "~4.13.23",
69
+ "@xyo-network/account-model": "~4.1.7",
70
+ "@xyo-network/archivist-memory": "~4.1.7",
71
+ "@xyo-network/archivist-model": "~4.1.7",
72
+ "@xyo-network/boundwitness-model": "~4.1.7",
73
+ "@xyo-network/module-model": "~4.1.7",
74
+ "@xyo-network/node-model": "~4.1.7",
75
+ "@xyo-network/payload-builder": "~4.1.7",
76
+ "@xyo-network/payload-model": "~4.1.7",
77
+ "@xyo-network/payload-wrapper": "~4.1.7",
78
+ "@xyo-network/xl1-protocol": "~1.7.22",
79
+ "@xyo-network/xl1-protocol-sdk": "~1.7.19",
80
+ "@xyo-network/xl1-wrappers": "~1.7.19",
81
+ "axios": "~1.11.0",
82
+ "uuid": "~11.1.0",
83
+ "zod": "~3.25.76"
84
84
  },
85
85
  "devDependencies": {
86
- "@metamask/utils": "^11.4.2",
87
- "@types/node": "^24.1.0",
88
- "@xylabs/ts-scripts-yarn3": "^7.0.1",
89
- "@xylabs/tsconfig": "^7.0.1",
90
- "@xylabs/vitest-extended": "^4.13.23",
91
- "@xyo-network/account": "^4.1.7",
92
- "dotenv": "^17.2.0",
93
- "knip": "^5.62.0",
94
- "typescript": "^5.8.3",
95
- "vitest": "^3.2.4"
86
+ "@metamask/utils": "~11.4.2",
87
+ "@types/node": "~24.1.0",
88
+ "@xylabs/ts-scripts-yarn3": "~7.0.1",
89
+ "@xylabs/tsconfig": "~7.0.1",
90
+ "@xylabs/vitest-extended": "~4.13.23",
91
+ "@xyo-network/account": "~4.1.7",
92
+ "@xyo-network/wallet": "~4.1.7",
93
+ "dotenv": "~17.2.1",
94
+ "knip": "~5.62.0",
95
+ "typescript": "~5.8.3",
96
+ "vitest": "~3.2.4"
96
97
  },
97
98
  "packageManager": "yarn@4.6.0",
98
99
  "engines": {
@@ -1,12 +1,13 @@
1
- import type { MemoryXyoGateway, PermissionsStore } from '../host/index.ts'
2
- import type { XyoClient } from './XyoClient.ts'
1
+ import type {
2
+ PermissionsProvider, XyoClient, XyoGatewayProvider,
3
+ } from '@xyo-network/xl1-protocol'
3
4
 
4
5
  export class MemoryXyoClient implements XyoClient {
5
- readonly gateways: Readonly<Record<string, MemoryXyoGateway>>
6
- readonly permissionsStore: PermissionsStore
6
+ gateways: Readonly<Record<string, XyoGatewayProvider>>
7
+ permissionsProvider: PermissionsProvider
7
8
 
8
- constructor(permissionsStore: PermissionsStore, gateways: Readonly<Record<string, MemoryXyoGateway>>) {
9
- this.permissionsStore = permissionsStore
9
+ constructor(gateways: Readonly<Record<string, XyoGatewayProvider>>, permissionsProvider: PermissionsProvider) {
10
10
  this.gateways = gateways
11
+ this.permissionsProvider = permissionsProvider
11
12
  }
12
13
  }
@@ -0,0 +1,12 @@
1
+ import { type RpcTransport } from '../../../transport/index.ts'
2
+ import type { XyoGatewayRpcSchemas } from '../../../types/index.ts'
3
+ import type { PermissionsStore } from './PermissionsStore.ts'
4
+
5
+ export const getPermissionsStoreFromTransport = (transport: RpcTransport<typeof XyoGatewayRpcSchemas>): PermissionsStore => {
6
+ throw new Error('Not implemented')
7
+ // return {
8
+ // getPermissions: () => transport.sendRequest('xyoGateway_getPermissions'),
9
+ // requestPermissions: (permissions: Permission[]) => transport.sendRequest('xyoGateway_requestPermissions', permissions),
10
+ // revokePermissions: (permissions: Permission[]) => transport.sendRequest('xyoGateway_revokePermissions', permissions),
11
+ // }
12
+ }
@@ -1,2 +1,2 @@
1
1
  export * from './MemoryXyoClient.ts'
2
- export * from './XyoClient.ts'
2
+ export * from './PermissionsStore/index.ts'
@@ -2,18 +2,20 @@ import type { AccountInstance } from '@xyo-network/account-model'
2
2
  import { PayloadBuilder } from '@xyo-network/payload-builder'
3
3
  import type { Payload } from '@xyo-network/payload-model'
4
4
  import { HDWallet } from '@xyo-network/wallet'
5
- import type { AllowedBlockPayload, HashPayload } from '@xyo-network/xl1-protocol'
5
+ import type {
6
+ AllowedBlockPayload, HashPayload, XyoClient,
7
+ } from '@xyo-network/xl1-protocol'
6
8
  import { HashSchema } from '@xyo-network/xl1-protocol'
7
9
  import { ADDRESS_INDEX, generateXyoBaseWalletFromPhrase } from '@xyo-network/xl1-protocol-sdk'
8
10
  import {
9
11
  beforeAll, beforeEach, describe, expect, it,
10
12
  } from 'vitest'
11
13
 
12
- import { MemoryPermissionsStore, MemoryXyoGateway } from '../../host/index.ts'
14
+ import { MemoryXyoGateway } from '../../host/index.ts'
13
15
  import { RpcXyoConnection } from '../../provider/index.ts'
14
16
  import { MemoryXyoSigner } from '../../signer/index.ts'
15
17
  import { MemoryXyoClient } from '../MemoryXyoClient.ts'
16
- import type { XyoClient } from '../XyoClient.ts'
18
+ import { MemoryPermissionsStore } from '../PermissionsStore/index.ts'
17
19
 
18
20
  type TestPayload = Payload<{
19
21
  id: string
@@ -26,6 +28,7 @@ describe('Client', () => {
26
28
  let account: AccountInstance
27
29
  let signer: MemoryXyoSigner
28
30
  let store: MemoryPermissionsStore
31
+ let connection: RpcXyoConnection
29
32
  let gateway: MemoryXyoGateway
30
33
  let client: XyoClient
31
34
 
@@ -35,13 +38,13 @@ describe('Client', () => {
35
38
  account = await wallet.derivePath(ADDRESS_INDEX.XYO)
36
39
  signer = new MemoryXyoSigner(account)
37
40
  store = new MemoryPermissionsStore()
38
- gateway = new MemoryXyoGateway(signer, store)
39
- await gateway.addConnection('localhost', new RpcXyoConnection({ endpoint, account }))
40
- client = new MemoryXyoClient(store, { localhost: gateway })
41
+ connection = new RpcXyoConnection({ endpoint, account })
42
+ gateway = new MemoryXyoGateway(signer, connection)
43
+ client = new MemoryXyoClient({ localhost: gateway }, store)
41
44
  })
42
45
 
43
46
  describe('gateways', () => {
44
- describe('activeConnection', () => {
47
+ describe('connection', () => {
45
48
  let onChainPayloads: AllowedBlockPayload[]
46
49
  let offChainPayloads: Payload[]
47
50
  beforeAll(async () => {
@@ -52,15 +55,15 @@ describe('Client', () => {
52
55
  offChainPayloads = [id]
53
56
  })
54
57
  it('should be defined', () => {
55
- const gateway = client.gateways.localhost.activeConnection()
58
+ const gateway = client.gateways.localhost.connection()
56
59
  expect(gateway).toBeDefined()
57
60
  })
58
61
  it('should allow retrieving the chain ID', async () => {
59
- const chainId = await client.gateways.localhost?.activeConnection()?.viewer?.chainId()
62
+ const chainId = await (await client.gateways.localhost?.connection())?.viewer?.chainId()
60
63
  expect(chainId).toBeDefined()
61
64
  })
62
65
  it.only('should allow for submitting transactions', async () => {
63
- const transaction = await client.gateways.localhost?.activeConnection()?.submitTransaction?.(onChainPayloads, offChainPayloads)
66
+ const transaction = await (await client.gateways.localhost?.connection())?.submitTransaction?.(onChainPayloads, offChainPayloads)
64
67
  expect(transaction).toBeDefined()
65
68
  })
66
69
  })
@@ -8,23 +8,44 @@ import type {
8
8
  XyoConnectionProvider,
9
9
  XyoGatewayProvider,
10
10
  XyoRpcConnectionConfig,
11
+ XyoSigner,
11
12
  } from '@xyo-network/xl1-protocol'
12
13
 
13
14
  export abstract class AbstractXyoGateway implements XyoGatewayProvider {
15
+ activeConnection(): Promisable<XyoConnectionProvider | undefined> {
16
+ throw new Error('Deprecated method not implemented.')
17
+ }
18
+
19
+ addConnection(config: XyoRpcConnectionConfig): Promisable<XyoConnectionProvider> {
20
+ throw new Error('Deprecated method not implemented.')
21
+ }
22
+
23
+ connections(): Promisable<Record<string, XyoConnectionProvider>> {
24
+ throw new Error('Deprecated method not implemented.')
25
+ }
26
+
27
+ getPermissions(): Promisable<InvokerPermission[]> {
28
+ throw new Error('Deprecated method not implemented.')
29
+ }
30
+
31
+ requestPermissions(permissions: Permission[]): Promisable<boolean> {
32
+ throw new Error('Deprecated method not implemented.')
33
+ }
34
+
35
+ revokePermissions(permissions: Permission[]): Promisable<boolean> {
36
+ throw new Error('Deprecated method not implemented.')
37
+ }
38
+
14
39
  async submitTransaction(elevatedPayloads: AllowedBlockPayload[], additionalPayloads: Payload[]): Promise<HydratedTransaction> {
15
40
  return assertEx(
16
41
  assertEx(
17
- await this.activeConnection(),
42
+ await this.connection(),
18
43
  () => 'No active connection available for transaction submission',
19
44
  ).submitTransaction,
20
45
  () => 'Active connection does not support transaction submission',
21
46
  )(elevatedPayloads, additionalPayloads)
22
47
  }
23
48
 
24
- abstract activeConnection(): Promisable<XyoConnectionProvider | undefined>
25
- abstract addConnection(config: XyoRpcConnectionConfig): Promisable<XyoConnectionProvider>
26
- abstract connections(): Promisable<Record<string, XyoConnectionProvider>>
27
- abstract getPermissions(): Promisable<InvokerPermission[]>
28
- abstract requestPermissions(permissions: Permission[]): Promisable<boolean>
29
- abstract revokePermissions(permissions: Permission[]): Promisable<boolean>
49
+ abstract connection(): Promisable<XyoConnectionProvider>
50
+ abstract signer(): Promisable<XyoSigner>
30
51
  }
@@ -1,84 +1,22 @@
1
- import type { Promisable } from '@xylabs/promise'
2
- import { isDefined } from '@xylabs/typeof'
3
- import type {
4
- InvokerPermission, Permission, XyoConnectionProvider, XyoRpcConnectionConfig, XyoSigner,
5
- } from '@xyo-network/xl1-protocol'
1
+ import type { XyoConnectionProvider, XyoSigner } from '@xyo-network/xl1-protocol'
6
2
 
7
- import type { XyoConnection } from '../provider/index.ts'
8
- import { RpcXyoConnection } from '../provider/index.ts'
9
3
  import { AbstractXyoGateway } from './Abstract.ts'
10
- import type { PermissionsStore } from './PermissionsStore/index.ts'
11
4
 
12
5
  export class MemoryXyoGateway extends AbstractXyoGateway {
13
- private _activeConnectionId?: string
14
- private readonly _connections: Map<string, XyoConnectionProvider> = new Map()
15
- private readonly _permissionsStore: PermissionsStore
6
+ private readonly _connection: XyoConnectionProvider
16
7
  private readonly _signer: XyoSigner
17
8
 
18
- constructor(signer: XyoSigner, permissionsStore: PermissionsStore) {
9
+ constructor(signer: XyoSigner, connection: XyoConnectionProvider) {
19
10
  super()
20
11
  this._signer = signer
21
- this._permissionsStore = permissionsStore
12
+ this._connection = connection
22
13
  }
23
14
 
24
- get signer(): XyoSigner {
25
- return this._signer
26
- }
27
-
28
- activeConnection(): XyoConnectionProvider | undefined {
29
- return isDefined(this._activeConnectionId)
30
- ? this._connections.get(this._activeConnectionId)
31
- : undefined
32
- }
33
-
34
- // TODO: Deprecate connection config in favor of connection object
35
- addConnection(config: XyoRpcConnectionConfig): Promisable<XyoConnectionProvider>
36
- addConnection(name: string, connection: XyoConnection): Promisable<XyoConnectionProvider>
37
- addConnection(configOrName: XyoRpcConnectionConfig | string, connection?: XyoConnection): Promisable<XyoConnectionProvider> {
38
- if (typeof configOrName === 'string' && connection !== undefined) {
39
- // Called with (name: string, connection: XyoConnection)
40
- const name = configOrName
41
- this._connections.set(name, connection)
42
- this.setActiveConnectionIdIfUndefined(name)
43
- return connection
44
- } else if (typeof configOrName === 'object') {
45
- // Called with (config: XyoRpcConnectionConfig)
46
- const config = configOrName
47
- const {
48
- name, dataLakeEndpoint, networkEndpoint,
49
- } = config
50
- const rpcConnection = new RpcXyoConnection({ endpoint: networkEndpoint })
51
- this._connections.set(name, rpcConnection)
52
- this.setActiveConnectionIdIfUndefined(name)
53
- return rpcConnection
54
- }
55
-
56
- throw new Error('Invalid arguments passed to addConnection')
57
- }
58
-
59
- connections(): Promisable<Record<string, XyoConnectionProvider>> {
60
- const record: Record<string, XyoConnectionProvider> = {}
61
- for (const [id, conn] of this._connections.entries()) {
62
- record[id] = conn
63
- }
64
- return record
15
+ connection(): XyoConnectionProvider {
16
+ return this._connection
65
17
  }
66
18
 
67
- getPermissions(): Promisable<InvokerPermission[]> {
68
- return this._permissionsStore.getPermissions()
69
- }
70
-
71
- requestPermissions(permissions: Permission[]): Promisable<boolean> {
72
- return this._permissionsStore.requestPermissions(permissions)
73
- }
74
-
75
- revokePermissions(permissions: Permission[]): Promisable<boolean> {
76
- return this._permissionsStore.revokePermissions(permissions)
77
- }
78
-
79
- private setActiveConnectionIdIfUndefined(id: string): void {
80
- if (!isDefined(this._activeConnectionId)) {
81
- this._activeConnectionId = id
82
- }
19
+ signer(): XyoSigner {
20
+ return this._signer
83
21
  }
84
22
  }
@@ -1,4 +1,2 @@
1
1
  export * from './Abstract.ts'
2
- export * from './JsonRpcXyoGateway.ts'
3
2
  export * from './MemoryXyoGateway.ts'
4
- export * from './PermissionsStore/index.ts'