-
Notifications
You must be signed in to change notification settings - Fork 16
148 lines (130 loc) · 4.29 KB
/
suins-build-tx.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
---
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
- Transfer Admin Caps
- 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: Transfer Admin Caps
if: ${{ inputs.transaction_type == 'Transfer Admin Caps' }}
env:
NODE_ENV: production
GAS_OBJECT: ${{ inputs.gas_object_id }}
NETWORK: mainnet
ORIGIN: gh_action
run: |
cd scripts && pnpm transfer::caps
- 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