@q-dev/gdk-sdk
Version:
Typescript Library to interact with GDK Contracts
21 lines (20 loc) • 911 B
TypeScript
import { TypedDataDomain, TypedDataField } from "ethers";
import { EIP712Upgradeable } from "../ethers-contracts";
export declare const CandidateTypes: Record<string, TypedDataField[]>;
export declare const ConstitutionSignTypes: Record<string, TypedDataField[]>;
/**
* Get the domain for a contract that supports EIP712.
*
* Usage example:
*
* const domain = await getDomain(daoMemberStorageInstance);
*
* await account.signTypedData(domain, CandidateTypes, {
* dao: daoRegistryAddress, // MUST be in a lowercase
* candidate: (await account.getAddress()).toLowerCase(),
* message: await daoMemberStorage.getMessage(),
* nonce: getNonceForProposal(proposalId, votingContractAddress)
* });
*/
export declare function getDomain(contract: EIP712Upgradeable): Promise<TypedDataDomain>;
export declare function getNonceForProposal(proposalId: number, votingContractAddress: string): string;