tx · C9M5xqSBKM3ZKETyBV7YCSYdEcGcd4gwKvwBdneVkaYf 3N4LH5XizMixv95sbA8KzKsWP79LBJ6EQ1K: -0.04000000 Waves 2020.09.26 17:27 [1194416] smart account 3N4LH5XizMixv95sbA8KzKsWP79LBJ6EQ1K > SELF 0.00000000 Waves
{ "type": 13, "id": "C9M5xqSBKM3ZKETyBV7YCSYdEcGcd4gwKvwBdneVkaYf", "fee": 4000000, "feeAssetId": null, "timestamp": 1601130475998, "version": 2, "chainId": 84, "sender": "3N4LH5XizMixv95sbA8KzKsWP79LBJ6EQ1K", "senderPublicKey": "B1L9ADLhT3AgSCGBbDqFgvHGQg23J4vtF6qx38yTzi2V", "proofs": [ "4hpM2QNG1DjPKY2yDB5uGWziovJb9uYSaKPXMhkD8S4eYydPDVuAuFfmwptM724cm35RBnyM8kKVa3QB7h4Q2CeT" ], "script": "base64:AAIDAAAAAAAAAAQIARIAAAAAAQAAAAAFb3duZXIBAAAAIJSqgv33P33K3xXhz0FACThxfYLi7Vx7YjREdx3vVuhiAAAAAQAAAAFpAQAAAAhwdXJjaGFzZQAAAAAEAAAAA3BtdAkBAAAAB2V4dHJhY3QAAAABCAUAAAABaQAAAAdwYXltZW50AwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAkAAAIAAAABAgAAACBjYW4gdXNlIFdBVkVTIG9ubHkgYXQgdGhlIG1vbWVudAQAAAAPY3VzdG9tZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAABXByaWNlBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAE2l0ZW1fQV9jb3Vwb25fcHJpY2UDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAMJAABmAAAAAgUAAAAFcHJpY2UIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAECAAAALnB1cmNoYXNlIGFtb3VudCBjYW5ub3QgYmUgbGVzcyB0aGFuIGl0ZW0gcHJpY2UDCQAAZgAAAAIIBQAAAANwbXQAAAAGYW1vdW50BQAAAAVwcmljZQkAAAIAAAABAgAAADBwdXJjaGFzZSBhbW91bnQgY2Fubm90IGJlIGhpZ2hlciB0aGFuIGl0ZW0gcHJpY2UJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgIAAAAgc3RhdHVzOnB1cmNoYXNlX2l0ZW1fQV9jdXN0b21lcl8FAAAAD2N1c3RvbWVyQWRkcmVzcwIAAAAJY29uZmlybWVkCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAICAAAAH3ByaWNlOnB1cmNoYXNlX2l0ZW1fQV9jdXN0b21lcl8FAAAAD2N1c3RvbWVyQWRkcmVzcwUAAAAFcHJpY2UFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABRTZXRTY3JpcHRUcmFuc2FjdGlvbgQAAAABZAUAAAAHJG1hdGNoMAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAFAAAABW93bmVyAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABNUcmFuc2ZlclRyYW5zYWN0aW9uBAAAAAF0BQAAAAckbWF0Y2gwBgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAPRGF0YVRyYW5zYWN0aW9uBAAAAAFkBQAAAAckbWF0Y2gwBgeG7DW1", "height": 1194416, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: RSWvAjuGA2P3jHpddEEiS5Bdi1jvLPwURAebats6t1Z Next: BuqKXdHaY1UuMPhqL6HRRigRXg1b1miCc7dzkHsAzpWo Diff:
Old | New | Differences | |
---|---|---|---|
1 | - | {-# STDLIB_VERSION | |
1 | + | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = base58'B1L9ADLhT3AgSCGBbDqFgvHGQg23J4vtF6qx38yTzi2V' | |
5 | 5 | ||
6 | 6 | @Callable(b) | |
7 | - | func call () = { | |
8 | - | let c = Issue("Asset", "", 1, 0, true, unit, 0) | |
9 | - | let d = calculateAssetId(c) | |
10 | - | [BinaryEntry("bin", base58''), BooleanEntry("bool", true), IntegerEntry("int", 1), StringEntry("str", ""), DeleteEntry("str"), c, Reissue(d, 1, false), Burn(d, 1), ScriptTransfer(b.caller, 1, d)] | |
7 | + | func purchase () = { | |
8 | + | let c = extract(b.payment) | |
9 | + | if (isDefined(c.assetId)) | |
10 | + | then throw("can use WAVES only at the moment") | |
11 | + | else { | |
12 | + | let d = toBase58String(b.caller.bytes) | |
13 | + | let e = { | |
14 | + | let f = getInteger(this, "item_A_coupon_price") | |
15 | + | if ($isInstanceOf(f, "Int")) | |
16 | + | then { | |
17 | + | let g = f | |
18 | + | g | |
19 | + | } | |
20 | + | else 0 | |
21 | + | } | |
22 | + | if ((e > c.amount)) | |
23 | + | then throw("purchase amount cannot be less than item price") | |
24 | + | else if ((c.amount > e)) | |
25 | + | then throw("purchase amount cannot be higher than item price") | |
26 | + | else WriteSet([DataEntry(("status:purchase_item_A_customer_" + d), "confirmed"), DataEntry(("price:purchase_item_A_customer_" + d), e)]) | |
27 | + | } | |
11 | 28 | } | |
12 | 29 | ||
13 | 30 | ||
14 | - | @Verifier( | |
15 | - | func | |
16 | - | let | |
17 | - | if ($isInstanceOf( | |
31 | + | @Verifier(h) | |
32 | + | func i () = { | |
33 | + | let f = h | |
34 | + | if ($isInstanceOf(f, "SetScriptTransaction")) | |
18 | 35 | then { | |
19 | - | let | |
20 | - | sigVerify( | |
36 | + | let j = f | |
37 | + | sigVerify(h.bodyBytes, h.proofs[0], a) | |
21 | 38 | } | |
22 | - | else if ($isInstanceOf( | |
39 | + | else if ($isInstanceOf(f, "TransferTransaction")) | |
23 | 40 | then { | |
24 | - | let | |
41 | + | let k = f | |
25 | 42 | true | |
26 | 43 | } | |
27 | - | else if ($isInstanceOf( | |
44 | + | else if ($isInstanceOf(f, "DataTransaction")) | |
28 | 45 | then { | |
29 | - | let | |
46 | + | let j = f | |
30 | 47 | true | |
31 | 48 | } | |
32 | 49 | else false |
Old | New | Differences | |
---|---|---|---|
1 | - | {-# STDLIB_VERSION | |
1 | + | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = base58'B1L9ADLhT3AgSCGBbDqFgvHGQg23J4vtF6qx38yTzi2V' | |
5 | 5 | ||
6 | 6 | @Callable(b) | |
7 | - | func call () = { | |
8 | - | let c = Issue("Asset", "", 1, 0, true, unit, 0) | |
9 | - | let d = calculateAssetId(c) | |
10 | - | [BinaryEntry("bin", base58''), BooleanEntry("bool", true), IntegerEntry("int", 1), StringEntry("str", ""), DeleteEntry("str"), c, Reissue(d, 1, false), Burn(d, 1), ScriptTransfer(b.caller, 1, d)] | |
7 | + | func purchase () = { | |
8 | + | let c = extract(b.payment) | |
9 | + | if (isDefined(c.assetId)) | |
10 | + | then throw("can use WAVES only at the moment") | |
11 | + | else { | |
12 | + | let d = toBase58String(b.caller.bytes) | |
13 | + | let e = { | |
14 | + | let f = getInteger(this, "item_A_coupon_price") | |
15 | + | if ($isInstanceOf(f, "Int")) | |
16 | + | then { | |
17 | + | let g = f | |
18 | + | g | |
19 | + | } | |
20 | + | else 0 | |
21 | + | } | |
22 | + | if ((e > c.amount)) | |
23 | + | then throw("purchase amount cannot be less than item price") | |
24 | + | else if ((c.amount > e)) | |
25 | + | then throw("purchase amount cannot be higher than item price") | |
26 | + | else WriteSet([DataEntry(("status:purchase_item_A_customer_" + d), "confirmed"), DataEntry(("price:purchase_item_A_customer_" + d), e)]) | |
27 | + | } | |
11 | 28 | } | |
12 | 29 | ||
13 | 30 | ||
14 | - | @Verifier( | |
15 | - | func | |
16 | - | let | |
17 | - | if ($isInstanceOf( | |
31 | + | @Verifier(h) | |
32 | + | func i () = { | |
33 | + | let f = h | |
34 | + | if ($isInstanceOf(f, "SetScriptTransaction")) | |
18 | 35 | then { | |
19 | - | let | |
20 | - | sigVerify( | |
36 | + | let j = f | |
37 | + | sigVerify(h.bodyBytes, h.proofs[0], a) | |
21 | 38 | } | |
22 | - | else if ($isInstanceOf( | |
39 | + | else if ($isInstanceOf(f, "TransferTransaction")) | |
23 | 40 | then { | |
24 | - | let | |
41 | + | let k = f | |
25 | 42 | true | |
26 | 43 | } | |
27 | - | else if ($isInstanceOf( | |
44 | + | else if ($isInstanceOf(f, "DataTransaction")) | |
28 | 45 | then { | |
29 | - | let | |
46 | + | let j = f | |
30 | 47 | true | |
31 | 48 | } | |
32 | 49 | else false | |
33 | 50 | } | |
34 | 51 |
github/deemru/w8io/169f3d6 42.12 ms ◑