@white-matrix/amethyst-sdk
export interface AmethystDAOClient {
connectProvider(address: string, provider: Provider): Promise<AmethystDAOClient>;
connectSigner(signer: Signer): AmethystDAOClient;
setWaitConfirmations(num: number): void;
accounts(config?: CallOverrides): Promise<Array<string>>;
accountShare(account: string, config?: CallOverrides): Promise<BigNumber>;
hashProposal(
targets: Array<string>,
values: Array<BigNumber>,
calldatas: BytesLike[],
descriptionHash: BytesLike,
config?: CallOverrides
): Promise<BigNumber>;
state(proposalId: BigNumber, config?: CallOverrides): Promise<number>;
proposalSnapshot(proposalId: BigNumber, config?: CallOverrides): Promise<BigNumber>;
proposalDeadline(proposalId: BigNumber, config?: CallOverrides): Promise<BigNumber>;
votingDelay(config?: CallOverrides): Promise<BigNumber>;
votingPeriod(config?: CallOverrides): Promise<BigNumber>;
quorum(config?: CallOverrides): Promise<BigNumber>;
getVotes(account: string, config?: CallOverrides): Promise<BigNumber>;
hasVoted(proposalId: BigNumber, account: string, config?: CallOverrides): Promise<boolean>;
propose(
targets: Array<string>,
values: Array<BigNumber>,
calldatas: BytesLike[],
description: string,
executeTimeLock: BigNumber,
config?: PayableOverrides
): Promise<TransactionEvent>;
execute(
targets: Array<string>,
values: Array<BigNumber>,
calldatas: BytesLike[],
descriptionHash: BytesLike,
config?: PayableOverrides
): Promise<TransactionEvent>;
castVoteWithReason(
proposalId: BigNumber,
support: number,
reason: string,
config?: PayableOverrides
): Promise<TransactionEvent>;
}
export interface AmethystFactoryClient {
connectProvider(address: string, provider: Provider): Promise<AmethystFactoryClient>;
connectSigner(signer: Signer): AmethystFactoryClient;
setWaitConfirmations(num: number): void;
createAmethystDAO(
initAccounts: Array<string>,
initShares: Array<number>,
initQuorum: number,
initVotingDelay: number,
initVotingPeriod: number,
config?: PayableOverrides
): Promise<AmethystDAOCreatedEvent>;
}
export interface AmethystRoleManagementClient {
connectProvider(address: string, provider: Provider): Promise<AmethystRoleManagementClient>;
connectSigner(signer: Signer): AmethystRoleManagementClient;
setWaitConfirmations(num: number): void;
hasAmethystRole(person: string, role: string, config?: CallOverrides): Promise<boolean>;
setAmethystRole(
person: string,
role: string,
enable: boolean,
timestamp: number,
signature: string,
config?: PayableOverrides
): Promise<TransactionEvent>;
signSetAmethystRoleMessage(
privateKey: string,
person: string,
role: string,
enable: boolean,
timestamp: number
): Promise<string>;
}
export interface ERC721Client {
connectProvider(address: string, provider: Provider): Promise<ERC721Client>;
connectSigner(signer: Signer): ERC721Client;
setWaitConfirmations(num: number): void;
balanceOf(owner: string, config?: CallOverrides): Promise<BigNumber>;
ownerOf(tokenId: BigNumber, config?: CallOverrides): Promise<string>;
name(config?: CallOverrides): Promise<string>;
symbol(config?: CallOverrides): Promise<string>;
tokenURI(tokenId: BigNumber, config?: CallOverrides): Promise<string>;
transferFrom(from: string, to: string, tokenId: BigNumber, config?: PayableOverrides): Promise<TransactionEvent>;
}
export interface RemixNFTClient extends ERC721Client {
connectProvider(address: string, provider: Provider): Promise<RemixNFTClient>;
connectSigner(signer: Signer): RemixNFTClient;
setWaitConfirmations(num: number): void;
tokenURI(tokenId: BigNumber, config?: CallOverrides): Promise<string>;
tokenType(tokenId: BigNumber, config?: CallOverrides): Promise<BigNumber>;
buy(
account: string,
tokenTypeArr: Array<number>,
price: BigNumber,
timestamp: number,
signature: string,
config?: PayableOverrides
): Promise<RemixNFTClaimedEvent>;
signBuyMessage(
privateKey: string,
account: string,
tokenTypeArr: Array<number>,
price: BigNumber,
timestamp: number
): Promise<string>;
}