tx · 48LYiqMFYbLfhNgCVsvSwPgBqwbveoUJS7bUdn2oNpRt

3PCdEW3DErbZtMG3dVeA4h9wjhuGAUDoHus:  -0.01400000 Waves

2020.02.04 08:08 [1914519] smart account 3PCdEW3DErbZtMG3dVeA4h9wjhuGAUDoHus > SELF 0.00000000 Waves

{ "type": 13, "id": "48LYiqMFYbLfhNgCVsvSwPgBqwbveoUJS7bUdn2oNpRt", "fee": 1400000, "feeAssetId": null, "timestamp": 1580792841550, "version": 1, "sender": "3PCdEW3DErbZtMG3dVeA4h9wjhuGAUDoHus", "senderPublicKey": "62aiMX87eXVijMwvZWzcYq1CPoKyJXsN6T3noqSFog1M", "proofs": [ "E6gE4Ut17Mzhg3bBmaNPg2hJmvD2dRAGpTSmgtEHLHpP9J2USM5rZ1kPh4svmVyctivTYWtowi7MghpDNEiNJNf", "2YvJ5USL48omQTb2mhQ1SuPM6USoM5jzjUX9t3M4Ufwit8zp1DgBb8qfrL5b3wNUz2PJ5jzRSSVWwJHeuzR9Y8LY" ], "script": "base64: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", "chainId": 87, "height": 1914519, "spentComplexity": 0 } View: original | compacted Prev: 7xdV9H1CKDZpXifmWVmf6u9GFtvv8LxANvjYqxGEiMfS Next: 12m51eMdnLNy83CM7t1kKAyzMV17hPNwviJY2sQbTEXk Diff:
OldNewDifferences
148148 let oldQuoteBalance = getIntegerValue(this, "balance_quote")
149149 let baseBalance = assetBalance(this, amountAssetId)
150150 let quoteBalance = assetBalance(this, priceAssetId)
151- let maxAmount = ((quoteBalance - (if (isDefined(priceAssetId))
152- then 0
153- else 500000)) - fraction(oldQuoteBalance, oldBaseBalance, baseBalance))
151+ let maxAmount = (quoteBalance - fraction(oldQuoteBalance, oldBaseBalance, baseBalance))
154152 if ((0 >= amount))
155153 then throw("Zero or negative rewards are not allowed.")
156154 else if ((amount > maxAmount))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let priceAssetId = Unit()
55
66 let amountAssetId = base58'EYz8Zvs62D4d7F5ZgXHCWuzuFaZg63FYnfVQrTWQoLSK'
77
88 let daoAddress = "3PLmA3WSdGbeX3FdyWyyLyWvZoffnMrND7D"
99
1010 let voteAddress = "3PGEh2VpbpYyetTUTCY6bRxv2mpMwZoz5sP"
1111
1212 let voteFunction = "vote"
1313
1414 let managerPubKey = base58'EaKK5PAFUkgtnF7xcyABUzi8YBQADmUDnPzQBHjCTAKT'
1515
1616 let investorPubKeys = [base58'66BGZcJJ9yAWcHKZZeiuA71wAvC5GWTmdQWArjt1g6jC']
1717
1818 let avgMonth = (2629746 * 1000)
1919
2020 let lastBlockTime = lastBlock.timestamp
2121
2222 let monthOpenTime = ((lastBlockTime / avgMonth) * avgMonth)
2323
2424 let quarterOpenTime = ((lastBlockTime / (3 * avgMonth)) * (3 * avgMonth))
2525
2626 func isFiatAsset (assetId) = if (if (if (if ((assetId == base58'Ft8X1v1LTa1ABafufpaCWyVj8KkaxUWE6xBhW6sNFJck'))
2727 then true
2828 else (assetId == base58'Gtb1WRznfchDnTh37ezoDTJ4wcoKaRsKqKjJjy7nm2zU'))
2929 then true
3030 else (assetId == base58'2mX5DzVKWrAJw8iwdJnV2qtoeVG9h5nTDpTqC1wb1WEN'))
3131 then true
3232 else (assetId == base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ'))
3333 then true
3434 else (assetId == base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p')
3535
3636
3737 func toDateTimeString (timestamp) = {
3838 let sp = " "
3939 let zz = " UTC"
4040 let norm = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365]
4141 let leap = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366]
4242 if (if ((-12212553600000 > timestamp))
4343 then true
4444 else (timestamp > 253402300799999))
4545 then throw("ISO 8601: Only years from 1583 to 9999 are permitted.")
4646 else {
4747 let epoch = (((((1969 * 365) + (1969 / 4)) - (1969 / 100)) + (1969 / 400)) + 366)
4848 let ce = (timestamp + ((epoch * 86400) * 1000))
4949 let date = {
5050 let yy = ((ce / (31556952 * 1000)) - 1)
5151 let dty = (((((yy * 365) + (yy / 4)) - (yy / 100)) + (yy / 400)) + 366)
5252 let ytd = ((ce / (86400 * 1000)) - dty)
5353 let months = if (if (if ((((yy + 1) % 4) == 0))
5454 then (((yy + 1) % 100) != 0)
5555 else false)
5656 then true
5757 else (((yy + 1) % 400) == 0))
5858 then leap
5959 else norm
6060 let mm = if ((ytd >= months[12]))
6161 then throw()
6262 else if ((ytd >= months[11]))
6363 then 11
6464 else if ((ytd >= months[10]))
6565 then 10
6666 else if ((ytd >= months[9]))
6767 then 9
6868 else if ((ytd >= months[8]))
6969 then 8
7070 else if ((ytd >= months[7]))
7171 then 7
7272 else if ((ytd >= months[6]))
7373 then 6
7474 else if ((ytd >= months[5]))
7575 then 5
7676 else if ((ytd >= months[4]))
7777 then 4
7878 else if ((ytd >= months[3]))
7979 then 3
8080 else if ((ytd >= months[2]))
8181 then 2
8282 else if ((ytd >= months[1]))
8383 then 1
8484 else if ((ytd >= months[0]))
8585 then 0
8686 else throw()
8787 let dd = (ytd - months[mm])
8888 ((((toString((yy + 1)) + "-") + drop(toString((mm + 101)), 1)) + "-") + drop(toString((dd + 101)), 1))
8989 }
9090 let time = {
9191 let rd = (ce % (86400 * 1000))
9292 let hh = (rd / (3600 * 1000))
9393 let rh = (rd % (3600 * 1000))
9494 let mm = (rh / (60 * 1000))
9595 let rm = (rh % (60 * 1000))
9696 let ss = (rm / 1000)
9797 let ms = (rm % 1000)
9898 ((((drop(toString((hh + 100)), 1) + ":") + drop(toString((mm + 100)), 1)) + ":") + drop(toString((ss + 100)), 1))
9999 }
100100 (((date + sp) + time) + zz)
101101 }
102102 }
103103
104104
105105 @Callable(inv)
106106 func setBalance () = {
107107 let isActive = match getBoolean(this, "dapp_status") {
108108 case x: Boolean =>
109109 x
110110 case _ =>
111111 false
112112 }
113113 if (isActive)
114114 then throw("The account is already initialized for trading.")
115115 else if ((inv.callerPublicKey != managerPubKey))
116116 then throw("Only the administrator can adjust the balance!")
117117 else if (isDefined(inv.payment))
118118 then throw("Please do not attach payment when setting balance.")
119119 else {
120120 let date = toDateTimeString(lastBlockTime)
121121 let lastUpdate = (((take(date, 10) + "T") + take(drop(date, 11), 8)) + "Z")
122122 let baseBalance = assetBalance(this, amountAssetId)
123123 let quoteBalance = assetBalance(this, priceAssetId)
124124 WriteSet([DataEntry("balance_base", baseBalance), DataEntry("balance_quote", quoteBalance), DataEntry("dapp_status", true), DataEntry("last_update", lastUpdate)])
125125 }
126126 }
127127
128128
129129
130130 @Callable(inv)
131131 func sendReward (amount) = {
132132 let isActive = match getBoolean(this, "dapp_status") {
133133 case x: Boolean =>
134134 x
135135 case _ =>
136136 false
137137 }
138138 if (if (!(isActive))
139139 then true
140140 else (lastBlockTime >= (monthOpenTime + (86400 * 1000))))
141141 then throw((("The next reward will be sent after " + toDateTimeString((monthOpenTime + avgMonth))) + "."))
142142 else if ((inv.callerPublicKey != managerPubKey))
143143 then throw("Only administrator can send rewards!")
144144 else if (isDefined(inv.payment))
145145 then throw("Please do not attach payment when sending reward.")
146146 else {
147147 let oldBaseBalance = getIntegerValue(this, "balance_base")
148148 let oldQuoteBalance = getIntegerValue(this, "balance_quote")
149149 let baseBalance = assetBalance(this, amountAssetId)
150150 let quoteBalance = assetBalance(this, priceAssetId)
151- let maxAmount = ((quoteBalance - (if (isDefined(priceAssetId))
152- then 0
153- else 500000)) - fraction(oldQuoteBalance, oldBaseBalance, baseBalance))
151+ let maxAmount = (quoteBalance - fraction(oldQuoteBalance, oldBaseBalance, baseBalance))
154152 if ((0 >= amount))
155153 then throw("Zero or negative rewards are not allowed.")
156154 else if ((amount > maxAmount))
157155 then throw((("The maximum allowed amount is " + toString(maxAmount)) + "."))
158156 else {
159157 let date = toDateTimeString(lastBlockTime)
160158 let lastUpdate = (((take(date, 10) + "T") + take(drop(date, 11), 8)) + "Z")
161159 let daoRecipient = extract(addressFromString(daoAddress))
162160 ScriptResult(WriteSet([DataEntry("dapp_status", false), DataEntry("last_update", lastUpdate)]), TransferSet([ScriptTransfer(daoRecipient, amount, priceAssetId)]))
163161 }
164162 }
165163 }
166164
167165
168166 @Verifier(tx)
169167 func verify () = {
170168 let rightSignature = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
171169 match tx {
172170 case o: Order =>
173171 let rightOrder = if (if (if (if ((o.matcherFeeAssetId == priceAssetId))
174172 then (o.assetPair.priceAsset == priceAssetId)
175173 else false)
176174 then (o.assetPair.amountAsset == amountAssetId)
177175 else false)
178176 then true
179177 else if (if (if ((o.orderType == Buy))
180178 then !(isDefined(priceAssetId))
181179 else false)
182180 then !(isDefined(o.matcherFeeAssetId))
183181 else false)
184182 then !(isDefined(o.assetPair.amountAsset))
185183 else false)
186184 then true
187185 else if (if (if ((o.orderType == Sell))
188186 then !(isDefined(o.matcherFeeAssetId))
189187 else false)
190188 then if (!(isDefined(o.assetPair.priceAsset)))
191189 then true
192190 else !(isDefined(o.assetPair.amountAsset))
193191 else false)
194192 then !(isFiatAsset(o.assetPair.priceAsset))
195193 else false
196194 if (rightOrder)
197195 then rightSignature
198196 else false
199197 case l: LeaseCancelTransaction|LeaseTransaction =>
200198 rightSignature
201199 case i: InvokeScriptTransaction =>
202200 let recipient = addressFromRecipient(i.dApp)
203201 let rightInvoke = if ((i.function == voteFunction))
204202 then (recipient == addressFromString(voteAddress))
205203 else false
206204 if (rightInvoke)
207205 then rightSignature
208206 else false
209207 case t: TransferTransaction =>
210208 let recipient = addressFromRecipient(t.recipient)
211209 let rightTransfer = if (if (((quarterOpenTime + (86400 * 1000)) > lastBlockTime))
212210 then if ((t.assetId == priceAssetId))
213211 then true
214212 else (t.assetId == amountAssetId)
215213 else false)
216214 then (recipient == addressFromString(daoAddress))
217215 else false
218216 if (rightTransfer)
219217 then rightSignature
220218 else false
221219 case s: SetScriptTransaction =>
222220 let keys = s.senderPublicKey :: investorPubKeys
223221 let rightSetScript = ((if (sigVerify(s.bodyBytes, s.proofs[1], keys[1]))
224222 then 1
225223 else 0) > (size(investorPubKeys) / 2))
226224 if (rightSetScript)
227225 then rightSignature
228226 else false
229227 case _ =>
230228 false
231229 }
232230 }
233231

github/deemru/w8io/3ef1775 
48.94 ms