Skip to content
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

Gas & Fee #1010

Closed
1 of 4 tasks
grarco opened this issue Jan 11, 2023 · 0 comments · Fixed by #1327
Closed
1 of 4 tasks

Gas & Fee #1010

grarco opened this issue Jan 11, 2023 · 0 comments · Fixed by #1327

Comments

@grarco
Copy link
Contributor

grarco commented Jan 11, 2023

Depends on #976 for wrapper txs to be included first in a block and max_gas block compliance

TODO

  • Fee specs #889
  • Add gas accounting mechanism (Whitelist gas accounting #1242)
    • mempool_validate check on the GasLimit
    • process_proposal check on the GasLimit
    • prepare_proposal check on the GasLimit
    • In storage table of gas for every whitelisted tx/vp
    • finalize_block computation of the actual gas used and validation of the tx/block
    • Update client to produce wrappers with the correct GasLimit (account also for compilation costs)
    • Testing
    • Linear accounting of signatures verification (multisig Multisignature #1102) -> Get the amount of signatures from SignedTxData and define a multiplicative coefficient given the cost of a single signature verification
    • No need to set gas as i64 for tendermint compatibility anymore since we don't care about passing the used gas to tendermint (see this issue and this one)
  • Add optional unshielding in WrapperTx (Fee unshielding #1281)
    • mempool_validatecheck
    • process_proposal check
    • prepare_proposal check
    • finalize_block unshield execution
    • update client
    • e2e tests
  • Adjust the balance checks added in Testnet fees #962 to be coherent with the proposed specification
    • mempool_validate check
    • Correct FeeAmount in client, no default in cli and set default to the storage parameter
    • Define the cost for unit of gas in storage (parameter) + whitelisted assets + checks
    • process_proposal check
    • Fee payment in finalize_block
    • Force order of txs (wrappers first) in process_proposal (should already be done in Port BlockSpaceAllocator to main #976)
    • Remove fixed fee from protocol parameters
    • Unit testing (transfer to block proposer, fee with invalid token)
    • Devnet testing (especially more unshielding in a single block)
    • Adjust dry_run_tx to handle a WrapperTx for a correct gas estimation
    • Define genesis values
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Status: Tested in Devnet
Development

Successfully merging a pull request may close this issue.

1 participant