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