tx · HfELr5XExqspnrj3EgNG9ZuKW3EUH475gRd5z7x3wLgr

3Muxd5JEAQz655DDi2yiZxSQ63jVJJHrQyV:  -0.01400000 Waves

2022.02.04 00:02 [1907944] smart account 3Muxd5JEAQz655DDi2yiZxSQ63jVJJHrQyV > SELF 0.00000000 Waves

{ "type": 13, "id": "HfELr5XExqspnrj3EgNG9ZuKW3EUH475gRd5z7x3wLgr", "fee": 1400000, "feeAssetId": null, "timestamp": 1643922121548, "version": 2, "chainId": 84, "sender": "3Muxd5JEAQz655DDi2yiZxSQ63jVJJHrQyV", "senderPublicKey": "7ycxALbgfzht9z36iWCgRauBfWzQGSgkc3HMwu7wDwNX", "proofs": [ "4WqMFQ2bmjxDMaFrgBj3ctegvpweaSCiA6XA7YPiakWUYr6edBNeYV5bkFR4bzfBrKQyTTuP4ksQhpnjydRhSPmC" ], "script": "base64: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", "height": 1907944, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3t9wnpqUSTFHACaADAqJ1z8KsbnJbUMEScAXipZFGj8i Next: 9Zhe1yN13wKVbWvfCL7hC6kgw3SdutvLqLfyTjwvbbJp Diff:
OldNewDifferences
3232 func getItemPriceKey (item) = (item + "_price")
3333
3434
35-func getItemCountKey (item) = (item + "_count")
36-
37-
3835 func getItemDataKey (item) = (item + "_data")
3936
4037
5956
6057
6158 @Callable(i)
62-func createItem (title,price,count,data) = {
59+func createItem (title,price,data) = {
6360 let supplierAddress = toBase58String(i.caller.bytes)
6461 let item = getItemHash(supplierAddress, title)
65- if (if ((0 >= price))
66- then true
67- else (0 >= count))
68- then throw("Price/Count can not be negative value or zero")
62+ if ((0 >= price))
63+ then throw("Price can not be negative value or zero")
6964 else if ((getValueItemSupplier(item) != NONE))
7065 then throw("Item already exists")
71- else [StringEntry(getItemSupplierKey(item), supplierAddress), IntegerEntry(getItemPriceKey(item), price), IntegerEntry(getItemCountKey(item), count), StringEntry(getItemDataKey(item), data)]
66+ else [StringEntry(getItemSupplierKey(item), supplierAddress), IntegerEntry(getItemPriceKey(item), price), StringEntry(getItemDataKey(item), data)]
7267 }
7368
7469
7873 let supplierAddress = toBase58String(i.caller.bytes)
7974 let item = getItemHash(supplierAddress, title)
8075 if ((getValueItemSupplier(item) != NONE))
81- then [DeleteEntry(getItemSupplierKey(item)), DeleteEntry(getItemPriceKey(item)), DeleteEntry(getItemCountKey(item)), DeleteEntry(getItemDataKey(item))]
76+ then [DeleteEntry(getItemSupplierKey(item)), DeleteEntry(getItemPriceKey(item)), DeleteEntry(getItemDataKey(item))]
8277 else throw("No such item present")
8378 }
8479
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let NONE = "NONE"
55
66 let customer = "CUSTOMER"
77
88 let supplier = "SUPPLIER"
99
1010 let ericPubKey = base58'8haEN2a7ZmkzawLmnr5rFX14X1oHi5kjt8NQUDNjSDLG'
1111
1212 func getStringByKey (key) = match getString(key) {
1313 case a: String =>
1414 a
1515 case _ =>
1616 NONE
1717 }
1818
1919
2020 func getItemHash (supplier,title) = {
2121 let comboTitle = (supplier + title)
2222 ("item_" + toBase58String(sha256(toBytes(comboTitle))))
2323 }
2424
2525
2626 func getNameKey (type,addr) = (((type + "_") + addr) + "_name")
2727
2828
2929 func getItemSupplierKey (item) = (item + "_owner")
3030
3131
3232 func getItemPriceKey (item) = (item + "_price")
3333
3434
35-func getItemCountKey (item) = (item + "_count")
36-
37-
3835 func getItemDataKey (item) = (item + "_data")
3936
4037
4138 func getValueItemSupplier (item) = {
4239 let itemKey = getItemSupplierKey(item)
4340 getStringByKey(itemKey)
4441 }
4542
4643
4744 @Callable(i)
4845 func register (type) = {
4946 let addr = toBase58String(i.caller.bytes)
5047 if (if (isDefined(type))
5148 then if ((type == customer))
5249 then true
5350 else (type == supplier)
5451 else false)
5552 then [StringEntry(getNameKey(type, addr), addr)]
5653 else throw("Invalid func parameters")
5754 }
5855
5956
6057
6158 @Callable(i)
62-func createItem (title,price,count,data) = {
59+func createItem (title,price,data) = {
6360 let supplierAddress = toBase58String(i.caller.bytes)
6461 let item = getItemHash(supplierAddress, title)
65- if (if ((0 >= price))
66- then true
67- else (0 >= count))
68- then throw("Price/Count can not be negative value or zero")
62+ if ((0 >= price))
63+ then throw("Price can not be negative value or zero")
6964 else if ((getValueItemSupplier(item) != NONE))
7065 then throw("Item already exists")
71- else [StringEntry(getItemSupplierKey(item), supplierAddress), IntegerEntry(getItemPriceKey(item), price), IntegerEntry(getItemCountKey(item), count), StringEntry(getItemDataKey(item), data)]
66+ else [StringEntry(getItemSupplierKey(item), supplierAddress), IntegerEntry(getItemPriceKey(item), price), StringEntry(getItemDataKey(item), data)]
7267 }
7368
7469
7570
7671 @Callable(i)
7772 func deleteItem (title) = {
7873 let supplierAddress = toBase58String(i.caller.bytes)
7974 let item = getItemHash(supplierAddress, title)
8075 if ((getValueItemSupplier(item) != NONE))
81- then [DeleteEntry(getItemSupplierKey(item)), DeleteEntry(getItemPriceKey(item)), DeleteEntry(getItemCountKey(item)), DeleteEntry(getItemDataKey(item))]
76+ then [DeleteEntry(getItemSupplierKey(item)), DeleteEntry(getItemPriceKey(item)), DeleteEntry(getItemDataKey(item))]
8277 else throw("No such item present")
8378 }
8479
8580
8681
8782 @Callable(i)
8883 func deleteEntry (key) = if ((i.callerPublicKey == ericPubKey))
8984 then [DeleteEntry(key)]
9085 else throw("Only Eric can delete entries")
9186
9287
9388
9489 @Callable(i)
9590 func unregister (type) = if (if ((type == supplier))
9691 then true
9792 else (type == customer))
9893 then {
9994 let addr = toBase58String(i.caller.bytes)
10095 [DeleteEntry(getNameKey(type, addr))]
10196 }
10297 else throw("Illegal argument")
10398
10499
105100 @Verifier(tx)
106101 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
107102

github/deemru/w8io/c3f4982 
92.85 ms