tx · 9DAqreucRx51th2PcxqXPmZwMjqdR3MQEEWdRsDfxPAK

3MviJMF4qeNVjYE5dP5vS1kw2D6nqq8gYdP:  -0.01400000 Waves

2019.06.25 09:02 [557236] smart account 3MviJMF4qeNVjYE5dP5vS1kw2D6nqq8gYdP > SELF 0.00000000 Waves

{ "type": 13, "id": "9DAqreucRx51th2PcxqXPmZwMjqdR3MQEEWdRsDfxPAK", "fee": 1400000, "feeAssetId": null, "timestamp": 1561442542969, "version": 1, "sender": "3MviJMF4qeNVjYE5dP5vS1kw2D6nqq8gYdP", "senderPublicKey": "4YoPLh2RSxZJ5gZ1Q2AbpY8MRg71SGbqFC1dsusDjSs6", "proofs": [ "4veEZPbXpcM4zUaZCPVwnwMoxXMFi7karrQm7Pr7NvVQXDnoMnwkj5JTbTNxT3tooddHtDrzu5PX7DBxkSg7vfz6" ], "script": "base64:AAIDAAAAAAAAAAAAAAABAAAAAA9vd25lclB1YmxpY2tLZXkBAAAAINAm5XUgnXI2F/C3jS2g12iVY9hP+3Jw26q/jnqGHDYUAAAAAQAAAAFpAQAAAAhwdXJjaGFzZQAAAAAEAAAAA3BtdAkBAAAAB2V4dHJhY3QAAAABCAUAAAABaQAAAAdwYXltZW50AwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAkAAAIAAAABAgAAACBjYW4gdXNlIFdBVlJTIG9ubHkgYXQgdGhlIG1vbWVudAQAAAAPY3VzdG9tZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAABXByaWNlBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAE2l0ZW1fQV9jb3Vwb25fcHJpY2UDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAMJAABmAAAAAgUAAAAFcHJpY2UIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAECAAAALnB1cmNoYXNlIGFtb3VudCBjYW5ub3QgYnkgbGVzcyB0aGFuIGl0ZW0gcHJpY2UDCQAAZgAAAAIIBQAAAANwbXQAAAAGYW1vdW50BQAAAAVwcmljZQkAAAIAAAABAgAAADBwdXJjaGFzZSBhbW91bnQgY2Fubm90IGJ5IGhpZ2hlciB0aGFuIGl0ZW0gcHJpY2UJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgIAAAAgc3RhdHVzOnB1cmNoYXNlX2l0ZW1fQV9jdXN0b21lcl8FAAAAD2N1c3RvbWVyQWRkcmVzcwIAAAAJY29uZmlybWVkCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAICAAAAH3ByaWNlOnB1cmNoYXNlX2l0ZW1fQV9jdXN0b21lcl8FAAAAD2N1c3RvbWVyQWRkcmVzcwUAAAAFcHJpY2UFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcml2eQAAAAAEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABlTZXRBc3NldFNjcmlwdFRyYW5zYWN0aW9uBAAAAAFkBQAAAAckbWF0Y2gwCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAUAAAAPb3duZXJQdWJsaWNrS2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAA9EYXRhVHJhbnNhY3Rpb24EAAAAAWQFAAAAByRtYXRjaDAGB/yN0m8=", "chainId": 84, "height": 557236, "spentComplexity": 0 } View: original | compacted Prev: 9bKHuBpmRZcvp4F4VDGrMbwsNrNZSADc9WXdSUq8pTKf Next: none Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = "none"
4+let a = base58'F1YCfxUbn5koBMjxuA4iGzudDF5c69T5EUXgkudQ9FVM'
55
6-func b (c) = {
7- let d = {
8- let e = getInteger(this, c)
9- if ($isInstanceOf(e, "Int"))
10- then {
11- let f = e
12- f
6+@Callable(b)
7+func purchase () = {
8+ let c = extract(b.payment)
9+ if (isDefined(c.assetId))
10+ then throw("can use WAVRS 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
1321 }
14- else 0
15- }
16- d
22+ if ((e > c.amount))
23+ then throw("purchase amount cannot by less than item price")
24+ else if ((c.amount > e))
25+ then throw("purchase amount cannot by higher than item price")
26+ else WriteSet([DataEntry(("status:purchase_item_A_customer_" + d), "confirmed"), DataEntry(("price:purchase_item_A_customer_" + d), e)])
27+ }
1728 }
1829
1930
20-func g (c) = {
21- let h = {
22- let e = getString(this, c)
23- if ($isInstanceOf(e, "String"))
31+@Verifier(h)
32+func i () = {
33+ let f = h
34+ if ($isInstanceOf(f, "SetAssetScriptTransaction"))
35+ then {
36+ let j = f
37+ sigVerify(h.bodyBytes, h.proofs[0], a)
38+ }
39+ else if ($isInstanceOf(f, "DataTransaction"))
2440 then {
25- let f = e
26- f
41+ let j = f
42+ true
2743 }
28- else a
29- }
30- h
44+ else false
3145 }
32-
33-
34-func i (j) = (j + "+price")
35-
36-
37-func k (j) = b(i(j))
38-
39-
40-func l (m,j) = (((j + "_") + m) + "_cnt")
41-
42-
43-func n (m,j) = b(l(m, j))
44-
45-
46-func o (p,q) = ("item_" + toBase58String(sha256(toBytes((p + q)))))
47-
48-
49-func r (j) = (j + "_data")
50-
51-
52-func s (j) = (j + "_owner")
53-
54-
55-func t (j) = g(s(j))
56-
57-
58-func u (v) = (v + "_balance")
59-
60-
61-func w (v) = b(u(v))
62-
63-
64-@Callable(x)
65-func addItem (q,y,z) = {
66- let A = toBase58String(x.caller.bytes)
67- let j = o(A, q)
68- if ((0 >= y))
69- then throw("purchase amount cannot be less then item price")
70- else if ((t(j) != a))
71- then throw("an item is already exist")
72- else WriteSet([DataEntry(s(j), A), DataEntry(i(j), y), DataEntry(r(j), z)])
73- }
74-
7546

github/deemru/w8io/169f3d6 
32.01 ms