forked from NEAR-DevHub/neardevhub-contract
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJustfile
149 lines (109 loc) · 5.31 KB
/
Justfile
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
import? 'local.just'
funder_account := "cargo_near_test_workflows.testnet"
counter := `echo -n $COMMON_TEST_CASE_ACCOUNT_ID`
# devhub group
devhub_test_contract := "devhub-" + counter + ".testnet"
devhub_deposit := "'30 NEAR'"
# ====================
# community-factory group
community_factory_contract := "community" + "." + devhub_test_contract
community_factory_deposit := "'20 NEAR'"
# ====================
# community group
community_handle := 'uniquehandle'
community_contract := community_handle + "." + community_factory_contract
# ====================
# discussions grouop
discussions_contract := 'discussions' + "." + community_contract
# ====================
# payload
payload_create_community := '{ "inputs": { "handle": "' + community_handle + '", "name": "Gotham", "tag": "some", "description": "community.", "bio_markdown": "sample", "logo_url": "https://ipfs.near.social/ipfs/", "banner_url": "https://ipfs.near.social/" }}'
# ====================
standalone_community := "standalone-devhub-community-" + counter + ".testnet"
standalone_discussions := "standalone-devhub-discussions-" + counter + ".testnet"
[group('devhub')]
create_devhub_test_account:
near account create-account fund-myself \
{{ devhub_test_contract }} {{ devhub_deposit }} autogenerate-new-keypair \
save-to-keychain sign-as {{ funder_account }} \
network-config testnet sign-with-keychain send || true
[group('devhub')]
deploy_devhub: create_devhub_test_account
cargo near deploy build-reproducible-wasm {{ devhub_test_contract }} with-init-call new \
json-args {} prepaid-gas '100.0 Tgas' attached-deposit '0 NEAR' \
network-config testnet sign-with-keychain send
[group('community-factory')]
create_community_factory_subaccount:
near account create-account fund-myself {{ community_factory_contract }} \
{{ community_factory_deposit }} autogenerate-new-keypair save-to-keychain \
sign-as {{ devhub_test_contract }} network-config testnet \
sign-with-keychain send
[group('community-factory')]
deploy_community_factory: create_community_factory_subaccount
cd community-factory && cargo near deploy build-reproducible-wasm {{ community_factory_contract }} \
without-init-call network-config testnet \
sign-with-keychain send
[group('call-create-community')]
call_create_community_from_devhub:
near contract call-function as-transaction {{ devhub_test_contract }} create_community \
json-args '{{ payload_create_community }}' \
prepaid-gas '300.0 Tgas' attached-deposit '6 NEAR' \
sign-as {{ funder_account }} network-config testnet sign-with-keychain send
[group('template-deploy-from-faucet')]
_create_acc_and_deploy folder contract_account:
near account create-account sponsor-by-faucet-service {{ contract_account }} autogenerate-new-keypair save-to-keychain network-config testnet create || true
cd {{ folder }} && cargo near deploy build-reproducible-wasm {{ contract_account }} \
without-init-call network-config testnet \
sign-with-keychain send
[group('community-standalone')]
create_community_standalone_and_deploy: (_create_acc_and_deploy "community" standalone_community)
[group('discussions-standalone')]
create_discussions_standalone_and_deploy: (_create_acc_and_deploy "discussions" standalone_discussions)
## Testing
[group('account-summary')]
_view_summary target:
near account view-account-summary {{ target }} network-config testnet now
[group('account-summary')]
view_summary_devhub: (_view_summary devhub_test_contract)
[group('account-summary')]
view_summary_community_factory: (_view_summary community_factory_contract)
[group('account-summary')]
view_summary_community: (_view_summary community_contract)
[group('account-summary')]
view_summary_standalone_community: (_view_summary standalone_community)
[group('account-summary')]
view_summary_discussions: (_view_summary discussions_contract)
[group('account-summary')]
view_summary_standalone_discussions: (_view_summary standalone_discussions)
[group('test-nep330-meta')]
_test_meta target:
near contract call-function as-read-only {{ target }} contract_source_metadata json-args {} network-config testnet now
[group('test-nep330-meta')]
test_meta_devhub: (_test_meta devhub_test_contract)
[group('test-nep330-meta')]
test_meta_community_factory: (_test_meta community_factory_contract)
[group('test-nep330-meta')]
test_meta_community: (_test_meta community_contract)
[group('test-nep330-meta')]
test_meta_standalone_community: (_test_meta standalone_community)
[group('test-nep330-meta')]
test_meta_discussions: (_test_meta discussions_contract)
[group('test-nep330-meta')]
test_meta_standalone_discussions: (_test_meta standalone_discussions)
## Testing single command
[group('download-wasm')]
_download_wasm target:
near contract download-wasm {{ target }} save-to-file {{ target }}.wasm network-config testnet now
[group('download-wasm')]
_git_cleanup:
git clean -f .
[group('download-wasm')]
download_all_wasms: && _git_cleanup
#!/usr/bin/env zsh
just _download_wasm {{ devhub_test_contract }}
just _download_wasm {{ community_factory_contract }}
just _download_wasm {{ community_contract }}
just _download_wasm {{ discussions_contract }}
just _download_wasm {{ standalone_community }}
just _download_wasm {{ standalone_discussions }}
sha256sum *.wasm