Kusama Assethub Mainnet

Deployed contracts:

  • [ZK Verifier] 0xc81D878518791fE261841a1eF7Eb7cc565598Ae4
  • [Poseidon Hasher] 0x02bB94D5eeEAc7C102D90e661BB925d0BE98E639
  • [Shielded Pool] 0xDC80565357D63eCa67F3f020b6DD1CE1fD0E1Ed8

Kusama Assethub EVM RPC's:

  • https://kusama-rpc.laissez-faire.trade
  • https://kusama-asset-hub-eth-rpc.polkadot.io
  • https://eth-asset-hub-kusama.dotters.network

How to fund an EVM account on Kusama Assethub.

XCM tokens from Kusama to Kusama Assethub:

app.turtle.cool is an easy to use tool to send your KSM from Kusama to Kusama Assethub.

Account conversion:

When we make transactions we are doing this from an ethereum account in an ethereum way, in order to do so we must send funds from our regular substrate address to the EVM address we want to use.

Let's create a new ethereum account and send funds to it:

 cast wallet new
Successfully created new keypair.
Address:     0xbe386C4368Fadf622830d00e2353D4dF5fEE52Ac
Private key: 0x45f3cb7cd86153b09b83c914c9306161e790738295a209334f35127d45897639

Take the Address and append 24 small e:

0xbe386C4368Fadf622830d00e2353D4dF5fEE52Aceeeeeeeeeeeeeeeeeeeeeeee

send a balance transfer to this account like this:
https://assethub-kusama.subscan.io/extrinsic/10684721-2

How to use Kusama Shield on Kusama Assethub:

Note: make sure you have balance on your ETHEREUM account on Kusama Assethub

Video Demo

1: Connect wallet:

2: Select Amount

3: Save token

Next you will have a secret token being generated for you, when you want to withdraw you neeed to know the amount and this secret token.

Redeploying the shielded pool:

  • 1: Deploy the PolkaVM poseidon project
  • 2: deploy the zk verifier
  • 3: Link the poseidon contract into InternalLeanIMT
  • 4: Link the zk contract address into the FixedIlop/Shielded Pool contract
  • 5: Deploy the Shielded pool with the script provided in same repo
  • 6: Test withdrawals and deposits with this script:

https://codeberg.org/KusamaShield/Solidity_helpers/src/branch/main/contracts/paseo2_kusama/test_deposit_withdraw.js