name: Seed Chain on: workflow_call: inputs: chain-api-url: required: true type: string chain-id: required: true type: string seed-script-filename: required: true type: string erc20-deployer-network-name: required: true type: string genesis_validator_addresses: required: true type: string kava_version_filepath: required: true type: string secrets: DEV_WALLET_MNEMONIC: required: true KAVA_TESTNET_GOD_MNEMONIC: required: true jobs: seed-chain-state: runs-on: ubuntu-latest steps: - name: checkout repo from master uses: actions/checkout@v4 with: ref: master - name: checkout version of kava used by network run: | git pull -p git checkout $(cat ${KAVA_VERSION_FILEPATH}) env: KAVA_VERSION_FILEPATH: ${{ inputs.kava_version_filepath }} - name: Set up Go uses: actions/setup-go@v4 with: go-version-file: go.mod - name: build kava binary run: make install - name: checkout go evm tools repo uses: actions/checkout@v4 with: repository: ethereum/go-ethereum path: go-ethereum ref: v1.10.26 - name: install go evm tools run: | make make devtools working-directory: go-ethereum - name: checkout kava bridge repo for deploying evm contracts uses: actions/checkout@v4 with: repository: 0glabs/0g-chain-bridge path: kava-bridge ref: main - name: install nodeJS uses: actions/setup-node@v3 with: cache: npm node-version: 18 cache-dependency-path: kava-bridge/contract/package.json - name: "install ERC20 contract deployment dependencies" run: "npm install" working-directory: kava-bridge/contract - name: compile default erc20 contracts run: make compile-contracts working-directory: kava-bridge - name: download seed script from current commit run: wget https://raw.githubusercontent.com/0glabs/0g-chain/${GITHUB_SHA}/.github/scripts/${SEED_SCRIPT_FILENAME} && chmod +x ${SEED_SCRIPT_FILENAME} working-directory: kava-bridge/contract env: SEED_SCRIPT_FILENAME: ${{ inputs.seed-script-filename }} - name: run seed scripts run: bash ./${SEED_SCRIPT_FILENAME} working-directory: kava-bridge/contract env: CHAIN_API_URL: ${{ inputs.chain-api-url }} CHAIN_ID: ${{ inputs.chain-id }} DEV_WALLET_MNEMONIC: ${{ secrets.DEV_WALLET_MNEMONIC }} KAVA_TESTNET_GOD_MNEMONIC: ${{ secrets.KAVA_TESTNET_GOD_MNEMONIC }} SEED_SCRIPT_FILENAME: ${{ inputs.seed-script-filename }} ERC20_DEPLOYER_NETWORK_NAME: ${{ inputs.erc20-deployer-network-name }} GENESIS_VALIDATOR_ADDRESSES: ${{ inputs.genesis_validator_addresses }}