You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, an Airnode can be specified to use a global minConfirmations value for each chain. Accordingly, the AQN Airnode has been configured to use reasonable values for the expected use-case.
Both with QRNG and other potential Airnode services, users will want to customize this value. With normal oracle nodes/protocols (that fulfill all requests with the same wallet) this is not possible, but with Airnode it is. We can have a _minConfirmations reserved parameter that expects a number, and applies that only to the specific sponsor wallet. There are some caveats with this:
Consider the example where the Airnode receives a request with a _minConfirmations of 10, and a second request with a _minConfirmations of 0 9 blocks later. This will cause a race condition and potentially cause different fulfillments to be submitted with the same nonce. To avoid this, we always need to respond to requests in the same nonce order as we receive them. In other words, Airnode should find the maximum _minConfirmations value in the entire queue and use that for the sponsor wallet.
I can take this task. @bbenligiray would you like me to also add a gas price reserved parameter while at it per your above comment? If so I'll create that task and assign myself.
Currently, an Airnode can be specified to use a global
minConfirmations
value for each chain. Accordingly, the AQN Airnode has been configured to use reasonable values for the expected use-case.Both with QRNG and other potential Airnode services, users will want to customize this value. With normal oracle nodes/protocols (that fulfill all requests with the same wallet) this is not possible, but with Airnode it is. We can have a
_minConfirmations
reserved parameter that expects a number, and applies that only to the specific sponsor wallet. There are some caveats with this:_minConfirmations
of 10, and a second request with a_minConfirmations
of 0 9 blocks later. This will cause a race condition and potentially cause different fulfillments to be submitted with the same nonce. To avoid this, we always need to respond to requests in the same nonce order as we receive them. In other words, Airnode should find the maximum_minConfirmations
value in the entire queue and use that for the sponsor wallet._minConfirmations
shouldn't be larger thanblockHistoryLimit
._minConfirmations
if it isn't defined in the specific endpoint (to prevent potential abuse).The text was updated successfully, but these errors were encountered: