-
Notifications
You must be signed in to change notification settings - Fork 109
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
feat: zeta supply checks #1358
feat: zeta supply checks #1358
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As far as I can tell CctxByStatus
would be called every ticks?
It would be a very intensive operation iterating the cctxs in this query.
If we just need this query for aborted CCTXs we should think about a new indexing like we do for pending cctxs, or storing the result we want for the aborted cctxs directly onchain.
Another solution is to use a backend indexer for the data but in this case we should no longer consider observers posting invariant failure to the protocol because they should only rely on blockchain data in order to do this.
Yeah, I thought of this; since we only really need the amount, storing that separately might be a good idea. But we can let this run for sometime on athens3 to see how well it holds and implement a service to keep track of this amount only. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I thought of this; since we only really need the amount, storing that separately might be a good idea. But we can let this run for sometime on athens3 to see how well it holds and implement a service to keep track of this amount only.
I think we can keep it as it for experimentation but we should have a more optimized solution for poroduction.
The GetCctxByStatus is just a good-to-have query, and I agree that it should not be used for this purpose.
I think we should avoid having queries reading extensively in the store, here going through all cctxs. We should use paginated read in the store which is here not possible since we read and filter the object. I think the best is to have an additional indexation for the specific cctx status that we need.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good
* feat: zeta supply checks (#1358) * chore: improve changelogs format (#1390) * sort changelogs * refactor format * comment * fix(`crosschain`): use event index in inbound tx digest (#1372) * add event index in observer inbound * rename messages * update method usage * use event index * fix cosmos-gosec * depositor contract * smoketest refactor * fix contracts * mutiple deposits smoke tests * fix depositor * withdrawer contract * fix smoketest deposits * fix withdrawer contract * multiple withdraw test * fix contracts * fix withdraws * update changelog * fix: cherry pick v10.1.x hotfix (minRelayTxFee and bitcoin mainnet/testnet address format) (#1367) * skip some more recent garbage outTx trackers * skip garbage trackers and increase btc gas fee * skip mainnet addresses in cctxs * cherry picked minRelayTxFee hotfix and bitcoin testnet/mainnet address format fix * resolve conflict * update CHANGELOG.md for v10.1.x hotfix --------- Co-authored-by: charliec <[email protected]> Co-authored-by: brewmaster012 <[email protected]> * feat: update observer (#1384) * chore: add chain id to localnet and open port 26657 to make local testing easier. (#1401) * added chain id to configs * mapped port 26657 to localhost * feat: Add HSM capability for zetaclient hot key - non production (#1387) * initial commit * Added sign function and unit test * hsm config updates * introduce hsm mode * added commands to get address and generate key in hsm * skipping unit test as it will fail in CI * ran make generate and fixed lint errors * Update cmd/zetaclientd/hsm.go Co-authored-by: Lucas Bertrand <[email protected]> * Update zetaclient/broadcast.go Co-authored-by: Lucas Bertrand <[email protected]> * Update zetaclient/broadcast.go Co-authored-by: Lucas Bertrand <[email protected]> * Update zetaclient/hsm_signer.go Co-authored-by: Lucas Bertrand <[email protected]> * Update zetaclient/hsm_signer.go Co-authored-by: Lucas Bertrand <[email protected]> * Update zetaclient/hsm_signer.go Co-authored-by: Lucas Bertrand <[email protected]> * cleanup * added config for hsm hotkey name and moved hsm mode flag to zetabridge cfg * add entry to changelog. * moved hsm to new package and added build flag for unit test * add changelog entry * fix lint errors --------- Co-authored-by: Lucas Bertrand <[email protected]> * fix: speed up evm outtx inclusion and improve log prints (#1406) Co-authored-by: charliec <[email protected]> * docs: add code freeze note (#1414) * zetaclient: allow one 1 event that remotely calls zEVM contract per tx * revert the accidental last commit * include bitcoin outtx regardless of the cctx status (#38) * refactor: condense logging for a supply checker (#9) * chore: increment handler version (#5) Co-authored-by: Lucas Bertrand <[email protected]> * test: add tests for out tx tracker (#10) * add tests fro out ts tracker * use getEthereumChainID function in tests --------- Co-authored-by: Lucas Bertrand <[email protected]> * fix: Zellic-3.7 - Add check for existing contract address to avoid overwriting. (#13) * add check for existing contract address to avoid overwriting. * Added check for redeployment of gas and asset token contracts Added unit test for this scenario * update changelog --------- Co-authored-by: Lucas Bertrand <[email protected]> * fix: Zellic-3.2 - prevent deposit when zrc20 is paused (#31) * add pause check * revert on paused * update tests * add smoke test check * goimports * changelog * Update x/crosschain/keeper/evm_deposit.go Co-authored-by: Charlie Chen <[email protected]> --------- Co-authored-by: Charlie Chen <[email protected]> * test: ballot tests (#17) * refactor(`fungible`): use code hash in `MsgUpdateContractBytecode` to allow for rollback (#23) * code hash request * make generate * udpate message * add cli command * udpate smoke tests * changelog * update message name * add check for length * replace log with event * add is contract check * refactor: consolidate builds (#22) * remove begin block * remove build from smoketest * deploy system contracts message * msg tx * add system contract deployment in smoke tests * start core params refactor * changelog * refactor chains * config refactor * remaining build tags * lint issues * lint issues 2 * gen docs * gen docs 2 * gosec issues 1 * fix cosmos nosec * lint issues * fix core params check * make generate * fix assign * use privnet chains by default * fix chain fetching * use local goerli for smoke tests * remove unamed gosec * address nosec * other goerli net to rename in smoketests * gosec * nosec alerts * nosec alert 2 * use Bitcoin specific network * fix address system contracts * add logs in test * Add more logs * test remaining smoke tests * remove hardcoded ZetaChain chain ID * remove bitcoin hardcoded values * add back smoketests * fix smoke test except cross chain swap * make generate * add log message * fix evm swap contract * fix unit test 1 * fix CLI tests * make generate * fix log error * fix Bitcoin proof test * fix address test * remove network flag and improve smoke tests * add admin group * move core params out of genesis * remove unnecessary RemoveInTxTrackerIfExists * add check for contract failure * Update x/crosschain/keeper/keeper_cross_chain_tx_vote_inbound_tx.go Co-authored-by: Tanmay <[email protected]> * fix install in action * improve events for system contract deploy * error handling for bitcoin net params * add utility functions in common * add stateful smoketest from source * try test fix * fix unit test * fix tests --------- Co-authored-by: Tanmay <[email protected]> * refactor: disable zeta supply checker routine (#45) * docs: update changelog with v11.0.0 * chore: update go releaser --------- Co-authored-by: Tanmay <[email protected]> Co-authored-by: Lucas Bertrand <[email protected]> Co-authored-by: Charlie Chen <[email protected]> Co-authored-by: charliec <[email protected]> Co-authored-by: brewmaster012 <[email protected]> Co-authored-by: Charlie <[email protected]> Co-authored-by: kevinssgh <[email protected]>
Description
Closes: <#1352>
Type of change
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Include instructions and any relevant details so others can reproduce.
Checklist: