IPaymentCoordinator
Author: Layr Labs, Inc.
Functions
merkleRootPostsLength
Getter function for the length of the merkleRootPosts
array
cumulativeTokenAmountClaimedByRecipient
getter cumulativeTokenAmountClaimedByRecipient (mapping(IERC20 => mapping(address => uint256))
merkleRootPosts
getter for merkleRootPosts
makePayment
Makes a payment of sum(amounts) paid in token
, for operator
's contributions to an AVS, between startBlockNumber
(inclusive) and endBlockNumber
(inclusive)
Emits a PaymentReceived
event
Transfers the total payment from the msg.sender
to this contract, so the caller must have previously approved this contract to transfer at least sum(amounts
) of token
postMerkleRoot
Permissioned function which allows posting a new Merkle root
withdrawEigenLayerShare
Permissioned function which allows withdrawal of EigenLayer's share of token
from all received payments
proveAndClaimEarnings
Called by a staker or operator to prove the inclusion of their earnings in a posted Merkle root and claim them.
Parameters
proof
bytes
Merkle proof showing that a leaf containing (msg.sender, amount)
was included in the rootIndex
-th Merkle root posted for the token
rootIndex
uint256
Specifies the Merkle root to look up, using merkleRootsByToken[token][rootIndex]
leaf
MerkleLeaf
The leaf to be proven for the Merkle tree
leafIndex
uint256
Structs
Payment
Struct used by AVSs when informing EigenLayer of a payment made to an operator, but that could be earned at least in part with funds from stakers who have delegated to the operator
MerkleRootPost
Struct used when posting new Merkle roots
MerkleLeaf
Struct used for leaves of posted Merkle trees
Last updated