The Escrow contract is fully implemented and used for C2D job payment flows, but none of its events are indexed.
The indexer should listen for and process all events emitted by the Escrow contract:
| Event |
Signature |
Auth |
Auth(address indexed payer, address indexed payee, uint256 maxLockedAmount, uint256 maxLockSeconds, uint256 maxLockCounts) |
Lock |
Lock(address payer, address payee, uint256 jobId, uint256 amount, uint256 expiry, address token) |
Claimed |
Claimed(address indexed payee, uint256 jobId, address token, address indexed payer, uint256 amount, bytes proof) |
Canceled |
Canceled(address indexed payee, uint256 jobId, address token, address indexed payer, uint256 amount) |
Deposit |
Deposit(address indexed payer, address token, uint256 amount) |
Withdraw |
Withdraw(address indexed payer, address token, uint256 amount) |
- Register all 6 event signatures in the
EVENTS and EVENT_HASHES constants
- Add Escrow contract address resolution per chain
- Implement event processor classes for each event type
- Register all new processors in
EVENT_PROCESSOR_MAP in processor.ts
- Define database schema and storage logic for indexed escrow events so they are queryable
The
Escrowcontract is fully implemented and used for C2D job payment flows, but none of its events are indexed.The indexer should listen for and process all events emitted by the Escrow contract:
AuthAuth(address indexed payer, address indexed payee, uint256 maxLockedAmount, uint256 maxLockSeconds, uint256 maxLockCounts)LockLock(address payer, address payee, uint256 jobId, uint256 amount, uint256 expiry, address token)ClaimedClaimed(address indexed payee, uint256 jobId, address token, address indexed payer, uint256 amount, bytes proof)CanceledCanceled(address indexed payee, uint256 jobId, address token, address indexed payer, uint256 amount)DepositDeposit(address indexed payer, address token, uint256 amount)WithdrawWithdraw(address indexed payer, address token, uint256 amount)EVENTSandEVENT_HASHESconstantsEVENT_PROCESSOR_MAPinprocessor.ts