tx · H36j4z1WCLEZafwLLMLhDXRkzUSRgiw9ktpJjUGe8ZBt

3MyDGEoKp1gF4LSRknk9vSuDEyrwuYXcQEQ:  -0.01000000 Waves

2022.06.21 12:33 [2105978] smart account 3MyDGEoKp1gF4LSRknk9vSuDEyrwuYXcQEQ > SELF 0.00000000 Waves

{ "type": 13, "id": "H36j4z1WCLEZafwLLMLhDXRkzUSRgiw9ktpJjUGe8ZBt", "fee": 1000000, "feeAssetId": null, "timestamp": 1655804059619, "version": 2, "chainId": 84, "sender": "3MyDGEoKp1gF4LSRknk9vSuDEyrwuYXcQEQ", "senderPublicKey": "BhRnrwd6wVHSkSaWXCjQRjaoXcpCdUW2hkJD6V7uVDxN", "proofs": [ "31Hie43Zjfkp3qiRcD3oomy2TSnBLG7YXY88zRqh8v5hYYH44Jkc7nBGVNgGkfNHjauqCE2k6y4mdajBDAEQQsRo" ], "script": "base64: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c3RyaWJ1dGVOYXRpb25QYXlSZXdhcmRzAAAAAQAAAA5hc3NldEJ1aWxkQ29zdAMJAQAAAAEhAAAAAQkBAAAACmNoZWNrQWRtaW4AAAABCAUAAAABaQAAAAZjYWxsZXIJAAACAAAAAQIAAAAweW91IGFyZSBub3QgYXV0aG9yaXplZCB0byBwZXJmb3JtIHRoaXMgb3BlcmF0aW9uBAAAAA1Ub0FkbWluV2FsbGV0CQAAaQAAAAIJAABoAAAAAgUAAAAOYXNzZXRCdWlsZENvc3QAAAAAAAAAAAUAAAAAAAAAAGQEAAAAE1RvR2FtZVJld2FyZHNXYWxsZXQJAABpAAAAAgkAAGgAAAACBQAAAA5hc3NldEJ1aWxkQ29zdAAAAAAAAAAACgAAAAAAAAAAZAQAAAAWVG9TdGFraW5nUmV3YXJkc1dhbGxldAkAAGkAAAACCQAAaAAAAAIFAAAADmFzc2V0QnVpbGRDb3N0AAAAAAAAAABBAAAAAAAAAABkCQAFFAAAAAIJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAALYWRtaW5XYWxsZXQFAAAADVRvQWRtaW5XYWxsZXQFAAAACnNoaW55d2dnaWQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAAWZGFpbHlHYW1lUmV3YXJkc1dhbGxldAUAAAATVG9HYW1lUmV3YXJkc1dhbGxldAUAAAAKc2hpbnl3Z2dpZAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAABlkYWlseVN0YWtpbmdSZXdhcmRzV2FsbGV0BQAAABZUb1N0YWtpbmdSZXdhcmRzV2FsbGV0BQAAAApzaGlueXdnZ2lkBQAAAANuaWwFAAAADmFzc2V0QnVpbGRDb3N0AAAAAKgFvVU=", "height": 2105978, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3FSovPz82KDqBkbYm3A9WqUBLqnL8MWdasfTPboGtioX Next: DxuVsDH6QDqA6gQ6KZk8Wb8mT3fkZhksscK9YHbp1JNk Diff:
OldNewDifferences
1919
2020 let dailyStakingRewardsWallet = addressFromStringValue("3Mv3mr3uNXdpgkVPApbGEJjMQXqau37DY5i")
2121
22-func checkAdmin (caller) = if (if (if (if ((caller == adminWallet))
22+func checkAdmin (caller) = if (if (if (if (if ((caller == adminWallet))
2323 then true
2424 else (caller == this))
2525 then true
2727 then true
2828 else (caller.bytes == treasuryAddress))
2929 then true
30- else (caller.bytes == marketplaceAddress)
30+ else (caller.bytes == marketplaceAddress))
31+ then true
32+ else (caller.bytes == nationsAddress)
3133
3234
3335 func tryGetInteger (key) = match getInteger(this, key) {
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let shinywggid = base58'AFQS5E4ELtxex3iANtWtUU2V2oWJZSo8VVnK8z3VFmqf'
55
66 let treasuryAddress = base58'3MyDGEoKp1gF4LSRknk9vSuDEyrwuYXcQEQ'
77
88 let assetsAddress = base58'3N8WDKbqGox5Eky326PHHT7rUyrby5MXdmb'
99
1010 let marketplaceAddress = base58'3Mra7mjPipcQd5sJaRmXK8xgS4scb8gPF4A'
1111
1212 let configurationAddress = base58'3N9tj3b2djcaZozn97VkYchL9S1i6cdEbC1'
1313
1414 let nationsAddress = base58'3MvyzDtzWWV5MZ1GP8JfQhhQqiGU4Nbifdy'
1515
1616 let adminWallet = addressFromStringValue("3MpNtiPSRSq6NnaQYk38BfWSzZcgAYTyrQ9")
1717
1818 let dailyGameRewardsWallet = addressFromStringValue("3MuSrXTTiwo9bdoD6FeaBpMUYMiU5saDv2U")
1919
2020 let dailyStakingRewardsWallet = addressFromStringValue("3Mv3mr3uNXdpgkVPApbGEJjMQXqau37DY5i")
2121
22-func checkAdmin (caller) = if (if (if (if ((caller == adminWallet))
22+func checkAdmin (caller) = if (if (if (if (if ((caller == adminWallet))
2323 then true
2424 else (caller == this))
2525 then true
2626 else (caller.bytes == assetsAddress))
2727 then true
2828 else (caller.bytes == treasuryAddress))
2929 then true
30- else (caller.bytes == marketplaceAddress)
30+ else (caller.bytes == marketplaceAddress))
31+ then true
32+ else (caller.bytes == nationsAddress)
3133
3234
3335 func tryGetInteger (key) = match getInteger(this, key) {
3436 case b: Int =>
3537 b
3638 case _ =>
3739 0
3840 }
3941
4042
4143 func tryGetBoolean (key) = match getBoolean(this, key) {
4244 case b: Boolean =>
4345 b
4446 case _ =>
4547 false
4648 }
4749
4850
4951 func tryGetString (key) = match getString(this, key) {
5052 case b: String =>
5153 b
5254 case _ =>
5355 ""
5456 }
5557
5658
5759 func getALKey (Name,Level) = ((Name + "_lvl") + toString(Level))
5860
5961
6062 func confTryGetInteger (key) = match getInteger(Address(configurationAddress), key) {
6163 case b: Int =>
6264 b
6365 case _ =>
6466 0
6567 }
6668
6769
6870 func confTryGetString (key) = match getString(Address(configurationAddress), key) {
6971 case b: String =>
7072 b
7173 case _ =>
7274 ""
7375 }
7476
7577
7678 func confTryGetBoolean (key) = match getBoolean(Address(configurationAddress), key) {
7779 case b: Boolean =>
7880 b
7981 case _ =>
8082 false
8183 }
8284
8385
8486 func getTreasuryKey (nationid) = (nationid + "_Treasury")
8587
8688
8789 func treasuryTryGetInteger (key) = match getInteger(Address(treasuryAddress), key) {
8890 case b: Int =>
8991 b
9092 case _ =>
9193 0
9294 }
9395
9496
9597 func nationsTryGetInteger (key) = match getInteger(Address(nationsAddress), key) {
9698 case b: Int =>
9799 b
98100 case _ =>
99101 0
100102 }
101103
102104
103105 func nationsTryGetBoolean (key) = match getBoolean(Address(nationsAddress), key) {
104106 case b: Boolean =>
105107 b
106108 case _ =>
107109 false
108110 }
109111
110112
111113 func nationsTryGetString (key) = match getString(Address(nationsAddress), key) {
112114 case b: String =>
113115 b
114116 case _ =>
115117 ""
116118 }
117119
118120
119121 func getAssetOwnerKeyString (assetId) = (assetId + "_Owner")
120122
121123
122124 func internalDeposit (addressStr,amountIn) = {
123125 let amount = tryGetInteger((addressStr + "_Deposit"))
124126 [IntegerEntry((addressStr + "_Deposit"), (amount + amountIn))]
125127 }
126128
127129
128130 func internalPay (addressStr,amount) = {
129131 let deposited = tryGetInteger((addressStr + "_Deposit"))
130132 if ((0 > (deposited - amount)))
131133 then throw("Not enough deposit.")
132134 else if (((deposited - amount) == 0))
133135 then [DeleteEntry((addressStr + "_Deposit"))]
134136 else [IntegerEntry((addressStr + "_Deposit"), (deposited - amount))]
135137 }
136138
137139
138140 func internalReserve (addressStr,amount) = {
139141 let reservedAmount = tryGetInteger((addressStr + "_Reserved"))
140142 IntegerEntry((addressStr + "_Reserved"), (reservedAmount + amount))
141143 }
142144
143145
144146 func internalTransfer (fromAddress,toAddress,amount) = (internalPay(fromAddress, amount) ++ internalDeposit(toAddress, amount))
145147
146148
147149 func insertRedeem (accum,nextValue) = {
148150 let val = split(nextValue, "_")
149151 let addr = val[0]
150152 let amnt = val[1]
151153 (accum :+ internalReserve(addr, parseIntValue(amnt)))
152154 }
153155
154156
155157 @Callable(i)
156158 func Deposit () = {
157159 let addressStr = toString(i.originCaller)
158160 let pmt = i.payments[0]
159161 if ((pmt == pmt))
160162 then {
161163 let amountIn = value(i.payments[0].amount)
162164 if ((amountIn == amountIn))
163165 then {
164166 let assetIn = pmt.assetId
165167 if ((assetIn == assetIn))
166168 then if ((assetIn != shinywggid))
167169 then throw("Only $HEG payments allowed")
168170 else {
169171 let amount = tryGetInteger((addressStr + "_Deposit"))
170172 $Tuple2(internalDeposit(addressStr, (amount + amountIn)), (amount + amountIn))
171173 }
172174 else throw("Strict value is not equal to itself.")
173175 }
174176 else throw("Strict value is not equal to itself.")
175177 }
176178 else throw("Strict value is not equal to itself.")
177179 }
178180
179181
180182
181183 @Callable(i)
182184 func NoPaymentDeposit (addressStr,amountIn) = if (!(checkAdmin(i.caller)))
183185 then throw("")
184186 else {
185187 let amount = tryGetInteger((addressStr + "_Deposit"))
186188 $Tuple2(internalDeposit(addressStr, (amount + amountIn)), (amount + amountIn))
187189 }
188190
189191
190192
191193 @Callable(i)
192194 func Pay (addressStr,amount) = if (!(checkAdmin(i.caller)))
193195 then throw("you are not authorized to perform this operation")
194196 else $Tuple2(internalPay(addressStr, amount), amount)
195197
196198
197199
198200 @Callable(i)
199201 func CallerPay (amount) = {
200202 let callerAddr = toString(i.caller)
201203 internalPay(callerAddr, amount)
202204 }
203205
204206
205207
206208 @Callable(i)
207209 func transferCoins (fromAddress,toAddress,amount) = if (if ((i.caller != adminWallet))
208210 then (i.caller.bytes != assetsAddress)
209211 else false)
210212 then throw("you are not authorized to perform this operation")
211213 else $Tuple2(internalTransfer(fromAddress, toAddress, amount), amount)
212214
213215
214216
215217 @Callable(i)
216218 func callerTransferCoins (toAddress,amount) = internalTransfer(toString(i.caller), toAddress, amount)
217219
218220
219221
220222 @Callable(i)
221223 func arbitraryAddCoins (toAddress,amount) = if (!(checkAdmin(i.caller)))
222224 then throw("you are not authorized to perform this operation")
223225 else $Tuple2(internalDeposit(toAddress, amount), amount)
224226
225227
226228
227229 @Callable(i)
228230 func Redeem () = {
229231 let addressStr = toString(i.caller)
230232 let reservedAmount = tryGetInteger((addressStr + "_Reserved"))
231233 if ((reservedAmount == 0))
232234 then throw("Nothing to redeem")
233235 else [DeleteEntry((addressStr + "_Reserved")), ScriptTransfer(i.caller, reservedAmount, shinywggid)]
234236 }
235237
236238
237239
238240 @Callable(i)
239241 func addReward (addressStr,amount) = if (!(checkAdmin(i.caller)))
240242 then throw("you are not authorized to perform this operation")
241243 else {
242244 let reservedAmount = tryGetInteger((addressStr + "_Reserved"))
243245 $Tuple2([IntegerEntry((addressStr + "_Reserved"), (reservedAmount + amount))], (reservedAmount + amount))
244246 }
245247
246248
247249
248250 @Callable(i)
249251 func addRewards (addr) = if (!(checkAdmin(i.caller)))
250252 then throw("you are not authorized to perform this operation")
251253 else {
252254 let $l = addr
253255 let $s = size($l)
254256 let $acc0 = nil
255257 func $f0_1 ($a,$i) = if (($i >= $s))
256258 then $a
257259 else insertRedeem($a, $l[$i])
258260
259261 func $f0_2 ($a,$i) = if (($i >= $s))
260262 then $a
261263 else throw("List size exceeds 30")
262264
263265 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30)
264266 }
265267
266268
267269
268270 @Callable(i)
269271 func increaseNationWallet (NationKey,amount) = if (!(checkAdmin(i.caller)))
270272 then throw("you are not authorized to perform this operation")
271273 else {
272274 let key = getTreasuryKey(NationKey)
273275 let reservedAmount = tryGetInteger(key)
274276 $Tuple2([IntegerEntry(key, (reservedAmount + amount))], (reservedAmount + amount))
275277 }
276278
277279
278280
279281 @Callable(i)
280282 func decreaseNationWallet (NationKey,amount) = if (!(checkAdmin(i.caller)))
281283 then throw("you are not authorized to perform this operation")
282284 else {
283285 let key = getTreasuryKey(NationKey)
284286 let reservedAmount = tryGetInteger(key)
285287 $Tuple2([IntegerEntry(key, (reservedAmount - amount))], amount)
286288 }
287289
288290
289291
290292 @Callable(i)
291293 func adminTransfer (toaddr,amount) = if (!(checkAdmin(i.caller)))
292294 then throw("you are not authorized to perform this operation")
293295 else $Tuple2([ScriptTransfer(addressFromStringValue(toaddr), amount, shinywggid)], amount)
294296
295297
296298
297299 @Callable(i)
298300 func distributeNationPayRewards (assetBuildCost) = if (!(checkAdmin(i.caller)))
299301 then throw("you are not authorized to perform this operation")
300302 else {
301303 let ToAdminWallet = ((assetBuildCost * 5) / 100)
302304 let ToGameRewardsWallet = ((assetBuildCost * 10) / 100)
303305 let ToStakingRewardsWallet = ((assetBuildCost * 65) / 100)
304306 $Tuple2([ScriptTransfer(adminWallet, ToAdminWallet, shinywggid), ScriptTransfer(dailyGameRewardsWallet, ToGameRewardsWallet, shinywggid), ScriptTransfer(dailyStakingRewardsWallet, ToStakingRewardsWallet, shinywggid)], assetBuildCost)
305307 }
306308
307309

github/deemru/w8io/169f3d6 
50.09 ms