EOS EVM Bridge Contracts v0.2.0-rc1
Pre-releaseIntroduction
This release 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
Full Changelog: v0.1.1...v0.2.0-rc1