tx · 8PkN6BuduVRnrCLbyonx3B8Qq5ZB3nTnCTkwvQpv8Qer

3MyXnDWMtqpfkuFJtyBHaUWoWxtGoD8SpBQ:  -0.01400000 Waves

2020.11.20 14:11 [1273625] smart account 3MyXnDWMtqpfkuFJtyBHaUWoWxtGoD8SpBQ > SELF 0.00000000 Waves

{ "type": 13, "id": "8PkN6BuduVRnrCLbyonx3B8Qq5ZB3nTnCTkwvQpv8Qer", "fee": 1400000, "feeAssetId": null, "timestamp": 1605870713155, "version": 2, "chainId": 84, "sender": "3MyXnDWMtqpfkuFJtyBHaUWoWxtGoD8SpBQ", "senderPublicKey": "FYobWqooJHEVQFRHr8NU7ewYZ2AJdMzuDBm8WR9PiAx1", "proofs": [ "h3r5GiBn5Fn6pARHuKgevkxvJF3upkhHDWkz4ZZKf3w8TPu4uPuVmSRD4D7ohQSHmrWcWuq75ZQQR5Qs1eiGYcq" ], "script": "base64:AAIEAAAAAAAAAAcIAhIDCgEIAAAAAwAAAAARYWNjb3VudDFQdWJsaWNLZXkBAAAAIPeNeDDs4TWVhR1bzOk94lFsHOraL9B/FRj0XfVMj0hOAAAAABFhY2NvdW50MlB1YmxpY0tleQEAAAAgG1e/aEwKrtMkcq9WyiLLAHtKPJgLd/oAoUXcKuUDIhUAAAAADm90aGVyUHVibGljS2V5AQAAACDnblGJprjxGAm9jEz8V5M0TOEG6bhNvbMQquBNrx0dWgAAAAEAAAABaQEAAAAIcHVyY2hhc2UAAAABAAAABmNvdXBvbgQAAAADcG10CQEAAAAFdmFsdWUAAAABCAUAAAABaQAAAAhwYXltZW50cwMJAQAAAAlpc0RlZmluZWQAAAABCAkAAZEAAAACBQAAAANwbXQAAAAAAAAAAAAAAAAHYXNzZXRJZAkAAAIAAAABAgAAAAhvbmx5IHd3cwQAAAAPY3VzdG9tZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAABXByaWNlBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAGY291cG9uAgAAAA1fY291cG9uX3ByaWNlAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAADCQAAAAAAAAIFAAAABXByaWNlAAAAAAAAAAAACQAAAgAAAAECAAAAEGNvdXBvbiBub3QgZm91bmQDCQAAZgAAAAIFAAAABXByaWNlCAkAAZEAAAACBQAAAANwbXQAAAAAAAAAAAAAAAAGYW1vdW50CQAAAgAAAAECAAAACm1vYXIgbW9lbnkDCQAAZgAAAAIICQABkQAAAAIFAAAAA3BtdAAAAAAAAAAAAAAAAAZhbW91bnQFAAAABXByaWNlCQAAAgAAAAEJAAGkAAAAAQUAAAAFcHJpY2UDCQAAZgAAAAIJAAGQAAAAAQUAAAADcG10AAAAAAAAAAABCQAAAgAAAAECAAAAEHNpbmdsZSBpdGVtIG9ubHkJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAQc3RhdHVzOnB1cmNoYXNlXwUAAAAGY291cG9uAgAAAApfY3VzdG9tZXJfBQAAAA9jdXN0b21lckFkZHJlc3MCAAAACWNvbmZpcm1lZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAPcHJpY2U6cHVyY2hhc2VfBQAAAAZjb3Vwb24CAAAACl9jdXN0b21lcl8FAAAAD2N1c3RvbWVyQWRkcmVzcwUAAAAFcHJpY2UFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAACGFjY291bnQxAwMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAABQAAABFhY2NvdW50MVB1YmxpY0tleQYJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAABBQAAABFhY2NvdW50MVB1YmxpY0tleQYJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAACBQAAABFhY2NvdW50MVB1YmxpY0tleQQAAAAIYWNjb3VudDIDAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAFAAAAEWFjY291bnQyUHVibGljS2V5BgkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAEFAAAAEWFjY291bnQyUHVibGljS2V5BgkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAIFAAAAEWFjY291bnQyUHVibGljS2V5BAAAAAVvdGhlcgMDCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAUAAAAOb3RoZXJQdWJsaWNLZXkGCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAQUAAAAOb3RoZXJQdWJsaWNLZXkGCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAgUAAAAOb3RoZXJQdWJsaWNLZXkEAAAAEGFjY291bnQxYWNjb3VudDIDBQAAAAhhY2NvdW50MQUAAAAIYWNjb3VudDIHBAAAAA1hY2NvdW50MW90aGVyAwUAAAAIYWNjb3VudDEFAAAABW90aGVyBwQAAAANYWNjb3VudDJvdGhlcgMFAAAABW90aGVyBQAAAAhhY2NvdW50MgcEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABRTZXRTY3JpcHRUcmFuc2FjdGlvbgQAAAABZAUAAAAHJG1hdGNoMAYDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAD0RhdGFUcmFuc2FjdGlvbgQAAAABZAUAAAAHJG1hdGNoMAYDAwUAAAAQYWNjb3VudDFhY2NvdW50MgYFAAAADWFjY291bnQxb3RoZXIGBQAAAA1hY2NvdW50Mm90aGVy8g6peg==", "height": 1273625, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 2F9oh357sBXUQrcGcuHJkdKmmKHSCsihzHQQupNU3JhW Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 4 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let account1PublicKey = base58'HfLpRhXtnuCabRyNT6z7soaXcbUpwLUhjyBCVQ4szwzd'
5+
6+let account2PublicKey = base58'2qjcWuL7QitmuhkSTM7CnNxurCYXuqJ9ubswLBGmXfDv'
7+
8+let otherPublicKey = base58'GaQkBG6yLLAarb8wvPrEKnQhFqWomD2ZGT1T4vVx24qw'
9+
10+@Callable(i)
11+func purchase (coupon) = {
12+ let pmt = value(i.payments)
13+ if (isDefined(pmt[0].assetId))
14+ then throw("only wws")
15+ else {
16+ let customerAddress = toBase58String(i.caller.bytes)
17+ let price = match getInteger(this, (coupon + "_coupon_price")) {
18+ case a: Int =>
19+ a
20+ case _ =>
21+ 0
22+ }
23+ if ((price == 0))
24+ then throw("coupon not found")
25+ else if ((price > pmt[0].amount))
26+ then throw("moar moeny")
27+ else if ((pmt[0].amount > price))
28+ then throw(toString(price))
29+ else if ((size(pmt) > 1))
30+ then throw("single item only")
31+ else [StringEntry(((("status:purchase_" + coupon) + "_customer_") + customerAddress), "confirmed"), IntegerEntry(((("price:purchase_" + coupon) + "_customer_") + customerAddress), price)]
32+ }
33+ }
34+
35+
36+@Verifier(tx)
37+func verify () = {
38+ let account1 = if (if (sigVerify(tx.bodyBytes, tx.proofs[0], account1PublicKey))
39+ then true
40+ else sigVerify(tx.bodyBytes, tx.proofs[1], account1PublicKey))
41+ then true
42+ else sigVerify(tx.bodyBytes, tx.proofs[2], account1PublicKey)
43+ let account2 = if (if (sigVerify(tx.bodyBytes, tx.proofs[0], account2PublicKey))
44+ then true
45+ else sigVerify(tx.bodyBytes, tx.proofs[1], account2PublicKey))
46+ then true
47+ else sigVerify(tx.bodyBytes, tx.proofs[2], account2PublicKey)
48+ let other = if (if (sigVerify(tx.bodyBytes, tx.proofs[0], otherPublicKey))
49+ then true
50+ else sigVerify(tx.bodyBytes, tx.proofs[1], otherPublicKey))
51+ then true
52+ else sigVerify(tx.bodyBytes, tx.proofs[2], otherPublicKey)
53+ let account1account2 = if (account1)
54+ then account2
55+ else false
56+ let account1other = if (account1)
57+ then other
58+ else false
59+ let account2other = if (other)
60+ then account2
61+ else false
62+ match tx {
63+ case d: SetScriptTransaction =>
64+ true
65+ case d: DataTransaction =>
66+ true
67+ case _ =>
68+ if (if (account1account2)
69+ then true
70+ else account1other)
71+ then true
72+ else account2other
73+ }
74+ }
75+

github/deemru/w8io/169f3d6 
15.60 ms