-
Notifications
You must be signed in to change notification settings - Fork 2
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
Add averageBlockTimeMs to all chains #45
Conversation
Considering that additional similar fields will be added, I think this should be under an object, maybe called
Naming-wise, |
I have no objections to this. What about
The 0 is temporary until the real values are filled in. I think we have these now , they just need to be added here
Happy with this too |
I've added the values and the script which I used to calculate them. The script could be used in a Github Action to update them automatically if you like it. |
I'm a bit unsure about constantly changing these values through an action or something similar. I think it's probably better to control them through manually running the script and then releasing a new minor version if we want new values. This can be discussed separately though |
I'm fine with this. I think we need a sort of an L2 flag because the block time on an L1 and L2 are completely different things and depending applications would use these numbers differently (in general L2 block times are usage-dependent so the numbers here don't provide any guarantees so are meaningless) |
Are you suggesting something like this? {
"characteristics": { // or "attributes"
"blockTimeMs": 1234,
"chainType": "layer-1" // or "layer-2"
}
} One problem I have is that it's not obvious to me what should belong in this nested object and what shouldn't |
I think As a note, the main difference between these chains in the context of block time is not that some are L1s and some are L2s, but rather some are rollups with centralized sequencers, which are typically trusted with including the transactions in the sequence that they receive them in. These kind of chains also don't increment block numbers if there are no incoming transactions, which makes waiting for minimum transactions doubly meaningless (and we're planning to use block times to determine how many confirmations we'll wait). That being said, at the point that we have a rollup with a decentralized sequencer, the implementations that don't wait for confirmations if |
Changes
averageBlockTimeMs
to all chains. I've enforced this value be greater than 0 for now, so CI won't pass until each chain has a value.