-
Notifications
You must be signed in to change notification settings - Fork 15
154 lines (138 loc) · 6.44 KB
/
deploy-token-javascore.yml
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
149
150
151
152
153
154
name: 'Deploy Token Javascore'
on:
workflow_dispatch:
workflow_call:
secrets:
AWS_S3_BUCKET:
required: true
AWS_REGION:
required: true
AWS_ACCESS_KEY_ID:
required: true
AWS_SECRET_ACCESS_KEY:
required: true
GOLOOP_RPC_KEY_STORE_B64:
required: true
GOLOOP_RPC_URI:
required: true
GOLOOP_RPC_KEY_PASSWORD:
required: true
jobs:
deploy-token-javascore:
name: deploy token javascore
runs-on: ubuntu-latest
container:
image: iconbridge/build
options: --user 1001
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Checkout tools repo
uses: actions/checkout@v3
with:
repository: icon-project/java-score-examples
path: java-score-examples
- name: javascore irc2.jar
working-directory: ./java-score-examples
run: |
gradle irc2-token:clean
gradle irc2-token:optimizedJar
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ secrets.AWS_REGION }}
- name: Sync tx-icon-bts-bmc for further steps
env:
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
run: |
aws s3 cp s3://$AWS_S3_BUCKET/icon-addr-bmc javascore/icon-addr-bmc
aws s3 cp s3://$AWS_S3_BUCKET/icon-addr-bts javascore/icon-addr-bts
- name: Retrieve the secret and decode it to a file
working-directory: ./javascore
env:
GOLOOP_RPC_KEY_STORE_B64: ${{ secrets.GOLOOP_RPC_KEY_STORE_B64 }}
run: |
echo $GOLOOP_RPC_KEY_STORE_B64 | base64 -d > key.json
- name: deploy_javascore_token
working-directory: ./javascore
shell: bash
timeout-minutes: 1
env:
GOLOOP_RPC_KEY_PASSWORD: ${{ secrets.GOLOOP_RPC_KEY_PASSWORD }}
GOLOOP_RPC_URI: ${{ secrets.GOLOOP_RPC_URI }}
run: |
goloop rpc sendtx deploy ../java-score-examples/irc2-token/build/libs/irc2-token-0.9.1-optimized.jar --key_store=./key.json --content_type application/java --param _name="btp-0x2.icon-sICX" --param _symbol="sICX" --param _initialSupply="0x5f5e100" --param _decimals="0x12" --nid 0x2 --content_type application/java --step_limit 3000000000 | jq -r . | tee icon.addr.sICX
- name: configure_javascore_add_bmc_owner
working-directory: ./javascore
shell: bash
timeout-minutes: 1
env:
GOLOOP_RPC_KEY_PASSWORD: ${{ secrets.GOLOOP_RPC_KEY_PASSWORD }}
GOLOOP_RPC_URI: ${{ secrets.GOLOOP_RPC_URI }}
run: |
icon_bmc_owner=$(cat ./key.json | jq -r .address)
goloop rpc sendtx call --to $(cat icon-addr-bmc) --method addOwner --param _addr=$icon_bmc_owner --key_store=./key.json --nid 0x2 --step_limit 3000000000| jq -r . > addbmcowner.icon
goloop rpc sendtx deploy ../java-score-examples/irc2-token/build/libs/irc2-token-0.9.1-optimized.jar --key_store=./key.json --content_type application/java --param _name="btp-0x2.icon-sICX" --param _symbol="sICX" --param _initialSupply="0x5f5e100" --param _decimals="0x12" --nid 0x2 --content_type application/java --step_limit 3000000000 | jq -r . | tee tx.icon.sICX
- name: configure_javascore_bmc_setFeeAggregator
working-directory: ./javascore
shell: bash
timeout-minutes: 1
env:
GOLOOP_RPC_KEY_PASSWORD: ${{ secrets.GOLOOP_RPC_KEY_PASSWORD }}
GOLOOP_RPC_URI: ${{ secrets.GOLOOP_RPC_URI }}
FEE_GATHERING_INTERVAL: 1000
run: |
icon_bmc_owner=$(cat ./key.json | jq -r .address)
goloop rpc sendtx call --to $(cat icon-addr-bmc) --key_store=./key.json --method setFeeAggregator --param _addr=$icon_bmc_owner --nid 0x2 --step_limit 3000000000| jq -r . >setFeeAggregator.icon
sleep 5
goloop rpc sendtx call --to $(cat icon-addr-bmc) --method setFeeGatheringTerm --key_store=./key.json --param _value=$FEE_GATHERING_INTERVAL --nid 0x2 --step_limit 3000000000 | jq -r . >setFeeGatheringTerm.icon
sleep 5
goloop rpc --uri $GOLOOP_RPC_URI txresult $(cat setFeeGatheringTerm.icon)
- name: configure_javascore_add_bts
working-directory: ./javascore
shell: bash
timeout-minutes: 1
env:
GOLOOP_RPC_KEY_PASSWORD: ${{ secrets.GOLOOP_RPC_KEY_PASSWORD }}
GOLOOP_RPC_URI: ${{ secrets.GOLOOP_RPC_URI }}
FEE_GATHERING_INTERVAL: 1000
run: |
icon_bmc_owner=$(cat ./key.json | jq -r .address)
goloop rpc sendtx call --to $(cat icon-addr-bmc) --key_store=./key.json \
--method addService \
--value 0 \
--param _addr=$(cat icon-addr-bts) \
--param _svc="bts" --nid 0x2 --step_limit 3000000000 | jq -r . >addService.icon
- name: configure_javascore_add_bts_owner
working-directory: ./javascore
shell: bash
timeout-minutes: 1
env:
GOLOOP_RPC_KEY_PASSWORD: ${{ secrets.GOLOOP_RPC_KEY_PASSWORD }}
GOLOOP_RPC_URI: ${{ secrets.GOLOOP_RPC_URI }}
run: |
icon_bts_owner=$(cat ./key.json | jq -r .address)
goloop rpc sendtx call --to $(cat icon-addr-bts) --key_store=./key.json --method addOwner --param _addr=$icon_bts_owner --nid 0x2 --step_limit 3000000000 | jq -r . >addBtsOwner.icon
sleep 5
goloop rpc --uri $GOLOOP_RPC_URI txresult $(cat addBtsOwner.icon)
- name: configure_javascore_bts_setICXFee
working-directory: ./javascore
shell: bash
timeout-minutes: 1
env:
GOLOOP_RPC_KEY_PASSWORD: ${{ secrets.GOLOOP_RPC_KEY_PASSWORD }}
GOLOOP_RPC_URI: ${{ secrets.GOLOOP_RPC_URI }}
run: |
icon_bts_owner=$(cat ./key.json | jq -r .address)
goloop rpc sendtx call --to $(cat icon-addr-bts) --key_store=./key.json --method addOwner --param _addr=$icon_bts_owner --nid 0x2 --step_limit 3000000000 | jq -r . >addBtsOwner.icon
sleep 5
goloop rpc --uri $GOLOOP_RPC_URI txresult $(cat addBtsOwner.icon)
- name: Sync files for further steps
env:
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
run: |
aws s3 cp javascore/icon.addr.sICX s3://$AWS_S3_BUCKET/icon.addr.sICX