tx · 8bQBiW1Ls5PgrUgZGde395t6gyaUzUYsCT9WTAwS2hpE

3ND6EFqVoR6r9jWRL87nSf2Zs5AMiNnGWD3:  -0.01000000 Waves

2021.07.06 17:41 [1601882] smart account 3ND6EFqVoR6r9jWRL87nSf2Zs5AMiNnGWD3 > SELF 0.00000000 Waves

{ "type": 13, "id": "8bQBiW1Ls5PgrUgZGde395t6gyaUzUYsCT9WTAwS2hpE", "fee": 1000000, "feeAssetId": null, "timestamp": 1625582518177, "version": 2, "chainId": 84, "sender": "3ND6EFqVoR6r9jWRL87nSf2Zs5AMiNnGWD3", "senderPublicKey": "KUUrvP3E8GJqJe8m89JhbWoFxA5Y6ZArXcUs6XDthT6", "proofs": [ "5tTuXKVFBBfUBEi1U8UiDJ49p3ywCMeXZ192ukN1kMjUBVSNKJCuJukx27KKTKoSkc44cRL7rTuMRAHxy5Jm8Q2T" ], "script": "base64:AAIDAAAAAAAAASQIARIFCgMIAQgaCgoCYTESBE5PTkUaEAoCYTISCmdldEtleUl0ZW0aDgoCYTMSCHN1cHBsaWVyGgsKAmE0EgV0aXRsZRoTCgJhNRINc3VwcGxpZXJUaXRsZRoYCgJhNhISZ2V0S2V5SXRlbVN1cHBsaWVyGgoKAmE3EgRpdGVtGhUKAmE4Eg9nZXRLZXlJdGVtUHJpY2UaFAoCYTkSDmdldEtleUl0ZW1EYXRhGhoKAmIxEhRnZXRWYWx1ZUl0ZW1TdXBwbGllchoJCgJiMhIDa2V5Gg0KAmIzEgckbWF0Y2gwGgcKAmI0EgF0GgcKAmI1EgFpGgsKAmI2EgVwcmljZRoKCgJiNxIEZGF0YRoVCgJiOBIPc3VwcGxpZXJBZGRyZXNzAAAABgAAAAACYTECAAAABE5PTkUBAAAAAmEyAAAAAgAAAAJhMwAAAAJhNAQAAAACYTUJAAEsAAAAAgUAAAACYTMFAAAAAmE0CQABLAAAAAICAAAABWl0ZW1fCQACWAAAAAEJAAH3AAAAAQkAAZsAAAABBQAAAAJhNQEAAAACYTYAAAABAAAAAmE3CQABLAAAAAIFAAAAAmE3AgAAAAZfb3duZXIBAAAAAmE4AAAAAQAAAAJhNwkAASwAAAACBQAAAAJhNwIAAAAGX3ByaWNlAQAAAAJhOQAAAAEAAAACYTcJAAEsAAAAAgUAAAACYTcCAAAABV9kYXRhAQAAAAJiMQAAAAEAAAACYTcEAAAAAmIyBAAAAAJiMwkABB0AAAACBQAAAAR0aGlzCQABLAAAAAIFAAAAAmE3AgAAAAZfb3duZXIDCQAAAQAAAAIFAAAAAmIzAgAAAAZTdHJpbmcEAAAAAmI0BQAAAAJiMwUAAAACYjQFAAAAAmExBQAAAAJiMgAAAAEAAAACYjUBAAAAB2FkZEl0ZW0AAAADAAAAAmE0AAAAAmI2AAAAAmI3BAAAAAJiOAkAAlgAAAABCAgFAAAAAmI1AAAABmNhbGxlcgAAAAVieXRlcwQAAAACYTcJAQAAAAJhMgAAAAIFAAAAAmI4BQAAAAJhNAMJAABnAAAAAgAAAAAAAAAAAAUAAAACYjYJAAACAAAAAQIAAAAucHVyY2hhc2UgYW1vdW50IGNhbm5vdCBiZSBsZXNzIHRoYW4gaXRlbSBwcmljZQMJAQAAAAIhPQAAAAIJAQAAAAJiMQAAAAEFAAAAAmE3BQAAAAJhMQkAAAIAAAABAgAAABZBbiBpdGVtIGFscmVhZHkgZXhpc3RzCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAACYTYAAAABBQAAAAJhNwUAAAACYjgJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAAJhOAAAAAEFAAAAAmE3BQAAAAJiNgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAAmE5AAAAAQUAAAACYTcFAAAAAmI3BQAAAANuaWwAAAAAI4HrJQ==", "height": 1601882, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GaKGnfCY9v2xN684AoLBqMn5mE8zGVxwihPf5eciB6T3 Next: 8H1ayE7nm48vp3Rn6eMhteBorsxKc8rGKTMvS31on4qt Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4+let NONE = "NONE"
5+
6+func getKeyItem (supplier,title) = {
7+ let supplierTitle = (supplier + title)
8+ ("item_" + toBase58String(sha256(toBytes(supplierTitle))))
9+ }
10+
11+
12+func getKeyItemSupplier (item) = (item + "_owner")
13+
14+
15+func getKeyItemPrice (item) = (item + "_price")
16+
17+
18+func getKeyItemData (item) = (item + "_data")
19+
20+
21+func getValueItemSupplier (item) = {
22+ let key = match getString(this, (item + "_owner")) {
23+ case t: String =>
24+ t
25+ case _ =>
26+ NONE
27+ }
28+ key
29+ }
430
531
632 @Callable(i)
7-func addcoupon (key,name,price) = WriteSet([DataEntry((("item_" + key) + "_coupon_name"), name), DataEntry((("item_" + key) + "_coupon_price"), price)])
8-
9-
10-
11-@Callable(i)
12-func purchase (key) = {
13- let pmt = extract(i.payment)
14- if (isDefined(pmt.assetId))
15- then throw("Can use waves only at the moment")
16- else {
17- let cutomerAddress = toBase58String(i.caller.bytes)
18- let price = match getInteger(this, (("item_" + key) + "_coupon_price")) {
19- case a: Int =>
20- a
21- case _ =>
22- 0
23- }
24- if ((price > pmt.amount))
25- then throw("Purchase amount cannot be less then item price")
26- else if ((pmt.amount > price))
27- then throw("Purchase amount cannot be less then item price")
28- else WriteSet([DataEntry(((("status:purchase_item_" + key) + "_customer_") + cutomerAddress), "confirmed"), DataEntry(((("price:purchase_item_" + key) + "_customer_") + cutomerAddress), price)])
29- }
33+func addItem (title,price,data) = {
34+ let supplierAddress = toBase58String(i.caller.bytes)
35+ let item = getKeyItem(supplierAddress, title)
36+ if ((0 >= price))
37+ then throw("purchase amount cannot be less than item price")
38+ else if ((getValueItemSupplier(item) != NONE))
39+ then throw("An item already exists")
40+ else WriteSet([DataEntry(getKeyItemSupplier(item), supplierAddress), DataEntry(getKeyItemPrice(item), price), DataEntry(getKeyItemData(item), data)])
3041 }
3142
3243

github/deemru/w8io/c3f4982 
22.59 ms