@xyo-network/xl1-protocol 1.12.47 → 1.12.49

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.
@@ -1,4 +1,4 @@
1
- import type { PermissionsProvider } from './permissions/index.ts';
1
+ import type { XyoPermissions } from './permissions/index.ts';
2
2
  import type { XyoGatewayProvider } from './XyoGateway.ts';
3
3
  export type GatewayName = string & {
4
4
  __gatewayName: true;
@@ -12,7 +12,7 @@ export interface XyoRpcGatewayConfig extends XyoGatewayConfig {
12
12
  }
13
13
  export interface XyoClient {
14
14
  gateways: Readonly<Record<GatewayName, XyoGatewayProvider>>;
15
- permissions: PermissionsProvider;
15
+ permissions: XyoPermissions;
16
16
  addGateway?(providerOrConfig: XyoGatewayConfig | XyoRpcGatewayConfig | XyoGatewayProvider): Promise<XyoGatewayProvider>;
17
17
  removeGateway?(name: GatewayName): Promise<void>;
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"XyoClient.d.ts","sourceRoot":"","sources":["../../../src/provider/XyoClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEzD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG;IAAE,aAAa,EAAE,IAAI,CAAA;CAAE,CAAA;AAE1D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,CAAA;CAClB;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAA;IAC3D,WAAW,EAAE,mBAAmB,CAAA;IAEhC,UAAU,CAAC,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;IACvH,aAAa,CAAC,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACjD"}
1
+ {"version":3,"file":"XyoClient.d.ts","sourceRoot":"","sources":["../../../src/provider/XyoClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEzD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG;IAAE,aAAa,EAAE,IAAI,CAAA;CAAE,CAAA;AAE1D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,CAAA;CAClB;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAA;IAC3D,WAAW,EAAE,cAAc,CAAA;IAE3B,UAAU,CAAC,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;IACvH,aAAa,CAAC,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACjD"}
@@ -2,6 +2,9 @@ import type { JsonValue } from '@xylabs/object';
2
2
  /**
3
3
  * Modeled after EIP-2255
4
4
  * See - https://eips.ethereum.org/EIPS/eip-2255#specification
5
+ *
6
+ * NOTE: In order to send multiple permission requests at once, do not send multiple parentCapability keys.
7
+ * Instead, send multiple PermissionRequest objects in the params array of the rpc call.
5
8
  */
6
9
  export interface PermissionRequest {
7
10
  [parentCapability: string]: {
@@ -1 +1 @@
1
- {"version":3,"file":"InvokerPermission.d.ts","sourceRoot":"","sources":["../../../../src/provider/permissions/InvokerPermission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,CAAC,gBAAgB,EAAE,MAAM,GAAG;QAC1B,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;KAChC,CAAA;CACF;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,4DAA4D;IAC5D,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,YAAY,GAAG,kBAAkB,GAAG,WAAW,GAAG,0BAA0B,CAAA;AAEhH;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,qBAAqB;IACrB,IAAI,EAAE,WAAW,CAAA;IACjB,yGAAyG;IACzG,KAAK,EAAE,SAAS,CAAA;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,uFAAuF;IACvF,OAAO,CAAC,EAAE,OAAO,EAAE,CAAA;IACnB,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAA;IACf,4DAA4D;IAC5D,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACnD,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAA;CACd"}
1
+ {"version":3,"file":"InvokerPermission.d.ts","sourceRoot":"","sources":["../../../../src/provider/permissions/InvokerPermission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,CAAC,gBAAgB,EAAE,MAAM,GAAG;QAC1B,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;KAChC,CAAA;CACF;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,4DAA4D;IAC5D,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,YAAY,GAAG,kBAAkB,GAAG,WAAW,GAAG,0BAA0B,CAAA;AAEhH;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,qBAAqB;IACrB,IAAI,EAAE,WAAW,CAAA;IACjB,yGAAyG;IACzG,KAAK,EAAE,SAAS,CAAA;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,uFAAuF;IACvF,OAAO,CAAC,EAAE,OAAO,EAAE,CAAA;IACnB,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAA;IACf,4DAA4D;IAC5D,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACnD,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAA;CACd"}
@@ -0,0 +1,18 @@
1
+ import type { Promisable } from '@xylabs/promise';
2
+ import type { InvokerPermission, PermissionRequest, RequestedPermission } from './InvokerPermission.ts';
3
+ export interface XyoPermissions {
4
+ /**
5
+ * Returns the permissions that are currently granted
6
+ *
7
+ * Per the spec - "The wallet_getPermissions method is used for getting an array of current permissions
8
+ * (empty by default). It takes no parameters and returns an array of Permission objects."
9
+ *
10
+ * See - https://eips.ethereum.org/EIPS/eip-2255#specification
11
+ */
12
+ getPermissions(): Promisable<InvokerPermission[]>;
13
+ requestPermissions(permissions: PermissionRequest[]): Promisable<RequestedPermission[]>;
14
+ revokePermissions(permissions: PermissionRequest): Promisable<RequestedPermission[]>;
15
+ }
16
+ export interface PermissionsProvider extends XyoPermissions {
17
+ }
18
+ //# sourceMappingURL=XyoPermissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XyoPermissions.d.ts","sourceRoot":"","sources":["../../../../src/provider/permissions/XyoPermissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,EACV,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAC1D,MAAM,wBAAwB,CAAA;AAE/B,MAAM,WAAW,cAAc;IAC7B;;;;;;;OAOG;IACH,cAAc,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAA;IAEjD,kBAAkB,CAAC,WAAW,EAAE,iBAAiB,EAAE,GAAG,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAA;IAEvF,iBAAiB,CAAC,WAAW,EAAE,iBAAiB,GAAG,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAA;CACrF;AAGD,MAAM,WAAW,mBAAoB,SAAQ,cAAc;CAAG"}
@@ -1,3 +1,3 @@
1
1
  export * from './InvokerPermission.ts';
2
- export * from './PermissionsProvider.ts';
2
+ export * from './XyoPermissions.ts';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/provider/permissions/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/provider/permissions/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,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-protocol",
4
- "version": "1.12.47",
4
+ "version": "1.12.49",
5
5
  "description": "XYO Layer One Protocol",
6
6
  "homepage": "https://xylabs.com",
7
7
  "bugs": {
@@ -52,7 +52,7 @@
52
52
  "zod": "~4.1.11"
53
53
  },
54
54
  "devDependencies": {
55
- "@types/node": "~24.6.1",
55
+ "@types/node": "~24.6.2",
56
56
  "@typescript-eslint/types": "~8.45.0",
57
57
  "@xylabs/creatable": "~5.0.11",
58
58
  "@xylabs/eslint-config-flat": "~7.1.8",
@@ -65,7 +65,7 @@
65
65
  "eslint-import-resolver-typescript": "~4.4.4",
66
66
  "knip": "~5.64.1",
67
67
  "typescript": "~5.9.3",
68
- "vite": "~7.1.7",
68
+ "vite": "~7.1.8",
69
69
  "vite-tsconfig-paths": "~5.1.4",
70
70
  "vitest": "~3.2.4"
71
71
  },
@@ -1,4 +1,4 @@
1
- import type { PermissionsProvider } from './permissions/index.ts'
1
+ import type { XyoPermissions } from './permissions/index.ts'
2
2
  import type { XyoGatewayProvider } from './XyoGateway.ts'
3
3
 
4
4
  export type GatewayName = string & { __gatewayName: true }
@@ -14,7 +14,7 @@ export interface XyoRpcGatewayConfig extends XyoGatewayConfig {
14
14
 
15
15
  export interface XyoClient {
16
16
  gateways: Readonly<Record<GatewayName, XyoGatewayProvider>>
17
- permissions: PermissionsProvider
17
+ permissions: XyoPermissions
18
18
 
19
19
  addGateway?(providerOrConfig: XyoGatewayConfig | XyoRpcGatewayConfig | XyoGatewayProvider): Promise<XyoGatewayProvider>
20
20
  removeGateway?(name: GatewayName): Promise<void>
@@ -3,6 +3,9 @@ import type { JsonValue } from '@xylabs/object'
3
3
  /**
4
4
  * Modeled after EIP-2255
5
5
  * See - https://eips.ethereum.org/EIPS/eip-2255#specification
6
+ *
7
+ * NOTE: In order to send multiple permission requests at once, do not send multiple parentCapability keys.
8
+ * Instead, send multiple PermissionRequest objects in the params array of the rpc call.
6
9
  */
7
10
  export interface PermissionRequest {
8
11
  [parentCapability: string]: {
@@ -0,0 +1,24 @@
1
+ import type { Promisable } from '@xylabs/promise'
2
+
3
+ import type {
4
+ InvokerPermission, PermissionRequest, RequestedPermission,
5
+ } from './InvokerPermission.ts'
6
+
7
+ export interface XyoPermissions {
8
+ /**
9
+ * Returns the permissions that are currently granted
10
+ *
11
+ * Per the spec - "The wallet_getPermissions method is used for getting an array of current permissions
12
+ * (empty by default). It takes no parameters and returns an array of Permission objects."
13
+ *
14
+ * See - https://eips.ethereum.org/EIPS/eip-2255#specification
15
+ */
16
+ getPermissions(): Promisable<InvokerPermission[]>
17
+ // Given a permissions request, attempts to request the permissions from the user
18
+ requestPermissions(permissions: PermissionRequest[]): Promisable<RequestedPermission[]>
19
+ // Given a permissions request, attempts to revoke the permissions from the user
20
+ revokePermissions(permissions: PermissionRequest): Promisable<RequestedPermission[]>
21
+ }
22
+
23
+ // @deprecated - use XyoPermissions instead
24
+ export interface PermissionsProvider extends XyoPermissions {}
@@ -1,2 +1,2 @@
1
1
  export * from './InvokerPermission.ts'
2
- export * from './PermissionsProvider.ts'
2
+ export * from './XyoPermissions.ts'
@@ -1,8 +0,0 @@
1
- import type { Promisable } from '@xylabs/promise';
2
- import type { InvokerPermission, Permission } from './InvokerPermission.ts';
3
- export interface PermissionsProvider {
4
- getPermissions(): Promisable<InvokerPermission[]>;
5
- requestPermissions(permissions: Permission[]): Promisable<boolean>;
6
- revokePermissions(permissions: Permission[]): Promisable<boolean>;
7
- }
8
- //# sourceMappingURL=PermissionsProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PermissionsProvider.d.ts","sourceRoot":"","sources":["../../../../src/provider/permissions/PermissionsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAE3E,MAAM,WAAW,mBAAmB;IAClC,cAAc,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAA;IACjD,kBAAkB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IAClE,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;CAClE"}
@@ -1,9 +0,0 @@
1
- import type { Promisable } from '@xylabs/promise'
2
-
3
- import type { InvokerPermission, Permission } from './InvokerPermission.ts'
4
-
5
- export interface PermissionsProvider {
6
- getPermissions(): Promisable<InvokerPermission[]>
7
- requestPermissions(permissions: Permission[]): Promisable<boolean>
8
- revokePermissions(permissions: Permission[]): Promisable<boolean>
9
- }