Build SuiNS TX #90
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: | |
- Disable Discounts | |
- Disable Free Claims | |
- Authorize Discounts | |
- Withdraw Auction Profits | |
- Transfer Reserved Names | |
- Main package upgrade | |
- Create Deepbook Pools | |
- Renew reserved names | |
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: '0x5cc6e842a17918ad7ce5e4e333309b387f1d5151bc3c89682abda460a700c2f5' | |
reserved_renewals_tx_id: | |
description: 'Which reserved extension operation are you trying to run?' | |
type: 'choice' | |
options: | |
- '1' | |
- '2' | |
- '3' | |
- '4' | |
- '5' | |
jobs: | |
suins: | |
name: suins create tx | |
runs-on: ubuntu-latest | |
steps: | |
- name: Selected transaction type | |
run: | | |
echo ${{ inputs.transaction_type }} | |
- name: Check out code | |
uses: actions/checkout@v3 | |
- name: Create client.yaml and keystore | |
working-directory: . | |
env: | |
NETWORK: mainnet | |
RPC: ${{ inputs.rpc }} | |
run: | | |
mkdir sui_config | |
touch sui_config/sui.keystore | |
cat <<EOF > sui_config/sui.keystore | |
[ | |
"AJJqjgjU5B9vG2xV2c5kd51eyLYJ0yuEcSYRjzCKIQhT" | |
] | |
EOF | |
cat <<EOF > sui_config/client.yaml | |
--- | |
keystore: | |
File: $HOME/.sui/sui_config/sui.keystore | |
envs: | |
- alias: $NETWORK | |
rpc: "$RPC" | |
ws: ~ | |
EOF | |
mkdir $HOME/.sui | |
cp -r sui_config $HOME/.sui/sui_config | |
- name: Set up sui environment | |
working-directory: . | |
run: | | |
docker pull docker.io/${{ inputs.sui_tools_image }} | |
docker create --name tmp_cont docker.io/${{ inputs.sui_tools_image }} | |
docker cp tmp_cont:/usr/local/bin/sui sui | |
- name: NPM BUILD TX Environment | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18.16 | |
- name: Do a global PNPM install | |
run: | | |
npm install -g pnpm | |
- name: Set up working directory | |
run: | | |
cd scripts && pnpm install | |
- name: Main Package Upgrade | |
if: ${{ inputs.transaction_type == 'Main package upgrade' }} | |
env: | |
NODE_ENV: production | |
GAS_OBJECT: ${{ inputs.gas_object_id }} | |
NETWORK: mainnet | |
ORIGIN: gh_action | |
run: | | |
cd scripts && pnpm transactions::main_package::upgrade | |
- 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: Withdraw Auction Profits | |
if: ${{ inputs.transaction_type == 'Withdraw Auction Profits' }} | |
env: | |
NODE_ENV: production | |
GAS_OBJECT: ${{ inputs.gas_object_id }} | |
NETWORK: mainnet | |
ORIGIN: gh_action | |
run: | | |
cd scripts && pnpm withdraw:auction:profits | |
- name: Authorize Discounts | |
if: ${{ inputs.transaction_type == 'Authorize Discounts' }} | |
env: | |
NODE_ENV: production | |
GAS_OBJECT: ${{ inputs.gas_object_id }} | |
NETWORK: mainnet | |
ORIGIN: gh_action | |
run: | | |
cd scripts && pnpm authorize-discounts | |
- name: Disable Free Claims | |
if: ${{ inputs.transaction_type == 'Disable Free Claims' }} | |
env: | |
NODE_ENV: production | |
GAS_OBJECT: ${{ inputs.gas_object_id }} | |
NETWORK: mainnet | |
ORIGIN: gh_action | |
run: | | |
cd scripts && pnpm disable-free-claims | |
- name: Disable Discounts | |
if: ${{ inputs.transaction_type == 'Disable Discounts' }} | |
env: | |
NODE_ENV: production | |
GAS_OBJECT: ${{ inputs.gas_object_id }} | |
NETWORK: mainnet | |
ORIGIN: gh_action | |
run: | | |
cd scripts && pnpm disable-discounts | |
- name: Create Deepbook Pools | |
if: ${{ inputs.transaction_type == 'Create Deepbook Pools' }} | |
env: | |
NODE_ENV: production | |
GAS_OBJECT: ${{ inputs.gas_object_id }} | |
NETWORK: mainnet | |
ORIGIN: gh_action | |
run: | | |
cd scripts && pnpm create-deepbook-pools | |
- name: Authorize Renewals | |
if: ${{ inputs.transaction_type == 'Authorize Renewals' }} | |
env: | |
NODE_ENV: production | |
GAS_OBJECT: ${{ inputs.gas_object_id }} | |
NETWORK: mainnet | |
ORIGIN: gh_action | |
run: | | |
cd scripts && pnpm authorize-renewals | |
- name: Renew Reserved Names | |
if: ${{ inputs.transaction_type == 'Renew reserved names' }} | |
env: | |
NODE_ENV: production | |
GAS_OBJECT: ${{ inputs.gas_object_id }} | |
NETWORK: mainnet | |
ORIGIN: gh_action | |
RUN_ID: ${{ inputs.reserved_renewals_tx_id }} | |
run: | | |
cd scripts && pnpm renew-reserved-names | |
- 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 |