tx · 5q6BMy1odFeSc5zJFPsULZbbCAMx3CNM49ajuzpKvPsd

3N1bfGrC9iBWbv1Rhb64cccc3cQswW8VyCV:  -0.01400000 Waves

2020.07.24 11:07 [1101328] smart account 3N1bfGrC9iBWbv1Rhb64cccc3cQswW8VyCV > SELF 0.00000000 Waves

{ "type": 13, "id": "5q6BMy1odFeSc5zJFPsULZbbCAMx3CNM49ajuzpKvPsd", "fee": 1400000, "feeAssetId": null, "timestamp": 1595578045097, "version": 1, "sender": "3N1bfGrC9iBWbv1Rhb64cccc3cQswW8VyCV", "senderPublicKey": "BF56eooJyMKnwSL3B65fqLBFPfubUbW6wdky9pCGQajE", "proofs": [ "XGEFxKqaFzvK33ytQVforT1Z5dhJWiWm1xaXKBsgq15EJo39dNsdqJiDbvqVkK2YcWTounXChsFh1WXJM4UGrMz" ], "script": "base64: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", "chainId": 84, "height": 1101328, "spentComplexity": 0 } View: original | compacted Prev: GTp4uiDVGawYf2g5esYKbQUDC1RmcLQr9eA8FVezLZ4n Next: CCLexNdGHo1xy7xhMo4DsqdRgBN2heFuzqKgBrZ2GBiZ Diff:
OldNewDifferences
164164 then throw("This token is not accepted at the moment")
165165 else if ((amount != currentPrice))
166166 then throw("The price is wrong")
167- else ScriptResult(WriteSet([DataEntry(hash, id), DataEntry(((("art_date_" + id) + "_") + callerAddress), entryDate), DataEntry(((("art_json_" + id) + "_") + callerAddress), json), DataEntry(((("art_nfts_" + id) + "_") + callerAddress), nfts), DataEntry(((("art_sign_" + id) + "_") + callerAddress), signID)]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, payment.assetId)]))
167+ else ScriptResult(WriteSet([DataEntry(((("art_hash_" + hash) + "_") + callerAddress), id), DataEntry(((("art_date_" + id) + "_") + callerAddress), entryDate), DataEntry(((("art_json_" + id) + "_") + callerAddress), json), DataEntry(((("art_nfts_" + id) + "_") + callerAddress), nfts), DataEntry(((("art_sign_" + id) + "_") + callerAddress), signID)]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, payment.assetId)]))
168168 }
169+ }
170+
171+
172+
173+@Callable(invoke)
174+func updateArtworkInfos (hash,json) = {
175+ let id = toBase58String(invoke.transactionId)
176+ let entryExist = getStringByKey(hash)
177+ let callerAddress = toBase58String(invoke.caller.bytes)
178+ let isOwner = isDefined(getString(this, ((("art_hash_" + hash) + "_") + callerAddress)))
179+ let userIsRegistered = match getString(this, ("user_status_" + callerAddress)) {
180+ case s: String =>
181+ s
182+ case _ =>
183+ userUnregistered
184+ }
185+ if (!(isOwner))
186+ then throw("You are not the creator of this artwork")
187+ else if ((userIsRegistered == userSuspended))
188+ then throw("Your account is suspended")
189+ else if ((entryExist != "NONE"))
190+ then throw("This artwork is already registered")
191+ else if ((size(hash) > 64))
192+ then throw("Hash is too long, 64 characters max.")
193+ else WriteSet([DataEntry(((("art_json_" + id) + "_") + callerAddress), json)])
169194 }
170195
171196
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let storageVerifier = value(addressFromString("3N2s5RtaHPBenCsx2ECcoFRbYHx3noZhXW1"))
55
66 let signVerifier = value(addressFromString("3NC28hSivrmsTUXaYD1x6L362J4ZpUnoTdB"))
77
88 let bank = "3N1E6tXddRoVaRfQ9dQ3vg5LaW2fsd8HKub"
99
1010 let acceptedToken = base58'Gf9t8FA4H3ssoZPCwrg3KwUFCci8zuUFP9ssRsUY3s6a'
1111
1212 let usdnID = "3KFXBGGLCjA5Z2DuW4Dq9fDDrHjJJP1ZEkaoajSzuKsC"
1313
1414 func getStringByKey (key) = match getString(this, key) {
1515 case a: String =>
1616 a
1717 case _ =>
1818 ""
1919 }
2020
2121
2222 func getStringByAddressKey (addr,key) = match getString(addr, key) {
2323 case a: String =>
2424 a
2525 case _ =>
2626 ""
2727 }
2828
2929
3030 func validateNFTs (accumulator,id) = {
3131 let assetDetails = value(assetInfo(fromBase58String(id)))
3232 if (if (if ((assetDetails.quantity != 1))
3333 then true
3434 else (assetDetails.decimals != 0))
3535 then true
3636 else (assetDetails.reissuable != false))
3737 then (accumulator + 0)
3838 else (accumulator + 1)
3939 }
4040
4141
4242 let userCreated = "CREATED"
4343
4444 let userSuspended = "SUSPENDED"
4545
4646 let userUnregistered = "UNREGISTERED"
4747
4848 @Callable(i)
4949 func registerUpdateUser (name,description,thumb,social) = {
5050 let callerAddr = toString(addressFromPublicKey(i.callerPublicKey))
5151 let id = toBase58String(i.transactionId)
5252 let newUser = getStringByKey(("user_" + callerAddr))
5353 if (if ((name == ""))
5454 then true
5555 else (description == ""))
5656 then throw("Name and description cannot be empty")
5757 else if ((newUser == ""))
5858 then WriteSet([DataEntry(("user_" + callerAddr), ((id + "_") + toString(lastBlock.timestamp))), DataEntry(("user_name_" + callerAddr), name), DataEntry(("user_desc_" + callerAddr), description), DataEntry(("user_social_" + callerAddr), social), DataEntry(("user_thumb_" + callerAddr), thumb), DataEntry(("user_status_" + callerAddr), userCreated)])
5959 else WriteSet([DataEntry(("user_name_" + callerAddr), name), DataEntry(("user_desc_" + callerAddr), description), DataEntry(("user_social_" + callerAddr), social), DataEntry(("user_thumb_" + callerAddr), thumb)])
6060 }
6161
6262
6363
6464 @Callable(invoke)
6565 func test (hash) = throw("Error")
6666
6767
6868
6969 @Callable(invoke)
7070 func addArtwork (hash,json,nfts,signID) = {
7171 let id = toBase58String(invoke.transactionId)
7272 let entryExist = getStringByKey(hash)
7373 let callerAddress = toBase58String(invoke.caller.bytes)
7474 let entryDate = lastBlock.timestamp
7575 let nftArray = split(nfts, "|")
7676 let numberOfNFTs = size(nftArray)
7777 let checkIDs = {
7878 let $list28042839 = nftArray
7979 let $size28042839 = size($list28042839)
8080 let $acc028042839 = 0
8181 if (($size28042839 == 0))
8282 then $acc028042839
8383 else {
8484 let $acc128042839 = validateNFTs($acc028042839, $list28042839[0])
8585 if (($size28042839 == 1))
8686 then $acc128042839
8787 else {
8888 let $acc228042839 = validateNFTs($acc128042839, $list28042839[1])
8989 if (($size28042839 == 2))
9090 then $acc228042839
9191 else {
9292 let $acc328042839 = validateNFTs($acc228042839, $list28042839[2])
9393 if (($size28042839 == 3))
9494 then $acc328042839
9595 else {
9696 let $acc428042839 = validateNFTs($acc328042839, $list28042839[3])
9797 if (($size28042839 == 4))
9898 then $acc428042839
9999 else {
100100 let $acc528042839 = validateNFTs($acc428042839, $list28042839[4])
101101 if (($size28042839 == 5))
102102 then $acc528042839
103103 else {
104104 let $acc628042839 = validateNFTs($acc528042839, $list28042839[5])
105105 if (($size28042839 == 6))
106106 then $acc628042839
107107 else {
108108 let $acc728042839 = validateNFTs($acc628042839, $list28042839[6])
109109 if (($size28042839 == 7))
110110 then $acc728042839
111111 else {
112112 let $acc828042839 = validateNFTs($acc728042839, $list28042839[7])
113113 if (($size28042839 == 8))
114114 then $acc828042839
115115 else {
116116 let $acc928042839 = validateNFTs($acc828042839, $list28042839[8])
117117 if (($size28042839 == 9))
118118 then $acc928042839
119119 else {
120120 let $acc1028042839 = validateNFTs($acc928042839, $list28042839[9])
121121 if (($size28042839 == 10))
122122 then $acc1028042839
123123 else {
124124 let $acc1128042839 = validateNFTs($acc1028042839, $list28042839[10])
125125 throw("List size exceed 10")
126126 }
127127 }
128128 }
129129 }
130130 }
131131 }
132132 }
133133 }
134134 }
135135 }
136136 }
137137 }
138138 let userIsRegistered = match getString(this, ("user_status_" + callerAddress)) {
139139 case s: String =>
140140 s
141141 case _ =>
142142 userUnregistered
143143 }
144144 if ((userIsRegistered == userUnregistered))
145145 then throw("Please register this account first")
146146 else if ((userIsRegistered == userSuspended))
147147 then throw("Your account is suspended")
148148 else if ((numberOfNFTs > 10))
149149 then throw("Maximum 10 editions per artwork")
150150 else if ((checkIDs != numberOfNFTs))
151151 then throw("Please verify that all NFT ids are valid.")
152152 else if ((entryExist != "NONE"))
153153 then throw("This artwork is already registered")
154154 else if ((size(hash) > 64))
155155 then throw("Hash is too long, 64 characters max.")
156156 else {
157157 let payment = value(invoke.payment)
158158 let amount = payment.amount
159159 let paymentAssetId = if (isDefined(payment.assetId))
160160 then payment.assetId
161161 else throw("Waves is not accepted as payment")
162162 let currentPrice = 17099863201094
163163 if ((acceptedToken != paymentAssetId))
164164 then throw("This token is not accepted at the moment")
165165 else if ((amount != currentPrice))
166166 then throw("The price is wrong")
167- else ScriptResult(WriteSet([DataEntry(hash, id), DataEntry(((("art_date_" + id) + "_") + callerAddress), entryDate), DataEntry(((("art_json_" + id) + "_") + callerAddress), json), DataEntry(((("art_nfts_" + id) + "_") + callerAddress), nfts), DataEntry(((("art_sign_" + id) + "_") + callerAddress), signID)]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, payment.assetId)]))
167+ else ScriptResult(WriteSet([DataEntry(((("art_hash_" + hash) + "_") + callerAddress), id), DataEntry(((("art_date_" + id) + "_") + callerAddress), entryDate), DataEntry(((("art_json_" + id) + "_") + callerAddress), json), DataEntry(((("art_nfts_" + id) + "_") + callerAddress), nfts), DataEntry(((("art_sign_" + id) + "_") + callerAddress), signID)]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, payment.assetId)]))
168168 }
169+ }
170+
171+
172+
173+@Callable(invoke)
174+func updateArtworkInfos (hash,json) = {
175+ let id = toBase58String(invoke.transactionId)
176+ let entryExist = getStringByKey(hash)
177+ let callerAddress = toBase58String(invoke.caller.bytes)
178+ let isOwner = isDefined(getString(this, ((("art_hash_" + hash) + "_") + callerAddress)))
179+ let userIsRegistered = match getString(this, ("user_status_" + callerAddress)) {
180+ case s: String =>
181+ s
182+ case _ =>
183+ userUnregistered
184+ }
185+ if (!(isOwner))
186+ then throw("You are not the creator of this artwork")
187+ else if ((userIsRegistered == userSuspended))
188+ then throw("Your account is suspended")
189+ else if ((entryExist != "NONE"))
190+ then throw("This artwork is already registered")
191+ else if ((size(hash) > 64))
192+ then throw("Hash is too long, 64 characters max.")
193+ else WriteSet([DataEntry(((("art_json_" + id) + "_") + callerAddress), json)])
169194 }
170195
171196

github/deemru/w8io/3ef1775 
50.06 ms