- 15 Jun, 2021 2 commits
-
-
smartcontracts authored
-
smartcontracts authored
* refactor[contracts]: move account contracts to predeploy folder * chore: add changeset
-
- 14 Jun, 2021 1 commit
-
-
smartcontracts authored
* fix: use predeploy constant lib for em wrapper * chore: add changeset
-
- 12 Jun, 2021 2 commits
-
-
Elena Gesheva authored
* Remove abstract token gateway and deposited token implementations * Further simplification of bridge contracts * Standart token bridge and L2 token implementation * Fix spacing * Implement case when a bad deposit happens to a nonexistent L1<>L2 token pair * Use SafeMath in common token bridge accounting * test(contracts): fix finalizeWithdrawal test * fix(contracts): use SafeERC20 on token deposits * Rename OVM_L1ERC20Gateway to OVM_L1ERC20Bridge contract * Rename iOVM_L1ERC20Gateway to iOVM_L1ERC20Bridge contract * Cleanup gateway to bridge rename * Better name for the mapping holding l1->l2 deposit amounts * Use OZ SafeMath * Rename local variables in OVM_L2DepositedERC20 from gateway to bridge * Merge ETH and ERC20 bridge contracts * Rename OVM_L1ERC20Bridge to OVM_L1StandardBridge and fix tests from merging the ETH and ERC20 bridges * Better name for iAbs_BaseCrossDomainMessenger -> iOVM_CrossDomainMessenger * Correct the bounce back of deposit sender and recipient properties * Remove obsoleted event from OVM_L2DepositedERC20 * chore(contracts): change references from ETHGateway to Bridge * Fix a linting error * fix(contracts): add bridge to deployer * Split off ERC20Bridge interface for the purposes of being reused in custom ERC20 bridges * Split off interface natspec definitions * Draft version of OVM_L2DepositedERC20 splitted into a standard L2 erc20: L2StandardERC20 and a common L2 bridge: OVM_L2StandardBridge * style(contracts): define L1_ETH_ADDRESS as constant * test(integration): update interface to use depositETH * test(contracts): fix OVM_L1StandardBridge tests * test(contracts): fix L2 Standard Bridge tests * test(contracts): lint and remove an obsolete test case * Fix modifier check to comply with the L2 bridge distinction from L2 token * Simplify address <> interface casting in bridges * Ensure natspec comments are correct also add l1 and l2 token params to WithdrawalInitiated event for consistency * Fix issues in L1 and L2 bridges to ensure cross domain messages are sent only between the two bridges also adjusted withdrawals to send to either finalizeETHWithdrawal or finalizeERC20Withdrawal depending on which asset is being withdrawn * Remove AddressManager from the L1 standard bridge * REVERT ME: instruments cross domain enabled * fix(contracts): remove Address Manager from L1 Bridge * feat(contracts): make L2 Standard Bridge a predeploy * WIP: update deployments for standard bridges * WIP: update deployments for standard bridges * l2geth: TEMP log contract calls * chore(l2geth): replace eth gateway with standard bridge * fix(contracts): make contract-deployment/config work * WIP fix(integration): update integration tests for bridge * Remove ovmEth from L1 Standard bridge as obsoleted * Separate ERC20 standard implementation from L2 bridge * Formatting fixes * chore(l2geth): replace eth gateway with standard bridge * Revert "REVERT ME: instruments cross domain enabled" This reverts commit d5bb8f8f67974d0a3e65fc000f08858328a4bbbc. * fix: lint ts * Implement EIP-165 in the Standard L2 ERC20 token Also switch that to be based off the OpenZeppelin default implementation plus mint and burn Additionally remove the obsoleted iOVM_ERC20 * fix(contracts): add deployment check on bridge proxy fix(contracts): whitespace fix(contracts): init bridge implementation with non-zero address * Remove dependency on Ownable contract for the StandardERC20 token on L2 * fix(contracts): update deployment scripts * fix: lint * remove debugging code * fix: correct rpc get balance slot * restore l2 cross domain messenger * fix: lint * Add a test for a non compliant token deposit * Only allow EOAs to deposit ETH and ERC20 * Add comments and tests for ERC165 implementation * Decide against using explicit ETH MOCK address as we're not using it for checks * Fix linting issues * Add onlyEOAContract restriction to standard bridge withdrawals * Update codehashes in L2 Standard bridge * fix(ops): remove unintentionally added file * feat(contracts): add expectApproxGasCost function * fix(integration): proper arrayify input on fundUser * fix(integration): proper gas value checks * Revert "Add onlyEOAContract restriction to standard bridge withdrawals" This reverts commit 2713c06ceb2609e4f13718e1034a4d76210d9758. * fix(contracts): removed unused expectApproxGasCost for now * fix(contracts): update OVM_SequencerFeeVault for bridge changes * lint * Update deployment for L1 Bridge w/ ChugSplash * Revert "l2geth: TEMP log contract calls" This reverts commit 21d42259278449f221bf34605162229b3d9d4fa9. * Apply suggestions from code review * Apply suggestions from code review * fix(contracts): deploy with chugsplash proxy * fix(contracts): add working bridge and chugsplash proxy deployment * fix(contracts,integration): 500k gas for depositETH * comment(contracts): describe failed deposit handling on l2 * Apply suggestions from code review Co-authored-by:
ben-chain <ben@pseudonym.party> * docs: add changeset * fix(integration): set working l2 gas amount on funduser * test(integration): add receive() test * fix(contracts): reset receive to 1.2MM l2 gas * test(examples): skip l1-l2 example test for now * fix(contracts): drop hardcoded gas to 500k in receive() * fix(contracts): use abi.encodeWithSignature * fix(contracts): resolve merge conflicts * feat(integration): add expectApprox for flexible gas testing * fix(integration): fix failing gas tests * fix: incorrect l2 gas for deposit * Update utils.ts * fix(workflow): disable l1-l2 example until npm imports are fixed * chore: final round of PR review nits and tests Co-authored-by:
Maurelian <maurelian@protonmail.ch> Co-authored-by:
Mark Tyneway <mark.tyneway@gmail.com> Co-authored-by:
ben-chain <ben@pseudonym.party> Co-authored-by:
Kelvin Fichter <kelvinfichter@gmail.com>
-
smartcontracts authored
-
- 11 Jun, 2021 5 commits
-
-
Kevin Ho authored
* feat[contracts]: better account funding for hardhat accounts * add a sleep to avoid any potential problems * chore: add changeset * fix: bug with gas estimation in funding step * fix: limit to 20 accounts max Co-authored-by:
Kelvin Fichter <kelvinfichter@gmail.com>
-
Kevin Ho authored
* add ERC1271 support, failing unit tests * add integration test for isValidSignature * remove .only * lint * add changeset * clean up 1271 tests and lint * switch back to using waffle wallet * lint * fix import
-
Karl Floersch authored
-
ben-chain authored
* feat(contracts): add ovmCALL-types with native value * add ovmCALLVALUE context * add ovmBALANCE * test success and revert cases * test empty contract case * chore: lint * test(integration-tests): ovmCALL-types with value (compiler and wrapper) * fix ovmDELEGATECALL type, update tests * add ovmSELFBALANCE * fix ovmDELEGATECALL jumping to CALL * chore: lint * fix(contracts): account for intrinsic gas of OVM_ETH sends * fix(contracts): merge conflict bug * fix(contracts): update gas benchmark * feat(contracts, integration-tests): use new value-compatible compiler * feat(contracts,l2geth): support value calls in OVM_ECDSAContractAccount * fix(contracts): ovmDELEGATECALL does not change message context * feat(contracts): sending value between EOAs * test(integration-tests): ovmDELEGATECALL preserves ovmCALLVALUE * test(integration-tests): assert ovmSELFBALANCEs correct * test(integration-tests): intrinsic gas for eth value calls * test(integration-tests): update gas values * chore(contracts): lint * feat(contracts, l2geth): eth_calls with nonzero value * chore: minor fixups and comments based on PR feedback * test(integration-tests): add requested tests from PR reviews * test(integration-tests): ovmSELFBALANCE is preserved in ovmDELEGATECALLs * fix(contracts): fix bug where ovmDELEGATECALL could fail if balance was lower than the ovmCALLVALUE * chore: add changeset * fix(contracts): update intrinsic gas for worst-case value sends * chore: address final PR nits/improvements Co-authored-by:
Kelvin Fichter <kelvinfichter@gmail.com>
-
Mark Tyneway authored
* contracts: don't double rlp decode * chore: add changeset * lint: fix * deps: update * linting: cleanup * feat: contracts: use selector * fix: contracts: use typescript * contracts: use interface
-
- 10 Jun, 2021 5 commits
-
-
Karl Floersch authored
-
Liam Horne authored
-
Liam Horne authored
-
Liam Horne authored
* ci: enable custom tagging of release docker image * ci: refactor to add prerelease prefix for secuirty * doc: typo
-
Mark Tyneway authored
* l2geth: optimize loops * l2geth: stop ticker when done * l2geth: don't wait for first tick * chore: add changeset
-
- 09 Jun, 2021 8 commits
-
-
Mark Tyneway authored
* l2geth: delete extra config options * l2geth: stop using extra config options * l2geth: more stop using extra config options * chore: add changeset * l2geth: add new config for gpo owner * chore: add changeset * l2geth: fix tests * tests: fix build
-
dependabot[bot] authored
Bumps [glob-parent](https://github.com/gulpjs/glob-parent) from 5.1.1 to 5.1.2. - [Release notes](https://github.com/gulpjs/glob-parent/releases) - [Changelog](https://github.com/gulpjs/glob-parent/blob/main/CHANGELOG.md) - [Commits](https://github.com/gulpjs/glob-parent/compare/v5.1.1...v5.1.2) --- updated-dependencies: - dependency-name: glob-parent dependency-type: indirect ... Signed-off-by:
dependabot[bot] <support@github.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by:
smartcontracts <kelvinfichter@gmail.com> Co-authored-by:
Liam Horne <liam@lihorne.com>
-
smartcontracts authored
* wip: first draft of the fee wallet * add fee wallet to dump * rename to sequencer vault * add L1 fee wallet to geth config * add unit tests * fix geth linting error * add a basic integration test * fix broken integration test * add test for correct storage slot * add integration test for fee withdrawal * fix typo in integration tests * fix a bug bin integration tests * Update OVM_SequencerFeeVault.sol * fix bug in contract tests * chore: add changeset * fix bug in contract tests
-
smartcontracts authored
* feat[contracts]: add L1ChugSplashProxy * improve comments slightly * start adding tests * add more tests * make the system pausable * added another test * add some extra comments * Update packages/contracts/test/contracts/chugsplash/L1ChugSplashProxy.spec.ts Co-authored-by:
Maurelian <maurelian@protonmail.ch> * Update packages/contracts/test/contracts/chugsplash/L1ChugSplashProxy.spec.ts Co-authored-by:
Maurelian <maurelian@protonmail.ch> * chore: add changeset * address review feedback Co-authored-by:
Maurelian <maurelian@protonmail.ch>
-
smartcontracts authored
* refactor[contracts]: remove one-off gpo deployment * chore: add changeset
-
Mark Tyneway authored
* l2geth: remove the gas refund * chore: add changeset
-
github-actions[bot] authored
Co-authored-by:
github-actions[bot] <github-actions[bot]@users.noreply.github.com>
-
Tim Myers authored
-
- 08 Jun, 2021 3 commits
-
-
Annie Ke authored
-
github-actions[bot] authored
Co-authored-by:
github-actions[bot] <github-actions[bot]@users.noreply.github.com>
-
Mark Tyneway authored
* config: set etherbase * l2geth: add deterministic clique key * l2geth: default value * chore: add changeset * test: add sync test for deterministic blockhash Co-authored-by:
Kevin Ho <kevinjho1996@gmail.com>
-
- 07 Jun, 2021 1 commit
-
-
smartcontracts authored
* fix[dtl]: fix dtl bug breaking verifiers * tweaks so tests pass * chore: add changeset
-
- 06 Jun, 2021 1 commit
-
-
Karl Floersch authored
-
- 04 Jun, 2021 4 commits
-
-
Tim Myers authored
The use of eth_getBlockRange returns a large response which is very slow to parse in ethersjs, and can block the event loop for upwards of multiple seconds. When this happens, incoming http requests will likely timeout and fail. Instead, we will parse the incoming http stream directly with the bfj package, which yields the event loop periodically so that we don't fail to serve requests.
-
Liam Horne authored
-
Mark Tyneway authored
* dtl: remove stringify from db logic * l2geth: overflow protection * dtl: overflow protection * chore: add changeset
-
Liam Horne authored
* refactor: improve logging for transactions being submitted to chain with gasPrice * lint: apply lint autofixes
-
- 03 Jun, 2021 8 commits
-
-
Liam Horne authored
* ci: tag docker image for canary with abbreviated GITHUB_SHA * ci: update from 6 bytes to 8 bytes of abbreviation
-
Liam Horne authored
-
Georgios Konstantopoulos authored
* fix(sync-service): prevent underflows * chore: add changeset * chore: remove dead confirmation depth * chore: remove eth1conf depth from rollup config
-
Karl Floersch authored
* refactor: queueOrigin type * Convert queueOrigin to uint8 in encode * Add changeset * Regenerate json marshall * style: combine lines * Add Stringer for QueueOrigin * Turn QueueOrigin into uint8 * l2geth: gen tx meta fix * l2geth: gen tx meta fix * lint Co-authored-by:
Mark Tyneway <mark.tyneway@gmail.com>
-
Mark Tyneway authored
-
Mark Tyneway authored
-
Mark Tyneway authored
-
Karl Floersch authored
* feat[contracts]: add GasPriceOracle w/o predeploy Based on #912 * feat[contracts]: congestion price oracle * chore: add changeset * contracts: gas price oracle (#917) * contracts: gas price oracle * tests: update * fees: fix tests * contracts: simplify gas price oracle * lint: fix * test: execution price is at the 1st storage slot * chore: rename predeploy to GasPriceOracle * chore: rename gas price oracle test name Co-authored-by:
Mark Tyneway <mark.tyneway@gmail.com> Co-authored-by:
Georgios Konstantopoulos <me@gakonst.com> * Add an L2 deploy script for gas oracle contract * Add a kovan deployment artifact * Add deployment to readme * Add extra validation & initial execution price * Update README.md * Fix execution price logic * Perform new deployment with final contract * contracts: better require in ovm gas price oracle * Deploy L2GasPriceOracle * Update contract to use new fee logic & rename to gas * Deploy updated contract * Fix lint * gas price oracle: do not restrict gas price * gas price oracle: new deployment * tests: delete dead test Co-authored-by:
smartcontracts <kelvinfichter@gmail.com> Co-authored-by:
Mark Tyneway <mark.tyneway@gmail.com> Co-authored-by:
Georgios Konstantopoulos <me@gakonst.com>
-