UNPKG

amgi-ts

Version:

Typescript SDK for interacting with various AMGI Studios Eth Contracts.

893 lines (860 loc) 31.2 kB
import { Contract, ContractRunner, BlockTag, EventLog, Log, BytesLike, AddressLike, Interface } from 'ethers'; interface ProposalCreatedEvent { proposalId: bigint; proposer: string; targets: string[]; values: bigint[]; signatures: string[]; calldatas: string[]; voteStart: bigint; voteEnd: bigint; description: string; } interface ProposalCanceledEvent { proposalId: bigint; } interface ProposalCanceledByCancellerEvent { canceller: string; proposalId: bigint; reason: string; } interface ProposalExecutedEvent { proposalId: bigint; } interface ProposalQueuedEvent { proposalId: bigint; etaSeconds: bigint; } interface ProposalThresholdSetEvent { oldProposalThreshold: bigint; newProposalThreshold: bigint; } interface QuorumNumeratorUpdatedEvent { oldQuorumNumerator: bigint; newQuorumNumerator: bigint; } interface RoleAdminChangedEvent$2 { role: string; previousAdminRole: string; newAdminRole: string; } interface RoleGrantedEvent$2 { role: string; account: string; sender: string; } interface RoleRevokedEvent$1 { role: string; account: string; sender: string; } interface TimelockChangeEvent { oldTimelock: string; newTimelock: string; } interface VoteCastEvent { voter: string; proposalId: bigint; support: number; weight: bigint; reason: string; } interface VoteCastWithParamsEvent { voter: string; proposalId: bigint; support: number; weight: bigint; reason: string; params: string; } interface VotingDelaySetEvent { oldVotingDelay: bigint; newVotingDelay: bigint; } interface VotingPeriodSetEvent { oldVotingPeriod: bigint; newVotingPeriod: bigint; } interface EIP712DomainChangedEvent$2 { } interface GovernorEvents { ProposalCreated: ProposalCreatedEvent; ProposalCanceled: ProposalCanceledEvent; ProposalCanceledByCanceller: ProposalCanceledByCancellerEvent; ProposalExecuted: ProposalExecutedEvent; ProposalQueued: ProposalQueuedEvent; ProposalThresholdSet: ProposalThresholdSetEvent; QuorumNumeratorUpdated: QuorumNumeratorUpdatedEvent; RoleAdminChanged: RoleAdminChangedEvent$2; RoleGranted: RoleGrantedEvent$2; RoleRevoked: RoleRevokedEvent$1; TimelockChange: TimelockChangeEvent; VoteCast: VoteCastEvent; VoteCastWithParams: VoteCastWithParamsEvent; VotingDelaySet: VotingDelaySetEvent; VotingPeriodSet: VotingPeriodSetEvent; EIP712DomainChanged: EIP712DomainChangedEvent$2; } type EventCallback<T> = (args: T) => void; declare class BaseEvents<EventTypes> { protected contract: Contract; constructor(contract: Contract); protected on<K extends keyof EventTypes>(eventName: K, callback: EventCallback<EventTypes[K]>): Promise<void>; protected parseEventArgs<K extends keyof EventTypes>(eventName: K, args: any[]): EventTypes[K]; changeRunner(runner: ContractRunner): void; } declare class Events$4 extends BaseEvents<GovernorEvents> { constructor(contract: Contract); proposalCreated(callback: EventCallback<GovernorEvents["ProposalCreated"]>): Promise<void>; proposalCanceled(callback: EventCallback<GovernorEvents["ProposalCanceled"]>): Promise<void>; proposalCanceledByCanceller(callback: EventCallback<GovernorEvents["ProposalCanceledByCanceller"]>): Promise<void>; proposalExecuted(callback: EventCallback<GovernorEvents["ProposalExecuted"]>): Promise<void>; proposalQueued(callback: EventCallback<GovernorEvents["ProposalQueued"]>): Promise<void>; proposalThresholdSet(callback: EventCallback<GovernorEvents["ProposalThresholdSet"]>): Promise<void>; quorumNumeratorUpdated(callback: EventCallback<GovernorEvents["QuorumNumeratorUpdated"]>): Promise<void>; roleAdminChanged(callback: EventCallback<GovernorEvents["RoleAdminChanged"]>): Promise<void>; roleGranted(callback: EventCallback<GovernorEvents["RoleGranted"]>): Promise<void>; roleRevoked(callback: EventCallback<GovernorEvents["RoleRevoked"]>): Promise<void>; timelockChange(callback: EventCallback<GovernorEvents["TimelockChange"]>): Promise<void>; voteCast(callback: EventCallback<GovernorEvents["VoteCast"]>): Promise<void>; voteCastWithParams(callback: EventCallback<GovernorEvents["VoteCastWithParams"]>): Promise<void>; votingDelaySet(callback: EventCallback<GovernorEvents["VotingDelaySet"]>): Promise<void>; votingPeriodSet(callback: EventCallback<GovernorEvents["VotingPeriodSet"]>): Promise<void>; eip712DomainChanged(callback: EventCallback<GovernorEvents["EIP712DomainChanged"]>): Promise<void>; } interface ProposalVotes { against: bigint; for: bigint; abstain: bigint; total: bigint; } declare class Fetch$4 { private contract; constructor(contract: Contract); proposalCreated(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; proposalCanceled(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; proposalCanceledByCanceller(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; proposalExecuted(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; proposalQueued(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; proposalThresholdSet(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; quorumNumeratorUpdated(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; roleAdminChanged(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; roleGranted(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; roleRevoked(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; timelockChange(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; voteCast(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; voteCastWithParams(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; votingDelaySet(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; votingPeriodSet(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; domainChanged(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; ballotTypehash(): Promise<BytesLike>; cancellerRole(): Promise<BytesLike>; clockMode(): Promise<string>; clock(): Promise<number>; countingMode(): Promise<string>; defaultAdminRole(): Promise<BytesLike>; domain(): Promise<any>; extendedBallotTypehash(): Promise<string>; circulatingSupply(): Promise<bigint>; getIncreaseNumerator(): Promise<bigint>; getRoleAdmin(role: BytesLike): Promise<BytesLike>; getVotes(account: AddressLike, timepoint: bigint): Promise<bigint>; getVotesWithParams(account: AddressLike, timepoint: bigint, params: BytesLike): Promise<bigint>; hasRole(role: BytesLike, account: AddressLike): Promise<boolean>; hasVoted(proposalId: bigint, account: AddressLike): Promise<boolean>; isATarget(targets: AddressLike[]): Promise<boolean>; karrat(): Promise<AddressLike>; lastAdjustedCancelerRole(): Promise<bigint>; name(): Promise<string>; nonces(owner: AddressLike): Promise<bigint>; notCirculatingWalletOne(): Promise<AddressLike>; notCirculatingWalletTwo(): Promise<AddressLike>; proposalDeadline(proposalId: bigint): Promise<bigint>; proposalEta(proposalId: bigint): Promise<bigint>; proposalNeedsQueuing(proposalId: bigint): Promise<boolean>; proposalProposer(proposalId: bigint): Promise<AddressLike>; proposalSnapshot(proposalId: bigint): Promise<BlockTag>; proposalThreshold(proposalId: bigint): Promise<BlockTag>; proposalVotes(proposalId: bigint): Promise<ProposalVotes>; quorum(timepoint: BlockTag): Promise<bigint>; quorumDenominator(): Promise<bigint>; quorumNumerator(timepoint?: bigint): Promise<bigint>; state(proposalId: bigint): Promise<number>; supportsInterface(interfaceId: BytesLike): Promise<boolean>; timelock(): Promise<AddressLike>; timelockControllerAddress(): Promise<AddressLike>; token(): Promise<AddressLike>; version(): Promise<string>; votingDelay(): Promise<bigint>; votingPeriod(): Promise<bigint>; changeRunner(runner: ContractRunner): void; } declare class Execute$2 { private contract; constructor(contract: Contract); cancel(targets: AddressLike[], values: bigint[], calldatas: BytesLike[], proposalDescription: BytesLike): Promise<any>; cancelProposal(targets: AddressLike[], values: bigint[], calldatas: BytesLike[], proposalDescription: BytesLike, proposalId: bigint, reason: string): Promise<any>; cancelProposalInTimelock(proposalId: bigint, id: BytesLike, reason: string): Promise<any>; cancellerRemoval(remove: AddressLike): Promise<any>; castVote(proposalId: bigint, support: number): Promise<any>; castVoteBySig(proposalId: bigint, support: number, voter: AddressLike, sig: BytesLike): Promise<bigint>; castVoteWithReason(proposalId: bigint, support: number, reason: string): Promise<bigint>; castVoteWithReasonAndParams(proposalId: bigint, support: number, reason: string, params: BytesLike): Promise<bigint>; castVoteWithReasonAndParamsBySig(proposalId: bigint, support: number, reason: string, params: BytesLike, sig: BytesLike): Promise<bigint>; execute(targets: AddressLike[], values: bigint[], calldatas: BytesLike[], proposalDescription: BytesLike): Promise<bigint>; fireCanceller(fired: AddressLike): Promise<any>; grantRole(role: BytesLike, account: AddressLike): Promise<any>; propose(targets: AddressLike[], values: bigint[], calldatas: BytesLike[], description: string): Promise<bigint>; queue(targets: AddressLike[], values: bigint[], calldatas: BytesLike[], proposalDescription: BytesLike): Promise<bigint>; rejectProposalAction(proposalId: bigint): Promise<any>; relay(target: AddressLike, value: bigint, data: BytesLike): Promise<any>; renounceRole(role: BytesLike, callerConfirmation: AddressLike): Promise<any>; revokeRole(role: BytesLike, account: AddressLike): Promise<any>; setProposalThreshold(newProposalThreshold: bigint): Promise<any>; setVotingDelay(newVotingDelay: number): Promise<any>; setVotingPeriod(newVotingPeriod: number): Promise<any>; swapRoles(formerCancellers: AddressLike[], newCancellers: AddressLike[]): Promise<any>; changeRunner(runner: ContractRunner): Promise<any>; updateQuorumNumerator(newQuorumNumerator: bigint): Promise<any>; updateTimelock(newTimelock: AddressLike): Promise<any>; } declare class BaseCoder { protected address: string; protected interface: Interface; constructor(address: string, iface: Interface); decode(targets: string[], calldatas: string[]): { index: number; functionName: string; params: any[]; }[]; } declare class Coder$4 extends BaseCoder { constructor(address: string, iface: Interface); } /** * Represents a Governor contract. * Provides methods for interacting with governance-related functions, * including event handling, fetching data, viewing state, executing transactions, * and encoding/decoding data. */ declare class Governor { events: Events$4; fetch: Fetch$4; exec: Execute$2; coder: Coder$4; contract: Contract; interface: Interface; constructor(address: string, runner: ContractRunner, abi?: any); } interface ApprovalEvent$1 { owner: string; spender: string; value: bigint; payload: any; } interface DelegateChangedEvent { delegator: string; fromDelegate: string; toDelegate: string; payload: any; } interface DelegateVotesChangedEvent { delegate: string; previousBalance: bigint; newBalance: bigint; payload: any; } interface TransferEvent$1 { from: string; to: string; value: bigint; payload: any; } interface MintEvent$1 { to: string; value: bigint; payload: any; } interface EIP712DomainChangedEvent$1 { payload: any; } interface TokenEvents { Approval: ApprovalEvent$1; DelegateChanged: DelegateChangedEvent; DelegateVotesChanged: DelegateVotesChangedEvent; Transfer: TransferEvent$1; Mint: MintEvent$1; EIP712DomainChanged: EIP712DomainChangedEvent$1; } declare class Events$3 extends BaseEvents<TokenEvents> { constructor(contract: Contract); approval(callback: EventCallback<TokenEvents["Approval"]>): Promise<void>; delegateChanged(callback: EventCallback<TokenEvents["DelegateChanged"]>): Promise<void>; delegateVotesChanged(callback: EventCallback<TokenEvents["DelegateVotesChanged"]>): Promise<void>; mint(callback: EventCallback<TokenEvents["Mint"]>): Promise<void>; transfer(callback: EventCallback<TokenEvents["Transfer"]>): Promise<void>; eip712DomainChanged(callback: EventCallback<TokenEvents["EIP712DomainChanged"]>): Promise<void>; } declare class Fetch$3 { private contract; constructor(contract: Contract); approval(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; delegateChanged(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; delegateVotesChanged(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; transfer(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; domainChanged(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; domainSeparator(): Promise<BytesLike>; clockMode(): Promise<string>; allowance(owner: AddressLike, spender: AddressLike): Promise<bigint>; balanceOf(account: AddressLike): Promise<bigint>; checkpoints(account: AddressLike, pos: number): Promise<any>; clock(): Promise<number>; decimals(): Promise<number>; delegates(account: AddressLike): Promise<AddressLike>; domain(): Promise<any>; getPastTotalSupply(timepoint: bigint): Promise<bigint>; getPastVotes(account: AddressLike, timepoint: bigint): Promise<bigint>; getVotes(account: AddressLike): Promise<bigint>; name(): Promise<string>; symbol(): Promise<string>; nonces(owner: AddressLike): Promise<bigint>; numCheckpoints(account: AddressLike): Promise<number>; totalSupply(): Promise<bigint>; changeRunner(runner: ContractRunner): void; } declare class Execute$1 { private contract; constructor(contract: Contract); approve(spender: AddressLike, value: bigint): Promise<boolean>; delegate(delegatee: AddressLike): Promise<any>; delegateBySig(delegatee: AddressLike, nonce: bigint, expiry: bigint, v: number, r: BytesLike, s: BytesLike): Promise<any>; permit(): Promise<any>; transfer(to: AddressLike, value: bigint): Promise<boolean>; transferFrom(from: AddressLike, to: AddressLike, value: bigint): Promise<boolean>; changeRunner(runner: ContractRunner): void; } declare class Coder$3 extends BaseCoder { constructor(address: string, iface: Interface); } /** * Represents an ERC20 token contract. * Provides methods for interacting with the token contract, including events, fetching data, * viewing contract state, and executing transactions. */ declare class Token { events: Events$3; fetch: Fetch$3; exec: Execute$1; coder: Coder$3; contract: Contract; interface: Interface; constructor(address: string, runner: ContractRunner, abi?: ({ inputs: { internalType: string; name: string; type: string; }[]; stateMutability: string; type: string; name?: undefined; anonymous?: undefined; outputs?: undefined; } | { inputs: { internalType: string; name: string; type: string; }[]; name: string; type: string; stateMutability?: undefined; anonymous?: undefined; outputs?: undefined; } | { anonymous: boolean; inputs: { indexed: boolean; internalType: string; name: string; type: string; }[]; name: string; type: string; stateMutability?: undefined; outputs?: undefined; } | { inputs: { internalType: string; name: string; type: string; }[]; name: string; outputs: { internalType: string; name: string; type: string; }[]; stateMutability: string; type: string; anonymous?: undefined; } | { inputs: { internalType: string; name: string; type: string; }[]; name: string; outputs: { components: { internalType: string; name: string; type: string; }[]; internalType: string; name: string; type: string; }[]; stateMutability: string; type: string; anonymous?: undefined; })[]); } interface CallExecutedEvent { id: string; index: bigint; target: string; value: bigint; data: string; payload: any; } interface CallSaltEvent { id: string; salt: string; payload: any; } interface CallScheduledEvent { id: string; index: bigint; target: string; value: bigint; data: string; predecessor: string; delay: bigint; payload: any; } interface CancelledEvent { id: string; payload: any; } interface MinDelayChangeEvent { oldDuration: bigint; newDuration: bigint; payload: any; } interface RoleAdminChangedEvent$1 { role: string; previousAdminRole: string; newAdminRole: string; payload: any; } interface RoleGrantedEvent$1 { role: string; account: string; sender: string; payload: any; } interface RoleRevokedEvent { role: string; account: string; sender: string; payload: any; } interface TimelockEvents { CallExecuted: CallExecutedEvent; CallSalt: CallSaltEvent; CallScheduled: CallScheduledEvent; Cancelled: CancelledEvent; MinDelayChange: MinDelayChangeEvent; RoleAdminChanged: RoleAdminChangedEvent$1; RoleGranted: RoleGrantedEvent$1; RoleRevoked: RoleRevokedEvent; } declare class Events$2 extends BaseEvents<TimelockEvents> { constructor(contract: Contract); callExecuted(callback: EventCallback<TimelockEvents["CallExecuted"]>): Promise<void>; callSalt(callback: EventCallback<TimelockEvents["CallSalt"]>): Promise<void>; callScheduled(callback: EventCallback<TimelockEvents["CallScheduled"]>): Promise<void>; cancelled(callback: EventCallback<TimelockEvents["Cancelled"]>): Promise<void>; minDelayChange(callback: EventCallback<TimelockEvents["MinDelayChange"]>): Promise<void>; roleAdminChanged(callback: EventCallback<TimelockEvents["RoleAdminChanged"]>): Promise<void>; roleGranted(callback: EventCallback<TimelockEvents["RoleGranted"]>): Promise<void>; roleRevoked(callback: EventCallback<TimelockEvents["RoleRevoked"]>): Promise<void>; } declare class Fetch$2 { private contract; constructor(contract: Contract); callExecuted(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; callSalt(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; callScheduled(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; cancelled(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; minDelayChange(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; roleAdminChanged(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; roleGranted(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; roleRevoked(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; executorRole(): Promise<BytesLike>; defaultAdminRole(): Promise<BytesLike>; getMinDelay(): Promise<bigint>; getOperationState(id: BytesLike): Promise<number>; getRoleAdmin(role: BytesLike): Promise<BytesLike>; getTimestamp(id: BytesLike): Promise<bigint>; hasRole(role: BytesLike, account: AddressLike): Promise<boolean>; isOperation(id: BytesLike): Promise<boolean>; isOperationDone(id: BytesLike): Promise<boolean>; isOperationPending(id: BytesLike): Promise<boolean>; isOperationReady(id: BytesLike): Promise<boolean>; supportsInterface(interfaceId: BytesLike): Promise<boolean>; changeRunner(runner: ContractRunner): void; } declare class Execute { private contract; constructor(contract: Contract); cancel(id: BytesLike): Promise<any>; execute(target: AddressLike, value: bigint, payload: BytesLike, predecessor: BytesLike, salt: BytesLike): Promise<any>; executeBatch(targets: AddressLike[], values: bigint[], payloads: BytesLike[], predecessor: BytesLike, salt: BytesLike): Promise<any>; grantRole(role: BytesLike, account: AddressLike): Promise<any>; renounceRole(role: BytesLike, callerConfirmation: AddressLike): Promise<any>; revokeRole(role: BytesLike, account: AddressLike): Promise<any>; schedule(target: AddressLike, value: bigint, data: BytesLike, predecessor: BytesLike, salt: BytesLike, delay: bigint): Promise<any>; scheduleBatch(targets: AddressLike[], values: bigint[], data: BytesLike[], predecessor: BytesLike, salt: BytesLike, delay: bigint): Promise<any>; updateDelay(newDelay: bigint): Promise<any>; changeRunner(runner: ContractRunner): void; } declare class Coder$2 extends BaseCoder { constructor(address: string, iface: Interface); } /** * Represents the Timelock contract. * This class provides access to events, fetching data, viewing state, and executing transactions on the Timelock contract. */ declare class Timelock { events: Events$2; fetch: Fetch$2; exec: Execute; coder: Coder$2; contract: Contract; interface: Interface; constructor(address: string, runner: ContractRunner, abi?: ({ inputs: { internalType: string; name: string; type: string; }[]; stateMutability: string; type: string; name?: undefined; anonymous?: undefined; outputs?: undefined; } | { inputs: { internalType: string; name: string; type: string; }[]; name: string; type: string; stateMutability?: undefined; anonymous?: undefined; outputs?: undefined; } | { anonymous: boolean; inputs: { indexed: boolean; internalType: string; name: string; type: string; }[]; name: string; type: string; stateMutability?: undefined; outputs?: undefined; } | { inputs: { internalType: string; name: string; type: string; }[]; name: string; outputs: { internalType: string; name: string; type: string; }[]; stateMutability: string; type: string; anonymous?: undefined; } | { stateMutability: string; type: string; inputs?: undefined; name?: undefined; anonymous?: undefined; outputs?: undefined; })[]); } interface ApprovalEvent { owner: string; approved: string; tokenId: bigint; payload: any; } interface ApprovalForAllEvent { owner: string; operator: string; approved: boolean; payload: any; } interface OwnershipTransferredEvent { previousOwner: string; newOwner: string; payload: any; } interface TransferEvent { from: string; to: string; tokenId: bigint; payload: any; } interface MintEvent { to: string; tokenId: bigint; payload: any; } interface NFTEvents { Approval: ApprovalEvent; ApprovalForAll: ApprovalForAllEvent; OwnershipTransferred: OwnershipTransferredEvent; Transfer: TransferEvent; Mint: MintEvent; } declare class Events$1 extends BaseEvents<NFTEvents> { constructor(contract: Contract); approval(callback: EventCallback<NFTEvents["Approval"]>): Promise<void>; approvalForAll(callback: EventCallback<NFTEvents["ApprovalForAll"]>): Promise<void>; ownershipTransferred(callback: EventCallback<NFTEvents["OwnershipTransferred"]>): Promise<void>; mint(callback: EventCallback<NFTEvents["Mint"]>): Promise<void>; transfer(callback: EventCallback<NFTEvents["Transfer"]>): Promise<void>; } declare class Fetch$1 { private contract; constructor(contract: Contract); approval(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; approvalForAll(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; ownershipTransfered(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; transfer(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; max(): Promise<BytesLike>; getApproved(tokenId: bigint): Promise<AddressLike>; isApprovedForAll(owner: AddressLike, operator: AddressLike): Promise<boolean>; balanceOf(account: AddressLike): Promise<bigint>; name(): Promise<string>; owner(): Promise<AddressLike>; symbol(): Promise<string>; tokenByIndex(index: bigint): Promise<bigint>; tokenOfOwnerByIndex(owner: AddressLike, index: bigint): Promise<bigint>; tokenURI(tokenId: bigint): Promise<string>; totalSupply(): Promise<bigint>; changeRunner(runner: ContractRunner): void; } declare class Coder$1 extends BaseCoder { constructor(address: string, iface: Interface); } /** * Represents an NFT (Non-Fungible Token) contract. * Provides methods for interacting with events, fetching data, * and viewing contract state. */ declare class NFT { events: Events$1; fetch: Fetch$1; coder: Coder$1; contract: Contract; interface: Interface; constructor(address: string, runner: ContractRunner, abi?: ({ inputs: { internalType: string; name: string; type: string; }[]; stateMutability: string; type: string; anonymous?: undefined; name?: undefined; outputs?: undefined; } | { anonymous: boolean; inputs: { indexed: boolean; internalType: string; name: string; type: string; }[]; name: string; type: string; stateMutability?: undefined; outputs?: undefined; } | { inputs: { internalType: string; name: string; type: string; }[]; name: string; outputs: { internalType: string; name: string; type: string; }[]; stateMutability: string; type: string; anonymous?: undefined; })[]); } interface NFTBoughtEvent { buyer: string; seller: string; nftAddress: string; tokenId: bigint; price: bigint; payload: any; } interface GameItemReadyEvent { owner: string; tokenId: bigint; payload: any; } interface EIP712DomainChangedEvent { payload: any; } interface FeeChangedEvent { oldFee: bigint; newFee: bigint; payload: any; } interface RoleAdminChangedEvent { role: string; previousAdminRole: string; newAdminRole: string; payload: any; } interface RoleGrantedEvent { role: string; account: string; sender: string; payload: any; } interface MarketplaceEvents { NFTBought: NFTBoughtEvent; GameItemReady: GameItemReadyEvent; EIP712DomainChanged: EIP712DomainChangedEvent; FeeChanged: FeeChangedEvent; RoleAdminChanged: RoleAdminChangedEvent; RoleGranted: RoleGrantedEvent; } declare class Events extends BaseEvents<MarketplaceEvents> { constructor(contract: Contract); nftBought(callback: EventCallback<MarketplaceEvents["NFTBought"]>): Promise<void>; gameItemReady(callback: EventCallback<MarketplaceEvents["GameItemReady"]>): Promise<void>; eip712DomainChanged(callback: EventCallback<MarketplaceEvents["EIP712DomainChanged"]>): Promise<void>; feeChanged(callback: EventCallback<MarketplaceEvents["FeeChanged"]>): Promise<void>; roleAdminChanged(callback: EventCallback<MarketplaceEvents["RoleAdminChanged"]>): Promise<void>; roleGranted(callback: EventCallback<MarketplaceEvents["RoleGranted"]>): Promise<void>; } declare class Fetch { private contract; constructor(contract: Contract); nftBought(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; gameItemReady(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; domainChanged(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; feeChanged(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; roleAdminChanged(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; roleGranted(from?: BlockTag, to?: BlockTag): Promise<(EventLog | Log)[]>; changeRunner(runner: ContractRunner): void; } declare class Coder extends BaseCoder { constructor(address: string, iface: Interface); } /** * Represents the Marketplace contract interface. * Provides access to events, fetch operations, and view functions of the marketplace. */ declare class Marketplace { events: Events; fetch: Fetch; coder: Coder; contract: Contract; interface: Interface; constructor(address: string, runner: ContractRunner, abi?: ({ inputs: { internalType: string; name: string; type: string; }[]; stateMutability: string; type: string; name?: undefined; anonymous?: undefined; outputs?: undefined; } | { inputs: { internalType: string; name: string; type: string; }[]; name: string; type: string; stateMutability?: undefined; anonymous?: undefined; outputs?: undefined; } | { anonymous: boolean; inputs: { indexed: boolean; internalType: string; name: string; type: string; }[]; name: string; type: string; stateMutability?: undefined; outputs?: undefined; } | { inputs: { internalType: string; name: string; type: string; }[]; name: string; outputs: { internalType: string; name: string; type: string; }[]; stateMutability: string; type: string; anonymous?: undefined; })[]); } /** * AMGI class representing AMGI Studios LLC. Ethereum ecosystem. * This class provides access to various components of the AMGI ecosystem, * including governance, token, timelock, marketplace, and NFT contracts. */ declare class AMGI { winvote: Governor; timelock: Timelock; karrat: Token; market: Marketplace; hooligans: NFT; zuckbots: NFT; constructor(winvoteAddress: string, karratAddress: string, timelockAddress: string, marketAddress: string, hooliganAddress: string, zuckbotAddress: string, runner: ContractRunner); } export { AMGI, Governor, Marketplace, NFT, Timelock, Token };