diff --git a/docs/src/content/docs/developer-guides/session-keys.mdx b/docs/src/content/docs/developer-guides/session-keys.mdx index c78fb08e..41dfda36 100644 --- a/docs/src/content/docs/developer-guides/session-keys.mdx +++ b/docs/src/content/docs/developer-guides/session-keys.mdx @@ -27,7 +27,6 @@ The SessionKeyRegistry stores arbitrary `bytes32` hashes as permissions and is a | `CreateDataSetPermission` | Create new datasets | | `AddPiecesPermission` | Add pieces to datasets | | `SchedulePieceRemovalsPermission` | Schedule piece removals | -| `DeleteDataSetPermission` | Delete datasets | These are the constants currently supported by FWSS. The `Permission` type also accepts any `Hex` value, allowing registration of custom permission hashes for non-FWSS operations (e.g., authenticated Curio HTTP endpoints). diff --git a/packages/synapse-core/src/session-key/permissions.ts b/packages/synapse-core/src/session-key/permissions.ts index e5df0c68..c29199b0 100644 --- a/packages/synapse-core/src/session-key/permissions.ts +++ b/packages/synapse-core/src/session-key/permissions.ts @@ -7,7 +7,6 @@ import { EIP712Types } from '../typed-data/type-definitions.ts' export type CreateDataSetPermission = Tagged export type AddPiecesPermission = Tagged export type SchedulePieceRemovalsPermission = Tagged -export type DeleteDataSetPermission = Tagged function typeHash(type: TypedData.encodeType.Value) { return keccak256(stringToHex(TypedData.encodeType(type))) @@ -28,24 +27,9 @@ export const SchedulePieceRemovalsPermission = typeHash({ primaryType: 'SchedulePieceRemovals', }) as SchedulePieceRemovalsPermission -export const DeleteDataSetPermission = typeHash({ - types: EIP712Types, - primaryType: 'DeleteDataSet', -}) as DeleteDataSetPermission - -export const DefaultFwssPermissions = [ - CreateDataSetPermission, - AddPiecesPermission, - SchedulePieceRemovalsPermission, - DeleteDataSetPermission, -] - -export type Permission = - | CreateDataSetPermission - | AddPiecesPermission - | SchedulePieceRemovalsPermission - | DeleteDataSetPermission - | Hex +export const DefaultFwssPermissions = [CreateDataSetPermission, AddPiecesPermission, SchedulePieceRemovalsPermission] + +export type Permission = CreateDataSetPermission | AddPiecesPermission | SchedulePieceRemovalsPermission | Hex export type Expirations = { [key in Permission]: bigint @@ -55,5 +39,4 @@ export const DefaultEmptyExpirations: Expirations = { [CreateDataSetPermission]: 0n, [AddPiecesPermission]: 0n, [SchedulePieceRemovalsPermission]: 0n, - [DeleteDataSetPermission]: 0n, } diff --git a/packages/synapse-core/src/typed-data/type-definitions.ts b/packages/synapse-core/src/typed-data/type-definitions.ts index d4a1597d..a01eae4e 100644 --- a/packages/synapse-core/src/typed-data/type-definitions.ts +++ b/packages/synapse-core/src/typed-data/type-definitions.ts @@ -28,8 +28,6 @@ export const EIP712Types = { { name: 'clientDataSetId', type: 'uint256' }, { name: 'pieceIds', type: 'uint256[]' }, ], - DeleteDataSet: [{ name: 'clientDataSetId', type: 'uint256' }], - /** * ERC-2612: Permit Extension for EIP-20 Signed Approvals * @see https://eips.ethereum.org/EIPS/eip-2612 diff --git a/packages/synapse-core/test/authorization-expiry.test.ts b/packages/synapse-core/test/authorization-expiry.test.ts index 20409bfd..50219b42 100644 --- a/packages/synapse-core/test/authorization-expiry.test.ts +++ b/packages/synapse-core/test/authorization-expiry.test.ts @@ -7,7 +7,6 @@ import { authorizationExpiry, authorizationExpiryCall } from '../src/session-key import { AddPiecesPermission, CreateDataSetPermission, - DeleteDataSetPermission, SchedulePieceRemovalsPermission, } from '../src/session-key/permissions.ts' @@ -76,7 +75,7 @@ describe('authorizationExpiry', () => { chain: calibration, address: '0x1234567890123456789012345678901234567890', sessionKeyAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd', - permission: DeleteDataSetPermission, + permission: SchedulePieceRemovalsPermission, }) assert.ok(typeof call.args[2] === 'string') @@ -159,14 +158,14 @@ describe('authorizationExpiry', () => { permission: SchedulePieceRemovalsPermission, }) - const expiryDelete = await authorizationExpiry(client, { + const expiryCreate = await authorizationExpiry(client, { address: '0x1234567890123456789012345678901234567890', sessionKeyAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd', - permission: DeleteDataSetPermission, + permission: CreateDataSetPermission, }) assert.equal(expirySchedule, expiry1) - assert.equal(expiryDelete, expiry2) + assert.equal(expiryCreate, expiry2) }) it('should return 0 when authorization does not exist', async () => {