tx · DFYHaEJBitYpWA5xzEsX8CanzEACaw2t63Xp1fMLCBtg 3MpniGh4Ab64nzX6AXtoL5tzeC5EwSyHuaq: -0.01400000 Waves 2022.01.11 02:08 [1873482] smart account 3MpniGh4Ab64nzX6AXtoL5tzeC5EwSyHuaq > SELF 0.00000000 Waves
{ "type": 13, "id": "DFYHaEJBitYpWA5xzEsX8CanzEACaw2t63Xp1fMLCBtg", "fee": 1400000, "feeAssetId": null, "timestamp": 1641856128256, "version": 2, "chainId": 84, "sender": "3MpniGh4Ab64nzX6AXtoL5tzeC5EwSyHuaq", "senderPublicKey": "HxF3FdYr3sD3ju9Y1wL4d5kmRtKJGhgSSYQkCyo78xGn", "proofs": [ "37KBWMC6xPD1tmej9Uh3ghXHFYyZYq9TuQaKdRHr37Nd2KjfL1N9STYwmRBZ3vLKkvuGzfeQrzYtutnD1cH5xaN5" ], "script": "base64:AAIFAAAAAAAAAJgIAhIDCgEIEgASAwoBCBoSCgFhEg1hY2NvdW50UHViS2V5GgYKAWISAWkaCQoBYxIEbmFtZRoMCgFkEgdwYXltZW50GhEKAWUSDGN1c3RvbWVyQWRkchoKCgFmEgVwcmljZRoMCgFnEgckbWF0Y2gwGgYKAWgSAXQaCAoBaRIDa2V5GgcKAWoSAnR4GgsKAWsSBnZlcmlmeQAAAAEAAAAAAWEBAAAAIPvhzx/EchOaJzhclRFzOZsCtGy7ySpoi0epc7fB20UHAAAAAwAAAAFiAQAAAAhwdXJjaGFzZQAAAAEAAAABYwMJAABmAAAAAgkAAZAAAAABCAUAAAABYgAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAABZAkAAZEAAAACCAUAAAABYgAAAAhwYXltZW50cwAAAAAAAAAAAAMJAQAAAAlpc0RlZmluZWQAAAABBQAAAAFjAwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAAFkAAAAB2Fzc2V0SWQJAAACAAAAAQIAAAAYT25seSBzaG91bGQgcGF5IGluIHdhdmVzBAAAAAFlCQACWAAAAAEICAUAAAABYgAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAAWYEAAAAAWcJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAICAAAABWl0ZW1fBQAAAAFjAgAAAA1fY291cG9uX3ByaWNlAwkAAAEAAAACBQAAAAFnAgAAAANJbnQEAAAAAWgFAAAAAWcFAAAAAWgAAAAAAAAAAAADCQEAAAACIT0AAAACBQAAAAFmAAAAAAAAAAAAAwkAAGYAAAACCAUAAAABZAAAAAZhbW91bnQFAAAAAWYJAAACAAAAAQkAASwAAAACAgAAACFwYXltZW50IGNhbnQgYmUgaGlnaGVyIHRoYW4gcHJpY2UJAAGkAAAAAQUAAAABZgMJAABmAAAAAgUAAAABZggFAAAAAWQAAAAGYW1vdW50CQAAAgAAAAEJAAEsAAAAAgIAAAAhcGF5bWVudCBjYW50IGJlIGxlc3MgdGhhbiBwcmljZTogCQABpAAAAAEFAAAAAWYJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAVc3RhdHVzOnB1cmNoYXNlX2l0ZW1fBQAAAAFjAgAAAApfY3VzdG9tZXJfBQAAAAFlAgAAAAljb25maXJtZWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAFHByaWNlOnB1cmNoYXNlX2l0ZW1fBQAAAAFjAgAAAApfY3VzdG9tZXJfBQAAAAFlBQAAAAFmBQAAAANuaWwJAAACAAAAAQIAAAAmUGxlYXNlIGVudGVyIHZhbGlkIGNvdXBvbiBuYW1lOiBBIG9yIEIJAAACAAAAAQIAAAAdQ291cG9uIG5hbWUgc2hvdWxkIGJlIHByZXNlbnQJAAACAAAAAQIAAAAVUGxlYXNlIGF0dGFjaCBwYXltZW50AAAAAWIBAAAACXNldFByaWNlcwAAAAADCQAAAAAAAAIIBQAAAAFiAAAAD2NhbGxlclB1YmxpY0tleQUAAAABYQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAATaXRlbV9BX2NvdXBvbl9wcmljZQAAAAAAAcnDgAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAATaXRlbV9CX2NvdXBvbl9wcmljZQAAAAAAAmJaAAUAAAADbmlsCQAAAgAAAAECAAAAGU9ubHkgb3duZXIgY2FuIHNldCBwcmljZXMAAAABYgEAAAALZGVsZXRlRW50cnkAAAABAAAAAWkDCQAAAAAAAAIIBQAAAAFiAAAAD2NhbGxlclB1YmxpY0tleQUAAAABYQkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAAAFpBQAAAANuaWwJAAACAAAAAQIAAAAdT25seSBvd25lciBjYW4gZGVsZXRlIGVudHJpZXMAAAABAAAAAWoBAAAAAWsAAAAACQAB9AAAAAMIBQAAAAFqAAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAABagAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAFqAAAAD3NlbmRlclB1YmxpY0tleT3FQDo=", "height": 1873482, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FBqnYqzcxC2mDudFec3gJsqkbRatDSPat3S3EjNoDiTz Next: none Diff:
Old | New | Differences | |
---|---|---|---|
4 | 4 | let a = base58'HxF3FdYr3sD3ju9Y1wL4d5kmRtKJGhgSSYQkCyo78xGn' | |
5 | 5 | ||
6 | 6 | @Callable(b) | |
7 | - | func purchase (c) = { | |
8 | - | let d = b.payments[0] | |
9 | - | if (isDefined(c)) | |
10 | - | then if (isDefined(d.assetId)) | |
11 | - | then throw("Only should pay in waves") | |
12 | - | else { | |
13 | - | let e = toBase58String(b.caller.bytes) | |
14 | - | let f = { | |
15 | - | let g = getInteger(this, (("item_" + c) + "_coupon_price")) | |
16 | - | if ($isInstanceOf(g, "Int")) | |
17 | - | then { | |
18 | - | let h = g | |
19 | - | h | |
20 | - | } | |
21 | - | else 0 | |
7 | + | func purchase (c) = if ((size(b.payments) > 0)) | |
8 | + | then { | |
9 | + | let d = b.payments[0] | |
10 | + | if (isDefined(c)) | |
11 | + | then if (isDefined(d.assetId)) | |
12 | + | then throw("Only should pay in waves") | |
13 | + | else { | |
14 | + | let e = toBase58String(b.caller.bytes) | |
15 | + | let f = { | |
16 | + | let g = getInteger(this, (("item_" + c) + "_coupon_price")) | |
17 | + | if ($isInstanceOf(g, "Int")) | |
18 | + | then { | |
19 | + | let h = g | |
20 | + | h | |
21 | + | } | |
22 | + | else 0 | |
23 | + | } | |
24 | + | if ((f != 0)) | |
25 | + | then if ((d.amount > f)) | |
26 | + | then throw(("payment cant be higher than price" + toString(f))) | |
27 | + | else if ((f > d.amount)) | |
28 | + | then throw(("payment cant be less than price: " + toString(f))) | |
29 | + | else [StringEntry(((("status:purchase_item_" + c) + "_customer_") + e), "confirmed"), IntegerEntry(((("price:purchase_item_" + c) + "_customer_") + e), f)] | |
30 | + | else throw("Please enter valid coupon name: A or B") | |
22 | 31 | } | |
23 | - | if ((f != 0)) | |
24 | - | then if ((d.amount > f)) | |
25 | - | then throw(("payment cant be higher than price" + toString(f))) | |
26 | - | else if ((f > d.amount)) | |
27 | - | then throw(("payment cant be less than price: " + toString(f))) | |
28 | - | else [StringEntry(((("status:purchase_item_" + c) + "_customer_") + e), "confirmed"), IntegerEntry(((("price:purchase_item_" + c) + "_customer_") + e), f)] | |
29 | - | else throw("Please enter valid coupon name: A or B") | |
30 | - | } | |
31 | - | else throw("Coupon name should be present") | |
32 | - | } | |
32 | + | else throw("Coupon name should be present") | |
33 | + | } | |
34 | + | else throw("Please attach payment") | |
33 | 35 | ||
34 | 36 | ||
35 | 37 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = base58'HxF3FdYr3sD3ju9Y1wL4d5kmRtKJGhgSSYQkCyo78xGn' | |
5 | 5 | ||
6 | 6 | @Callable(b) | |
7 | - | func purchase (c) = { | |
8 | - | let d = b.payments[0] | |
9 | - | if (isDefined(c)) | |
10 | - | then if (isDefined(d.assetId)) | |
11 | - | then throw("Only should pay in waves") | |
12 | - | else { | |
13 | - | let e = toBase58String(b.caller.bytes) | |
14 | - | let f = { | |
15 | - | let g = getInteger(this, (("item_" + c) + "_coupon_price")) | |
16 | - | if ($isInstanceOf(g, "Int")) | |
17 | - | then { | |
18 | - | let h = g | |
19 | - | h | |
20 | - | } | |
21 | - | else 0 | |
7 | + | func purchase (c) = if ((size(b.payments) > 0)) | |
8 | + | then { | |
9 | + | let d = b.payments[0] | |
10 | + | if (isDefined(c)) | |
11 | + | then if (isDefined(d.assetId)) | |
12 | + | then throw("Only should pay in waves") | |
13 | + | else { | |
14 | + | let e = toBase58String(b.caller.bytes) | |
15 | + | let f = { | |
16 | + | let g = getInteger(this, (("item_" + c) + "_coupon_price")) | |
17 | + | if ($isInstanceOf(g, "Int")) | |
18 | + | then { | |
19 | + | let h = g | |
20 | + | h | |
21 | + | } | |
22 | + | else 0 | |
23 | + | } | |
24 | + | if ((f != 0)) | |
25 | + | then if ((d.amount > f)) | |
26 | + | then throw(("payment cant be higher than price" + toString(f))) | |
27 | + | else if ((f > d.amount)) | |
28 | + | then throw(("payment cant be less than price: " + toString(f))) | |
29 | + | else [StringEntry(((("status:purchase_item_" + c) + "_customer_") + e), "confirmed"), IntegerEntry(((("price:purchase_item_" + c) + "_customer_") + e), f)] | |
30 | + | else throw("Please enter valid coupon name: A or B") | |
22 | 31 | } | |
23 | - | if ((f != 0)) | |
24 | - | then if ((d.amount > f)) | |
25 | - | then throw(("payment cant be higher than price" + toString(f))) | |
26 | - | else if ((f > d.amount)) | |
27 | - | then throw(("payment cant be less than price: " + toString(f))) | |
28 | - | else [StringEntry(((("status:purchase_item_" + c) + "_customer_") + e), "confirmed"), IntegerEntry(((("price:purchase_item_" + c) + "_customer_") + e), f)] | |
29 | - | else throw("Please enter valid coupon name: A or B") | |
30 | - | } | |
31 | - | else throw("Coupon name should be present") | |
32 | - | } | |
32 | + | else throw("Coupon name should be present") | |
33 | + | } | |
34 | + | else throw("Please attach payment") | |
33 | 35 | ||
34 | 36 | ||
35 | 37 | ||
36 | 38 | @Callable(b) | |
37 | 39 | func setPrices () = if ((b.callerPublicKey == a)) | |
38 | 40 | then [IntegerEntry("item_A_coupon_price", 30000000), IntegerEntry("item_B_coupon_price", 40000000)] | |
39 | 41 | else throw("Only owner can set prices") | |
40 | 42 | ||
41 | 43 | ||
42 | 44 | ||
43 | 45 | @Callable(b) | |
44 | 46 | func deleteEntry (i) = if ((b.callerPublicKey == a)) | |
45 | 47 | then [DeleteEntry(i)] | |
46 | 48 | else throw("Only owner can delete entries") | |
47 | 49 | ||
48 | 50 | ||
49 | 51 | @Verifier(j) | |
50 | 52 | func k () = sigVerify(j.bodyBytes, j.proofs[0], j.senderPublicKey) | |
51 | 53 |
github/deemru/w8io/169f3d6 21.46 ms ◑![]()