Skip to content

Create and submit update transactions #69

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Nov 7, 2023
Merged

Create and submit update transactions #69

merged 7 commits into from
Nov 7, 2023

Conversation

Siegrift
Copy link
Collaborator

@Siegrift Siegrift commented Nov 3, 2023

Closes #36

Ideally merged after #65 so I can rebase and use the decoded dataFeed value received from the contract.

Rationalle

The logic is based of Airseeker v1. There could be some optimisations done, but I am not doing them just yet.

There are some subtle differences, most notably in the sponsor wallet derivation and the general architecture (how we process the dAPIs in batches).

@Siegrift Siegrift self-assigned this Nov 3, 2023
@Siegrift Siegrift requested review from vponline and aquarat November 4, 2023 12:51
@Siegrift Siegrift changed the title WIP: Create and submit update transactions Create and submit update transactions Nov 4, 2023
);
};

export const estimateMulticallGasLimit = async (
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fully based on Airseeker v1 implementation. Later we might do #67 but that needs a discussion and agreement first.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey, AFAIK in airseeker v1 a configured gas limit is used (gas for calls is not estimated).
Separately, manager-multisig often has to do multicalls and the gas is sometimes incorrectly estimated (often repeatedly for the same transaction). It's just something we should probably keep in mind; if we do estimates will we have a config parameter for adding headroom?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey, AFAIK in airseeker v1 a configured gas limit is used (gas for calls is not estimated).

Mhh, are you sure? I based the implementation of the code in the main branch. I can see that we did the estimation here (for all beacons to be updated).

Separately, manager-multisig often has to do multicalls and the gas is sometimes incorrectly estimated (often repeatedly for the same transaction). It's just something we should probably keep in mind; if we do estimates will we have a config parameter for adding headroom?

Yeah, the estimating implementation seems a bit off, but I found the reasoning in:

And the estimation function implemented here should have the same behaviour as the one in Airseeker (if not it's my mistake and should be fixed).

cc: @acenolaza since we talked about this a bit on Slack.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if we do estimates will we have a config parameter for adding headroom?

There is 10% headroom added when we do estimate of the multicall, so I guess that covers the need for tryMulticall and also adds this headroom.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's possible I made a mistake, thanks for clarifying :)
The current Airseeker implementation works well, so it must be fine :)

Copy link
Collaborator

@aquarat aquarat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(LGTM currently 🚀 ) - One comment about gas estimates

);
};

export const estimateMulticallGasLimit = async (
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey, AFAIK in airseeker v1 a configured gas limit is used (gas for calls is not estimated).
Separately, manager-multisig often has to do multicalls and the gas is sometimes incorrectly estimated (often repeatedly for the same transaction). It's just something we should probably keep in mind; if we do estimates will we have a config parameter for adding headroom?

@aquarat aquarat self-requested a review November 7, 2023 12:15
Copy link
Collaborator

@aquarat aquarat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🔥 🚀

@Siegrift Siegrift merged commit aa08df3 into main Nov 7, 2023
@Siegrift Siegrift deleted the submit-txs branch November 7, 2023 12:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create and submit the update transactions
2 participants