tx · 9FzXKuLjqPVAzhCXFQHGRbKduVkZhPMxW6TWKwR3anCC 3N4i4y8nxc7yViBRryXfb7mQUSpXYnnaAeL: -0.04000000 Waves 2019.11.08 00:19 [755044] smart account 3N4i4y8nxc7yViBRryXfb7mQUSpXYnnaAeL > SELF 0.00000000 Waves
{ "type": 13, "id": "9FzXKuLjqPVAzhCXFQHGRbKduVkZhPMxW6TWKwR3anCC", "fee": 4000000, "feeAssetId": null, "timestamp": 1573161593521, "version": 1, "sender": "3N4i4y8nxc7yViBRryXfb7mQUSpXYnnaAeL", "senderPublicKey": "5jZYGoAY2kxg8DjyKRAo3ffx6yC4JLgbPgCtm4q7XViq", "proofs": [ "CJUeghoX3rcbpH44iAKk6oVcwVX1nayTj1cZm1W3wTGo941tNdCZPV6FJ282xnb6kXHunT6XQD9vACC4fJcyzo6" ], "script": "base64:AAIDAAAAAAAAAAgIARIECgIIAQAAAAAAAAABAAAAAWkBAAAACWJ1eVRpY2tldAAAAAIAAAAIdGlja2V0SWQAAAAGYW1vdW50BAAAAAdwYXltZW50CQEAAAAFdmFsdWUAAAABCAUAAAABaQAAAAdwYXltZW50BAAAAAp0aWNrZXRJbmZvCQEAAAAFdmFsdWUAAAABCQAD7AAAAAEJAAJZAAAAAQUAAAAIdGlja2V0SWQEAAAAC3N0YXJ0SGVpZ2h0BAAAAAckbWF0Y2gwCQAEGgAAAAIIBQAAAAp0aWNrZXRJbmZvAAAABmlzc3VlcgIAAAAFc3RhcnQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQEAAAAAXgFAAAAByRtYXRjaDAAAAAAAAAAAAADCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABeAUAAAAHJG1hdGNoMAUAAAABeAkBAAAABXRocm93AAAAAAQAAAAKc3RvcEhlaWdodAQAAAAHJG1hdGNoMAkABBoAAAACCAUAAAAKdGlja2V0SW5mbwAAAAZpc3N1ZXICAAAAA2VuZAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAEVW5pdAQAAAABeAUAAAAHJG1hdGNoMAAAAAAAAAAAAAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAF4BQAAAAckbWF0Y2gwBQAAAAF4CQEAAAAFdGhyb3cAAAAAAwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAAdwYXltZW50AAAAB2Fzc2V0SWQJAAACAAAAAQIAAAASb25seSB3YXZlcyBmb3Igbm93AwMJAABmAAAAAgkAAGQAAAACBQAAAAtzdGFydEhlaWdodAUAAAAKc3RvcEhlaWdodAAAAAAAAAAAAAMJAABmAAAAAgUAAAALc3RhcnRIZWlnaHQFAAAABmhlaWdodAYJAABmAAAAAgUAAAAGaGVpZ2h0BQAAAApzdG9wSGVpZ2h0BwkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAACh5b3UgY2FuIG9ubHkgYnkgYSB0aWNrZXQgYmV0d2VlbiBibG9jazogCQABpAAAAAEFAAAAC3N0YXJ0SGVpZ2h0AgAAAAUgYW5kIAkAAaQAAAABBQAAAApzdG9wSGVpZ2h0BAAAAAVwcmljZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAggFAAAACnRpY2tldEluZm8AAAAGaXNzdWVyAgAAAAVwcmljZQMJAQAAAAIhPQAAAAIJAABoAAAAAgUAAAAFcHJpY2UFAAAABmFtb3VudAgFAAAAB3BheW1lbnQAAAAGYW1vdW50CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAACVOb3QgdGhlIGNvcnJlY3QgcHJpY2UuIFRoZSBwcmljZSBmb3IgCQABpAAAAAEFAAAABmFtb3VudAIAAAALIHRpY2tldHMgPSAJAAGkAAAAAQkAAGgAAAACBQAAAAVwcmljZQUAAAAGYW1vdW50AgAAABIuIFlvdSBhcmUgcGF5aW5nOiAJAAGkAAAAAQgFAAAAB3BheW1lbnQAAAAGYW1vdW50CQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAGYW1vdW50CQACWQAAAAEFAAAACHRpY2tldElkBQAAAANuaWwAAAAA8WI4Jg==", "chainId": 84, "height": 755044, "spentComplexity": 0 } View: original | compacted Prev: 5wjh9JjvtmGVrw2jQUsxJBaAHnSfTY3ePzDUFsB5zN8 Next: none Diff:
Old | New | Differences | |
---|---|---|---|
6 | 6 | @Callable(i) | |
7 | 7 | func buyTicket (ticketId,amount) = { | |
8 | 8 | let payment = value(i.payment) | |
9 | - | let ticketInfoOp = assetInfo(fromBase58String(ticketId)) | |
10 | - | let ticketInfo = value(ticketInfoOp) | |
9 | + | let ticketInfo = value(assetInfo(fromBase58String(ticketId))) | |
11 | 10 | let startHeight = match getInteger(ticketInfo.issuer, "start") { | |
12 | 11 | case x: Unit => | |
13 | 12 | 0 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | ||
5 | 5 | ||
6 | 6 | @Callable(i) | |
7 | 7 | func buyTicket (ticketId,amount) = { | |
8 | 8 | let payment = value(i.payment) | |
9 | - | let ticketInfoOp = assetInfo(fromBase58String(ticketId)) | |
10 | - | let ticketInfo = value(ticketInfoOp) | |
9 | + | let ticketInfo = value(assetInfo(fromBase58String(ticketId))) | |
11 | 10 | let startHeight = match getInteger(ticketInfo.issuer, "start") { | |
12 | 11 | case x: Unit => | |
13 | 12 | 0 | |
14 | 13 | case x: Int => | |
15 | 14 | x | |
16 | 15 | case _ => | |
17 | 16 | throw() | |
18 | 17 | } | |
19 | 18 | let stopHeight = match getInteger(ticketInfo.issuer, "end") { | |
20 | 19 | case x: Unit => | |
21 | 20 | 0 | |
22 | 21 | case x: Int => | |
23 | 22 | x | |
24 | 23 | case _ => | |
25 | 24 | throw() | |
26 | 25 | } | |
27 | 26 | if (isDefined(payment.assetId)) | |
28 | 27 | then throw("only waves for now") | |
29 | 28 | else if (if (((startHeight + stopHeight) > 0)) | |
30 | 29 | then if ((startHeight > height)) | |
31 | 30 | then true | |
32 | 31 | else (height > stopHeight) | |
33 | 32 | else false) | |
34 | 33 | then throw(((("you can only by a ticket between block: " + toString(startHeight)) + " and ") + toString(stopHeight))) | |
35 | 34 | else { | |
36 | 35 | let price = getIntegerValue(ticketInfo.issuer, "price") | |
37 | 36 | if (((price * amount) != payment.amount)) | |
38 | 37 | then throw(((((("Not the correct price. The price for " + toString(amount)) + " tickets = ") + toString((price * amount))) + ". You are paying: ") + toString(payment.amount))) | |
39 | 38 | else TransferSet([ScriptTransfer(i.caller, amount, fromBase58String(ticketId))]) | |
40 | 39 | } | |
41 | 40 | } | |
42 | 41 | ||
43 | 42 |
github/deemru/w8io/169f3d6 26.38 ms ◑![]()