1
0
forked from mico/idle_moloch
idle_moloch/lib/Baal/src/signDelegation.ts
2024-11-01 11:55:27 +01:00

41 lines
786 B
TypeScript

import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'
export const signDelegation = async (
chainId: number,
contractAddress: string,
signer: SignerWithAddress,
name: string,
delegatee: string,
nonce: number,
expiry: number
) => {
const domain = {
name: 'delegation',
version: '4',
chainId,
verifyingContract: contractAddress,
}
const types = {
Delegation: [
{ name: 'name', type: 'string' },
{ name: 'delegatee', type: 'address' },
{ name: 'nonce', type: 'uint256' },
{ name: 'expiry', type: 'uint256' },
],
}
const values = {
name,
delegatee,
nonce,
expiry,
}
const sig = await signer._signTypedData(domain, types, values)
return sig
};
export default signDelegation;