forked from matter-labs/era-contracts
-
Notifications
You must be signed in to change notification settings - Fork 0
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
Native ERC20 token for ZK Stack #1
Draft
IAvecilla
wants to merge
35
commits into
main
Choose a base branch
from
erc20_base_token
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
To support multiple tokens (more than just ETH)
… of the erc20 token, fix first deposit
feat: [ERC20 - Native Token] Fix WETH deploy.
feat: add _amount field to contracts
Erc20 transfer from and checks
Co-authored-by: vladbochok <[email protected]> Co-authored-by: AntonD3 <[email protected]> Co-authored-by: Vlad Bochok <[email protected]> Co-authored-by: koloz <[email protected]> Co-authored-by: AntonD3 <[email protected]> Co-authored-by: Bence Haromi <[email protected]>
* A new era but because it’s a credibly neutral mechanism * Logo + disclaimer. * chore(security): add workflow for leaked secrets monitoring * Update README.md * Remove Apache license. * Updating to latest in dev. * Fair Onboarding Alpha. * Add comment on EIP-1352 * Updating mirror * Updating mirror. * Update README.md * Updating mirror. Used 663fede669db3ba66f0941985db304e8bca881e4. * mirror sync to 7381458849b42 * Mirror to de404a390af2aa37ad23b2a543c5f1b408ca84bf (#11) * added missing file to mirror de404a390af2aa37ad (#12) * fix: bump hh deploy and solc versions (#13) * Add FOS Templates (#15) * chore: Syncs common workflows from the template into dev (#16) * chore: Syncs common workflows from the template into main (#17) * Syncing dev with main (#26) Co-authored-by: Marcin M <[email protected]> Co-authored-by: Dennis <[email protected]> Co-authored-by: Shahar Kaminsky <[email protected]> Co-authored-by: Yury Akudovich <[email protected]> * Boojum integration (#35) Co-authored-by: Marcin M <[email protected]> Co-authored-by: Dennis <[email protected]> Co-authored-by: Shahar Kaminsky <[email protected]> Co-authored-by: Vlad Bochok <[email protected]> Co-authored-by: koloz193 <[email protected]> Co-authored-by: AntonD3 <[email protected]> * chore: Upgrade to Node v18 (#20) * feat: Adding compile CI (#21) * feat: testing CI job (#38) * ci: testing added * test: temporarily commenting out failing tests * ci: cleaned up + added testing * fix: CI syntax * ci: added missing "needs" statement * ci: added missing node-setup * ci: added missing artifacts for cacheing * test: xdescribe and xit instead of commenting * chore: formatting * Testing framework for bootloader (#14) * added missing file to mirror de404a390af2aa37ad (#12) * POC - works * test infra creation * splitting tracers to separate files * moved hooks to separate file * larger refactor - nicer error messages * syncing with newest version * more bootloader tests and small error fixes * more tests * Example with transaction * small fixes * small rename * review and removed dependency on ZKSYNC_HOME * cargo lock * updated to public zksync-era * moved the placeholder so that the generated bootloader code doesn't change * review * fix yarn lock * compiles (currently depending on a local branch) * remove vscode config * added bootloader test to CI * changing CI * experimenting * fix * review feedback * ci typo * added bootloader build to cache * feat: linting CI job (matter-labs#40) * feat: linting * chore: PR template updated * fix: import order * lint: solidity compiler-version 0.8.0 * lint: solidity lint config updated to ignore constructors * docs(readme): updated * lint(*.ts): fixes * fix: accidental change * chore: include js files in formatting * chore: change command name back to compile-yul * chore: typescript rollback * ci: test_bootloader needs linting * lint: new files linted * chore(0.json): code formatting * chore: unneeded prettierignore * docs(bootloader-test): updated to use new command * chore: test:bootloader * lint: markdown linting added * chore: downgraded markdownlint to avoid dependency with unwanted license * chore: lint:fix command added * docs: lint fix added PR template * lint: reverted formatting of openzeppelin contracts * fix: yarn command fixes * lint: openzeppelin dir ignored from formatting/linting * lint: newline at EOF of ignore files * feat: calculate-hashes command to detect contract changes (#37) * feat: calculate-hashes * fix: build-yul command updated * chore: CI workflow renamed * feat(calculate-hashes): "--check-only" flag added * ci: calculate-hashes added to pipeline * modifying hash to test calculate-hashes in CI * Revert "modifying hash to test calculate-hashes in CI" This reverts commit 639650b3dfb4fcc7f64e75f316aa6262976c4c3f. * chore: bytecodeHash renamed * chore: importing and typo * feat: revert command renames * chore: major calculate-hashes refactor * ci: check hashes into separate job * ci: yarn cacheing * fix: absolutePath * fix: hash updated * fix: SHA256 hash updated * docs: readme updated * chore: changed hashes to array * chore: SystemContractsHashes updated * lint(calculate-hashes): format+lint * docs: command name typo * fix: calculate hashes updated * chore: automatic contracts details generation * chore: changed the order of json properties * feat: use boojum-integration branch of in-memory node for testing CI (matter-labs#43) * ci: using boojum branch of test node * test: reenable temporarily disabled tests * ci: test node in background * ci: caching for era-test-node * chore: downgrading hardhat version to fix test execution * ci: ci to run on dev and main push * chore: set hardhat to fix v2.16.0 * ci: print era_test_node logs * ci: change tag to commit SHA of dependency * ci: use era-test-node-action for the testing CI (matter-labs#50) * ci: using era-test-node-action * ci: use boojum release of era-test-node * ci: releaseTag fix * ci: fix releaseTag * ci: era-test-node-action v0.1.3 * updated hh version and solidity version (matter-labs#52) * updated hh version and solidity version * removed carrot * formatting * fixed compiler versions * updated yul compiler version * update hash file * changed OZ contracts back * update hash file * changed compiler version * bumped utils compiler version and hashes * Set of fixes for boojum integration (matter-labs#53) * apply max system contracts address * add comment * Allow only deployments for L1->L2 * fail to publish timesstamp * remove trailing comma * correct require for L1Messenger * fix eip1559 * charge correctly for the memory overhead * check that we have enough gas for postop * fix comment in L1Messenger * remove redundant check * safeAdd for refunds * compilation fixes + EOA work correctly on delegatecall * correctly charge for gas overhead * ensure that upgrade tx always succeeds * add force deploy for keccak256 * max precompile address fix * correct refund gas for L1 gas * fix shifting * correct meta calculation * nits * prev hash * fix some nits * remove unneeded casting * fix lint * update hashes * update hashes * Update bootloader/bootloader.yul Co-authored-by: Vlad Bochok <[email protected]> * update max precompile address constant * Only the deployer can increment the deployment nonce * fix lint * add some tests --------- Co-authored-by: Vlad Bochok <[email protected]> * chore: synchronise linting rules of repositories (matter-labs#49) * chore: command name changes * lint(calculate-hashes): fix * fix: lint:md command * chore: package.json commands alphabetical order * lint: using @matterlabs/eslint-config-typescript and "@matterlabs/prettier-config * style: prettier:fix * lint: lint:fix * Revert "lint: lint:fix" This reverts commit 15993b2d2ddfce0d876966d170e781645ff66cf9. * lint: eslint rules turned off * lint: lint:fix with new rules * chore: .eslintignore removed * chore: create githooks to check formatting and linting (matter-labs#56) * chore: pre-commit and pre-push hooks added * docs: removed yarn lint from PR template * Revert "chore: package.json commands alphabetical order" This reverts commit e39a52c0b764a6ef40cfdc0fded9e068cceba1ce. * fix hardhat * fmt * ignore invalid field * Allow ts-ignore (matter-labs#59) allow ts ignore * nits + use the same config as on L1 * update hashes * update hashes * Use compatible error codes with the previous version (matter-labs#64) * use compatible error codes with the previous version * update hashes * chore: normalise file path (#18) refactor: normalize file path Co-authored-by: Bence Haromi <[email protected]> * ci: label-external-contributions workflow added * ci: extension changed to yaml * make scripts work for upgrade * docs(readme): update zksync-era link (matter-labs#48) docs: update docs * docs: add Mirror link (matter-labs#51) feat(docs): Add Mirror hyperlink * docs: fix Discord link (matter-labs#55) Update README.md - Fix Discord Link Co-authored-by: Bence Haromi <[email protected]> * docs: zk credo added * remove admin and use governance owner as admin instead (matter-labs#85) * correct todo * fix lint * fix system context * upd bootloader hash * ci: add workflow to label external-contributions (matter-labs#91) * chore: moved files into system folder * Remove allow list (matter-labs#77) Co-authored-by: Stanislav Breadless <[email protected]> * Upgrade zksolc version to 1.3.17 (matter-labs#97) * Fix bridge upgrade script (matter-labs#103) * Disallow L2 weth upgrade (matter-labs#107) * Testing infrastructure improvements (matter-labs#82) * System contracts test preprocessing mode * Mock dependencies, event writer asm contract test, refactoring * lint fix * Small refactoring * Change approach to use the test node * Add docs, comments * lint readme * Fix hashes * Regenerate yarn.lock to fix lints * lint:fix * Fix lints * Restore lost tests * Fix lints * Restore yarn.lock from dev * Update caches in workflows * Try to disable lint cache * Restore lint cache * Cache contracts-preprocessed * try to debug lint * Regenerate yarn.lock from dev * Restore correct deps * Update lock * Proposed improvements/fixes * Use fast-glob instead glob * Update bootloader_test artifact path * Proposed improvements, update hashes * Implement some fixes and improvements * Fix lints * Update zksync-era in bootloader tests * Fix imports Signed-off-by: Danil <[email protected]> * Update contracts/test-contracts/MockContract.sol Co-authored-by: Vlad Bochok <[email protected]> * Fix test infra * data -> input mock contract * Update SC hashes * Update zksync-era in bootloader/test_infra * Update again --------- Signed-off-by: Danil <[email protected]> Co-authored-by: Danil <[email protected]> Co-authored-by: Vlad Bochok <[email protected]> * Scripts for governance (matter-labs#92) Co-authored-by: Vlad Bochok <[email protected]> * chore: merge contracts and system-contracts repos (matter-labs#98) Co-authored-by: Stanislav Bezkorovainyi <[email protected]> Co-authored-by: Vlad Bochok <[email protected]> * chore: fixed migrate-governance file path * chore: removed process.ts * chore: added era_test_node.log to gitignore * sync with main (matter-labs#116) Co-authored-by: Shahar Kaminsky <[email protected]> Co-authored-by: Maksym <[email protected]> Co-authored-by: Pascal Marco Caversaccio <[email protected]> Co-authored-by: Igor Aleksanov <[email protected]> Co-authored-by: Marcin M <[email protected]> Co-authored-by: Dennis <[email protected]> Co-authored-by: Yury Akudovich <[email protected]> Co-authored-by: Stanislav Bezkorovainyi <[email protected]> Co-authored-by: Vlad Bochok <[email protected]> Co-authored-by: koloz193 <[email protected]> Co-authored-by: AntonD3 <[email protected]> Co-authored-by: Jack <[email protected]> Co-authored-by: DKlupov <[email protected]> Co-authored-by: Salad <[email protected]> Co-authored-by: MartinKong1990 <[email protected]> * Revert "sync with main (matter-labs#116)" (matter-labs#117) * ci: system-contracts-ci removed not needed caches * AllowList removal upgrade preparation * remove remnants of the allowlist * rename file * Update zksolc and ecrecover pricing * fix typescript * feat(tests): moved Merkle tests to foundry (matter-labs#132) * feat(tests): migrated verifier tests to foundry (matter-labs#134) * chore(tests): Moved priority queue tests from hardhat to foundry (matter-labs#135) * chore(test): Moved transaction validator tests to foundry (matter-labs#151) * test: unchecked math test (matter-labs#147) * L2EthToken Tests (matter-labs#152) Co-authored-by: Uacias <[email protected]> * ci: prepare workflow for release contracts (matter-labs#163) * ci: prepare workflow for release contracts * Fix lint in the yaml file (matter-labs#166) --------- Signed-off-by: Danil <[email protected]> Co-authored-by: Shahar Kaminsky <[email protected]> Co-authored-by: Maksym <[email protected]> Co-authored-by: Pascal Marco Caversaccio <[email protected]> Co-authored-by: Igor Aleksanov <[email protected]> Co-authored-by: Marcin M <[email protected]> Co-authored-by: Dennis <[email protected]> Co-authored-by: Yury Akudovich <[email protected]> Co-authored-by: Bence Haromi <[email protected]> Co-authored-by: Stanislav Bezkorovainyi <[email protected]> Co-authored-by: Vlad Bochok <[email protected]> Co-authored-by: koloz193 <[email protected]> Co-authored-by: AntonD3 <[email protected]> Co-authored-by: Jack <[email protected]> Co-authored-by: Bence Haromi <[email protected]> Co-authored-by: DKlupov <[email protected]> Co-authored-by: Salad <[email protected]> Co-authored-by: MartinKong1990 <[email protected]> Co-authored-by: Thomas Nguy <[email protected]> Co-authored-by: Danil <[email protected]> Co-authored-by: Neo <[email protected]> Co-authored-by: Uacias <[email protected]>
jrchatruc
changed the title
Native ERC20 token for L2 chain
Native ERC20 token for ZK Stack
Jan 17, 2024
Co-authored-by: Uacias <[email protected]>
* initial commit * Refactor deposit validation logic in L1ERC20Bridge.sol * fix Should not allow depositing zero amount * fix l1_erc20_bridge tests * Refactor withdrawal handling in MailboxFacet * fixes * fix deployL2 * fix l2 weth init * fix weth bridge tests * Restore preprocessor conditional --------- Co-authored-by: Jmunoz <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What ❔
Replace Ether as the native currency for an ERC20 already available in L1 for a ZK Stack based chain
Why ❔
Checklist