tx · 5beiRjoTnTtQw4owjoz4WQSxDU81eJXZo6sqqoAVMLAY

3MxfEq17wZjAWQfckWycU9o4oTkvf9nfNQX:  -0.01000000 Waves

2021.12.13 17:33 [1832609] smart account 3MxfEq17wZjAWQfckWycU9o4oTkvf9nfNQX > SELF 0.00000000 Waves

{ "type": 13, "id": "5beiRjoTnTtQw4owjoz4WQSxDU81eJXZo6sqqoAVMLAY", "fee": 1000000, "feeAssetId": null, "timestamp": 1639406061926, "version": 2, "chainId": 84, "sender": "3MxfEq17wZjAWQfckWycU9o4oTkvf9nfNQX", "senderPublicKey": "HUca7AqRs4Zs9sU1AFcufmBC4XpT4sN79aFScNRT4LxQ", "proofs": [ "4F5MEDJUvdFWefGLuBPMhkZwUSrPgHacVfzRUUW3v4SGb6puk2doiA9PqxodVS7oxuT8mw7fVXNpGetksk1oi2yj" ], "script": "base64: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", "height": 1832609, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Ef4zUYQLan7cq9i7PQdrnzxMutz4F6sC3DBD3NDHouuT Next: BhJoDvRVLnKoYs5XQomCxYwJqsVdDiZXHLEfryuzARMb Diff:
OldNewDifferences
109109
110110 @Callable(g)
111111 func buy () = {
112- let m = {
113- let n = blockInfoByHeight(height)
114- if ($isInstanceOf(n, "BlockInfo"))
115- then {
116- let o = n
117- o.timestamp
118- }
119- else throw("Can't find block")
120- }
121112 let p = assetBalance(c, a)
122113 let z = (1000 * b)
123114 let A = [0, (10 * z), (20 * z)]
124115 let B = [0, (1 * 100000000), (2 * 100000000)]
125116 let l = Address(g.caller.bytes)
126117 let C = valueOrElse(getString(toBase58String(g.caller.bytes)), "")
127- let D = if ((take(C, 8) == "received"))
118+ let D = split(C, "|")
119+ let E = size(D)
120+ let F = B[E]
121+ let q = A[E]
122+ let G = if ((p >= (z + q)))
128123 then true
129124 else false
130- let E = if (D)
131- then size(split(C, "|"))
132- else 0
133- let q = A[E]
134- let F = if ((p >= (z + q)))
125+ let H = if (if ((E == 1))
126+ then true
127+ else (E == 2))
135128 then true
136129 else false
137- let G = if (if (D)
138- then if ((E == 0))
139- then true
140- else (E == 1)
141- else false)
142- then true
143- else false
144- let H = B[E]
145130 let I = if ((size(g.payments) == 1))
146131 then if (if (!(isDefined(g.payments[0].assetId)))
147- then (g.payments[0].amount >= H)
132+ then (g.payments[0].amount >= F)
148133 else false)
149134 then true
150135 else false
151136 else false
152- let J = if (!(G))
137+ let J = if (!(H))
153138 then "not prooved for buy"
154139 else ("" + (if (!(I))
155140 then "not enough payment"
156- else ("" + (if (!(F))
157- then "you are lost... not enough ballance"
141+ else ("" + (if (!(G))
142+ then "you lost... not enough ballance"
158143 else ""))))
159- let K = split(C, "|")
160- let L = if ((E == 0))
161- then (K[0] + "|bought1")
162- else if ((E == 1))
163- then (K[0] + "|bought1|bought2")
164- else ""
165- let M = if (if (if (F)
166- then G
144+ let K = if ((E == 1))
145+ then "received|bought1"
146+ else if ((E == 2))
147+ then "received|bought1|bought2"
148+ else C
149+ let L = if (if (if (G)
150+ then H
167151 else false)
168152 then I
169153 else false)
170154 then true
171155 else false
172- if (M)
173- then [StringEntry(toBase58String(g.caller.bytes), L), ScriptTransfer(d, H, unit), ScriptTransfer(l, z, a), Burn(a, q), IntegerEntry("burnt", (getIntegerValue("burnt") + q)), IntegerEntry(("sold" + toString(E)), (getIntegerValue(("sold" + toString(E))) + z)), DeleteEntry((toBase58String(g.caller.bytes) + "_error"))]
156+ if (L)
157+ then [StringEntry(toBase58String(g.caller.bytes), K), ScriptTransfer(d, F, unit), ScriptTransfer(l, z, a), Burn(a, q), IntegerEntry("burnt", (getIntegerValue("burnt") + q)), IntegerEntry(("sold" + toString(E)), (getIntegerValue(("sold" + toString(E))) + z)), DeleteEntry((toBase58String(g.caller.bytes) + "_error"))]
174158 else [StringEntry((toBase58String(g.caller.bytes) + "_error"), J)]
175159 }
176160
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'FeCdHqomybB47PWv1JVvfFpQ6WPmHGYgped6WAxpU7Nv'
55
66 let b = 100000000
77
88 let c = Address(base58'3MxfEq17wZjAWQfckWycU9o4oTkvf9nfNQX')
99
1010 let d = Address(base58'3MovsLjXpJr9HD2vBqmAf7Gze6jwuRxX1fX')
1111
1212 let e = 1639310400000
1313
1414 let f = 9639332000000
1515
1616 @Callable(g)
1717 func reset () = [DeleteEntry(toBase58String(g.caller.bytes)), IntegerEntry("burnt", 0), IntegerEntry("dropped", 0), IntegerEntry("sold1", 0), IntegerEntry("sold2", 0), IntegerEntry("teamgift", 0), IntegerEntry("issued", (1000000000 * 100000000)), StringEntry("burningstage", "waiting"), DeleteEntry((toBase58String(g.caller.bytes) + "_error"))]
1818
1919
2020
2121 @Callable(g)
2222 func free (h) = {
2323 let i = (1000 * b)
2424 let j = (10 * b)
2525 let k = fromBase58String(h)
2626 let l = Address(g.caller.bytes)
2727 let m = {
2828 let n = blockInfoByHeight(height)
2929 if ($isInstanceOf(n, "BlockInfo"))
3030 then {
3131 let o = n
3232 o.timestamp
3333 }
3434 else throw("Can't find block")
3535 }
3636 let p = assetBalance(c, a)
3737 let q = if (if ((m > f))
3838 then (getStringValue("burningstage") == "waiting")
3939 else false)
4040 then p
4141 else 0
4242 let r = if ((p > i))
4343 then true
4444 else false
4545 if ((r == r))
4646 then {
4747 let s = {
4848 let n = transferTransactionById(k)
4949 if ($isInstanceOf(n, "TransferTransaction"))
5050 then {
5151 let t = n
5252 true
5353 }
5454 else false
5555 }
5656 let u = {
5757 let n = transferTransactionById(k)
5858 if ($isInstanceOf(n, "TransferTransaction"))
5959 then {
6060 let t = n
6161 t.timestamp
6262 }
6363 else 9999999999999
6464 }
6565 let v = {
6666 let n = transferTransactionById(k)
6767 if ($isInstanceOf(n, "TransferTransaction"))
6868 then {
6969 let t = n
7070 t.sender
7171 }
7272 else c
7373 }
7474 let w = if ((take(valueOrElse(getString(toBase58String(g.caller.bytes)), ""), 8) == "received"))
7575 then true
7676 else false
7777 let x = if (if (if (if ((u > e))
7878 then true
7979 else (l != v))
8080 then true
8181 else w)
8282 then true
8383 else !(r))
8484 then false
8585 else true
8686 let y = if (s)
8787 then if ((u > e))
8888 then ("transaction is out of time range: " + toString(u))
8989 else ("" + (if ((l != v))
9090 then ((("it is incorrect sender: " + toString(l)) + " / ") + toString(v))
9191 else ("" + (if (w)
9292 then "allready received"
9393 else ("" + (if (x)
9494 then "received"
9595 else ("" + (if (!(r))
9696 then (("airdrop ended: " + toString(getIntegerValue("burnt"))) + " burnt")
9797 else ""))))))))
9898 else "can`t find transaction"
9999 if ((q > 0))
100100 then [StringEntry((toBase58String(g.caller.bytes) + "_error"), (("airdrop ended: " + toString(getIntegerValue("burnt"))) + " burnt")), Burn(a, q), StringEntry("burningstage", "them all burnt"), IntegerEntry("burnt", (getIntegerValue("burnt") + q))]
101101 else if (x)
102102 then [ScriptTransfer(l, i, a), ScriptTransfer(d, j, a), StringEntry(toBase58String(g.caller.bytes), y), IntegerEntry("dropped", (getIntegerValue("dropped") + i)), IntegerEntry("teamgift", (getIntegerValue("teamgift") + j)), DeleteEntry((toBase58String(g.caller.bytes) + "_error"))]
103103 else [StringEntry((toBase58String(g.caller.bytes) + "_error"), y)]
104104 }
105105 else throw("Strict value is not equal to itself.")
106106 }
107107
108108
109109
110110 @Callable(g)
111111 func buy () = {
112- let m = {
113- let n = blockInfoByHeight(height)
114- if ($isInstanceOf(n, "BlockInfo"))
115- then {
116- let o = n
117- o.timestamp
118- }
119- else throw("Can't find block")
120- }
121112 let p = assetBalance(c, a)
122113 let z = (1000 * b)
123114 let A = [0, (10 * z), (20 * z)]
124115 let B = [0, (1 * 100000000), (2 * 100000000)]
125116 let l = Address(g.caller.bytes)
126117 let C = valueOrElse(getString(toBase58String(g.caller.bytes)), "")
127- let D = if ((take(C, 8) == "received"))
118+ let D = split(C, "|")
119+ let E = size(D)
120+ let F = B[E]
121+ let q = A[E]
122+ let G = if ((p >= (z + q)))
128123 then true
129124 else false
130- let E = if (D)
131- then size(split(C, "|"))
132- else 0
133- let q = A[E]
134- let F = if ((p >= (z + q)))
125+ let H = if (if ((E == 1))
126+ then true
127+ else (E == 2))
135128 then true
136129 else false
137- let G = if (if (D)
138- then if ((E == 0))
139- then true
140- else (E == 1)
141- else false)
142- then true
143- else false
144- let H = B[E]
145130 let I = if ((size(g.payments) == 1))
146131 then if (if (!(isDefined(g.payments[0].assetId)))
147- then (g.payments[0].amount >= H)
132+ then (g.payments[0].amount >= F)
148133 else false)
149134 then true
150135 else false
151136 else false
152- let J = if (!(G))
137+ let J = if (!(H))
153138 then "not prooved for buy"
154139 else ("" + (if (!(I))
155140 then "not enough payment"
156- else ("" + (if (!(F))
157- then "you are lost... not enough ballance"
141+ else ("" + (if (!(G))
142+ then "you lost... not enough ballance"
158143 else ""))))
159- let K = split(C, "|")
160- let L = if ((E == 0))
161- then (K[0] + "|bought1")
162- else if ((E == 1))
163- then (K[0] + "|bought1|bought2")
164- else ""
165- let M = if (if (if (F)
166- then G
144+ let K = if ((E == 1))
145+ then "received|bought1"
146+ else if ((E == 2))
147+ then "received|bought1|bought2"
148+ else C
149+ let L = if (if (if (G)
150+ then H
167151 else false)
168152 then I
169153 else false)
170154 then true
171155 else false
172- if (M)
173- then [StringEntry(toBase58String(g.caller.bytes), L), ScriptTransfer(d, H, unit), ScriptTransfer(l, z, a), Burn(a, q), IntegerEntry("burnt", (getIntegerValue("burnt") + q)), IntegerEntry(("sold" + toString(E)), (getIntegerValue(("sold" + toString(E))) + z)), DeleteEntry((toBase58String(g.caller.bytes) + "_error"))]
156+ if (L)
157+ then [StringEntry(toBase58String(g.caller.bytes), K), ScriptTransfer(d, F, unit), ScriptTransfer(l, z, a), Burn(a, q), IntegerEntry("burnt", (getIntegerValue("burnt") + q)), IntegerEntry(("sold" + toString(E)), (getIntegerValue(("sold" + toString(E))) + z)), DeleteEntry((toBase58String(g.caller.bytes) + "_error"))]
174158 else [StringEntry((toBase58String(g.caller.bytes) + "_error"), J)]
175159 }
176160
177161

github/deemru/w8io/873ac7e 
29.79 ms