Replies: 3 comments 2 replies
-
👍 for the suggested approach, I think it's the only legit way to go. However, we need to have a clear timeline for the implementation with many projects aiming to go full speed within the next 1-2 months. As for the wETH:
|
Beta Was this translation helpful? Give feedback.
1 reply
-
Thanks for writing this up @mfornet ! I also agree that the precompile approach looks the cleanest. @antonpaisov RE: timeline. If projects are launching in 1 - 2 months, and would want the wETH-like address to test against, does that mean you want this feature rolled out (at least to testnet) in two weeks? |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
This is a proposal to create an special contract on Aurora that implements the ERC20 interface, and allows developers and users to interact with their real ETH balance (i.e no wrapping / unwrapping).
Motivation
wETH exists on Ethereum for a practical reason, contract developers implement a consistent interface to interact with all types of tokens, and ETH doesn't has this interface. Hence the wrapping offer this feature, at the cost of creating extra hassle to wrap and unwrap the tokens in certain moments, and add more cognitive load to the end users which should keep track of this difference.
Aurora is a separate environment that requires a bridge to move tokens from Ethereum. We decided to discourage all type of wrapped tokens going through the bridge, given the main functionality is lost, and we can end up with different types of the same token on the Aurora / NEAR side. This means that eventually wETH won't be used anymore on Aurora. But still developers and users will need to have an ERC-20 interface to deal with ETH within Aurora contracts.
Proposal
Create an special contracts that implements the ERC20 interface, but under the hood it manage directly ETH tokens, without requiring users to wrap or unwrap any token. At Aurora we are in a unique position (with respect to Ethereum itself) where we can create such contract, using a new precompile that allows to run code outside of the EVM scope. There is already a protocol upgrade proposal for Ethereum to add support for accessing ETH as an ERC20 [cite needed].
We should create a new precompile that allows sending
X ETH
fromaddress A
toaddress B
, and can only be called by one contract (the one offers this interface). Security is provided on the basis that this contract implements ERC20 interface properly and secure.Pros
Cons
Alternative
wETH code can be deployed as well on Aurora (with a different name to avoid confusion with "real wETH" from Ethereum). And use this contract instead.
Pros
Cons
Beta Was this translation helpful? Give feedback.
All reactions