tx · 9uKQMLdnuAgCjd1htTsbM3MMfrSNSo1RemvaDkhAVtwU

3MtTheYx7F8GojnQXdBq5njwKSWwWDR8Yx3:  -0.01400000 Waves

2020.11.20 17:13 [1273809] smart account 3MtTheYx7F8GojnQXdBq5njwKSWwWDR8Yx3 > SELF 0.00000000 Waves

{ "type": 13, "id": "9uKQMLdnuAgCjd1htTsbM3MMfrSNSo1RemvaDkhAVtwU", "fee": 1400000, "feeAssetId": null, "timestamp": 1605881659796, "version": 2, "chainId": 84, "sender": "3MtTheYx7F8GojnQXdBq5njwKSWwWDR8Yx3", "senderPublicKey": "24o2mnMP6y64dijDFoZKhDpV73e1gCFKxQcZ6X9q3z1B", "proofs": [ "34q5hE8LWGnerWipFpFapW6KsYepLyKuffuUUBRVbNiutiq7FXHshMNrNPZqc4x1d96SKSqDgsWUedFUKCcCq1dE" ], "script": "base64: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", "height": 1273809, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 5RyV7rb3i2oC27HBC9Zwh8vCFeLLQb85bpyJ2UgXuJvr Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 4 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let a = base58'HfLpRhXtnuCabRyNT6z7soaXcbUpwLUhjyBCVQ4szwzd'
5+
6+let b = base58'2qjcWuL7QitmuhkSTM7CnNxurCYXuqJ9ubswLBGmXfDv'
7+
8+let c = base58'GaQkBG6yLLAarb8wvPrEKnQhFqWomD2ZGT1T4vVx24qw'
9+
10+let d = "none"
11+
12+func e (f) = {
13+ let g = {
14+ let h = getInteger(this, f)
15+ if ($isInstanceOf(h, "Int"))
16+ then {
17+ let i = h
18+ i
19+ }
20+ else 0
21+ }
22+ g
23+ }
24+
25+
26+func j (f) = {
27+ let k = {
28+ let h = getString(this, f)
29+ if ($isInstanceOf(h, "String"))
30+ then {
31+ let i = h
32+ i
33+ }
34+ else d
35+ }
36+ k
37+ }
38+
39+
40+func l (m) = (m + "_price")
41+
42+
43+func n (m) = e(l(m))
44+
45+
46+func o (p,m) = (((m + "_") + p) + "_cnt")
47+
48+
49+func q (p,m) = e(o(p, m))
50+
51+
52+func r (s,t) = ("item_" + toBase58String(sha256(toBytes((s + t)))))
53+
54+
55+func u (m) = (m + "_data")
56+
57+
58+func v (m) = (m + "_owner")
59+
60+
61+func w (m) = j(v(m))
62+
63+
64+func x (y) = (y + "_balance")
65+
66+
67+func z (y) = e(x(y))
68+
69+
70+@Callable(A)
71+func purchase (B) = {
72+ let C = value(A.payments)
73+ if (isDefined(C[0].assetId))
74+ then throw("only wws")
75+ else {
76+ let D = toBase58String(A.caller.bytes)
77+ let E = {
78+ let h = getInteger(this, (B + "_coupon_price"))
79+ if ($isInstanceOf(h, "Int"))
80+ then {
81+ let i = h
82+ i
83+ }
84+ else 0
85+ }
86+ if ((E == 0))
87+ then throw("coupon not found")
88+ else if ((E > C[0].amount))
89+ then throw("moar moeny")
90+ else if ((C[0].amount > E))
91+ then throw(toString(E))
92+ else if ((size(C) > 1))
93+ then throw("single item only")
94+ else [StringEntry(((("status:purchase_" + B) + "_customer_") + D), "confirmed"), IntegerEntry(((("price:purchase_" + B) + "_customer_") + D), E)]
95+ }
96+ }
97+
98+
99+
100+@Callable(A)
101+func addItem (t,E,F) = {
102+ let G = toBase58String(A.caller.bytes)
103+ let m = r(G, t)
104+ if ((0 >= E))
105+ then throw("purchase amount cannot be less than item price")
106+ else if ((w(m) != d))
107+ then throw("an item already exist")
108+ else [StringEntry(v(m), G), IntegerEntry(l(m), E), StringEntry(u(m), F)]
109+ }
110+
111+
112+@Verifier(H)
113+func I () = true
114+

github/deemru/w8io/c3f4982 
15.21 ms