messenger/evm is working

This commit is contained in:
spacemandev 2022-08-09 01:31:05 -05:00
parent 4d0b827b65
commit 5992ab9e13
10 changed files with 176 additions and 0 deletions

1
projects/sdkjs/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
sdkjs.ts

View File

@ -0,0 +1,24 @@
#!/usr/bin/env bash
set -euo pipefail
# Start EVM Chain 0
npx pm2 delete evm0 2> /dev/null || true
npx pm2 start 'npx ganache -p 8545 -m "myth like bonus scare over problem client lizard pioneer submit female collect" --block-time 1' --name evm0
# Start EVM Chain 1
npx pm2 delete evm1 2> /dev/null || true
npx pm2 start 'npx ganache -p 8546 -m "myth like bonus scare over problem client lizard pioneer submit female collect" --block-time 1' --name evm1
cd wormhole/ethereum
#Install Wormhole Eth Dependencies
make .env build
# Deploy Wormhole Contracts to EVM Chain 0
npm run migrate && npx truffle exec scripts/deploy_test_token.js && npx truffle exec scripts/register_solana_chain.js && npx truffle exec scripts/register_terra_chain.js && npx truffle exec scripts/register_eth_chain.js
# Deploy Wormhole Contracts to EVM Chain 1
perl -pi -e 's/CHAIN_ID=0x2/CHAIN_ID=0x4/g' .env && perl -pi -e 's/8545/8546/g' truffle-config.js
npm run migrate && npx truffle exec scripts/deploy_test_token.js && npx truffle exec scripts/register_solana_chain.js && npx truffle exec scripts/register_terra_chain.js && npx truffle exec scripts/register_eth_chain.js
perl -pi -e 's/CHAIN_ID=0x4/CHAIN_ID=0x2/g' .env && perl -pi -e 's/8546/8545/g' truffle-config.js

View File

@ -0,0 +1,52 @@
#!/usr/bin/env bash
# Run Guardiand
set -euo pipefail
# dev.v2 for now (until we make a release)
DOCKER_IMAGE="ghcr.io/certusone/guardiand:dev.v2"
DOCKER_FLAGS=
HOST=
TERRAD_HOST=
if [ "$(uname -m)" = "arm64" ]; then
DOCKER_FLAGS="-p 7070:7070 -p 7071:7071 -p 7073:7073 --platform linux/amd64"
HOST="host.docker.internal"
TERRAD_HOST="host.docker.internal"
else
DOCKER_FLAGS="--network host"
TERRAD_HOST="terra-terrad"
HOST="localhost"
fi
docker run --rm --name guardiand $DOCKER_FLAGS --hostname guardian-0 --cap-add=IPC_LOCK "$DOCKER_IMAGE" node \
--unsafeDevMode --guardianKey /bridge.key --publicRPC "[::]:7070" --publicWeb "[::]:7071" --adminSocket /admin.sock --dataDir /data \
--ethRPC ws://$HOST:8545 \
--ethContract "0xC89Ce4735882C9F0f0FE26686c53074E09B0D550" \
--bscRPC ws://$HOST:8546 \
--bscContract "0xC89Ce4735882C9F0f0FE26686c53074E09B0D550" \
--polygonRPC ws://$HOST:8545 \
--avalancheRPC ws://$HOST:8545 \
--auroraRPC ws://$HOST:8545 \
--fantomRPC ws://$HOST:8545 \
--oasisRPC ws://$HOST:8545 \
--karuraRPC ws://$HOST:8545 \
--acalaRPC ws://$HOST:8545 \
--klaytnRPC ws://$HOST:8545 \
--celoRPC ws://$HOST:8545 \
--moonbeamRPC ws://$HOST:8545 \
--neonRPC ws://$HOST:8545 \
--terraWS ws://$HOST:8545 \
--terra2WS ws://$HOST:8545 \
--terraLCD https://$TERRAD_HOST:1317 \
--terra2LCD http://$HOST:1317 \
--terraContract terra18vd8fpwxzck93qlwghaj6arh4p7c5n896xzem5 \
--terra2Contract terra18vd8fpwxzck93qlwghaj6arh4p7c5n896xzem5 \
--solanaContract Bridge1p5gheXUvJ6jGWGeCsgPKgnE3YgdGKRVCMY9o \
--solanaWS ws://$HOST:8900 \
--solanaRPC http://$HOST:8899 \
--algorandIndexerRPC ws://$HOST:8545 \
--algorandIndexerToken "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" \
--algorandAlgodToken "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" \
--algorandAlgodRPC https://$HOST:4001 \
--algorandAppID "4"

View File

@ -0,0 +1,8 @@
#!/usr/bin/env bash
# Check if wormhole/ repo exists.
# If it doesn't then clone
if [ ! -d "./wormhole" ]
then
git clone https://github.com/certusone/wormhole
fi

View File

@ -0,0 +1,17 @@
#!/usr/bin/env bash
set -euo pipefail
# Start Solana
npx pm2 stop solana 2> /dev/null || true
### Uses prebuilt binaries to boot up STV. Leave the solana-accounts folder in there for those that want to use it with Anchor Validator
npx pm2 start "solana-test-validator" --name solana -- -r \
--bpf-program Bridge1p5gheXUvJ6jGWGeCsgPKgnE3YgdGKRVCMY9o ./solana-accounts/core/core_bridge.so \
--account FKoMTctsC7vJbEqyRiiPskPnuQx2tX1kurmvWByq5uZP ./solana-accounts/core/bridge_config.json \
--account GXBsgBD3LDn3vkRZF6TfY5RqgajVZ4W5bMAdiAaaUARs ./solana-accounts/core/fee_collector.json \
--account 6MxkvoEwgB9EqQRLNhvYaPGhfcLtBtpBqdQugr3AZUgD ./solana-accounts/core/guardian_set.json \
--bpf-program B6RHG3mfcckmrYN1UhmJzyS1XX3fZKbkeUcpJe9Sy3FE ./solana-accounts/token/token_bridge.so \
--account 3GwVs8GSLdo4RUsoXTkGQhojauQ1sXcDNjm7LSDicw19 ./solana-accounts/token/token_config.json \
--account 7UqWgfVW1TrjrqauMfDoNMcw8kEStSsQXWNoT2BbhDS5 ./solana-accounts/token/emitter_eth.json \
--account BmRvjCA2cQ1qUNAMVAnPgmjATSBPa2pxE3Q7bRoSGFED ./solana-accounts/token/emitter_bsc.json

View File

@ -0,0 +1 @@
[155,117,110,235,96,214,56,128,109,79,49,209,212,13,134,5,43,123,213,68,21,156,128,100,95,8,43,51,188,230,21,197,156,0,108,72,200,203,243,56,73,203,7,163,249,54,21,156,197,35,249,89,28,177,153,154,189,69,137,14,197,254,233,183]

View File

@ -0,0 +1 @@
[40,74,92,250,81,56,202,67,129,124,193,219,24,161,198,98,191,214,136,7,112,26,72,17,33,249,24,225,183,237,27,216,11,179,26,170,82,220,3,253,152,185,151,186,12,21,138,161,175,46,180,3,167,165,70,51,128,45,237,143,146,49,34,180]

View File

@ -0,0 +1 @@
[179,228,102,38,68,102,75,133,127,56,63,167,143,42,59,29,220,215,100,149,220,241,176,204,154,241,168,147,195,139,55,100,22,88,9,115,146,64,160,172,3,185,132,64,254,137,133,84,142,58,166,131,205,13,77,157,245,181,101,150,105,250,163,1]

View File

@ -0,0 +1,63 @@
#!/usr/bin/env bash
set -euo pipefail
# Dependencies
cargo install spl-token-cli
# Start Solana
npx pm2 stop solana 2> /dev/null || true
npx pm2 start "solana-test-validator" --name solana -- -r
# Set Solana Config to Localhost
solana config set -u localhost -k wormhole/solana/keys/solana-devnet.json
# Constants
cli_address=6sbzC1eH4FTujJXWj51eQe25cYvr4xfXbJ1vAj7j2k5J
bridge_address=Bridge1p5gheXUvJ6jGWGeCsgPKgnE3YgdGKRVCMY9o
nft_bridge_address=NFTWqJR8YnRVqPDvTJrYuLrQDitTG5AScqbeghi4zSA
token_bridge_address=B6RHG3mfcckmrYN1UhmJzyS1XX3fZKbkeUcpJe9Sy3FE
recipient_address=90F8bf6A479f320ead074411a4B0e7944Ea8c9C1
chain_id_ethereum=2
# Fund the account
solana airdrop 1000
# Create a new SPL token
token=$(spl-token create-token -- solana-keys/token.json | grep 'Creating token' | awk '{ print $3 }')
echo "Created token $token"
# Create token account
account=$(spl-token create-account "$token" | grep 'Creating account' | awk '{ print $3 }')
echo "Created token account $account"
# Mint new tokens owned by our CLI account
spl-token mint "$token" 10000000000 "$account"
# Create meta for token
token-bridge-client create-meta "$token" "Solana Test Token" "SOLT" ""
# Create a new SPL NFT
nft=$(spl-token create-token --decimals 0 -- solana-keys/nft.json | grep 'Creating token' | awk '{ print $3 }')
echo "Created NFT $nft"
# Create NFT account
nft_account=$(spl-token create-account "$nft" | grep 'Creating account' | awk '{ print $3 }')
echo "Created NFT account $nft_account"
# Mint new NFT owned by our CLI account
spl-token mint "$nft" 1 "$nft_account"
# Create meta for token
token-bridge-client create-meta "$nft" "Not a PUNK🎸" "PUNK🎸" "https://wrappedpunks.com:3000/api/punks/metadata/39"
nft=$(spl-token create-token --decimals 0 -- nft2.json | grep 'Creating token' | awk '{ print $3 }')
echo "Created NFT $nft"
nft_account=$(spl-token create-account "$nft" | grep 'Creating account' | awk '{ print $3 }')
echo "Created NFT account $nft_account"
spl-token mint "$nft" 1 "$nft_account"
token-bridge-client create-meta "$nft" "Not a PUNK 2🎸" "PUNK2🎸" "https://wrappedpunks.com:3000/api/punks/metadata/51"

View File

@ -0,0 +1,8 @@
#!/usr/bin/env bash
set -euo pipefail
# Start guardiand
npx pm2 delete guardiand 2> /dev/null || true
npx pm2 start 'bash guardiand.bash' --name guardiand