Skip to content

Commit 8488537

Browse files
authored
Merge pull request #168 from MetaMask/chore/rename-rpc-urls
Rename RCP Urls To Be Consistent
2 parents d5fdb41 + dca31ae commit 8488537

File tree

10 files changed

+36
-36
lines changed

10 files changed

+36
-36
lines changed

packages/gator-permissions-snap/docs/architecture.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ The EntryPoint serves as the main initialization and configuration point for the
203203

204204
2. Configuring RPC method bindings:
205205
- Maps RPC methods to their corresponding handlers
206-
- Supports `permissionsProvider_grantAttenuatedPermissions`, `permissionsProvider_getPermissionOffers`, and `permissionsProvider_getGrantedPermissions`
206+
- Supports `permissionsProvider_grantPermissions`, `permissionsProvider_getPermissionOffers`, and `permissionsProvider_getGrantedPermissions`
207207

208208
3. Handling lifecycle events:
209209
- `onRpcRequest`: Processes incoming JSON-RPC requests with origin validation

packages/gator-permissions-snap/src/index.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -177,11 +177,11 @@ const rpcHandler = createRpcHandler({
177177
const boundRpcHandlers: {
178178
[RpcMethod: string]: (params?: JsonRpcParams) => Promise<Json>;
179179
} = {
180-
[RpcMethod.PermissionProviderGrantPermissions]:
180+
[RpcMethod.PermissionsProviderGrantPermissions]:
181181
rpcHandler.grantPermission.bind(rpcHandler),
182-
[RpcMethod.PermissionProviderGetPermissionOffers]:
182+
[RpcMethod.PermissionsProviderGetPermissionOffers]:
183183
rpcHandler.getPermissionOffers.bind(rpcHandler),
184-
[RpcMethod.PermissionProviderGetGrantedPermissions]:
184+
[RpcMethod.PermissionsProviderGetGrantedPermissions]:
185185
rpcHandler.getGrantedPermissions.bind(rpcHandler),
186186
};
187187

packages/gator-permissions-snap/src/rpc/permissions.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ const allowedPermissionsByOrigin: { [origin: string]: string[] } = {
55
...(process.env.KERNEL_SNAP_ID && {
66
// eslint-disable-next-line no-restricted-globals
77
[process.env.KERNEL_SNAP_ID]: [
8-
RpcMethod.PermissionProviderGrantPermissions,
9-
RpcMethod.PermissionProviderGetPermissionOffers,
8+
RpcMethod.PermissionsProviderGrantPermissions,
9+
RpcMethod.PermissionsProviderGetPermissionOffers,
1010
],
1111
}),
12-
metamask: [RpcMethod.PermissionProviderGetGrantedPermissions],
12+
metamask: [RpcMethod.PermissionsProviderGetGrantedPermissions],
1313
};
1414

1515
/**

packages/gator-permissions-snap/src/rpc/rpcMethod.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@ export enum RpcMethod {
55
/**
66
* This method is used by the kernel to request a permissions provider to get its permission offers.
77
*/
8-
PermissionProviderGetPermissionOffers = 'permissionProvider_getPermissionOffers',
8+
PermissionsProviderGetPermissionOffers = 'permissionsProvider_getPermissionOffers',
99

1010
/**
1111
* This method is used by the kernel to request a permissions provider to grant attenuated permissions to a site.
1212
*/
13-
PermissionProviderGrantPermissions = 'permissionsProvider_grantPermissions',
13+
PermissionsProviderGrantPermissions = 'permissionsProvider_grantPermissions',
1414

1515
/**
1616
* This method is used by Metamask clients to retrieve granted permissions for all sites.
1717
*/
18-
PermissionProviderGetGrantedPermissions = 'permissionsProvider_getGrantedPermissions',
18+
PermissionsProviderGetGrantedPermissions = 'permissionsProvider_getGrantedPermissions',
1919
}

packages/permissions-kernel-snap/docs/ephemeralPermissionsOfferRegistry.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,17 @@ sequenceDiagram
1616
participant DApp
1717
participant KernelSnap
1818
participant List of permission provider snapIds
19-
participant PermissionProviderSnap
19+
participant PermissionsProviderSnap
2020
2121
DApp->>KernelSnap: wallet_requestExecutionPermissions(request)
2222
KernelSnap->>List of permission provider snapIds: Fetch list of all permission provider snaps
2323
2424
loop For each snap
25-
KernelSnap->>PermissionProviderSnap: permissions_offerPermissions()
25+
KernelSnap->>PermissionsProviderSnap: permissions_offerPermissions()
2626
alt Snap supports RPC
27-
PermissionProviderSnap-->>KernelSnap: Valid permission offers
27+
PermissionsProviderSnap-->>KernelSnap: Valid permission offers
2828
else RPC unsupported or invalid
29-
PermissionProviderSnap-->>KernelSnap: Error or invalid response
29+
PermissionsProviderSnap-->>KernelSnap: Error or invalid response
3030
end
3131
end
3232
@@ -35,8 +35,8 @@ sequenceDiagram
3535
KernelSnap->>KernelSnap: Filter offers matching requested permissions
3636
3737
loop For each matched permission
38-
KernelSnap->>PermissionProviderSnap: Forward permission request
39-
PermissionProviderSnap-->>KernelSnap: Attenuated permission response
38+
KernelSnap->>PermissionsProviderSnap: Forward permission request
39+
PermissionsProviderSnap-->>KernelSnap: Attenuated permission response
4040
end
4141
4242
KernelSnap-->>DApp: Return aggregated granted permissions
@@ -45,8 +45,8 @@ sequenceDiagram
4545
**Steps**
4646

4747
1. DApp calls `wallet_requestExecutionPermissions` on the Kernel Snap.
48-
2. Kernel makes async RPC calls to all registered permission provider snaps using `permissionProvider_getPermissionOffers` to fetch permission offers.
49-
1. A standard `permissionProvider_getPermissionOffers` rpc must be implemented by the permission provider snap to participate in the permission system.
48+
2. Kernel makes async RPC calls to all registered permission provider snaps using `permissionsProvider_getPermissionOffers` to fetch permission offers.
49+
1. A standard `permissionsProvider_getPermissionOffers` rpc must be implemented by the permission provider snap to participate in the permission system.
5050
1. If the permission provider snap returns with an error, it does not support the RPC and will not participate in the permission system.
5151
2. If the permission provider snap returns an invalid result, it will not participate in the permission system.
5252
3. The kernel will aggregate all valid responses from the permission provider snap as an in-memory registry.
@@ -59,12 +59,12 @@ sequenceDiagram
5959

6060
### **The requirement for permission provider snaps to opt into the permission system**
6161

62-
1. Support `permissionProvider_getPermissionOffers` RPC
62+
1. Support `permissionsProvider_getPermissionOffers` RPC
6363
2. Support `permissionsProvider_grantPermissions` RPC to allow the kernel to forward `wallet_grantPermission` payload.
6464

6565
### **The requirement to leave the permission system**
6666

67-
1. The permission provider snap will no longer return a valid response for the `permissionProvider_getPermissionOffers` RPC.
67+
1. The permission provider snap will no longer return a valid response for the `permissionsProvider_getPermissionOffers` RPC.
6868
1. Opt-out can be implemented as an update to the developer's permission provider snap or through more dynamic solutions that support HTTPS network calls to toggle support.
6969

7070
### **Known Bottlenecks**

packages/permissions-kernel-snap/src/registryManager.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,11 @@ export const createPermissionOfferRegistryManager = (
6161
}
6262

6363
/**
64-
* Discovers and builds the permission provider registry by querying all permission provider snaps
64+
* Discovers and builds the permissions provider registry by querying all permissions provider snaps
6565
* for their permission offers.
6666
*
6767
* @param snapId - The snap id to query for permission offers.
68-
* @returns The permission provider registry.
68+
* @returns The permissions provider registry.
6969
*/
7070
async function buildPermissionOffersRegistry(
7171
snapId: string,
@@ -80,7 +80,7 @@ export const createPermissionOfferRegistryManager = (
8080
params: {
8181
snapId,
8282
request: {
83-
method: ExternalMethod.PermissionProviderGetPermissionOffers,
83+
method: ExternalMethod.PermissionsProviderGetPermissionOffers,
8484
},
8585
},
8686
});
@@ -102,12 +102,12 @@ export const createPermissionOfferRegistryManager = (
102102
};
103103

104104
logger.debug(
105-
`Snap ${snapId} supports ${ExternalMethod.PermissionProviderGetPermissionOffers}, adding to registry...`,
105+
`Snap ${snapId} supports ${ExternalMethod.PermissionsProviderGetPermissionOffers}, adding to registry...`,
106106
);
107107
}
108108
} catch (error) {
109109
logger.error(
110-
`Snap ${snapId} does not support ${ExternalMethod.PermissionProviderGetPermissionOffers}, or returned an invalid response, skipping...`,
110+
`Snap ${snapId} does not support ${ExternalMethod.PermissionsProviderGetPermissionOffers}, or returned an invalid response, skipping...`,
111111
);
112112
}
113113

@@ -172,7 +172,7 @@ export const createPermissionOfferRegistryManager = (
172172
return {
173173
permissionsToGrant: [],
174174
missingPermissions,
175-
errorMessage: `The following permissions can not be granted by the permission provider: ${missingPermissions.map((permission) => permission.permission.type).join(', ')}`,
175+
errorMessage: `The following permissions can not be granted by the permissions provider: ${missingPermissions.map((permission) => permission.permission.type).join(', ')}`,
176176
};
177177
}
178178

packages/permissions-kernel-snap/src/rpc/rpcHandler.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ export function createRpcHandler(config: {
9797
params: {
9898
snapId: gatorPermissionsProviderSnapId, // We only want gator-permissions-snap for now but we will use more snaps in the future
9999
request: {
100-
method: ExternalMethod.PermissionProviderGrantPermissions,
100+
method: ExternalMethod.PermissionsProviderGrantPermissions,
101101
params: {
102102
permissionsRequest: permissionsToGrant,
103103
siteOrigin: options.siteOrigin,

packages/permissions-kernel-snap/src/rpc/rpcMethod.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ export enum ExternalMethod {
1212
/**
1313
* This method is used by the kernel to request a permissions provider to get its permission offers.
1414
*/
15-
PermissionProviderGetPermissionOffers = 'permissionProvider_getPermissionOffers',
15+
PermissionsProviderGetPermissionOffers = 'permissionsProvider_getPermissionOffers',
1616

1717
/**
1818
* This method is used by the kernel to request a permissions provider to grant attenuated permissions to a site.
1919
*/
20-
PermissionProviderGrantPermissions = 'permissionsProvider_grantPermissions',
20+
PermissionsProviderGrantPermissions = 'permissionsProvider_grantPermissions',
2121
}

packages/permissions-kernel-snap/test/registryManager.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ describe('PermissionOfferRegistryManager', () => {
4343
params: {
4444
snapId: mockSnapId,
4545
request: {
46-
method: ExternalMethod.PermissionProviderGetPermissionOffers,
46+
method: ExternalMethod.PermissionsProviderGetPermissionOffers,
4747
},
4848
},
4949
});
@@ -209,7 +209,7 @@ describe('PermissionOfferRegistryManager', () => {
209209
expect(result.permissionsToGrant).toStrictEqual([]);
210210
expect(result.missingPermissions).toStrictEqual(mockPermissionsToGrant);
211211
expect(result.errorMessage).toBe(
212-
'The following permissions can not be granted by the permission provider: native-token-transfer, native-token-stream',
212+
'The following permissions can not be granted by the permissions provider: native-token-transfer, native-token-stream',
213213
);
214214
});
215215

packages/permissions-kernel-snap/test/rpc/rpc.test.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ describe('RpcHandler', () => {
4848
},
4949
];
5050

51-
it('should throw error when permission provider does not support all requested permissions', async () => {
51+
it('should throw error when permissions provider does not support all requested permissions', async () => {
5252
const mockPartialPermissions: PermissionsRequest = [
5353
{
5454
chainId: '0x1',
@@ -87,7 +87,7 @@ describe('RpcHandler', () => {
8787
mockPartialPermissions[1],
8888
] as unknown as PermissionsRequest,
8989
errorMessage:
90-
'The following permissions can not be granted by the permission provider: native-token-stream',
90+
'The following permissions can not be granted by the permissions provider: native-token-stream',
9191
},
9292
);
9393

@@ -97,7 +97,7 @@ describe('RpcHandler', () => {
9797
params: mockPartialPermissions as unknown as Json,
9898
}),
9999
).rejects.toThrow(
100-
'The following permissions can not be granted by the permission provider: native-token-stream',
100+
'The following permissions can not be granted by the permissions provider: native-token-stream',
101101
);
102102
});
103103

@@ -161,7 +161,7 @@ describe('RpcHandler', () => {
161161
// eslint-disable-next-line no-restricted-globals
162162
snapId: process.env.GATOR_PERMISSIONS_PROVIDER_SNAP_ID,
163163
request: {
164-
method: ExternalMethod.PermissionProviderGrantPermissions,
164+
method: ExternalMethod.PermissionsProviderGrantPermissions,
165165
params: {
166166
permissionsRequest: mockPermissions,
167167
siteOrigin,
@@ -172,7 +172,7 @@ describe('RpcHandler', () => {
172172
expect(result).toStrictEqual(mockGrantedPermissions);
173173
});
174174

175-
it('should handle errors thrown during call to permission provider when granting permissions', async () => {
175+
it('should handle errors thrown during call to permissions provider when granting permissions', async () => {
176176
mockPermissionOfferRegistryManager.buildPermissionOffersRegistry.mockResolvedValue(
177177
{
178178
'test-provider': [],

0 commit comments

Comments
 (0)