tx · 2GPEYKwJvnr9nZBjfsZmnWakXDFFHfq7Y5rBFinzZfJs

3Muxd5JEAQz655DDi2yiZxSQ63jVJJHrQyV:  -0.01400000 Waves

2022.02.03 21:21 [1907775] smart account 3Muxd5JEAQz655DDi2yiZxSQ63jVJJHrQyV > SELF 0.00000000 Waves

{ "type": 13, "id": "2GPEYKwJvnr9nZBjfsZmnWakXDFFHfq7Y5rBFinzZfJs", "fee": 1400000, "feeAssetId": null, "timestamp": 1643912493580, "version": 2, "chainId": 84, "sender": "3Muxd5JEAQz655DDi2yiZxSQ63jVJJHrQyV", "senderPublicKey": "7ycxALbgfzht9z36iWCgRauBfWzQGSgkc3HMwu7wDwNX", "proofs": [ "3pvtjEi3Rh6ygLeZdZU4EDbtv3PxDtT2TM3YoDs1NkN1BxnTFT9qDyT1yzekKTiLhSw7pdoAduQvSC2AVoc42PMh" ], "script": "base64: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", "height": 1907775, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5n4L4P4mEvQbREkk8V4orvgL9nubYxLRWDsLTaNboMJg Next: 3t9wnpqUSTFHACaADAqJ1z8KsbnJbUMEScAXipZFGj8i Diff:
OldNewDifferences
5656
5757
5858 @Callable(i)
59-func createItem (title,price,data) = {
59+func createItem (title,price,count,data,owner) = {
6060 let supplierAddress = toBase58String(i.caller.bytes)
6161 let item = getItemHash(supplierAddress, title)
6262 if ((0 >= price))
63- then throw("Price can not be negative value")
63+ then throw("Price can not be negative value or zero")
6464 else if ((getValueItemSupplier(item) != NONE))
6565 then throw("Item already exists")
66- else [StringEntry(getItemSupplierKey(item), supplierAddress), IntegerEntry(getItemPriceKey(item), price), StringEntry(getItemDataKey(item), data)]
66+ else [StringEntry(getItemSupplierKey(item), supplierAddress), IntegerEntry(getItemPriceKey(item), price), IntegerEntry(getItemPriceKey(item), count), StringEntry(getItemDataKey(item), data)]
6767 }
6868
6969
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
3535 func getItemDataKey (item) = (item + "_data")
3636
3737
3838 func getValueItemSupplier (item) = {
3939 let itemKey = getItemSupplierKey(item)
4040 getStringByKey(itemKey)
4141 }
4242
4343
4444 @Callable(i)
4545 func register (type) = {
4646 let addr = toBase58String(i.caller.bytes)
4747 if (if (isDefined(type))
4848 then if ((type == customer))
4949 then true
5050 else (type == supplier)
5151 else false)
5252 then [StringEntry(getNameKey(type, addr), addr)]
5353 else throw("Invalid func parameters")
5454 }
5555
5656
5757
5858 @Callable(i)
59-func createItem (title,price,data) = {
59+func createItem (title,price,count,data,owner) = {
6060 let supplierAddress = toBase58String(i.caller.bytes)
6161 let item = getItemHash(supplierAddress, title)
6262 if ((0 >= price))
63- then throw("Price can not be negative value")
63+ then throw("Price can not be negative value or zero")
6464 else if ((getValueItemSupplier(item) != NONE))
6565 then throw("Item already exists")
66- else [StringEntry(getItemSupplierKey(item), supplierAddress), IntegerEntry(getItemPriceKey(item), price), StringEntry(getItemDataKey(item), data)]
66+ else [StringEntry(getItemSupplierKey(item), supplierAddress), IntegerEntry(getItemPriceKey(item), price), IntegerEntry(getItemPriceKey(item), count), StringEntry(getItemDataKey(item), data)]
6767 }
6868
6969
7070
7171 @Callable(i)
7272 func deleteItem (title) = {
7373 let supplierAddress = toBase58String(i.caller.bytes)
7474 let item = getItemHash(supplierAddress, title)
7575 if ((getValueItemSupplier(item) != NONE))
7676 then [DeleteEntry(getItemSupplierKey(item)), DeleteEntry(getItemPriceKey(item)), DeleteEntry(getItemDataKey(item))]
7777 else throw("No such item present")
7878 }
7979
8080
8181
8282 @Callable(i)
8383 func deleteEntry (key) = if ((i.callerPublicKey == ericPubKey))
8484 then [DeleteEntry(key)]
8585 else throw("Only Eric can delete entries")
8686
8787
8888
8989 @Callable(i)
9090 func unregister (type) = if (if ((type == supplier))
9191 then true
9292 else (type == customer))
9393 then {
9494 let addr = toBase58String(i.caller.bytes)
9595 [DeleteEntry(getNameKey(type, addr))]
9696 }
9797 else throw("Illegal argument")
9898
9999
100100 @Verifier(tx)
101101 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
102102

github/deemru/w8io/873ac7e 
26.07 ms