tx · BieAafGQFz8YETNncydwoyz3jA2P4fepp5WCYzqnQaos

3N7Gg64FJ3ESaqn41qu1ete7zmzbmoP1AAV:  -0.01000000 Waves

2021.12.12 09:00 [1830640] smart account 3N7Gg64FJ3ESaqn41qu1ete7zmzbmoP1AAV > SELF 0.00000000 Waves

{ "type": 13, "id": "BieAafGQFz8YETNncydwoyz3jA2P4fepp5WCYzqnQaos", "fee": 1000000, "feeAssetId": null, "timestamp": 1639288833102, "version": 2, "chainId": 84, "sender": "3N7Gg64FJ3ESaqn41qu1ete7zmzbmoP1AAV", "senderPublicKey": "5amLtMwixiEesBDKPy9dkFWntG2fNxhTs5n69JbQE9F7", "proofs": [ "2h9xTMmPfnQiZxAX6AChvR6bh3AKfttHfZpUviyjqw5mRye3L1ofqCKcZmjdo1sP1arP6UZfmrtXBX4pdpkRXPMT" ], "script": "base64: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", "height": 1830640, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 52qJsLn7sJW8jo366ZaXQqvRfAuXdYHd29P3DcD871St Next: FahA1ajcuPw4vJUJyqEyHzpCgC1tQUzF7v53FJHnBoKw Diff:
OldNewDifferences
120120 else false)
121121 then 1
122122 else 2
123+ let callerCanBuy = if (if (callerReceived)
124+ then if ((callerBuylevel == 0))
125+ then true
126+ else (callerBuylevel == 1)
127+ else false)
128+ then true
129+ else false
123130 let callerPrice = if ((callerBuylevel == 0))
124131 then price1
125132 else if ((callerBuylevel == 1))
132139 then true
133140 else false
134141 else false
135- let mess = if (!(callerReceived))
142+ let mess = if (!(callerCanBuy))
136143 then "not prooved for buy"
137144 else ("" + (if (!(pmtok))
138145 then "not enough payment"
141148 else ""))))
142149 let datarecs = split(callerData, "|")
143150 let newdata = if (callerReceived)
144- then ((toString(callerBuylevel) + " ") + datarecs[0])
151+ then datarecs[0]
145152 else ("" + (if ((callerBuylevel == 0))
146153 then "|bought1"
147154 else ("" + (if ((callerBuylevel == 1))
148155 then "|bought1|bought2"
149156 else ""))))
150157 let deal = if (if (if (balanceok)
151- then callerReceived
158+ then callerCanBuy
152159 else false)
153160 then pmtok
154161 else false)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let token = base58'GZc7eKnq2KJwqetRmUzSqr2ZaCGseDZufSocz83sUNoo'
55
66 let airdrop = Address(base58'3N7Gg64FJ3ESaqn41qu1ete7zmzbmoP1AAV')
77
88 let teamAdress = Address(base58'3MovsLjXpJr9HD2vBqmAf7Gze6jwuRxX1fX')
99
1010 @Callable(i)
1111 func reset () = [DeleteEntry(toBase58String(i.caller.bytes)), IntegerEntry("burnt", 0), IntegerEntry("dropped", 0), IntegerEntry("teamgift", 0), IntegerEntry("burningstage", 0)]
1212
1313
1414
1515 @Callable(i)
1616 func call (id58) = {
1717 let currenttime = match blockInfoByHeight(height) {
1818 case block: BlockInfo =>
1919 block.timestamp
2020 case _ =>
2121 throw("Can't find block")
2222 }
2323 let balance = assetBalance(airdrop, token)
2424 let burnamount = match getInteger("burningstage") {
2525 case a: Int =>
2626 if (if ((getIntegerValue("burningstage") == 0))
2727 then (currenttime > 1639131654752)
2828 else false)
2929 then fraction(balance, 10, 100)
3030 else 0
3131 case _ =>
3232 throw("no burningstage")
3333 }
3434 let dropamount = 1000
3535 let teamgift = 10
3636 let trid = fromBase58String(id58)
3737 let callerAdress = Address(i.caller.bytes)
3838 let deadline = 1639230864311
3939 let isenough = if ((balance > dropamount))
4040 then true
4141 else throw("not enough")
4242 if ((isenough == isenough))
4343 then {
4444 let trexists = match transferTransactionById(trid) {
4545 case ttx: TransferTransaction =>
4646 true
4747 case _ =>
4848 false
4949 }
5050 let trtime = match transferTransactionById(trid) {
5151 case ttx: TransferTransaction =>
5252 ttx.timestamp
5353 case _ =>
5454 9999999999999
5555 }
5656 let trsender = match transferTransactionById(trid) {
5757 case ttx: TransferTransaction =>
5858 ttx.sender
5959 case _ =>
6060 airdrop
6161 }
6262 let received = if ((take(valueOrElse(getString(toBase58String(i.caller.bytes)), ""), 8) == "received"))
6363 then true
6464 else false
6565 let isprooved = if (if (if ((trtime > deadline))
6666 then true
6767 else (callerAdress != trsender))
6868 then true
6969 else received)
7070 then false
7171 else true
7272 let result = if (trexists)
7373 then if ((trtime > deadline))
7474 then ("transaction is out of time range: " + toString(trtime))
7575 else ("" + (if ((callerAdress != trsender))
7676 then ((("it is incorrect sender: " + toString(callerAdress)) + " / ") + toString(trsender))
7777 else ("" + (if (received)
7878 then getStringValue(toBase58String(i.caller.bytes))
7979 else ("" + (if (isprooved)
8080 then ("received in " + toString(currenttime))
8181 else ""))))))
8282 else "cant find transaction"
8383 if (isprooved)
8484 then if ((burnamount > 0))
8585 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))]
8686 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))]
8787 else [StringEntry(toBase58String(i.caller.bytes), result)]
8888 }
8989 else throw("Strict value is not equal to itself.")
9090 }
9191
9292
9393
9494 @Callable(i)
9595 func buy () = {
9696 let currenttime = match blockInfoByHeight(height) {
9797 case block: BlockInfo =>
9898 block.timestamp
9999 case _ =>
100100 throw("Can't find block")
101101 }
102102 let balance = assetBalance(airdrop, token)
103103 let sellamount = 1000
104104 let price1 = (1 * 100000000)
105105 let price2 = (2 * 100000000)
106106 let callerAdress = Address(i.caller.bytes)
107107 let balanceok = if ((balance >= sellamount))
108108 then true
109109 else false
110110 let callerData = valueOrElse(getString(toBase58String(i.caller.bytes)), "")
111111 let callerReceived = if ((take(callerData, 8) == "received"))
112112 then true
113113 else false
114114 let callerBuylevel = if (if (callerReceived)
115115 then (size(split(callerData, "|")) == 1)
116116 else false)
117117 then 0
118118 else if (if (callerReceived)
119119 then (size(split(callerData, "|")) == 2)
120120 else false)
121121 then 1
122122 else 2
123+ let callerCanBuy = if (if (callerReceived)
124+ then if ((callerBuylevel == 0))
125+ then true
126+ else (callerBuylevel == 1)
127+ else false)
128+ then true
129+ else false
123130 let callerPrice = if ((callerBuylevel == 0))
124131 then price1
125132 else if ((callerBuylevel == 1))
126133 then price2
127134 else 0
128135 let pmtok = if ((size(i.payments) == 1))
129136 then if (if (!(isDefined(i.payments[0].assetId)))
130137 then (i.payments[0].amount >= callerPrice)
131138 else false)
132139 then true
133140 else false
134141 else false
135- let mess = if (!(callerReceived))
142+ let mess = if (!(callerCanBuy))
136143 then "not prooved for buy"
137144 else ("" + (if (!(pmtok))
138145 then "not enough payment"
139146 else ("" + (if (!(balanceok))
140147 then "ballance empty "
141148 else ""))))
142149 let datarecs = split(callerData, "|")
143150 let newdata = if (callerReceived)
144- then ((toString(callerBuylevel) + " ") + datarecs[0])
151+ then datarecs[0]
145152 else ("" + (if ((callerBuylevel == 0))
146153 then "|bought1"
147154 else ("" + (if ((callerBuylevel == 1))
148155 then "|bought1|bought2"
149156 else ""))))
150157 let deal = if (if (if (balanceok)
151- then callerReceived
158+ then callerCanBuy
152159 else false)
153160 then pmtok
154161 else false)
155162 then true
156163 else false
157164 if (deal)
158165 then [StringEntry(toBase58String(i.caller.bytes), newdata), ScriptTransfer(teamAdress, callerPrice, unit), ScriptTransfer(callerAdress, sellamount, token)]
159166 else [StringEntry((toBase58String(i.caller.bytes) + "_buy"), mess)]
160167 }
161168
162169

github/deemru/w8io/026f985 
30.09 ms