deployTokenBridge.sh 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #!/bin/bash
  2. # MNEMONIC=<redacted> WORMHOLE_ADDRESS=<from_the_previous_command> ./sh/deployTokenBridge.sh
  3. . .env
  4. [[ -z $INIT_EVM_CHAIN_ID ]] && { echo "Missing INIT_EVM_CHAIN_ID"; exit 1; }
  5. [[ -z $BRIDGE_INIT_CHAIN_ID ]] && { echo "Missing BRIDGE_INIT_CHAIN_ID"; exit 1; }
  6. [[ -z $BRIDGE_INIT_GOV_CHAIN_ID ]] && { echo "Missing BRIDGE_INIT_GOV_CHAIN_ID"; exit 1; }
  7. [[ -z $BRIDGE_INIT_GOV_CONTRACT ]] && { echo "Missing BRIDGE_INIT_GOV_CONTRACT"; exit 1; }
  8. [[ -z $BRIDGE_INIT_WETH ]] && { echo "Missing BRIDGE_INIT_WETH"; exit 1; }
  9. [[ -z $BRIDGE_INIT_FINALITY ]] && { echo "Missing BRIDGE_INIT_FINALITY"; exit 1; }
  10. [[ -z $WORMHOLE_ADDRESS ]] && { echo "Missing WORMHOLE_ADDRESS"; exit 1; }
  11. [[ -z $MNEMONIC ]] && { echo "Missing MNEMONIC"; exit 1; }
  12. [[ -z $RPC_URL ]] && { echo "Missing RPC_URL"; exit 1; }
  13. forge script ./forge-scripts/DeployTokenBridge.s.sol:DeployTokenBridge \
  14. --sig "run(uint16,uint16,bytes32,address,uint8,uint256,address)" $BRIDGE_INIT_CHAIN_ID $BRIDGE_INIT_GOV_CHAIN_ID $BRIDGE_INIT_GOV_CONTRACT $BRIDGE_INIT_WETH $BRIDGE_INIT_FINALITY $INIT_EVM_CHAIN_ID $WORMHOLE_ADDRESS \
  15. --rpc-url "$RPC_URL" \
  16. --private-key "$MNEMONIC" \
  17. --broadcast ${FORGE_ARGS}
  18. returnInfo=$(cat ./broadcast/DeployTokenBridge.s.sol/$INIT_EVM_CHAIN_ID/run-latest.json)
  19. # Extract the address values from 'returnInfo'
  20. TOKEN_BRIDGE_ADDRESS=$(jq -r '.returns.deployedAddress.value' <<< "$returnInfo")
  21. TOKEN_IMPLEMENTATION_ADDRESS=$(jq -r '.returns.tokenImplementationAddress.value' <<< "$returnInfo")
  22. TOKEN_BRIDGE_SETUP_ADDRESS=$(jq -r '.returns.bridgeSetupAddress.value' <<< "$returnInfo")
  23. TOKEN_BRIDGE_IMPLEMENTATION_ADDRESS=$(jq -r '.returns.bridgeImplementationAddress.value' <<< "$returnInfo")
  24. echo "-- TokenBridge Addresses ----------------------------------------------------"
  25. echo "| Token Implementation address | $TOKEN_IMPLEMENTATION_ADDRESS |"
  26. echo "| BridgeSetup address | $TOKEN_BRIDGE_SETUP_ADDRESS |"
  27. echo "| BridgeImplementation address | $TOKEN_BRIDGE_IMPLEMENTATION_ADDRESS |"
  28. echo "| TokenBridge address | $TOKEN_BRIDGE_ADDRESS |"
  29. echo "-----------------------------------------------------------------------------"