Build Deepbook TX #82
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: Build Deepbook TX | |
on: | |
workflow_dispatch: | |
inputs: | |
transaction_type: | |
description: 'select transaction type to create' | |
type: choice | |
options: | |
- Create Pool | |
- Upgrade Protocol | |
- Enable Version | |
- Disable Version | |
- Unregister Pool and Create | |
sui_tools_image: | |
description: 'image reference of sui_tools' | |
default: 'mysten/sui-tools:mainnet' | |
rpc: | |
description: 'RPC url' | |
required: true | |
default: 'https://suins-rpc.mainnet.sui.io:443' | |
type: string | |
gas_object_id: | |
description: 'object id to get gas from for multisig transaction' | |
required: true | |
type: string | |
default: '0x4850650e3566b000ea159a4ae7d13c93803ceabf1f483a7f796c7cc0b2f5ce4b' | |
jobs: | |
deepbook: | |
name: deepbook create tx | |
runs-on: ubuntu-latest | |
steps: | |
- name: Selected transaction type | |
run: | | |
echo ${{ inputs.transaction_type }} | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: Install Homebrew | |
run: | | |
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" | |
echo "/home/linuxbrew/.linuxbrew/bin" >> $GITHUB_PATH | |
- name: Install Sui using Homebrew | |
run: brew install sui | |
- name: YAML Setup | |
run: | | |
sui client --yes new-env --rpc https://fullnode.mainnet.sui.io:443 --alias mainnet | |
sui client switch --env mainnet | |
- name: NPM BUILD TX Environment | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
- name: Do a global PNPM install | |
run: | | |
npm install -g pnpm | |
- name: Set up working directory and install dependencies | |
run: | | |
pnpm install | |
- name: Upgrade Protocol | |
if: ${{ inputs.transaction_type == 'Upgrade Protocol' }} | |
env: | |
NODE_ENV: production | |
GAS_OBJECT: ${{ inputs.gas_object_id }} | |
NETWORK: mainnet | |
ORIGIN: gh_action | |
RPC_URL: ${{ inputs.rpc }} | |
run: | | |
cd scripts && pnpm install && pnpm ts-node transactions/mainPackageUpgrade.ts | |
- name: Create Pool | |
if: ${{ inputs.transaction_type == 'Create Pool' }} | |
env: | |
NODE_ENV: production | |
GAS_OBJECT: ${{ inputs.gas_object_id }} | |
NETWORK: mainnet | |
ORIGIN: gh_action | |
run: | | |
cd scripts && pnpm install && pnpm ts-node transactions/createPool.ts | |
- name: Unregister Pool and Create | |
if: ${{ inputs.transaction_type == 'Unregister Pool and Create' }} | |
env: | |
NODE_ENV: production | |
GAS_OBJECT: ${{ inputs.gas_object_id }} | |
NETWORK: mainnet | |
ORIGIN: gh_action | |
run: | | |
cd scripts && pnpm install && pnpm ts-node transactions/unregisterPoolAndCreate.ts | |
- name: Enable Version | |
if: ${{ inputs.transaction_type == 'Enable Version' }} | |
env: | |
NODE_ENV: production | |
GAS_OBJECT: ${{ inputs.gas_object_id }} | |
NETWORK: mainnet | |
ORIGIN: gh_action | |
run: | | |
cd scripts && pnpm install && pnpm ts-node transactions/enableVersion.ts | |
- name: Disable Version | |
if: ${{ inputs.transaction_type == 'Disable Version' }} | |
env: | |
NODE_ENV: production | |
GAS_OBJECT: ${{ inputs.gas_object_id }} | |
NETWORK: mainnet | |
ORIGIN: gh_action | |
run: | | |
cd scripts && pnpm install && pnpm ts-node transactions/disableVersion.ts | |
- name: Show Transaction Data (To sign) | |
run: | | |
cat scripts/tx/tx-data.txt | |
- name: Upload Transaction Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: transaction-data | |
path: scripts/tx |