@xyo-network/xl1-protocol 1.12.46 → 1.12.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/neutral/provider/XyoClient.d.ts +2 -2
- package/dist/neutral/provider/XyoClient.d.ts.map +1 -1
- package/dist/neutral/provider/permissions/InvokerPermission.d.ts +5 -5
- package/dist/neutral/provider/permissions/InvokerPermission.d.ts.map +1 -1
- package/dist/neutral/provider/permissions/XyoPermissions.d.ts +10 -0
- package/dist/neutral/provider/permissions/XyoPermissions.d.ts.map +1 -0
- package/dist/neutral/provider/permissions/index.d.ts +1 -1
- package/dist/neutral/provider/permissions/index.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/provider/XyoClient.ts +2 -2
- package/src/provider/permissions/InvokerPermission.ts +5 -5
- package/src/provider/permissions/XyoPermissions.ts +12 -0
- package/src/provider/permissions/index.ts +1 -1
- package/dist/neutral/provider/permissions/PermissionsProvider.d.ts +0 -8
- package/dist/neutral/provider/permissions/PermissionsProvider.d.ts.map +0 -1
- package/src/provider/permissions/PermissionsProvider.ts +0 -9
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
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:
|
|
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,
|
|
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"}
|
|
@@ -4,7 +4,7 @@ import type { JsonValue } from '@xylabs/object';
|
|
|
4
4
|
* See - https://eips.ethereum.org/EIPS/eip-2255#specification
|
|
5
5
|
*/
|
|
6
6
|
export interface PermissionRequest {
|
|
7
|
-
[
|
|
7
|
+
[parentCapability: string]: {
|
|
8
8
|
[caveatName: string]: JsonValue;
|
|
9
9
|
};
|
|
10
10
|
}
|
|
@@ -13,10 +13,10 @@ export interface PermissionRequest {
|
|
|
13
13
|
* See - https://eips.ethereum.org/EIPS/eip-2255#specification
|
|
14
14
|
*/
|
|
15
15
|
export interface RequestedPermission {
|
|
16
|
-
/** Permission identifier (i.e. RPC method, action, etc.) */
|
|
17
|
-
capability: string;
|
|
18
16
|
/** Optional timestamp for when the permission was granted */
|
|
19
17
|
date?: number;
|
|
18
|
+
/** Permission identifier (i.e. RPC method, action, etc.) */
|
|
19
|
+
parentCapability: string;
|
|
20
20
|
}
|
|
21
21
|
export type CaveatTypes = 'chain' | 'expiration' | 'filteredResponse' | 'rateLimit' | 'restrictReturnedAccounts';
|
|
22
22
|
/**
|
|
@@ -34,12 +34,12 @@ export interface Caveats {
|
|
|
34
34
|
* See - https://eips.ethereum.org/EIPS/eip-2255#specification
|
|
35
35
|
*/
|
|
36
36
|
export interface Permission {
|
|
37
|
-
/** Permission identifier (i.e. RPC method, action, etc.) */
|
|
38
|
-
capability: string;
|
|
39
37
|
/** Caveats for the permission, if applicable (i.e. allowed accounts, signing, etc.) */
|
|
40
38
|
caveats?: Caveats[];
|
|
41
39
|
/** Invoker for the given permission (URI, domain, webpage, address, etc.) */
|
|
42
40
|
invoker: string;
|
|
41
|
+
/** Permission identifier (i.e. RPC method, action, etc.) */
|
|
42
|
+
parentCapability: string;
|
|
43
43
|
}
|
|
44
44
|
export interface InvokerPermission extends Permission {
|
|
45
45
|
/** Time at which the permission was granted */
|
|
@@ -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,
|
|
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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Promisable } from '@xylabs/promise';
|
|
2
|
+
import type { InvokerPermission, RequestedPermission } from './InvokerPermission.ts';
|
|
3
|
+
export interface XyoPermissions {
|
|
4
|
+
getPermissions(permissions: RequestedPermission[]): Promisable<InvokerPermission[]>;
|
|
5
|
+
requestPermissions(permissions: RequestedPermission[]): Promisable<boolean>;
|
|
6
|
+
revokePermissions(permissions: RequestedPermission[]): Promisable<boolean>;
|
|
7
|
+
}
|
|
8
|
+
export interface PermissionsProvider extends XyoPermissions {
|
|
9
|
+
}
|
|
10
|
+
//# 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,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAEpF,MAAM,WAAW,cAAc;IAC7B,cAAc,CAAC,WAAW,EAAE,mBAAmB,EAAE,GAAG,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAA;IACnF,kBAAkB,CAAC,WAAW,EAAE,mBAAmB,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IAC3E,iBAAiB,CAAC,WAAW,EAAE,mBAAmB,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;CAC3E;AAGD,MAAM,WAAW,mBAAoB,SAAQ,cAAc;CAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/provider/permissions/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,
|
|
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.
|
|
4
|
+
"version": "1.12.48",
|
|
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.
|
|
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.
|
|
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 {
|
|
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:
|
|
17
|
+
permissions: XyoPermissions
|
|
18
18
|
|
|
19
19
|
addGateway?(providerOrConfig: XyoGatewayConfig | XyoRpcGatewayConfig | XyoGatewayProvider): Promise<XyoGatewayProvider>
|
|
20
20
|
removeGateway?(name: GatewayName): Promise<void>
|
|
@@ -5,7 +5,7 @@ import type { JsonValue } from '@xylabs/object'
|
|
|
5
5
|
* See - https://eips.ethereum.org/EIPS/eip-2255#specification
|
|
6
6
|
*/
|
|
7
7
|
export interface PermissionRequest {
|
|
8
|
-
[
|
|
8
|
+
[parentCapability: string]: {
|
|
9
9
|
[caveatName: string]: JsonValue
|
|
10
10
|
}
|
|
11
11
|
}
|
|
@@ -15,10 +15,10 @@ export interface PermissionRequest {
|
|
|
15
15
|
* See - https://eips.ethereum.org/EIPS/eip-2255#specification
|
|
16
16
|
*/
|
|
17
17
|
export interface RequestedPermission {
|
|
18
|
-
/** Permission identifier (i.e. RPC method, action, etc.) */
|
|
19
|
-
capability: string
|
|
20
18
|
/** Optional timestamp for when the permission was granted */
|
|
21
19
|
date?: number
|
|
20
|
+
/** Permission identifier (i.e. RPC method, action, etc.) */
|
|
21
|
+
parentCapability: string
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
export type CaveatTypes = 'chain' | 'expiration' | 'filteredResponse' | 'rateLimit' | 'restrictReturnedAccounts'
|
|
@@ -39,12 +39,12 @@ export interface Caveats {
|
|
|
39
39
|
* See - https://eips.ethereum.org/EIPS/eip-2255#specification
|
|
40
40
|
*/
|
|
41
41
|
export interface Permission {
|
|
42
|
-
/** Permission identifier (i.e. RPC method, action, etc.) */
|
|
43
|
-
capability: string
|
|
44
42
|
/** Caveats for the permission, if applicable (i.e. allowed accounts, signing, etc.) */
|
|
45
43
|
caveats?: Caveats[]
|
|
46
44
|
/** Invoker for the given permission (URI, domain, webpage, address, etc.) */
|
|
47
45
|
invoker: string
|
|
46
|
+
/** Permission identifier (i.e. RPC method, action, etc.) */
|
|
47
|
+
parentCapability: string
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
export interface InvokerPermission extends Permission {
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Promisable } from '@xylabs/promise'
|
|
2
|
+
|
|
3
|
+
import type { InvokerPermission, RequestedPermission } from './InvokerPermission.ts'
|
|
4
|
+
|
|
5
|
+
export interface XyoPermissions {
|
|
6
|
+
getPermissions(permissions: RequestedPermission[]): Promisable<InvokerPermission[]>
|
|
7
|
+
requestPermissions(permissions: RequestedPermission[]): Promisable<boolean>
|
|
8
|
+
revokePermissions(permissions: RequestedPermission[]): Promisable<boolean>
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
// @deprecated - use XyoPermissions instead
|
|
12
|
+
export interface PermissionsProvider extends XyoPermissions {}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './InvokerPermission.ts'
|
|
2
|
-
export * from './
|
|
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
|
-
}
|