tx · HMCGqz6S9msHiYVboZp6usfXyahtwVGgXJppsyeDV1Qk

3N61Xs9cTetvoP1uZSrtuRxxJ4A4RCR7a4G:  -0.01000000 Waves

2020.10.02 14:43 [1202885] smart account 3N61Xs9cTetvoP1uZSrtuRxxJ4A4RCR7a4G > SELF 0.00000000 Waves

{ "type": 13, "id": "HMCGqz6S9msHiYVboZp6usfXyahtwVGgXJppsyeDV1Qk", "fee": 1000000, "feeAssetId": null, "timestamp": 1601639002039, "version": 2, "chainId": 84, "sender": "3N61Xs9cTetvoP1uZSrtuRxxJ4A4RCR7a4G", "senderPublicKey": "DjYkFAzpGaY6gNruMz81SkVbRsemgpfr6KJbXXgyH3UM", "proofs": [ "4wnSSegpyiYZjychLfESG9S12nv88QXpru8mx7aCTXRTg9AUnBdZSkARF2N3LRcgWf7VULtgVj6es7GrcF96Bunc" ], "script": "base64:AAIDAAAAAAAAAAcIARIDCgEIAAAACwAAAAAETk9ORQIAAAAETk9ORQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABAAAAA2tleQQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQUAAAAETk9ORQEAAAALZ2V0S2V5T3JkZXIAAAACAAAAC3Nob3BBZGRyZXNzAAAAB29yZGVySWQEAAAAFXNob3BBZGRyZXNzQW5kT3JkZXJJZAkAASwAAAACBQAAAAtzaG9wQWRkcmVzcwUAAAAHb3JkZXJJZAkAASwAAAACAgAAAAZvcmRlcl8JAAJYAAAAAQkAAfcAAAABCQABmwAAAAEFAAAAFXNob3BBZGRyZXNzQW5kT3JkZXJJZAEAAAAWZ2V0S2V5T3JkZXJTaG9wQWRkcmVzcwAAAAEAAAAFb3JkZXIJAAEsAAAAAgUAAAAFb3JkZXICAAAABV9zaG9wAQAAABhnZXRLZXlPcmRlclNoaXBwaW5nQ29zdHMAAAABAAAABW9yZGVyCQABLAAAAAIFAAAABW9yZGVyAgAAAAlfc2hpcHBpbmcBAAAAEmdldEtleU9yZGVyT3JkZXJJZAAAAAEAAAAFb3JkZXIJAAEsAAAAAgUAAAAFb3JkZXICAAAACF9vcmRlcklkAQAAABJnZXRLZXlPcmRlckNvdXJpZXIAAAABAAAABW9yZGVyCQABLAAAAAIFAAAABW9yZGVyAgAAAApfY291cmllcklkAQAAABVnZXRLZXlPcmRlcklzQWNjZXB0ZWQAAAABAAAABW9yZGVyCQABLAAAAAIFAAAABW9yZGVyAgAAAAtfaXNBY2NlcHRlZAEAAAAXZ2V0S2V5T3JkZXJJc0luRGVsaXZlcnkAAAABAAAABW9yZGVyCQABLAAAAAIFAAAABW9yZGVyAgAAAA1faXNJbkRlbGl2ZXJ5AQAAABZnZXRLZXlPcmRlcklzRGVsaXZlcmVkAAAAAQAAAAVvcmRlcgkAASwAAAACBQAAAAVvcmRlcgIAAAAMX2lzRGVsaXZlcmVkAQAAAA9nZXRWYWx1ZU9mT3JkZXIAAAABAAAABW9yZGVyCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAWZ2V0S2V5T3JkZXJTaG9wQWRkcmVzcwAAAAEFAAAABW9yZGVyAAAAAQAAAAFpAQAAAAhhZGRPcmRlcgAAAAEAAAAHb3JkZXJJZAQAAAALc2hvcEFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAADcG10CQEAAAAHZXh0cmFjdAAAAAEIBQAAAAFpAAAAB3BheW1lbnQEAAAADXNoaXBwaW5nQ29zdHMIBQAAAANwbXQAAAAGYW1vdW50AwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAkAAAIAAAABAgAAADVDdXJyZW50bHkgeW91IGNhbiBwbGFjZSBvcmRlcnMgb25seSB3aXRoIFdhdmVzIHRva2VucwQAAAAFb3JkZXIJAQAAAAtnZXRLZXlPcmRlcgAAAAIFAAAAC3Nob3BBZGRyZXNzBQAAAAdvcmRlcklkAwkAAGcAAAACAAAAAAAAAAAABQAAAA1zaGlwcGluZ0Nvc3RzCQAAAgAAAAECAAAAO1lvdSBjYW5ub3QgY3JlYXRlIGFuIG9yZGVyIHdpdGggc2hpcHBpbmcgY29zdHMgbG93ZXIgdGhhbiAwAwkBAAAAAiE9AAAAAgkBAAAAD2dldFZhbHVlT2ZPcmRlcgAAAAEFAAAABW9yZGVyBQAAAAROT05FCQAAAgAAAAECAAAAKEFuIG9yZGVyIHdpdGggdGhlIHNhbWUgaWQgYWxyZWFkeSBleGlzdHMJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABZnZXRLZXlPcmRlclNob3BBZGRyZXNzAAAAAQUAAAAFb3JkZXIFAAAAC3Nob3BBZGRyZXNzCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAYZ2V0S2V5T3JkZXJTaGlwcGluZ0Nvc3RzAAAAAQUAAAAFb3JkZXIFAAAADXNoaXBwaW5nQ29zdHMJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABJnZXRLZXlPcmRlck9yZGVySWQAAAABBQAAAAVvcmRlcgUAAAAHb3JkZXJJZAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEmdldEtleU9yZGVyQ291cmllcgAAAAEFAAAABW9yZGVyBQAAAAROT05FCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAVZ2V0S2V5T3JkZXJJc0FjY2VwdGVkAAAAAQUAAAAFb3JkZXIHCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAXZ2V0S2V5T3JkZXJJc0luRGVsaXZlcnkAAAABBQAAAAVvcmRlcgcJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABZnZXRLZXlPcmRlcklzRGVsaXZlcmVkAAAAAQUAAAAFb3JkZXIHBQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAACQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tlefk1nBM=", "height": 1202885, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: Agyc8u9FSrVg8DJXgPZJsxsdiU7da4FMhE89uKPYUayu Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 3 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let NONE = "NONE"
5+
6+func getStringByKey (key) = match getString(this, key) {
7+ case a: String =>
8+ a
9+ case _ =>
10+ NONE
11+}
12+
13+
14+func getKeyOrder (shopAddress,orderId) = {
15+ let shopAddressAndOrderId = (shopAddress + orderId)
16+ ("order_" + toBase58String(sha256(toBytes(shopAddressAndOrderId))))
17+ }
18+
19+
20+func getKeyOrderShopAddress (order) = (order + "_shop")
21+
22+
23+func getKeyOrderShippingCosts (order) = (order + "_shipping")
24+
25+
26+func getKeyOrderOrderId (order) = (order + "_orderId")
27+
28+
29+func getKeyOrderCourier (order) = (order + "_courierId")
30+
31+
32+func getKeyOrderIsAccepted (order) = (order + "_isAccepted")
33+
34+
35+func getKeyOrderIsInDelivery (order) = (order + "_isInDelivery")
36+
37+
38+func getKeyOrderIsDelivered (order) = (order + "_isDelivered")
39+
40+
41+func getValueOfOrder (order) = getStringByKey(getKeyOrderShopAddress(order))
42+
43+
44+@Callable(i)
45+func addOrder (orderId) = {
46+ let shopAddress = toBase58String(i.caller.bytes)
47+ let pmt = extract(i.payment)
48+ let shippingCosts = pmt.amount
49+ if (isDefined(pmt.assetId))
50+ then throw("Currently you can place orders only with Waves tokens")
51+ else {
52+ let order = getKeyOrder(shopAddress, orderId)
53+ if ((0 >= shippingCosts))
54+ then throw("You cannot create an order with shipping costs lower than 0")
55+ else if ((getValueOfOrder(order) != NONE))
56+ then throw("An order with the same id already exists")
57+ else WriteSet([DataEntry(getKeyOrderShopAddress(order), shopAddress), DataEntry(getKeyOrderShippingCosts(order), shippingCosts), DataEntry(getKeyOrderOrderId(order), orderId), DataEntry(getKeyOrderCourier(order), NONE), DataEntry(getKeyOrderIsAccepted(order), false), DataEntry(getKeyOrderIsInDelivery(order), false), DataEntry(getKeyOrderIsDelivered(order), false)])
58+ }
59+ }
60+
61+
62+@Verifier(tx)
63+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
64+

github/deemru/w8io/873ac7e 
24.27 ms