ckETH: a canister-issued Ether twin token on the IC

Ah yes, the man with a huge vested interest in making sure Bitcoin stays at the relative complexity level of a pocket calculator compared with the supercomputers now being built.

1 Like

image

My live reaction to all the information in this thread

Hi!! When is the final release of cketh?

1 Like

Hello everybody,

we have an important update regarding ckSepoliaETH (see below). I would also like to thank everyone who tried out ckSepoliaETH :pray:!

Update on ckSepolia ETH

Summary

We will re-install the ckSepoliaETH minter(jzenf-aiaaa-aaaar-qaa7q-cai) and ledger (apia6-jaaaa-aaaar-qabma-cai) from scratch and start scrapping Ethereum logs from the latest finalized block at time of re-installation.
This will effectively make the ckSepoliaETH minter forget about all past transactions and all accounts will be reset to 0 ckSepoliaETH.
We encourage people having ckSepoliaETH to make the necessary withdrawals until Friday November 17th 23:59 CET to an Ethereum address of their choice if they wish to keep their Sepolia ETH.

Why?

When we released the URLs to play around with the ckSepoliaETH minter and ledger, we did not have yet fully implemented the minter’s stable memory that is necessary to keep track of all deposits and withdrawals across upgrades. We thought (and we still think) that it was best for people to try a not yet feature-complete version so that we can receive feedback as early as possible. As part of the normal development process several re-installations from scratch already have been made: none of the recorded deposits were lost (because they originate from events that appear in the Ethereum logs that the minter constantly scraps) but previous withdrawals have been totally forgotten by the minter (the corresponding Ethereum transactions are visible here). As a result, the current minter and ledger state are incorrect (some accounts have too much ckSepoliaETH). Now that we are close to being feature-complete for the MVP we want to re-start the ckSepoliaETH minter and ledger with a clean slate.

We insist that this behaviour is not a bug, but part of our normal development process that is also visible from the beginning in the minter’s dashboard. As of now, the minter holds a bit more than 13k Sepolia ETH :moneybag:, so we thought it best to communicate transparently what’s going on so that users are not wrongly surprised.

What’s next?

So far everything is going according to the plan and the development is close to completion. Unless an unexpected major problem occurs, this should be the last time the ckSepoliaETH minter and ledger are re-installed from scratch. Afterwards standard canister upgrades (that preserve the state) may occur on a regular basis. We will add a new post once the re-installation was completed so that people can get back to playing around with with ckSepoliaETH.

12 Likes

Hello everybody,

As announced in the previous post, we did today a complete re-install of the ckSepoliaETH minter (jzenf-aiaaa-aaaar-qaa7q-cai ) and ledger (apia6-jaaaa-aaaar-qabma-cai) so that they forgot all transactions before the finalized block #4775281.

A few additional remarks:

  1. The unclaimed SepoliaETH from pas transactions has been moved to a separate account.
  2. The ckSepoliaETH minter and ledger should now be considered as fairly stable: they should no longer be re-installed from scratch (unless unexpected major problem occurs) and standard canister upgrades (that preserve the state) may occur on a regular basis.

Happy testing :partying_face:!

13 Likes

Hi everybody!

We’d like to share some exciting news: DFINITY plans to submit NNS proposals to install ckETH on Friday Dec 1st!

  • If the proposals are adopted, this would be the real mainnet ckETH that can be used by everybody.
  • The code has been running in ckSepoliaETH for almost two months and working well. In addition, DFINITY has performed an extensive internal security review of the ckETH code, without any major findings. That being said, this code is still relatively new and we should therefore treat ckETH as “experimental” initially.
  • This is only the beginning, so the ecosystem can start supporting and adopting ckETH. There are many more things to come, like nice UIs for conversions between ETH and ckETH, ckERC20 (such that we can have eg ckUSDC), and the EVM RPC canister.

To make this a success, we need your help! Some things you can do:

  • Verify the NNS proposals, vote, and spread the word!
  • Integrate ckETH into your dapps
  • Convert some of your ETH into ckETH
  • Add liquidity to ckETH liquidity pools
  • Trade between ICP, ckBTC, and ckETH
  • Follow ckETH minter activity on the minter dashboard to see what’s happening, and verify that ckETH is fully backed by ETH
  • Ask questions and share feedback here on the forum
46 Likes

Congratulations DFINITY!

3 Likes

Excellent news! thanks to the team !

1 Like

Great job and excited to get this first step out.
How can we get this into the best view for the ethereum community?
I’m thinking Manu or Dom visiting BanklessHQ podcast? Is this smth you have considered?

Congratulations ! Thank you!

Great news! Congratulations Dfinity team.

1 Like

Can’t Wait Congratulations to the team !:confetti_ball:

Congratulations
:partying_face:

The NNS proposals to install ckETH have now been submitted.

  1. ckETH ledger 126170
  2. ckETH index 126173
  3. ckETH minter 126171

Note that the canister ids are

Using the dashboard links above, you can see that these canisters are all controlled by r7inp-6aaaa-aaaaa-aaabq-cai, which is the NNS root canister, showing that these canister IDs are under control of the NNS and nobody else can control these canister IDs.

Please help verify these proposals, cast your vote, and help spread the word to other voters! Feel free to ask any questions wrt these proposals here.

17 Likes

What was wrong with Proposal 126172 ?

2 Likes

Proposal 126172 was submitted with the wrong initialization arguments, so it wouldn’t actually work even if adopted, which is why it was resubmitted with correct args in proposal 126173.

3 Likes

Will the dashboard show CKeth as soon as it passes? Or will it come in a future release?

1 Like

https://dashboard.internetcomputer.org/ is a separate thing, so this will not automatically come with these proposals. However, the team is working on adding support for ckETH similar to what exists for ckBTC to the dashboard, and I think there’s a good chance we will already see this next week.

5 Likes

Voters who are not aware of the post above providing the proposal numbers, could easily overlook this mayor proposal.

With the ckBTC proposals, if i remember right it was written in the short proposal description below the title something like, to implement ckBTC… + -

1 Like

I was watching the global R&D and seen this, I have a question in regards to the deposit function of the ETH helper smart contract. It takes in a principal - which is the principal of the ICRC-1 account to deposit on the IC:

The thing is, ICRC-1 wallets are not principals? They are of type Account which looks like:

{ owner : Principal; subaccount : ?Blob }

and if there is a subaccount converted to a string it looks something like:

k2t6j-2nvnp-4zjm3-25dtz-6xhaa-c7boj-5gayf-oj3xs-i43lp-teztq-6ae-dfxgiyy.102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20

I think the problem is that we don’t have a name for these subaccount ICRC-1 wallet strings, and that the wallets on ICRC-1 are not just principals, I have seen across dApps that they just use default subaccounts and keep the original principal - resulting in people thinking that the ICRC-1 wallets are just principals.

And it doesn’t help that the image used in the R&D says you just input a principal for the ETH helper smart contract.

Can someone clarify if the helper smart contract takes a:

  • Principal?
  • converted principal + subacccount string?
  • or an object of type Account

(All of which are valid ICRC-1 wallets).

2 Likes