Skip to content

EOS EVM Bridge Contracts v0.2.0

Latest
Compare
Choose a tag to compare
@stephenpdeos stephenpdeos released this 22 Aug 17:07
· 30 commits to main since this release
1db13d7

This release of EOS EVM Bridge Contracts enhances the bridge contract to allow upon first deployment for the bridge contract to be associated with different EVM account and different gas token other than default values of eosio.evm and the native EOS token, respectively. It also allows admins to change the gas limits for the underlying EVM transactions generated by the bridge contract.

Changes

init action

The init action initializes the contract using the specified values for the EVM Contract account name and the EOS symbol (with precision) that is used as the gas token. Once these two parameters are set for the contract, they are immutable and cannot be changed again for the remainder of the contract.

The init action also takes two parameters to set the initial gas limits: one to use for EVM transactions that deploy a new proxy contract for a newly registered token; and, the second to use for EVM transactions that move tokens from the EOS Native environment to the EOS EVM environment.

Theinit action must be called before registering any token. The init action can only be called once during the lifetime of the contract.

setgaslimit action

While the init action cannot be called more than once, the two gas limits specified in the init action can be modified as many times as desired using the setgaslimit action.

Building, compatibility, and upgrading

Building

The README in the evm-bridge-contracts repository contains instructions on how to build the components.

Upgrading

If a previous version of EOS EVM Bridge Contracts was already deployed, then immediately after upgrading to this version, the init action must be called using the default values for the EVM Contract account name (eosio.evm) and the gas token symbol (EOS with a precision of 4). The two gas limit values are allowed to be any valid value desired.

Until the init action is called, existing functionality may stop functioning. So it is recommended to call the init action immediately after the setcode and setabi actions that upgrade the contract within the same atomic transaction. After the init action is called, future upgrades of the contract should not call the init action again.

Further details on changes since last release

Contributors

Full list of changes since last release

PRs

  • (27) [0.1->main] Update README to prescribed particular solcjs version
  • (30) set inline action size to 4KB in tests
  • (34) [0.1->main] add unregtoken for emergency purpose
  • (36) use leap-dev from 5.0.x release; update README; upload builddir as artifact
  • (41) configurable to support a different gas token
  • (44) init & setgaslimit action
  • (51)[0.2] use spring in cicd
  • (50)[0.2] Bump 0.2.0 version


Full Changelog: v0.1.1...v0.2.0