Register a mandate & appoint a manager
1. Build the RegisterPermission signature
RegisterPermission(address account,address permission,uint256 nonce,uint256 deadline)structHash = keccak256(abi.encode(
REGISTER_PERMISSION_TYPEHASH,
account,
permission,
signerNonces[account], // read from the kernel
deadline
))
digest = kernel.hashTypedDataV4(structHash) // applies the SailKernel domain
signerSig = sign(digest, permissionSignerKey) // ECDSA or ERC-12712. Submit the registration with the fee
uint256 fee = governance.permissionRegistrationFee(); // 0 at launch
kernel.registerPermission{value: fee}(account, permission, deadline, signerSig);Register several at once
If the permission needs configuring
Changing the mandate later
Last updated

