Skip to main content

Module IReceivePolicyGuard

Module IReceivePolicyGuard 

Expand description

Module containing a contract’s types and functions.

interface IReceivePolicyGuard {
    enum InboundKind { TRANSFER, MINT }
    struct ClaimReceiptV1 { uint8 version; address token; address recoveryAuthority; address originator; address recipient; uint64 blockedAt; uint64 blockedNonce; uint8 blockedReason; InboundKind kind; bytes32 memo; }
    function balanceOf(bytes calldata receipt) external view returns (uint256 amount);
    function claim(address to, bytes calldata receipt) external;
    function burnBlockedReceipt(bytes calldata receipt) external;
    event TransferBlocked(address indexed token, address indexed receiver, uint64 indexed blockedNonce, uint256 amount, uint8 receiptVersion, bytes receipt);
    event ReceiptClaimed(address indexed token, address indexed receiver, uint64 indexed blockedNonce, uint64 blockedAt, uint8 receiptVersion, address originator, address recipient, address recoveryAuthority, address caller, address to, uint256 amount);
    event ReceiptBurned(address indexed token, address indexed receiver, uint64 indexed blockedNonce, uint64 blockedAt, uint8 receiptVersion, address originator, address recipient, address recoveryAuthority, address caller, uint256 amount);
    error InvalidReceipt();
    error InvalidClaimAddress();
    error UnauthorizedClaimer();
    error AddressReserved();
}

Modules§

abi
Contains dynamic ABI definitions for this contract.

Structs§

AddressReserved
Custom error with signature AddressReserved() and selector 0x98387502.
ClaimReceiptV1
@notice Claim receipt for one blocked inbound transfer or mint. @dev recipient is the addressed to value and may be virtual. The corresponding receiver emitted in events is the resolved account/master where funds settle.
IReceivePolicyGuardInstance
A IReceivePolicyGuard instance.
InvalidClaimAddress
Custom error with signature InvalidClaimAddress() and selector 0x1f842a90.
InvalidReceipt
Custom error with signature InvalidReceipt() and selector 0xc0098aac.
ReceiptBurned
@notice Emitted when blocked funds are burned with a valid receipt. @param token TIP-20 token burned by the guard. @param receiver Resolved account where funds would settle; for virtual recipients its their master. @param blockedNonce Guard nonce from the burned receipt. @param blockedAt Block timestamp from the burned receipt. @param receiptVersion Claim receipt layout version. @param originator Original sender/originator from the burned receipt. @param recipient Addressed recipient from the burned receipt; may be virtual. @param recoveryAuthority Claim authority from the burned receipt. @param caller Account that submitted the burn. @param amount Amount of funds burned. Event with signature ReceiptBurned(address,address,uint64,uint64,uint8,address,address,address,address,uint256) and selector 0x61d14663748cd685c80a8434fc260ea4f4b27e213768b94375aa33b3985bf952.
ReceiptClaimed
@notice Emitted when blocked funds are claimed with a valid receipt. @param token TIP-20 token released by the guard. @param receiver Resolved account where funds would settle; for virtual recipients its their master. @param blockedNonce Guard nonce from the claimed receipt. @param blockedAt Block timestamp from the claimed receipt. @param receiptVersion Claim receipt layout version. @param originator Original sender/originator from the claimed receipt. @param recipient Addressed recipient from the claimed receipt; may be virtual. @param recoveryAuthority Claim authority from the claimed receipt. @param caller Account that submitted the claim. @param to Address where released funds were sent. @param amount Amount of funds released. Event with signature ReceiptClaimed(address,address,uint64,uint64,uint8,address,address,address,address,address,uint256) and selector 0xdfa88f3774430fdb1d282219332a663236ccc8035ba8b9e0df856b374a5db085.
TransferBlocked
@notice Emitted when an inbound TIP-20 transfer or mint is blocked and funds are redirected. @param token TIP-20 token whose funds are held by the guard. @param receiver Resolved account where funds would settle; for virtual recipients its their master. @param blockedNonce Guard nonce assigned to the blocked operation. @param amount Amount of blocked funds held by the guard. @param receiptVersion Claim receipt layout version. @param receipt ABI-encoded receipt witness that can be passed to claim. Event with signature TransferBlocked(address,address,uint64,uint256,uint8,bytes) and selector 0x361d86e46fd139dc3eac4148f16b53597f0f8ddd9aba772aae0034bda5531b1c.
UnauthorizedClaimer
Custom error with signature UnauthorizedClaimer() and selector 0x5c4aa7dc.
balanceOfCall
Function with signature balanceOf(bytes) and selector 0x78415365.
balanceOfReturn
Container type for the return parameters of the balanceOf(bytes) function.
burnBlockedReceiptCall
Function with signature burnBlockedReceipt(bytes) and selector 0x96c1264c.
burnBlockedReceiptReturn
Container type for the return parameters of the burnBlockedReceipt(bytes) function.
claimCall
Function with signature claim(address,bytes) and selector 0xbb1757cf.
claimReturn
Container type for the return parameters of the claim(address,bytes) function.

Enums§

IReceivePolicyGuardCalls
Container for all the IReceivePolicyGuard function calls.
IReceivePolicyGuardErrors
Container for all the IReceivePolicyGuard custom errors.
IReceivePolicyGuardEvents
Container for all the IReceivePolicyGuard events.
InboundKind

Functions§

new
Creates a new wrapper around an on-chain IReceivePolicyGuard contract instance.