Skip to content
Lattice

IAirnodeRrpV0

Git Source

Title: IAirnodeRrpV0

Author: Vendored minimal subset of API3 (https://github.com/api3dao/airnode/blob/master/packages/airnode-protocol/contracts/rrp/interfaces/IAirnodeRrpV0.sol).

Upstream license: MIT.

Minimal interface for the API3 Airnode Request-Response Protocol (RRP), used by QRNG.

Vendored subset — do not add an api3 dependency. The Airnode fulfils a full request by calling the registered fulfillFunctionId on fulfillAddress; that callback must verify msg.sender == airnodeRrp (the onlyAirnodeRrp guard).

Functions

setSponsorshipStatus

Sets whether requester is sponsored by the caller (the sponsor).

A full request only succeeds if its sponsor has sponsored its requester.

function setSponsorshipStatus(address requester, bool sponsorshipStatus) external;

Parameters

NameTypeDescription
requesteraddressThe requester contract being (un)sponsored.
sponsorshipStatusboolTrue to sponsor, false to revoke.

makeFullRequest

Makes a full request whose template + parameters are fully supplied on-chain.

function makeFullRequest(
        address airnode,
        bytes32 endpointId,
        address sponsor,
        address sponsorWallet,
        address fulfillAddress,
        bytes4 fulfillFunctionId,
        bytes calldata parameters
    ) external returns (bytes32 requestId);

Parameters

NameTypeDescription
airnodeaddressThe Airnode address serving the request.
endpointIdbytes32The endpoint identifier on that Airnode.
sponsoraddressThe sponsor account funding fulfilment via sponsorWallet.
sponsorWalletaddressThe wallet (derived from the sponsor) that pays for fulfilment gas.
fulfillAddressaddressThe contract the Airnode calls back.
fulfillFunctionIdbytes4The selector the Airnode calls on fulfillAddress.
parametersbytesABI-encoded request parameters (encoded per Airnode ABI spec).

Returns

NameTypeDescription
requestIdbytes32The identifier assigned to this request.