tx · CDrGp3tfVNxyYV3JPZk3cWUZU7FpeWnWjrgYBsifJ947

3N3Y2QKUaFrVBoStGQpoVoRJJTeCeKwDGbc:  -0.01400000 Waves

2019.09.19 18:58 [683383] smart account 3N3Y2QKUaFrVBoStGQpoVoRJJTeCeKwDGbc > SELF 0.00000000 Waves

{ "type": 13, "id": "CDrGp3tfVNxyYV3JPZk3cWUZU7FpeWnWjrgYBsifJ947", "fee": 1400000, "feeAssetId": null, "timestamp": 1568908725404, "version": 1, "sender": "3N3Y2QKUaFrVBoStGQpoVoRJJTeCeKwDGbc", "senderPublicKey": "Ammb6PN8K5Hi2inMgHsjhkqxAgRm1kkPjjvWXsndQ4sY", "proofs": [ "5Xk2gmpjV57qEwowDnUE46mpMdbLMrJ5qqEYDWiVJuASbQ5np6kzMCVG6mjLv24Tugie6KcZ4JgyFKTW3D7Rwb5e" ], "script": "base64:AAIDAAAAAAAAAAAAAAAOAAAAAA5vd25lclB1YmxpY0tleQEAAAAgkTEnTdeol7uGSzlcY9XCaZJBCT/vNHbkSFPcfsdd2lcAAAAABE5PTkUCAAAABG5vbmUBAAAADmdldE51bWJlckJ5S2V5AAAAAQAAAANrZXkEAAAAA251bQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAUAAAADbnVtAQAAAAtnZXRTdHJCeUtleQAAAAEAAAADa2V5BAAAAANzdHIEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEFAAAABE5PTkUFAAAAA3N0cgEAAAAPZ2V0S2V5SXRlbVByaWNlAAAAAQAAAARpdGVtCQABLAAAAAIFAAAABGl0ZW0CAAAABl9wcmljZQEAAAARZ2V0VmFsdWVJdGVtUHJpY2UAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAAA9nZXRLZXlJdGVtUHJpY2UAAAABBQAAAARpdGVtAQAAABVnZXRLZXlVc2VySXRlbUNvdW50ZXIAAAACAAAABHVzZXIAAAAEaXRlbQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEaXRlbQIAAAABXwUAAAAEdXNlcgIAAAAEX2NudAEAAAAXZ2V0VmFsdWVVc2VySXRlbUNvdW50ZXIAAAACAAAABHVzZXIAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAFWdldEtleVVzZXJJdGVtQ291bnRlcgAAAAIFAAAABHVzZXIFAAAABGl0ZW0BAAAACmdldEtleUl0ZW0AAAACAAAACHN1cHBsaWVyAAAABXRpdGxlCQABLAAAAAICAAAABWl0ZW1fCQACWAAAAAEJAAH3AAAAAQkAAZsAAAABCQABLAAAAAIFAAAACHN1cHBsaWVyBQAAAAV0aXRsZQEAAAAOZ2V0S2V5SXRlbURhdGEAAAABAAAABGl0ZW0JAAEsAAAAAgUAAAAEaXRlbQIAAAAFX2RhdGEBAAAAEmdldEtleUl0ZW1TdXBwbGllcgAAAAEAAAAEaXRlbQkAASwAAAACBQAAAARpdGVtAgAAAAZfb3duZXIBAAAAFGdldFZhbHVlSXRlbVN1cHBsaWVyAAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAASZ2V0S2V5SXRlbVN1cHBsaWVyAAAAAQUAAAAEaXRlbQEAAAAVZ2V0S2V5QmFsYW5jZVN1cHBsaWVyAAAAAQAAAAdhY2NvdW50CQABLAAAAAIFAAAAB2FjY291bnQCAAAACF9iYWxhbmNlAQAAABdnZXRWYWx1ZUJhbGFuY2VTdXBwbGllcgAAAAEAAAAHYWNjb3VudAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAFWdldEtleUJhbGFuY2VTdXBwbGllcgAAAAEFAAAAB2FjY291bnQAAAACAAAAAWkBAAAAB2FkZEl0ZW0AAAADAAAABXRpdGxlAAAABXByaWNlAAAABGRhdGEEAAAAD3N1cHBsaWVyQWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAARpdGVtCQEAAAAKZ2V0S2V5SXRlbQAAAAIFAAAAD3N1cHBsaWVyQWRkcmVzcwUAAAAFdGl0bGUDCQAAZwAAAAIAAAAAAAAAAAAFAAAABXByaWNlCQAAAgAAAAECAAAALnB1cmNoYXNlIGFtb3VudCBjYW5ub3QgYmUgbGVzcyB0aGFuIGl0ZW0gcHJpY2UDCQEAAAACIT0AAAACCQEAAAAUZ2V0VmFsdWVJdGVtU3VwcGxpZXIAAAABBQAAAARpdGVtBQAAAAROT05FCQAAAgAAAAECAAAAGGFuIGl0ZW0gaXMgYWxyZWFkeSBleGlzdAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEmdldEtleUl0ZW1TdXBwbGllcgAAAAEFAAAABGl0ZW0FAAAAD3N1cHBsaWVyQWRkcmVzcwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAD2dldEtleUl0ZW1QcmljZQAAAAEFAAAABGl0ZW0FAAAABXByaWNlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAOZ2V0S2V5SXRlbURhdGEAAAABBQAAAARpdGVtBQAAAARkYXRhBQAAAANuaWwAAAABaQEAAAAIcHVyY2hhc2UAAAABAAAABGl0ZW0EAAAAA3BtdAkBAAAAB2V4dHJhY3QAAAABCAUAAAABaQAAAAdwYXltZW50AwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAkAAAIAAAABAgAAACBjYW4gdXNlIFdBVkVTIG9ubHkgYXQgdGhlIG1vbWVudAQAAAAPY3VzdG9tZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAABXByaWNlBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACAgAAAAVpdGVtXwUAAAAEaXRlbQIAAAANX2NvdXBvbl9wcmljZQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAAAwkAAGYAAAACBQAAAAVwcmljZQgFAAAAA3BtdAAAAAZhbW91bnQJAAACAAAAAQIAAAAucHVyY2hhc2UgYW1vdW50IGNhbm5vdCBiZSBsZXNzIHRoYW4gaXRlbSBwcmljZQMJAABmAAAAAggFAAAAA3BtdAAAAAZhbW91bnQFAAAABXByaWNlCQAAAgAAAAECAAAAMHB1cmNoYXNlIGFtb3VudCBjYW5ub3QgYmUgaGlnaGVyIHRoYW4gaXRlbSBwcmljZQkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAVc3RhdHVzOnB1cmNoYXNlX2l0ZW1fBQAAAARpdGVtAgAAAAlfY3VzdG9tZXIFAAAAD2N1c3RvbWVyQWRkcmVzcwIAAAAJY29uZmlybWVkCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABRwcmljZTpwdXJjaGFzZV9pdGVtXwUAAAAEaXRlbQIAAAAJX2N1c3RvbWVyBQAAAA9jdXN0b21lckFkZHJlc3MFAAAABXByaWNlBQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAUU2V0U2NyaXB0VHJhbnNhY3Rpb24EAAAAAWQFAAAAByRtYXRjaDAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAABQAAAA5vd25lclB1YmxpY0tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAPRGF0YVRyYW5zYWN0aW9uBAAAAAFkBQAAAAckbWF0Y2gwBgZk2h5V", "chainId": 84, "height": 683383, "spentComplexity": 0 } View: original | compacted Prev: 6cqELvDuNMW7h4VrTaZ6wDRvL2oMAgBdH9CUjj1Bt2pq Next: GHZBcozPb7Ne2atSBsj79fYhzJmAZ1b64DUjrDvc2B9j Diff:
OldNewDifferences
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'Ammb6PN8K5Hi2inMgHsjhkqxAgRm1kkPjjvWXsndQ4sY'
55
6-@Callable(b)
7-func purchase (c) = {
8- let d = extract(b.payment)
9- if (isDefined(d.assetId))
6+let b = "none"
7+
8+func c (d) = {
9+ let e = {
10+ let f = getInteger(this, d)
11+ if ($isInstanceOf(f, "Int"))
12+ then {
13+ let g = f
14+ g
15+ }
16+ else 0
17+ }
18+ e
19+ }
20+
21+
22+func h (d) = {
23+ let i = {
24+ let f = getString(this, d)
25+ if ($isInstanceOf(f, "String"))
26+ then {
27+ let g = f
28+ g
29+ }
30+ else b
31+ }
32+ i
33+ }
34+
35+
36+func j (k) = (k + "_price")
37+
38+
39+func l (k) = c(j(k))
40+
41+
42+func m (n,k) = (((k + "_") + n) + "_cnt")
43+
44+
45+func o (n,k) = c(m(n, k))
46+
47+
48+func p (q,r) = ("item_" + toBase58String(sha256(toBytes((q + r)))))
49+
50+
51+func s (k) = (k + "_data")
52+
53+
54+func t (k) = (k + "_owner")
55+
56+
57+func u (k) = h(t(k))
58+
59+
60+func v (w) = (w + "_balance")
61+
62+
63+func x (w) = c(v(w))
64+
65+
66+@Callable(y)
67+func addItem (r,z,A) = {
68+ let B = toBase58String(y.caller.bytes)
69+ let k = p(B, r)
70+ if ((0 >= z))
71+ then throw("purchase amount cannot be less than item price")
72+ else if ((u(k) != b))
73+ then throw("an item is already exist")
74+ else WriteSet([DataEntry(t(k), B), DataEntry(j(k), z), DataEntry(s(k), A)])
75+ }
76+
77+
78+
79+@Callable(y)
80+func purchase (k) = {
81+ let C = extract(y.payment)
82+ if (isDefined(C.assetId))
1083 then throw("can use WAVES only at the moment")
1184 else {
12- let e = toBase58String(b.caller.bytes)
13- let f = {
14- let g = getInteger(this, (("item_" + c) + "_coupon_price"))
15- if ($isInstanceOf(g, "Int"))
85+ let D = toBase58String(y.caller.bytes)
86+ let z = {
87+ let f = getInteger(this, (("item_" + k) + "_coupon_price"))
88+ if ($isInstanceOf(f, "Int"))
1689 then {
17- let h = g
18- h
90+ let g = f
91+ g
1992 }
2093 else 0
2194 }
22- if ((f > d.amount))
95+ if ((z > C.amount))
2396 then throw("purchase amount cannot be less than item price")
24- else if ((d.amount > f))
97+ else if ((C.amount > z))
2598 then throw("purchase amount cannot be higher than item price")
26- else WriteSet([DataEntry(((("status:purchase_item_" + c) + "_customer") + e), "confirmed"), DataEntry(((("price:purchase_item_" + c) + "_customer") + e), f)])
99+ else WriteSet([DataEntry(((("status:purchase_item_" + k) + "_customer") + D), "confirmed"), DataEntry(((("price:purchase_item_" + k) + "_customer") + D), z)])
27100 }
28101 }
29102
30103
31-@Verifier(i)
32-func j () = {
33- let g = i
34- if ($isInstanceOf(g, "SetScriptTransaction"))
104+@Verifier(E)
105+func F () = {
106+ let f = E
107+ if ($isInstanceOf(f, "SetScriptTransaction"))
35108 then {
36- let k = g
37- sigVerify(i.bodyBytes, i.proofs[0], a)
109+ let G = f
110+ sigVerify(E.bodyBytes, E.proofs[0], a)
38111 }
39- else if ($isInstanceOf(g, "DataTransaction"))
112+ else if ($isInstanceOf(f, "DataTransaction"))
40113 then {
41- let k = g
114+ let G = f
42115 true
43116 }
44117 else true
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'Ammb6PN8K5Hi2inMgHsjhkqxAgRm1kkPjjvWXsndQ4sY'
55
6-@Callable(b)
7-func purchase (c) = {
8- let d = extract(b.payment)
9- if (isDefined(d.assetId))
6+let b = "none"
7+
8+func c (d) = {
9+ let e = {
10+ let f = getInteger(this, d)
11+ if ($isInstanceOf(f, "Int"))
12+ then {
13+ let g = f
14+ g
15+ }
16+ else 0
17+ }
18+ e
19+ }
20+
21+
22+func h (d) = {
23+ let i = {
24+ let f = getString(this, d)
25+ if ($isInstanceOf(f, "String"))
26+ then {
27+ let g = f
28+ g
29+ }
30+ else b
31+ }
32+ i
33+ }
34+
35+
36+func j (k) = (k + "_price")
37+
38+
39+func l (k) = c(j(k))
40+
41+
42+func m (n,k) = (((k + "_") + n) + "_cnt")
43+
44+
45+func o (n,k) = c(m(n, k))
46+
47+
48+func p (q,r) = ("item_" + toBase58String(sha256(toBytes((q + r)))))
49+
50+
51+func s (k) = (k + "_data")
52+
53+
54+func t (k) = (k + "_owner")
55+
56+
57+func u (k) = h(t(k))
58+
59+
60+func v (w) = (w + "_balance")
61+
62+
63+func x (w) = c(v(w))
64+
65+
66+@Callable(y)
67+func addItem (r,z,A) = {
68+ let B = toBase58String(y.caller.bytes)
69+ let k = p(B, r)
70+ if ((0 >= z))
71+ then throw("purchase amount cannot be less than item price")
72+ else if ((u(k) != b))
73+ then throw("an item is already exist")
74+ else WriteSet([DataEntry(t(k), B), DataEntry(j(k), z), DataEntry(s(k), A)])
75+ }
76+
77+
78+
79+@Callable(y)
80+func purchase (k) = {
81+ let C = extract(y.payment)
82+ if (isDefined(C.assetId))
1083 then throw("can use WAVES only at the moment")
1184 else {
12- let e = toBase58String(b.caller.bytes)
13- let f = {
14- let g = getInteger(this, (("item_" + c) + "_coupon_price"))
15- if ($isInstanceOf(g, "Int"))
85+ let D = toBase58String(y.caller.bytes)
86+ let z = {
87+ let f = getInteger(this, (("item_" + k) + "_coupon_price"))
88+ if ($isInstanceOf(f, "Int"))
1689 then {
17- let h = g
18- h
90+ let g = f
91+ g
1992 }
2093 else 0
2194 }
22- if ((f > d.amount))
95+ if ((z > C.amount))
2396 then throw("purchase amount cannot be less than item price")
24- else if ((d.amount > f))
97+ else if ((C.amount > z))
2598 then throw("purchase amount cannot be higher than item price")
26- else WriteSet([DataEntry(((("status:purchase_item_" + c) + "_customer") + e), "confirmed"), DataEntry(((("price:purchase_item_" + c) + "_customer") + e), f)])
99+ else WriteSet([DataEntry(((("status:purchase_item_" + k) + "_customer") + D), "confirmed"), DataEntry(((("price:purchase_item_" + k) + "_customer") + D), z)])
27100 }
28101 }
29102
30103
31-@Verifier(i)
32-func j () = {
33- let g = i
34- if ($isInstanceOf(g, "SetScriptTransaction"))
104+@Verifier(E)
105+func F () = {
106+ let f = E
107+ if ($isInstanceOf(f, "SetScriptTransaction"))
35108 then {
36- let k = g
37- sigVerify(i.bodyBytes, i.proofs[0], a)
109+ let G = f
110+ sigVerify(E.bodyBytes, E.proofs[0], a)
38111 }
39- else if ($isInstanceOf(g, "DataTransaction"))
112+ else if ($isInstanceOf(f, "DataTransaction"))
40113 then {
41- let k = g
114+ let G = f
42115 true
43116 }
44117 else true
45118 }
46119

github/deemru/w8io/026f985 
32.08 ms