Skip to content

hextrust/wrapped-xrp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LayerZero

LayerZero Docs

wXRP Contracts

Overview

wXRP token and OFT contracts on Ethereum and HyperEVM.

Deployment

Testnet

# Compile contracts.
pnpm hardhat compile

# Send 0.01 USDC to deployer address on HyperCore through `app.hyperliquid-testnet.xyz`.
# It'll activate the account.

# Ensure the account is activated.
pnpm exec oft-hyperliquid-evm is-account-activated -u $(cast wallet addr $PRIVATE_KEY) -n testnet

# Deploy OFT contracts. Prompts will appear to confirm HyperEVM block size switching.
pnpm hardhat lz:deploy --networks ethereum-testnet,hyperevm-testnet --tags WXRP --ci

# Wire OFT contracts.
pnpm hardhat lz:oapp:wire --oapp-config layerzero.testnet.config.ts

# Transfer ownership.
pnpm hardhat lz:ownable:transfer-ownership --oapp-config layerzero.testnet.config.ts

# Transfer proxy admin owner.
pnpm hardhat transfer-proxy-admin --network ethereum-testnet
pnpm hardhat transfer-proxy-admin --network hyperevm-testnet

# Transfer ERC20 default admin role.
pnpm hardhat transfer-erc20-admin --network ethereum-testnet
pnpm hardhat transfer-erc20-admin --network hyperevm-testnet

Mainnet

# Compile contracts.
pnpm hardhat compile

# Send 0.01 USDC to deployer address on HyperCore through `app.hyperliquid.xyz`.
# It'll activate the account.

# Ensure the account is activated.
pnpm exec oft-hyperliquid-evm is-account-activated -u $(cast wallet addr $PRIVATE_KEY) -n mainnet

# Deploy OFT contracts. Prompts will appear to confirm HyperEVM block size switching.
pnpm hardhat lz:deploy --networks ethereum,hyperevm,optimism --tags WXRP --ci

# Wire OFT contracts.
pnpm hardhat lz:oapp:wire --oapp-config layerzero.mainnet.config.ts

# Transfer ownership.
pnpm hardhat lz:ownable:transfer-ownership --oapp-config layerzero.mainnet.config.ts

# Transfer proxy admin owner.
pnpm hardhat transfer-proxy-admin --network ethereum
pnpm hardhat transfer-proxy-admin --network hyperevm
pnpm hardhat transfer-proxy-admin --network optimism

# Transfer ERC20 default admin role.
pnpm hardhat transfer-erc20-admin --network ethereum
pnpm hardhat transfer-erc20-admin --network hyperevm
pnpm hardhat transfer-erc20-admin --network optimism

Caveats

  1. HyperEVM testnet has historically experienced frequent and aperiodic shutdowns and inconsistent behaviours. Beware that testing transactions and deployments may be affected by it.

Calldata

cast rpc anvil_autoImpersonateAccount true -r http://localhost:8545
cast rpc anvil_setBalance 0xfA633B67b1d9371eBa32cf3476F275D75C75ce77 0x56BC75E2D63100000 -r http://localhost:8545
cast rpc anvil_autoImpersonateAccount true -r http://localhost:8546
cast rpc anvil_setBalance 0xfA633B67b1d9371eBa32cf3476F275D75C75ce77 0x56BC75E2D63100000 -r http://localhost:8546

Ethereum

# Set peer.
cast send --from 0xfA633B67b1d9371eBa32cf3476F275D75C75ce77 0x01CacCa455d04F0D52231589F0deb543de9213E3 0x3400288b000000000000000000000000000000000000000000000000000000000000759f00000000000000000000000001cacca455d04f0d52231589f0deb543de9213e3
# Set send lib config.
cast send --from 0xfA633B67b1d9371eBa32cf3476F275D75C75ce77 0x1a44076050125825900e736c501f859c50fE728c 0x6dbd9f9000000000000000000000000001cacca455d04f0d52231589f0deb543de9213e3000000000000000000000000bb2ea70c9e858123480642cf96acbcce1372dce1000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000759f0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000000ff0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000006559ee34d85a88317bf0bfe307444116c631b67000000000000000000000000373a6e5c0c4e89e24819f00aa37ea370917aaff400000000000000000000000058249a2ec05c1978bf21df1f5ec1847e42455cf4000000000000000000000000a4fe5a5b9a846458a70cd0748228aed3bf65c2cd
# Set receive lib config.
cast send --from 0xfA633B67b1d9371eBa32cf3476F275D75C75ce77 0x1a44076050125825900e736c501f859c50fE728c 0x6dbd9f9000000000000000000000000001cacca455d04f0d52231589f0deb543de9213e3000000000000000000000000c02ab410f0734efa3f14628780e6e695156024c2000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000759f0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000ff0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000006559ee34d85a88317bf0bfe307444116c631b67000000000000000000000000373a6e5c0c4e89e24819f00aa37ea370917aaff400000000000000000000000058249a2ec05c1978bf21df1f5ec1847e42455cf4000000000000000000000000a4fe5a5b9a846458a70cd0748228aed3bf65c2cd
# Set enforced options.
cast send --from 0xfA633B67b1d9371eBa32cf3476F275D75C75ce77 0x01CacCa455d04F0D52231589F0deb543de9213E3 0xb98bd07000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000759f000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000016000301001101000000000000000000000000000186a000000000000000000000000000000000000000000000000000000000000000000000000000000000759f000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000016000301001101000000000000000000000000000186a000000000000000000000

HyperEVM

# Set peer.
cast send --from 0xfA633B67b1d9371eBa32cf3476F275D75C75ce77 0x01CacCa455d04F0D52231589F0deb543de9213E3 0x3400288b000000000000000000000000000000000000000000000000000000000000759f00000000000000000000000001cacca455d04f0d52231589f0deb543de9213e3
# Set send lib config.
cast send --from 0xfA633B67b1d9371eBa32cf3476F275D75C75ce77 0x3A73033C0b1407574C76BdBAc67f126f6b4a9AA9 0x6dbd9f9000000000000000000000000001cacca455d04f0d52231589f0deb543de9213e3000000000000000000000000fd76d9cb0bac839725ab79127e7411fe71b1e3ca000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000759f0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000ff0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000032ffd21260172518a8844fec76a88c8f239c384b00000000000000000000000083342ec538df0460e730a8f543fe63063e2d44c40000000000000000000000009e451905f65ef78d62b93dac3513486da8429d0a000000000000000000000000c7423626016bc40375458bc0277f28681ec91c8e
# Set receive lib config.
cast send --from 0xfA633B67b1d9371eBa32cf3476F275D75C75ce77 0x3A73033C0b1407574C76BdBAc67f126f6b4a9AA9 0x6dbd9f9000000000000000000000000001cacca455d04f0d52231589f0deb543de9213e30000000000000000000000007cacbe439ead55fa1c22790330b12835c6884a91000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000759f0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000ff0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000032ffd21260172518a8844fec76a88c8f239c384b00000000000000000000000083342ec538df0460e730a8f543fe63063e2d44c40000000000000000000000009e451905f65ef78d62b93dac3513486da8429d0a000000000000000000000000c7423626016bc40375458bc0277f28681ec91c8e
# Set enforced options.
cast send --from 0xfA633B67b1d9371eBa32cf3476F275D75C75ce77 0x01CacCa455d04F0D52231589F0deb543de9213E3 0xb98bd07000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000759f000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000016000301001101000000000000000000000000000186a000000000000000000000000000000000000000000000000000000000000000000000000000000000759f000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000016000301001101000000000000000000000000000186a000000000000000000000

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors