tx · F755fzZjUdXQqKQ2g3whcJ3adCeELcq4diLGGf3Vm7H2

3MxfEq17wZjAWQfckWycU9o4oTkvf9nfNQX:  -0.01000000 Waves

2021.12.12 15:26 [1831033] smart account 3MxfEq17wZjAWQfckWycU9o4oTkvf9nfNQX > SELF 0.00000000 Waves

{ "type": 13, "id": "F755fzZjUdXQqKQ2g3whcJ3adCeELcq4diLGGf3Vm7H2", "fee": 1000000, "feeAssetId": null, "timestamp": 1639312039951, "version": 2, "chainId": 84, "sender": "3MxfEq17wZjAWQfckWycU9o4oTkvf9nfNQX", "senderPublicKey": "HUca7AqRs4Zs9sU1AFcufmBC4XpT4sN79aFScNRT4LxQ", "proofs": [ "5BrPytPALEQ9xuVZefwMvLus2pVM5vXqxx573DqE4nkq4CiNcEuHjBjypjse21hz9svRd5AYnUeas5YWbiovct1P" ], "script": "base64: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", "height": 1831033, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4C9GtrjN41uipiJhgGkg4uxJcCMUmeiMBxmkuaUueg5j Next: F26Zt2DiR1LfK693YDsaVQSgmohtVpWzXzZAAPFfdod6 Diff:
OldNewDifferences
1010 let teamAdress = Address(base58'3MovsLjXpJr9HD2vBqmAf7Gze6jwuRxX1fX')
1111
1212 @Callable(i)
13-func reset () = [DeleteEntry(toBase58String(i.caller.bytes)), IntegerEntry("burnt", 0), IntegerEntry("dropped", 0), IntegerEntry("teamgift", 0), DeleteEntry("burningstage"), DeleteEntry((toBase58String(i.caller.bytes) + "_error"))]
13+func reset () = [DeleteEntry(toBase58String(i.caller.bytes)), IntegerEntry("burnt", 0), IntegerEntry("dropped", 0), IntegerEntry("teamgift", 0), IntegerEntry("issued", 1000000000), DeleteEntry("burningstage"), DeleteEntry((toBase58String(i.caller.bytes) + "_error"))]
1414
1515
1616
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let token = base58'4yu6Ms41FW8T9ABJ724ZUBKA1QrA8LQskK6csQiC8ynJ'
55
66 let tokend = 8
77
88 let airdrop = Address(base58'3MxfEq17wZjAWQfckWycU9o4oTkvf9nfNQX')
99
1010 let teamAdress = Address(base58'3MovsLjXpJr9HD2vBqmAf7Gze6jwuRxX1fX')
1111
1212 @Callable(i)
13-func reset () = [DeleteEntry(toBase58String(i.caller.bytes)), IntegerEntry("burnt", 0), IntegerEntry("dropped", 0), IntegerEntry("teamgift", 0), DeleteEntry("burningstage"), DeleteEntry((toBase58String(i.caller.bytes) + "_error"))]
13+func reset () = [DeleteEntry(toBase58String(i.caller.bytes)), IntegerEntry("burnt", 0), IntegerEntry("dropped", 0), IntegerEntry("teamgift", 0), IntegerEntry("issued", 1000000000), DeleteEntry("burningstage"), DeleteEntry((toBase58String(i.caller.bytes) + "_error"))]
1414
1515
1616
1717 @Callable(i)
1818 func call (id58) = {
1919 let dropamount = (1000 * tokend)
2020 let teamgift = (10 * tokend)
2121 let trid = fromBase58String(id58)
2222 let callerAdress = Address(i.caller.bytes)
2323 let deadline = 1639310400000
2424 let burndeadline = 1639314000000
2525 let currenttime = match blockInfoByHeight(height) {
2626 case block: BlockInfo =>
2727 block.timestamp
2828 case _ =>
2929 throw("Can't find block")
3030 }
3131 let balance = assetBalance(airdrop, token)
3232 let burnamount = match getInteger("burningstage") {
3333 case a: Int =>
3434 if (if ((getIntegerValue("burningstage") == 0))
3535 then (currenttime > burndeadline)
3636 else false)
3737 then fraction(balance, 10, 100)
3838 else 0
3939 case _ =>
4040 throw("no burningstage")
4141 }
4242 let isenough = if ((balance > dropamount))
4343 then true
4444 else throw("not enough")
4545 if ((isenough == isenough))
4646 then {
4747 let trexists = match transferTransactionById(trid) {
4848 case ttx: TransferTransaction =>
4949 true
5050 case _ =>
5151 false
5252 }
5353 let trtime = match transferTransactionById(trid) {
5454 case ttx: TransferTransaction =>
5555 ttx.timestamp
5656 case _ =>
5757 9999999999999
5858 }
5959 let trsender = match transferTransactionById(trid) {
6060 case ttx: TransferTransaction =>
6161 ttx.sender
6262 case _ =>
6363 airdrop
6464 }
6565 let received = if ((take(valueOrElse(getString(toBase58String(i.caller.bytes)), ""), 8) == "received"))
6666 then true
6767 else false
6868 let isprooved = if (if (if ((trtime > deadline))
6969 then true
7070 else (callerAdress != trsender))
7171 then true
7272 else received)
7373 then false
7474 else true
7575 let result = if (trexists)
7676 then if ((trtime > deadline))
7777 then ("transaction is out of time range: " + toString(trtime))
7878 else ("" + (if ((callerAdress != trsender))
7979 then ((("it is incorrect sender: " + toString(callerAdress)) + " / ") + toString(trsender))
8080 else ("" + (if (received)
8181 then getStringValue(toBase58String(i.caller.bytes))
8282 else ("" + (if (isprooved)
8383 then "received"
8484 else ""))))))
8585 else "can`t find transaction"
8686 if (isprooved)
8787 then if ((burnamount > 0))
8888 then [ScriptTransfer(callerAdress, dropamount, token), ScriptTransfer(teamAdress, teamgift, token), StringEntry(toBase58String(i.caller.bytes), result), IntegerEntry("dropped", (getIntegerValue("dropped") + dropamount)), IntegerEntry("teamgift", (getIntegerValue("teamgift") + teamgift)), DeleteEntry((toBase58String(i.caller.bytes) + "_error")), Burn(token, burnamount), IntegerEntry("burnt", (getIntegerValue("burnt") + burnamount))]
8989 else [ScriptTransfer(callerAdress, dropamount, token), ScriptTransfer(teamAdress, teamgift, token), StringEntry(toBase58String(i.caller.bytes), result), IntegerEntry("dropped", (getIntegerValue("dropped") + dropamount)), IntegerEntry("teamgift", (getIntegerValue("teamgift") + teamgift)), DeleteEntry((toBase58String(i.caller.bytes) + "_error"))]
9090 else [StringEntry((toBase58String(i.caller.bytes) + "_error"), result)]
9191 }
9292 else throw("Strict value is not equal to itself.")
9393 }
9494
9595
9696
9797 @Callable(i)
9898 func buy () = {
9999 let currenttime = match blockInfoByHeight(height) {
100100 case block: BlockInfo =>
101101 block.timestamp
102102 case _ =>
103103 throw("Can't find block")
104104 }
105105 let balance = assetBalance(airdrop, token)
106106 let sellamount = (1000 * tokend)
107107 let price1 = (1 * 100000000)
108108 let price2 = (2 * 100000000)
109109 let callerAdress = Address(i.caller.bytes)
110110 let balanceok = if ((balance >= sellamount))
111111 then true
112112 else false
113113 let callerData = valueOrElse(getString(toBase58String(i.caller.bytes)), "")
114114 let callerReceived = if ((take(callerData, 8) == "received"))
115115 then true
116116 else false
117117 let callerBuylevel = if (if (callerReceived)
118118 then (size(split(callerData, "|")) == 1)
119119 else false)
120120 then 0
121121 else if (if (callerReceived)
122122 then (size(split(callerData, "|")) == 2)
123123 else false)
124124 then 1
125125 else 99
126126 let callerCanBuy = if (if (callerReceived)
127127 then if ((callerBuylevel == 0))
128128 then true
129129 else (callerBuylevel == 1)
130130 else false)
131131 then true
132132 else false
133133 let callerPrice = if ((callerBuylevel == 0))
134134 then price1
135135 else if ((callerBuylevel == 1))
136136 then price2
137137 else 0
138138 let pmtok = if ((size(i.payments) == 1))
139139 then if (if (!(isDefined(i.payments[0].assetId)))
140140 then (i.payments[0].amount >= callerPrice)
141141 else false)
142142 then true
143143 else false
144144 else false
145145 let mess = if (!(callerCanBuy))
146146 then "not prooved for buy"
147147 else ("" + (if (!(pmtok))
148148 then "not enough payment"
149149 else ("" + (if (!(balanceok))
150150 then "ballance empty "
151151 else ""))))
152152 let datarecs = split(callerData, "|")
153153 let newdata = if ((callerBuylevel == 0))
154154 then (datarecs[0] + "|bought1")
155155 else if ((callerBuylevel == 1))
156156 then (datarecs[0] + "|bought1|bought2")
157157 else ""
158158 let deal = if (if (if (balanceok)
159159 then callerCanBuy
160160 else false)
161161 then pmtok
162162 else false)
163163 then true
164164 else false
165165 if (deal)
166166 then [StringEntry(toBase58String(i.caller.bytes), newdata), ScriptTransfer(teamAdress, callerPrice, unit), ScriptTransfer(callerAdress, sellamount, token), DeleteEntry((toBase58String(i.caller.bytes) + "_error"))]
167167 else [StringEntry((toBase58String(i.caller.bytes) + "_error"), mess)]
168168 }
169169
170170

github/deemru/w8io/873ac7e 
49.74 ms