Build SuiNS TX #185
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 SuiNS TX | |
on: | |
workflow_dispatch: | |
inputs: | |
transaction_type: | |
description: 'select transaction type to create' | |
type: choice | |
options: | |
- Multi Purpose Operation | |
- Profits to Treasury | |
- Transfer Reserved Names | |
- Free Coupons | |
- Create Coupons | |
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: '0xae841028e9c704badbeb0f3f837b371f663bf647e6f9c984ce47284869a8754e' | |
jobs: | |
suins: | |
name: suins 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: 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 | |
run: | | |
pnpm install | |
- name: Profits to Treasury | |
if: ${{ inputs.transaction_type == 'Profits to Treasury' }} | |
env: | |
NODE_ENV: production | |
GAS_OBJECT: ${{ inputs.gas_object_id }} | |
NETWORK: mainnet | |
ORIGIN: gh_action | |
run: | | |
cd scripts && pnpm withdraw:profits | |
- name: Transfer Reserved Names | |
if: ${{ inputs.transaction_type == 'Transfer Reserved Names' }} | |
env: | |
NODE_ENV: production | |
GAS_OBJECT: ${{ inputs.gas_object_id }} | |
NETWORK: mainnet | |
ORIGIN: gh_action | |
run: | | |
cd scripts && pnpm transfer::names | |
- name: Multi Purpose Operation | |
if: ${{ inputs.transaction_type == 'Multi Purpose Operation' }} | |
env: | |
NODE_ENV: production | |
GAS_OBJECT: ${{ inputs.gas_object_id }} | |
NETWORK: mainnet | |
ORIGIN: gh_action | |
RPC_URL: ${{ inputs.rpc }} | |
run: | | |
cd scripts && pnpm ts-node transactions/mass-ops.ts | |
- name: Finalize Auctions And Discount | |
if: ${{ inputs.transaction_type == 'Finalize Auctions And Discount' }} | |
env: | |
NODE_ENV: production | |
GAS_OBJECT: ${{ inputs.gas_object_id }} | |
NETWORK: mainnet | |
ORIGIN: gh_action | |
RPC_URL: ${{ inputs.rpc }} | |
run: | | |
cd scripts && pnpm ts-node transactions/discount-and-auction-profits.ts | |
- name: Free Coupons | |
if: ${{ inputs.transaction_type == 'Free Coupons' }} | |
env: | |
NODE_ENV: production | |
GAS_OBJECT: ${{ inputs.gas_object_id }} | |
NETWORK: mainnet | |
ORIGIN: gh_action | |
RPC_URL: ${{ inputs.rpc }} | |
run: | | |
cd scripts && pnpm ts-node transactions/free-three-digit.ts | |
- name: Create Coupons | |
if: ${{ inputs.transaction_type == 'Create Coupons' }} | |
env: | |
NODE_ENV: production | |
GAS_OBJECT: ${{ inputs.gas_object_id }} | |
NETWORK: mainnet | |
ORIGIN: gh_action | |
RPC_URL: ${{ inputs.rpc }} | |
run: | | |
cd scripts && pnpm ts-node transactions/create-bulk-coupons.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 |