contracts/handlers/distributor-handler
Classes
DistributorHandler
Defined in: lib/contracts/handlers/distributor-handler.ts:33
Handler for the Merkle Distributor contract, for claiming rewards, e.g. mtwCARROT.
Constructors
Constructor
new DistributorHandler(
chain,walletClient,publicClient):DistributorHandler
Defined in: lib/contracts/handlers/distributor-handler.ts:44
Create the handler for the Distributor contract exposing methods to interact with the contract.
Parameters
| Parameter | Type | Description |
|---|---|---|
chain | Chain | Chain to use for the client. |
walletClient | { } | The wallet client to use for wallet interactions. |
publicClient | { } | The public client to use for public interactions. |
Returns
Methods
claim()
claim(
account,params):Promise<`0x${string}`>
Defined in: lib/contracts/handlers/distributor-handler.ts:76
Claim tokens for multiple users.
Parameters
| Parameter | Type | Description |
|---|---|---|
account | `0x${string}` | The account making the claim. |
params | ClaimParams | The claim parameters. |
Returns
Promise<`0x${string}`>
A promise that resolves to the transaction hash.
claimed()
claimed(
user,token):Promise<ClaimInfo>
Defined in: lib/contracts/handlers/distributor-handler.ts:93
Get claim information for a user and token.
Parameters
| Parameter | Type | Description |
|---|---|---|
user | `0x${string}` | The user address. |
token | `0x${string}` | The token address. |
Returns
Promise<ClaimInfo>
The claim information.
core()
core():
Promise<`0x${string}`>
Defined in: lib/contracts/handlers/distributor-handler.ts:108
Get the core contract address.
Returns
Promise<`0x${string}`>
The core contract address.
disputeAmount()
disputeAmount():
Promise<bigint>
Defined in: lib/contracts/handlers/distributor-handler.ts:117
Get the dispute amount.
Returns
Promise<bigint>
The dispute amount.
disputePeriod()
disputePeriod():
Promise<number>
Defined in: lib/contracts/handlers/distributor-handler.ts:126
Get the dispute period.
Returns
Promise<number>
The dispute period in seconds.
disputer()
disputer():
Promise<`0x${string}`>
Defined in: lib/contracts/handlers/distributor-handler.ts:158
Get the current disputer address.
Returns
Promise<`0x${string}`>
The disputer address.
disputeToken()
disputeToken():
Promise<`0x${string}`>
Defined in: lib/contracts/handlers/distributor-handler.ts:135
Get the dispute token address.
Returns
Promise<`0x${string}`>
The dispute token address.
disputeTree()
disputeTree(
account,reason):Promise<`0x${string}`>
Defined in: lib/contracts/handlers/distributor-handler.ts:146
Dispute the current tree.
Parameters
| Parameter | Type | Description |
|---|---|---|
account | `0x${string}` | The account disputing the tree. |
reason | string | The reason for the dispute. |
Returns
Promise<`0x${string}`>
A promise that resolves to the transaction hash.
endOfDisputePeriod()
endOfDisputePeriod():
Promise<number>
Defined in: lib/contracts/handlers/distributor-handler.ts:167
Get the end of the dispute period.
Returns
Promise<number>
The timestamp when the dispute period ends.
getContract()
getContract():
object
Defined in: lib/contracts/handlers/distributor-handler.ts:57
Get the contract.
Returns
object
The viem contract.
getMerkleRoot()
getMerkleRoot():
Promise<`0x${string}`>
Defined in: lib/contracts/handlers/distributor-handler.ts:176
Get the current merkle root.
Returns
Promise<`0x${string}`>
The current merkle root.
lastTree()
lastTree():
Promise<MerkleTree>
Defined in: lib/contracts/handlers/distributor-handler.ts:185
Get the last tree information.
Returns
Promise<MerkleTree>
The last tree information.
onlyOperatorCanClaim()
onlyOperatorCanClaim(
user):Promise<bigint>
Defined in: lib/contracts/handlers/distributor-handler.ts:199
Check if only operators can claim for a user.
Parameters
| Parameter | Type | Description |
|---|---|---|
user | `0x${string}` | The user address to check. |
Returns
Promise<bigint>
Whether only operators can claim for the user.
toggleOnlyOperatorCanClaim()
toggleOnlyOperatorCanClaim(
account,user):Promise<`0x${string}`>
Defined in: lib/contracts/handlers/distributor-handler.ts:210
Toggle whether only operators can claim for a user.
Parameters
| Parameter | Type | Description |
|---|---|---|
account | `0x${string}` | The account toggling the setting. |
user | `0x${string}` | The user address to toggle for. |
Returns
Promise<`0x${string}`>
A promise that resolves to the transaction hash.
toggleOperator()
toggleOperator(
account,user,operator):Promise<`0x${string}`>
Defined in: lib/contracts/handlers/distributor-handler.ts:225
Toggle an operator for a user.
Parameters
| Parameter | Type | Description |
|---|---|---|
account | `0x${string}` | The account toggling the operator. |
user | `0x${string}` | The user address. |
operator | `0x${string}` | The operator address to toggle. |
Returns
Promise<`0x${string}`>
A promise that resolves to the transaction hash.
toggleTrusted()
toggleTrusted(
account,eoa):Promise<`0x${string}`>
Defined in: lib/contracts/handlers/distributor-handler.ts:239
Toggle whether an address is trusted.
Parameters
| Parameter | Type | Description |
|---|---|---|
account | `0x${string}` | The account toggling the trusted status. |
eoa | `0x${string}` | The address to toggle trust for. |
Returns
Promise<`0x${string}`>
A promise that resolves to the transaction hash.
tree()
tree():
Promise<MerkleTree>
Defined in: lib/contracts/handlers/distributor-handler.ts:251
Get the current tree information.
Returns
Promise<MerkleTree>
The current tree information.
Interfaces
ClaimInfo
Defined in: lib/contracts/handlers/distributor-handler.ts:17
Properties
| Property | Type | Defined in |
|---|---|---|
amount | bigint | lib/contracts/handlers/distributor-handler.ts:18 |
merkleRoot | `0x${string}` | lib/contracts/handlers/distributor-handler.ts:20 |
timestamp | bigint | lib/contracts/handlers/distributor-handler.ts:19 |
ClaimParams
Defined in: lib/contracts/handlers/distributor-handler.ts:23
Properties
| Property | Type | Defined in |
|---|---|---|
amounts | bigint[] | lib/contracts/handlers/distributor-handler.ts:26 |
proofs | `0x${string}`[][] | lib/contracts/handlers/distributor-handler.ts:27 |
tokens | `0x${string}`[] | lib/contracts/handlers/distributor-handler.ts:25 |
users | `0x${string}`[] | lib/contracts/handlers/distributor-handler.ts:24 |
MerkleTree
Defined in: lib/contracts/handlers/distributor-handler.ts:12
Properties
| Property | Type | Defined in |
|---|---|---|
ipfsHash | `0x${string}` | lib/contracts/handlers/distributor-handler.ts:14 |
merkleRoot | `0x${string}` | lib/contracts/handlers/distributor-handler.ts:13 |