tx · 4f6F64JMZGhiJYU8D1wFsNhpCbghq32N5RZjK4EGsHK9 3MxU3545pNEbLFbsa97cWxt7cRUUTErk6gn: -0.01500000 Waves 2019.10.01 23:29 [701126] smart account 3MxU3545pNEbLFbsa97cWxt7cRUUTErk6gn > SELF 0.00000000 Waves
{ "type": 13, "id": "4f6F64JMZGhiJYU8D1wFsNhpCbghq32N5RZjK4EGsHK9", "fee": 1500000, "feeAssetId": null, "timestamp": 1569961808934, "version": 1, "sender": "3MxU3545pNEbLFbsa97cWxt7cRUUTErk6gn", "senderPublicKey": "GuwTjCb3mHb9xG8ugioF87GXtuyPfqRhu3jPKAYWoBdm", "proofs": [ "pdURRpafnMzF8ebzJFJVTbcdJY4wf8Zu3PatgbbKN1eyBYEn7dBgJq2CyXhoN9WtkmjYgo1Lbcp1r2UZM2hsC9v" ], "script": "base64:AAIDAAAAAAAAAAAAAAAAAAAAAQAAAAFpAQAAAAhwdXJjaGFzZQAAAAAEAAAAA3BtdAkBAAAAB2V4dHJhY3QAAAABCAUAAAABaQAAAAdwYXltZW50AwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAkAAAIAAAABAgAAACBjYW4gdXNlIFdBVkVTIG9ubHkgYXQgdGhlIG1vbWVudAQAAAAPY3VzdG9tZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAABXByaWNlBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAE2l0ZW1fQV9jb3Vwb25fcHJpY2UDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAMJAABmAAAAAgUAAAAFcHJpY2UIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAECAAAALnB1cmNoYXNlIGFtb3VudCBjYW5ub3QgYmUgbGVzcyB0aGFuIGl0ZW0gcHJpY2UDCQAAZgAAAAIIBQAAAANwbXQAAAAGYW1vdW50BQAAAAVwcmljZQkAAAIAAAABAgAAADBwdXJjaGFzZSBhbW91bnQgY2Fubm90IGJlIGhpZ2hlciB0aGFuIGl0ZW0gcHJpY2UJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgIAAAAbc3RhdHVzOnB1cmNoYXNlX0FfY3VzdG9tZXJfBQAAAA9jdXN0b21lckFkZHJlc3MCAAAACWNvbmZpcm1lZAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACAgAAABpwcmljZTpwdXJjaGFzZV9BX2N1c3RvbWVyXwUAAAAPY3VzdG9tZXJBZGRyZXNzBQAAAAVwcmljZQUAAAADbmlsAAAAAOvfBq8=", "chainId": 84, "height": 701126, "spentComplexity": 0 } View: original | compacted Prev: GGCrCB3wMbb73ZrwQCdFfdqzG1Wx6d8ojtBHsWM89Kuh Next: ANmAYysWdFSfKopPbZizB2F2kiF9sPsSFxZ45KEyTosm Diff:
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 purchase () = { | |
25 | 25 | } | |
26 | 26 | ||
27 | 27 | ||
28 | - | @Verifier(tx) | |
29 | - | func verify () = match tx { | |
30 | - | case d: SetScriptTransaction => | |
31 | - | sigVerify(tx.bodyBytes, tx.proofs[0], ownerPublicKey) | |
32 | - | case d: DataTransaction => | |
33 | - | true | |
34 | - | case _ => | |
35 | - | false | |
36 | - | } | |
37 | - |
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 purchase () = { | |
8 | 8 | let pmt = extract(i.payment) | |
9 | 9 | if (isDefined(pmt.assetId)) | |
10 | 10 | then throw("can use WAVES only at the moment") | |
11 | 11 | else { | |
12 | 12 | let customerAddress = toBase58String(i.caller.bytes) | |
13 | 13 | let price = match getInteger(this, "item_A_coupon_price") { | |
14 | 14 | case a: Int => | |
15 | 15 | a | |
16 | 16 | case _ => | |
17 | 17 | 0 | |
18 | 18 | } | |
19 | 19 | if ((price > pmt.amount)) | |
20 | 20 | then throw("purchase amount cannot be less than item price") | |
21 | 21 | else if ((pmt.amount > price)) | |
22 | 22 | then throw("purchase amount cannot be higher than item price") | |
23 | 23 | else WriteSet([DataEntry(("status:purchase_A_customer_" + customerAddress), "confirmed"), DataEntry(("price:purchase_A_customer_" + customerAddress), price)]) | |
24 | 24 | } | |
25 | 25 | } | |
26 | 26 | ||
27 | 27 | ||
28 | - | @Verifier(tx) | |
29 | - | func verify () = match tx { | |
30 | - | case d: SetScriptTransaction => | |
31 | - | sigVerify(tx.bodyBytes, tx.proofs[0], ownerPublicKey) | |
32 | - | case d: DataTransaction => | |
33 | - | true | |
34 | - | case _ => | |
35 | - | false | |
36 | - | } | |
37 | - |
github/deemru/w8io/873ac7e 35.10 ms ◑![]()