tx · FKPzCgaWW9AqADAvfiqvjopbXH4exSxjaGjYbMhzCApW

3N61Xs9cTetvoP1uZSrtuRxxJ4A4RCR7a4G:  -0.01400000 Waves

2020.10.02 16:11 [1202974] smart account 3N61Xs9cTetvoP1uZSrtuRxxJ4A4RCR7a4G > SELF 0.00000000 Waves

{ "type": 13, "id": "FKPzCgaWW9AqADAvfiqvjopbXH4exSxjaGjYbMhzCApW", "fee": 1400000, "feeAssetId": null, "timestamp": 1601644306161, "version": 2, "chainId": 84, "sender": "3N61Xs9cTetvoP1uZSrtuRxxJ4A4RCR7a4G", "senderPublicKey": "DjYkFAzpGaY6gNruMz81SkVbRsemgpfr6KJbXXgyH3UM", "proofs": [ "EuFHEpVUiivPDeirXWomW7LGpKzmtjHP2G7onQoibDgbvuJjZyCeapUMyy6VLTHYfXjPHd7yQhVVDtuJ8GXzUL2" ], "script": "base64:AAIDAAAAAAAAABkIARIDCgEIEgQKAggIEgQKAggIEgQKAggIAAAADwAAAAAETk9ORQIAAAAETk9ORQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABAAAAA2tleQQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQUAAAAETk9ORQEAAAAPZ2V0Qm9vbGVhbkJ5S2V5AAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQbAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAdCb29sZWFuBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhBQAAAAROT05FAQAAAAtnZXRLZXlPcmRlcgAAAAIAAAALc2hvcEFkZHJlc3MAAAAHb3JkZXJJZAQAAAAVc2hvcEFkZHJlc3NBbmRPcmRlcklkCQABLAAAAAIFAAAAC3Nob3BBZGRyZXNzBQAAAAdvcmRlcklkCQABLAAAAAICAAAABm9yZGVyXwkAAlgAAAABCQAB9wAAAAEJAAGbAAAAAQUAAAAVc2hvcEFkZHJlc3NBbmRPcmRlcklkAQAAABZnZXRLZXlPcmRlclNob3BBZGRyZXNzAAAAAQAAAAVvcmRlcgkAASwAAAACBQAAAAVvcmRlcgIAAAAFX3Nob3ABAAAAGGdldEtleU9yZGVyU2hpcHBpbmdDb3N0cwAAAAEAAAAFb3JkZXIJAAEsAAAAAgUAAAAFb3JkZXICAAAACV9zaGlwcGluZwEAAAASZ2V0S2V5T3JkZXJPcmRlcklkAAAAAQAAAAVvcmRlcgkAASwAAAACBQAAAAVvcmRlcgIAAAAIX29yZGVySWQBAAAAEmdldEtleU9yZGVyQ291cmllcgAAAAEAAAAFb3JkZXIJAAEsAAAAAgUAAAAFb3JkZXICAAAACl9jb3VyaWVySWQBAAAAFWdldEtleU9yZGVySXNBY2NlcHRlZAAAAAEAAAAFb3JkZXIJAAEsAAAAAgUAAAAFb3JkZXICAAAAC19pc0FjY2VwdGVkAQAAABdnZXRLZXlPcmRlcklzSW5EZWxpdmVyeQAAAAEAAAAFb3JkZXIJAAEsAAAAAgUAAAAFb3JkZXICAAAADV9pc0luRGVsaXZlcnkBAAAAFmdldEtleU9yZGVySXNEZWxpdmVyZWQAAAABAAAABW9yZGVyCQABLAAAAAIFAAAABW9yZGVyAgAAAAxfaXNEZWxpdmVyZWQBAAAAGmdldFZhbHVlU2hvcEFkZHJlc3NPZk9yZGVyAAAAAQAAAAVvcmRlcgkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAFmdldEtleU9yZGVyU2hvcEFkZHJlc3MAAAABBQAAAAVvcmRlcgEAAAAYZ2V0VmFsdWVJc0FjY2VwdGVPZk9yZGVyAAAAAQAAAAVvcmRlcgkBAAAAD2dldEJvb2xlYW5CeUtleQAAAAEJAQAAABVnZXRLZXlPcmRlcklzQWNjZXB0ZWQAAAABBQAAAAVvcmRlcgEAAAAUZ2V0VmFsdWVJc0luRGVsaXZlcnkAAAABAAAABW9yZGVyCQEAAAAPZ2V0Qm9vbGVhbkJ5S2V5AAAAAQkBAAAAF2dldEtleU9yZGVySXNJbkRlbGl2ZXJ5AAAAAQUAAAAFb3JkZXIBAAAAE2dldFZhbHVlSXNEZWxpdmVyZWQAAAABAAAABW9yZGVyCQEAAAAPZ2V0Qm9vbGVhbkJ5S2V5AAAAAQkBAAAAFmdldEtleU9yZGVySXNEZWxpdmVyZWQAAAABBQAAAAVvcmRlcgAAAAQAAAABaQEAAAAIYWRkT3JkZXIAAAABAAAAB29yZGVySWQEAAAAC3Nob3BBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAA3BtdAkBAAAAB2V4dHJhY3QAAAABCAUAAAABaQAAAAdwYXltZW50BAAAAA1zaGlwcGluZ0Nvc3RzCAUAAAADcG10AAAABmFtb3VudAMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQJAAACAAAAAQIAAAA1Q3VycmVudGx5IHlvdSBjYW4gcGxhY2Ugb3JkZXJzIG9ubHkgd2l0aCBXYXZlcyB0b2tlbnMEAAAABW9yZGVyCQEAAAALZ2V0S2V5T3JkZXIAAAACBQAAAAtzaG9wQWRkcmVzcwUAAAAHb3JkZXJJZAMJAABnAAAAAgAAAAAAAAAAAAUAAAANc2hpcHBpbmdDb3N0cwkAAAIAAAABAgAAADtZb3UgY2Fubm90IGNyZWF0ZSBhbiBvcmRlciB3aXRoIHNoaXBwaW5nIGNvc3RzIGxvd2VyIHRoYW4gMAMJAQAAAAIhPQAAAAIJAQAAABpnZXRWYWx1ZVNob3BBZGRyZXNzT2ZPcmRlcgAAAAEFAAAABW9yZGVyBQAAAAROT05FCQAAAgAAAAECAAAAKEFuIG9yZGVyIHdpdGggdGhlIHNhbWUgaWQgYWxyZWFkeSBleGlzdHMJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABZnZXRLZXlPcmRlclNob3BBZGRyZXNzAAAAAQUAAAAFb3JkZXIFAAAAC3Nob3BBZGRyZXNzCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAYZ2V0S2V5T3JkZXJTaGlwcGluZ0Nvc3RzAAAAAQUAAAAFb3JkZXIFAAAADXNoaXBwaW5nQ29zdHMJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABJnZXRLZXlPcmRlck9yZGVySWQAAAABBQAAAAVvcmRlcgUAAAAHb3JkZXJJZAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEmdldEtleU9yZGVyQ291cmllcgAAAAEFAAAABW9yZGVyBQAAAAROT05FCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAVZ2V0S2V5T3JkZXJJc0FjY2VwdGVkAAAAAQUAAAAFb3JkZXIHCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAXZ2V0S2V5T3JkZXJJc0luRGVsaXZlcnkAAAABBQAAAAVvcmRlcgcJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABZnZXRLZXlPcmRlcklzRGVsaXZlcmVkAAAAAQUAAAAFb3JkZXIHBQAAAANuaWwAAAABaQEAAAASc2V0T3JkZXJJc0FjY2VwdGVkAAAAAgAAAAtzaG9wQWRkcmVzcwAAAAdvcmRlcklkBAAAAAVvcmRlcgkBAAAAC2dldEtleU9yZGVyAAAAAgUAAAALc2hvcEFkZHJlc3MFAAAAB29yZGVySWQDCQEAAAACIT0AAAACCQEAAAAaZ2V0VmFsdWVTaG9wQWRkcmVzc09mT3JkZXIAAAABBQAAAAVvcmRlcgUAAAALc2hvcEFkZHJlc3MJAAACAAAAAQIAAAAiVGhlIHJlcXVlc3RlZCBvcmRlciBkb2VzIG5vdCBleGlzdAMJAQAAAAIhPQAAAAIJAQAAABhnZXRWYWx1ZUlzQWNjZXB0ZU9mT3JkZXIAAAABBQAAAAVvcmRlcgcJAAACAAAAAQIAAAAqVGhlIHJlcXVlc3RlZCBvcmRlciBpcyBubyBsb25nZXIgYXZhaWxhYmxlCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAVZ2V0S2V5T3JkZXJJc0FjY2VwdGVkAAAAAQUAAAAFb3JkZXIGBQAAAANuaWwAAAABaQEAAAAUc2V0T3JkZXJJc0luRGVsaXZlcnkAAAACAAAAC3Nob3BBZGRyZXNzAAAAB29yZGVySWQEAAAABW9yZGVyCQEAAAALZ2V0S2V5T3JkZXIAAAACBQAAAAtzaG9wQWRkcmVzcwUAAAAHb3JkZXJJZAMJAQAAAAIhPQAAAAIJAQAAABpnZXRWYWx1ZVNob3BBZGRyZXNzT2ZPcmRlcgAAAAEFAAAABW9yZGVyBQAAAAtzaG9wQWRkcmVzcwkAAAIAAAABAgAAACJUaGUgcmVxdWVzdGVkIG9yZGVyIGRvZXMgbm90IGV4aXN0AwkBAAAAAiE9AAAAAgkBAAAAFGdldFZhbHVlSXNJbkRlbGl2ZXJ5AAAAAQUAAAAFb3JkZXIHCQAAAgAAAAECAAAAKlRoZSByZXF1ZXN0ZWQgb3JkZXIgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZQkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAF2dldEtleU9yZGVySXNJbkRlbGl2ZXJ5AAAAAQUAAAAFb3JkZXIGBQAAAANuaWwAAAABaQEAAAATc2V0T3JkZXJJc0RlbGl2ZXJlZAAAAAIAAAALc2hvcEFkZHJlc3MAAAAHb3JkZXJJZAQAAAAFb3JkZXIJAQAAAAtnZXRLZXlPcmRlcgAAAAIFAAAAC3Nob3BBZGRyZXNzBQAAAAdvcmRlcklkAwkBAAAAAiE9AAAAAgkBAAAAGmdldFZhbHVlU2hvcEFkZHJlc3NPZk9yZGVyAAAAAQUAAAAFb3JkZXIFAAAAC3Nob3BBZGRyZXNzCQAAAgAAAAECAAAAIlRoZSByZXF1ZXN0ZWQgb3JkZXIgZG9lcyBub3QgZXhpc3QDCQEAAAACIT0AAAACCQEAAAATZ2V0VmFsdWVJc0RlbGl2ZXJlZAAAAAEFAAAABW9yZGVyBwkAAAIAAAABAgAAACpUaGUgcmVxdWVzdGVkIG9yZGVyIGlzIG5vIGxvbmdlciBhdmFpbGFibGUJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABZnZXRLZXlPcmRlcklzRGVsaXZlcmVkAAAAAQUAAAAFb3JkZXIGBQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAACQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleSUM+2U=", "height": 1202974, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Agyc8u9FSrVg8DJXgPZJsxsdiU7da4FMhE89uKPYUayu Next: Exo8PB22f9AnwJSjjA2gswx37ocx14AcXPjea4kDT3rL Diff:
OldNewDifferences
5252 func getValueIsAccepteOfOrder (order) = getBooleanByKey(getKeyOrderIsAccepted(order))
5353
5454
55+func getValueIsInDelivery (order) = getBooleanByKey(getKeyOrderIsInDelivery(order))
56+
57+
58+func getValueIsDelivered (order) = getBooleanByKey(getKeyOrderIsDelivered(order))
59+
60+
5561 @Callable(i)
5662 func addOrder (orderId) = {
5763 let shopAddress = toBase58String(i.caller.bytes)
8288 }
8389
8490
91+
92+@Callable(i)
93+func setOrderIsInDelivery (shopAddress,orderId) = {
94+ let order = getKeyOrder(shopAddress, orderId)
95+ if ((getValueShopAddressOfOrder(order) != shopAddress))
96+ then throw("The requested order does not exist")
97+ else if ((getValueIsInDelivery(order) != false))
98+ then throw("The requested order is no longer available")
99+ else WriteSet([DataEntry(getKeyOrderIsInDelivery(order), true)])
100+ }
101+
102+
103+
104+@Callable(i)
105+func setOrderIsDelivered (shopAddress,orderId) = {
106+ let order = getKeyOrder(shopAddress, orderId)
107+ if ((getValueShopAddressOfOrder(order) != shopAddress))
108+ then throw("The requested order does not exist")
109+ else if ((getValueIsDelivered(order) != false))
110+ then throw("The requested order is no longer available")
111+ else WriteSet([DataEntry(getKeyOrderIsDelivered(order), true)])
112+ }
113+
114+
85115 @Verifier(tx)
86116 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
87117
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let NONE = "NONE"
55
66 func getStringByKey (key) = match getString(this, key) {
77 case a: String =>
88 a
99 case _ =>
1010 NONE
1111 }
1212
1313
1414 func getBooleanByKey (key) = match getBoolean(this, key) {
1515 case a: Boolean =>
1616 a
1717 case _ =>
1818 NONE
1919 }
2020
2121
2222 func getKeyOrder (shopAddress,orderId) = {
2323 let shopAddressAndOrderId = (shopAddress + orderId)
2424 ("order_" + toBase58String(sha256(toBytes(shopAddressAndOrderId))))
2525 }
2626
2727
2828 func getKeyOrderShopAddress (order) = (order + "_shop")
2929
3030
3131 func getKeyOrderShippingCosts (order) = (order + "_shipping")
3232
3333
3434 func getKeyOrderOrderId (order) = (order + "_orderId")
3535
3636
3737 func getKeyOrderCourier (order) = (order + "_courierId")
3838
3939
4040 func getKeyOrderIsAccepted (order) = (order + "_isAccepted")
4141
4242
4343 func getKeyOrderIsInDelivery (order) = (order + "_isInDelivery")
4444
4545
4646 func getKeyOrderIsDelivered (order) = (order + "_isDelivered")
4747
4848
4949 func getValueShopAddressOfOrder (order) = getStringByKey(getKeyOrderShopAddress(order))
5050
5151
5252 func getValueIsAccepteOfOrder (order) = getBooleanByKey(getKeyOrderIsAccepted(order))
5353
5454
55+func getValueIsInDelivery (order) = getBooleanByKey(getKeyOrderIsInDelivery(order))
56+
57+
58+func getValueIsDelivered (order) = getBooleanByKey(getKeyOrderIsDelivered(order))
59+
60+
5561 @Callable(i)
5662 func addOrder (orderId) = {
5763 let shopAddress = toBase58String(i.caller.bytes)
5864 let pmt = extract(i.payment)
5965 let shippingCosts = pmt.amount
6066 if (isDefined(pmt.assetId))
6167 then throw("Currently you can place orders only with Waves tokens")
6268 else {
6369 let order = getKeyOrder(shopAddress, orderId)
6470 if ((0 >= shippingCosts))
6571 then throw("You cannot create an order with shipping costs lower than 0")
6672 else if ((getValueShopAddressOfOrder(order) != NONE))
6773 then throw("An order with the same id already exists")
6874 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)])
6975 }
7076 }
7177
7278
7379
7480 @Callable(i)
7581 func setOrderIsAccepted (shopAddress,orderId) = {
7682 let order = getKeyOrder(shopAddress, orderId)
7783 if ((getValueShopAddressOfOrder(order) != shopAddress))
7884 then throw("The requested order does not exist")
7985 else if ((getValueIsAccepteOfOrder(order) != false))
8086 then throw("The requested order is no longer available")
8187 else WriteSet([DataEntry(getKeyOrderIsAccepted(order), true)])
8288 }
8389
8490
91+
92+@Callable(i)
93+func setOrderIsInDelivery (shopAddress,orderId) = {
94+ let order = getKeyOrder(shopAddress, orderId)
95+ if ((getValueShopAddressOfOrder(order) != shopAddress))
96+ then throw("The requested order does not exist")
97+ else if ((getValueIsInDelivery(order) != false))
98+ then throw("The requested order is no longer available")
99+ else WriteSet([DataEntry(getKeyOrderIsInDelivery(order), true)])
100+ }
101+
102+
103+
104+@Callable(i)
105+func setOrderIsDelivered (shopAddress,orderId) = {
106+ let order = getKeyOrder(shopAddress, orderId)
107+ if ((getValueShopAddressOfOrder(order) != shopAddress))
108+ then throw("The requested order does not exist")
109+ else if ((getValueIsDelivered(order) != false))
110+ then throw("The requested order is no longer available")
111+ else WriteSet([DataEntry(getKeyOrderIsDelivered(order), true)])
112+ }
113+
114+
85115 @Verifier(tx)
86116 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
87117

github/deemru/w8io/6500d08 
33.46 ms