33set -e
44
55if [ $# != 4 ] && [ $# != 5 ]; then
6- echo " Arguments: <IMAGE_FILE> <TITLE> <DESCRIPTION> <TOKEN_NAME> [<IPFC_CID >]"
6+ echo " Arguments: <IMAGE_FILE> <TITLE> <DESCRIPTION> <TOKEN_NAME> [<IPFS_CID >]"
77 exit 1
88fi
99
1010IMAGE=$1
1111TITLE=$2
1212DESC=$3
1313TOKEN_NAME=$4
14- IPFC_CID =$5
14+ export IPFS_CID =$5
1515
1616echo IMAGE: $IMAGE
1717echo TITLE: $TITLE
1818echo DESC: $DESC
1919echo TOKEN_NAME: $TOKEN_NAME
20- echo IPFC_CID : $IPFC_CID
20+ echo IPFS_CID : $IPFS_CID
2121
2222TOKEN_NAME_BASE64=$( echo -n $TOKEN_NAME | od -A n -t x1 | tr -d " \n" )
2323echo TOKEN_NAME_BASE64: $TOKEN_NAME_BASE64
@@ -50,38 +50,36 @@ get_ipfs_hash() {
5050
5151efficient_nft_pab () {
5252 cd plutus-use-cases/mlabs
53- rm -fv ../../efficient_nft_pab_out
5453 if [ -z $CURRENCY ]; then
55- echo " > unbuffer nix develop -c cabal run efficient-nft-pab --disable-optimisation -- --pkh $PKH --auth-pkh $PKH --token \" $TOKEN_NAME \" | tee ../../efficient_nft_pab_out "
56- unbuffer nix develop -c cabal run efficient-nft-pab --disable-optimisation -- --pkh $PKH --auth-pkh $PKH --token " $TOKEN_NAME " > ../../efficient_nft_pab_out
54+ echo " > unbuffer nix develop -c cabal run efficient-nft-pab --disable-optimisation -- --pkh $PKH --auth-pkh $PKH --token \" $TOKEN_NAME \" | tee ../../$PAB_BUF "
55+ unbuffer nix develop -c cabal run efficient-nft-pab --disable-optimisation -- --pkh $PKH --auth-pkh $PKH --token " $TOKEN_NAME " > ../../$PAB_BUF
5756 else
58- echo " > unbuffer nix develop -c cabal run efficient-nft-pab --disable-optimisation -- --pkh $PKH --auth-pkh $PKH --token " $TOKEN_NAME " --currency $CURRENCY | tee ../../efficient_nft_pab_out "
59- unbuffer nix develop -c cabal run efficient-nft-pab --disable-optimisation -- --pkh $PKH --auth-pkh $PKH --token " $TOKEN_NAME " --currency $CURRENCY > ../../efficient_nft_pab_out
57+ echo " > unbuffer nix develop -c cabal run efficient-nft-pab --disable-optimisation -- --pkh $PKH --auth-pkh $PKH --token " $TOKEN_NAME " --currency $CURRENCY | tee ../../$PAB_BUF "
58+ unbuffer nix develop -c cabal run efficient-nft-pab --disable-optimisation -- --pkh $PKH --auth-pkh $PKH --token " $TOKEN_NAME " --currency $CURRENCY > ../../$PAB_BUF
6059 fi
6160}
6261
6362wait_up_efficient_nft_pab () {
6463 sleep 1
6564 echo ' >' wait_up_efficient_nft_pab...
66- while [ -z " $( rg ' Starting BotPlutusInterface server' efficient_nft_pab_out ) " ] && [ ! -z " $( jobs) " ]; do
65+ while [ -z " $( rg ' Starting BotPlutusInterface server' $PAB_BUF ) " ] && [ ! -z " $( jobs) " ]; do
6766 echo -n .
6867 sleep 1
6968 done
7069 sleep 3
71- if [ ! -z " $( rg ' Network.Socket.bind: resource busy' efficient_nft_pab_out ) " ]; then
70+ if [ ! -z " $( rg ' Network.Socket.bind: resource busy' $PAB_BUF ) " ]; then
7271 echo " For some reason efficient_nft_pab already run, kill it"
7372 exit 1
7473 fi
7574 echo ' >' wait_up_efficient_nft_pab...ok
7675}
7776
7877mint_cnft_request () {
79- local IPFC_CID=$1
8078 http POST localhost:3003/api/contract/activate \
8179 caID[tag]=MintCnft \
8280 caID[contents][0][" mc'name" ]=" $TITLE " \
8381 caID[contents][0][" mc'description" ]=" $DESC " \
84- caID[contents][0][" mc'image" ]=" ipfs://$IPFC_CID " \
82+ caID[contents][0][" mc'image" ]=" ipfs://$IPFS_CID " \
8583 caID[contents][0][" mc'tokenName" ]=" $TOKEN_NAME_BASE64 " -v
8684}
8785
@@ -103,7 +101,7 @@ mint_request() {
103101
104102wait_balance_tx_efficient_nft_pab () {
105103 echo ' >' wait_balance_tx_efficient_nft_pab...
106- while [ -z " $( rg BalanceTxResp efficient_nft_pab_out ) " ] && [ ! -z " $( jobs) " ]; do
104+ while [ -z " $( rg BalanceTxResp $PAB_BUF ) " ] && [ ! -z " $( jobs) " ]; do
107105 echo -n .
108106 sleep 1
109107 done
@@ -132,7 +130,7 @@ query_utxo() {
132130
133131query_utxo
134132
135- if [ -z $IPFC_CID ]; then
133+ if [ -z $IPFS_CID ]; then
136134 echo ' >' Image upload...
137135 BUF=$(
138136 http --form POST localhost:8008/admin/upload_image \
@@ -151,7 +149,7 @@ if [ -z $IPFC_CID ]; then
151149 echo ' >' IMAGE_HASH: $IMAGE_HASH
152150 IPFS_HASH=$( get_ipfs_hash $IMAGE_HASH )
153151 echo ' >' IPFS_HASH: $IPFS_HASH
154- IPFS_CID=$( ipfs cid format -b base36 $IPFS_HASH )
152+ export IPFS_CID=$( ipfs cid format -b base36 $IPFS_HASH )
155153 echo ' >' IPFS_CID: $IPFS_CID
156154fi
157155
161159
162160echo ' >>>' mint cnft
163161
162+ export PAB_BUF=efficient_nft_pab_out_1
163+
164164echo ' >' Run efficient-nft-pab...
165165efficient_nft_pab &
166166wait_up_efficient_nft_pab
167167echo ' >' Run efficient-nft-pab...ok
168168
169169echo ' >' Run mint_cnft_request...
170- mint_cnft_request $IPFC_CID
170+ mint_cnft_request
171171wait_balance_tx_efficient_nft_pab
172172echo ' >' Run mint_cnft_request...ok
173173
174174kill_bg_jobs
175175
176- BALANCE_TX_RESP=$( cat efficient_nft_pab_out | rg BalanceTxResp)
176+ BALANCE_TX_RESP=$( rg BalanceTxResp $PAB_BUF )
177177echo ' >' BALANCE_TX_RESP: $BALANCE_TX_RESP
178178
179179export CURRENCY=$( echo -n $BALANCE_TX_RESP | sed -E " s/^.*txMint = Value \(Map \[\(([^,]+).*/\1/" )
180180echo ' >' CURRENCY: $CURRENCY
181181
182+ MINTING_POLICY=$( rg ' ^minting-policy' efficient_nft_pab_out_1 | sed -e ' s/minting-policy: //' | jq -r .getMintingPolicy)
183+ # echo '>' MINTING_POLICY: $MINTING_POLICY
184+
185+ UNAPPLIED_MINTING_POLICY=$( rg ' ^unapplied-minting-policy' $PAB_BUF | sed -e ' s/unapplied-minting-policy: //' | jq -r)
186+ echo ' >' UNAPPLIED_MINTING_POLICY: $UNAPPLIED_MINTING_POLICY
187+
182188query_utxo
183189
184190echo ' >' sleep 30 for minting work
@@ -192,7 +198,7 @@ query_utxo
192198
193199echo ' >>>' mint nft
194200
195- cp -v efficient_nft_pab_out efficient_nft_pab_out0
201+ export PAB_BUF=efficient_nft_pab_out_2
196202
197203echo ' >' Run efficient-nft-pab...
198204efficient_nft_pab &
@@ -206,12 +212,9 @@ echo '>' Run mint_request...ok
206212
207213kill_bg_jobs
208214
209- BALANCE_TX_RESP=$( cat efficient_nft_pab_out | rg BalanceTxResp)
215+ BALANCE_TX_RESP=$( rg BalanceTxResp $PAB_BUF )
210216echo ' >' BALANCE_TX_RESP: $BALANCE_TX_RESP
211217
212- MINTING_POLICY=$( cat efficient_nft_pab_out | rg minting-policy | sed -e ' s/minting-policy: //' | jq -r .getMintingPolicy)
213- echo ' >' MINTING_POLICY: $MINTING_POLICY
214-
215218query_utxo
216219
217220echo ' >' sleep 30 for minting work
@@ -220,6 +223,6 @@ sleep 30
220223query_utxo
221224
222225echo ' >' patch seabug_contracts/Seabug/MintingPolicy.js
223- sed -i " s/\" .*\" /\" $MINTING_POLICY \" /" seabug-contracts/src/Seabug/MintingPolicy.js
226+ sed -i " s/\" .*\" /\" $UNAPPLIED_MINTING_POLICY \" /" seabug-contracts/src/Seabug/MintingPolicy.js
224227
225228echo mint-nft ended
0 commit comments