tx · A9ks7gauxwxYzkJPk1fe81p363tHCPb1qFAjSSr5AqWT

3MrjoKPNvAcooRg57ssdtvqAwziurq6PxWk:  -0.01400000 Waves

2019.06.24 23:50 [556672] smart account 3MrjoKPNvAcooRg57ssdtvqAwziurq6PxWk > SELF 0.00000000 Waves

{ "type": 13, "id": "A9ks7gauxwxYzkJPk1fe81p363tHCPb1qFAjSSr5AqWT", "fee": 1400000, "feeAssetId": null, "timestamp": 1561409500145, "version": 1, "sender": "3MrjoKPNvAcooRg57ssdtvqAwziurq6PxWk", "senderPublicKey": "878gQHb1kYxhwKQ7ykcGR5vKMeRAT4SGjPNfZ9UqDewA", "proofs": [ "5HAyP88rCDj5x8Duj44zgCH89HQYZ4qrBkeMcEEH9m1zHiDFXFi2riw3xFNzG95f9yKP8HdAkKkvAhmf9kA156Uq" ], "script": "base64:AAIDAAAAAAAAAAAAAAAAAAAAAQAAAAFpAQAAAAhwdXJjaGFzZQAAAAEAAAAGY2hvaWNlBAAAAANwbXQJAQAAAAdleHRyYWN0AAAAAQgFAAAAAWkAAAAHcGF5bWVudAQAAAAGY291cG9uBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAABmNob2ljZQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWIFAAAAByRtYXRjaDAFAAAAAWIJAAACAAAAAQIAAAAcT25seSBjb3Vwb25zIEEsQixDIHN1cHBvcnRlZAMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQJAAACAAAAAQIAAAAgY2FuIHVzZSBXQVZFUyBvbmx5IGF0IHRoZSBtb21lbnQEAAAAD2N1c3RvbWVyQWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAwkAAAAAAAACBQAAAAZjb3Vwb24AAAAAAAAAAAEEAAAABXByaWNlBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAE2l0ZW1fQV9jb3Vwb25fcHJpY2UDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAMJAABmAAAAAgUAAAAFcHJpY2UIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAECAAAALnB1cmNoYXNlIGFtb3VudCBjYW5ub3QgYmUgbGVzcyB0aGFuIGl0ZW0gcHJpY2UDCQAAZgAAAAIIBQAAAANwbXQAAAAGYW1vdW50BQAAAAVwcmljZQkAAAIAAAABAgAAADBwdXJjaGFzZSBhbW91bnQgY2Fubm90IGJlIGhpZ2hlciB0aGFuIGl0ZW0gcHJpY2UJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgIAAAAgc3RhdHVzOnB1cmNoYXNlX2l0ZW1fQV9jdXN0b21lcl8FAAAAD2N1c3RvbWVyQWRkcmVzcwIAAAAJY29uZmlybWVkCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAICAAAAH3ByaWNlOnB1cmNoYXNlX2l0ZW1fQV9jdXN0b21lcl8FAAAAD2N1c3RvbWVyQWRkcmVzcwUAAAAFcHJpY2UFAAAAA25pbAMJAAAAAAAAAgUAAAAGY291cG9uAAAAAAAAAAACBAAAAAVwcmljZQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAABNpdGVtX0JfY291cG9uX3ByaWNlAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAADCQAAZgAAAAIFAAAABXByaWNlCAUAAAADcG10AAAABmFtb3VudAkAAAIAAAABAgAAAC5wdXJjaGFzZSBhbW91bnQgY2Fubm90IGJlIGxlc3MgdGhhbiBpdGVtIHByaWNlAwkAAGYAAAACCAUAAAADcG10AAAABmFtb3VudAUAAAAFcHJpY2UJAAACAAAAAQIAAAAwcHVyY2hhc2UgYW1vdW50IGNhbm5vdCBiZSBoaWdoZXIgdGhhbiBpdGVtIHByaWNlCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAICAAAAIHN0YXR1czpwdXJjaGFzZV9pdGVtX0JfY3VzdG9tZXJfBQAAAA9jdXN0b21lckFkZHJlc3MCAAAACWNvbmZpcm1lZAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACAgAAAB9wcmljZTpwdXJjaGFzZV9pdGVtX0JfY3VzdG9tZXJfBQAAAA9jdXN0b21lckFkZHJlc3MFAAAABXByaWNlBQAAAANuaWwEAAAABXByaWNlBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAE2l0ZW1fQ19jb3Vwb25fcHJpY2UDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAMJAABmAAAAAgUAAAAFcHJpY2UIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAECAAAALnB1cmNoYXNlIGFtb3VudCBjYW5ub3QgYmUgbGVzcyB0aGFuIGl0ZW0gcHJpY2UDCQAAZgAAAAIIBQAAAANwbXQAAAAGYW1vdW50BQAAAAVwcmljZQkAAAIAAAABAgAAADBwdXJjaGFzZSBhbW91bnQgY2Fubm90IGJlIGhpZ2hlciB0aGFuIGl0ZW0gcHJpY2UJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgIAAAAgc3RhdHVzOnB1cmNoYXNlX2l0ZW1fQ19jdXN0b21lcl8FAAAAD2N1c3RvbWVyQWRkcmVzcwIAAAAJY29uZmlybWVkCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAICAAAAH3ByaWNlOnB1cmNoYXNlX2l0ZW1fQ19jdXN0b21lcl8FAAAAD2N1c3RvbWVyQWRkcmVzcwUAAAAFcHJpY2UFAAAAA25pbAAAAABNvXgL", "chainId": 84, "height": 556672, "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 3 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+
5+
6+@Callable(i)
7+func purchase (choice) = {
8+ let pmt = extract(i.payment)
9+ let coupon = match getInteger(this, choice) {
10+ case a: Int =>
11+ a
12+ case b: Int =>
13+ b
14+ case _ =>
15+ throw("Only coupons A,B,C supported")
16+ }
17+ if (isDefined(pmt.assetId))
18+ then throw("can use WAVES only at the moment")
19+ else {
20+ let customerAddress = toBase58String(i.caller.bytes)
21+ if ((coupon == 1))
22+ then {
23+ let price = match getInteger(this, "item_A_coupon_price") {
24+ case a: Int =>
25+ a
26+ case _ =>
27+ 0
28+ }
29+ if ((price > pmt.amount))
30+ then throw("purchase amount cannot be less than item price")
31+ else if ((pmt.amount > price))
32+ then throw("purchase amount cannot be higher than item price")
33+ else WriteSet([DataEntry(("status:purchase_item_A_customer_" + customerAddress), "confirmed"), DataEntry(("price:purchase_item_A_customer_" + customerAddress), price)])
34+ }
35+ else if ((coupon == 2))
36+ then {
37+ let price = match getInteger(this, "item_B_coupon_price") {
38+ case a: Int =>
39+ a
40+ case _ =>
41+ 0
42+ }
43+ if ((price > pmt.amount))
44+ then throw("purchase amount cannot be less than item price")
45+ else if ((pmt.amount > price))
46+ then throw("purchase amount cannot be higher than item price")
47+ else WriteSet([DataEntry(("status:purchase_item_B_customer_" + customerAddress), "confirmed"), DataEntry(("price:purchase_item_B_customer_" + customerAddress), price)])
48+ }
49+ else {
50+ let price = match getInteger(this, "item_C_coupon_price") {
51+ case a: Int =>
52+ a
53+ case _ =>
54+ 0
55+ }
56+ if ((price > pmt.amount))
57+ then throw("purchase amount cannot be less than item price")
58+ else if ((pmt.amount > price))
59+ then throw("purchase amount cannot be higher than item price")
60+ else WriteSet([DataEntry(("status:purchase_item_C_customer_" + customerAddress), "confirmed"), DataEntry(("price:purchase_item_C_customer_" + customerAddress), price)])
61+ }
62+ }
63+ }
64+
65+

github/deemru/w8io/c3f4982 
13.62 ms