# Auditing Karpatkey PURv5 :::info **Reference:** [EP5.x Roles Modifier V2 Migration & Endowment Permissions Updates](https://discuss.ens.domains/t/ep-5-x-roles-modifier-v2-migration-updates-to-endowment-permissions/19173) ::: ## Audit Step 1: Current Permissions Policy ### Addresses without reference: - **0x5550d13389bb70f45fcef58f19f6b6e87f6e747d** - Comment: Signature listed as ‘processRoute’ in V1 module, but does not appear in V2 module. ### Addresses with missing reference: - **0x5c0f23a5c1be65fa710d385814a7fd1bda480b1c** - Comment: Signature listed as ‘withdraw’, ‘deposit’, and ‘claim rewards’ in V2 module, but does not appear in V1 module. ### Addresses with missing function: - **0xc874b064f465bdd6411d45734b56fac750cda29a** - Comment: - Function not found in ABI ‘no condition set’ in either module version. - Preset Permissions v5 lists it as stake() 'Sender stakes ETH in exchange for sETH2' - Revoked in updated policy ## Audit Step 2: Comparison of Current Permissions Policy vs New Proposed Policy No comments. ## Audit Step 3: Enabling Roles v2 by the Endowment ### Tokens: - **Spark: spWETH** - Address: 0x59cD1C87501baa753d0B5B5Ab5D8416A45cD71DB - Comment: In the new permissions policy deployed in the Roles v2 module, spWETH function signature is listed as ‘0x095ea7b3’ and its parameter is ‘[0]’, type ‘static’, and its value is ‘0x000000000000000000000000bd7d6a9ad7865463de44b05f04559f65e3b11704’. Whereas in V1, the permission lists the function signature as ‘approve’, the parameter is ‘spender’ its type is ‘address’ and its value is ‘0xBD7D6a9ad7865463DE44B05F04559f65e3B11704’. - **wstETH Token** - Address: 0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0 - Comment: In the v2 module, 2 parameters are listed, whereas in the v1 module, there are three additional parameters listed. - **USDC Token** - Address: 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 - Comment: The v2 module lists 4 parameters, the v1 module has an additional one. - **ETHx Token** - Address: 0xA35b1B31Ce002FBF2058D22F30f95D405200A15b - Comment: The v2 module lists 4 parameters, the v1 module has an additional one. - **rETH Token** - Address: 0xae78736Cd615f374D3085123A210448E74Fc6393 - Comment: The v2 module lists 2 parameters, the v1 module lists an additional three. - **stETH Token** - Address: 0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84 - Comment: The v2 module lists 5 parameters, the v1 module lists an additional two. - **WETH Token** - Address: 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 - Comment: The v2 module lists 3 parameters under its function signature listed as ‘approve’; meanwhile in v1, there are an additional 4 parameters listed under this function signature. - **ankrETH Token** - Address: 0xE95A203B1a91a908F9B9CE46459d101078c2c3cb - Comment: The v2 module lists four parameters, the v1 module lists an additional parameter.