tx · DZVd4ggu1TiyRX38qv6o3wgMm1tvWGSqQFSFgzQZeyom

3MyDGEoKp1gF4LSRknk9vSuDEyrwuYXcQEQ:  -0.01000000 Waves

2022.09.07 12:29 [2218509] smart account 3MyDGEoKp1gF4LSRknk9vSuDEyrwuYXcQEQ > SELF 0.00000000 Waves

{ "type": 13, "id": "DZVd4ggu1TiyRX38qv6o3wgMm1tvWGSqQFSFgzQZeyom", "fee": 1000000, "feeAssetId": null, "timestamp": 1662543044710, "version": 2, "chainId": 84, "sender": "3MyDGEoKp1gF4LSRknk9vSuDEyrwuYXcQEQ", "senderPublicKey": "BhRnrwd6wVHSkSaWXCjQRjaoXcpCdUW2hkJD6V7uVDxN", "proofs": [ "64ckR7AnCATxG3r1mn7SSH1suiFrvDjGhSpFZRLkamkDz6vNqsSNhye1FdtQJ613uUG4otWp2SqQE5BXk2oxqcCn" ], "script": "base64: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IHBlcmZvcm0gdGhpcyBvcGVyYXRpb24JAAUUAAAAAgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAAZ0b2FkZHIFAAAABmFtb3VudAUAAAAKc2hpbnl3Z2dpZAUAAAADbmlsBQAAAAZhbW91bnQAAAABaQEAAAAaZGlzdHJpYnV0ZU5hdGlvblBheVJld2FyZHMAAAABAAAADmFzc2V0QnVpbGRDb3N0AwkBAAAAASEAAAABCQEAAAAKY2hlY2tBZG1pbgAAAAEIBQAAAAFpAAAABmNhbGxlcgkAAAIAAAABAgAAADB5b3UgYXJlIG5vdCBhdXRob3JpemVkIHRvIHBlcmZvcm0gdGhpcyBvcGVyYXRpb24EAAAADVRvQWRtaW5XYWxsZXQJAABpAAAAAgkAAGgAAAACBQAAAA5hc3NldEJ1aWxkQ29zdAAAAAAAAAAABQAAAAAAAAAAZAQAAAATVG9HYW1lUmV3YXJkc1dhbGxldAkAAGkAAAACCQAAaAAAAAIFAAAADmFzc2V0QnVpbGRDb3N0AAAAAAAAAAAKAAAAAAAAAABkBAAAABZUb1N0YWtpbmdSZXdhcmRzV2FsbGV0CQAAaQAAAAIJAABoAAAAAgUAAAAOYXNzZXRCdWlsZENvc3QAAAAAAAAAAEEAAAAAAAAAAGQJAAUUAAAAAgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAAthZG1pbldhbGxldAUAAAANVG9BZG1pbldhbGxldAUAAAAKc2hpbnl3Z2dpZAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAABZkYWlseUdhbWVSZXdhcmRzV2FsbGV0BQAAABNUb0dhbWVSZXdhcmRzV2FsbGV0BQAAAApzaGlueXdnZ2lkCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAGWRhaWx5U3Rha2luZ1Jld2FyZHNXYWxsZXQFAAAAFlRvU3Rha2luZ1Jld2FyZHNXYWxsZXQFAAAACnNoaW55d2dnaWQFAAAAA25pbAUAAAAOYXNzZXRCdWlsZENvc3QAAAAAzP+dnw==", "height": 2218509, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DxuVsDH6QDqA6gQ6KZk8Wb8mT3fkZhksscK9YHbp1JNk Next: none Diff:
OldNewDifferences
121121 func getAssetOwnerKeyString (assetId) = (assetId + "_Owner")
122122
123123
124+func assetsTryGetInteger (key) = match getInteger(Address(assetsAddress), key) {
125+ case b: Int =>
126+ b
127+ case _ =>
128+ 0
129+}
130+
131+
124132 func internalDeposit (addressStr,amountIn) = {
125133 let amount = tryGetInteger((addressStr + "_Deposit"))
126134 [IntegerEntry((addressStr + "_Deposit"), (amount + amountIn))]
169177 then throw("Only $HEG payments allowed")
170178 else {
171179 let amount = tryGetInteger((addressStr + "_Deposit"))
172- $Tuple2(internalDeposit(addressStr, (amount + amountIn)), (amount + amountIn))
180+ $Tuple2(internalDeposit(addressStr, amountIn), (amount + amountIn))
173181 }
174182 else throw("Strict value is not equal to itself.")
175183 }
185193 then throw("")
186194 else {
187195 let amount = tryGetInteger((addressStr + "_Deposit"))
188- $Tuple2(internalDeposit(addressStr, (amount + amountIn)), (amount + amountIn))
196+ $Tuple2(internalDeposit(addressStr, amountIn), (amount + amountIn))
189197 }
190198
191199
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
2222 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
3030 else (caller.bytes == marketplaceAddress))
3131 then true
3232 else (caller.bytes == nationsAddress)
3333
3434
3535 func tryGetInteger (key) = match getInteger(this, key) {
3636 case b: Int =>
3737 b
3838 case _ =>
3939 0
4040 }
4141
4242
4343 func tryGetBoolean (key) = match getBoolean(this, key) {
4444 case b: Boolean =>
4545 b
4646 case _ =>
4747 false
4848 }
4949
5050
5151 func tryGetString (key) = match getString(this, key) {
5252 case b: String =>
5353 b
5454 case _ =>
5555 ""
5656 }
5757
5858
5959 func getALKey (Name,Level) = ((Name + "_lvl") + toString(Level))
6060
6161
6262 func confTryGetInteger (key) = match getInteger(Address(configurationAddress), key) {
6363 case b: Int =>
6464 b
6565 case _ =>
6666 0
6767 }
6868
6969
7070 func confTryGetString (key) = match getString(Address(configurationAddress), key) {
7171 case b: String =>
7272 b
7373 case _ =>
7474 ""
7575 }
7676
7777
7878 func confTryGetBoolean (key) = match getBoolean(Address(configurationAddress), key) {
7979 case b: Boolean =>
8080 b
8181 case _ =>
8282 false
8383 }
8484
8585
8686 func getTreasuryKey (nationid) = (nationid + "_Treasury")
8787
8888
8989 func treasuryTryGetInteger (key) = match getInteger(Address(treasuryAddress), key) {
9090 case b: Int =>
9191 b
9292 case _ =>
9393 0
9494 }
9595
9696
9797 func nationsTryGetInteger (key) = match getInteger(Address(nationsAddress), key) {
9898 case b: Int =>
9999 b
100100 case _ =>
101101 0
102102 }
103103
104104
105105 func nationsTryGetBoolean (key) = match getBoolean(Address(nationsAddress), key) {
106106 case b: Boolean =>
107107 b
108108 case _ =>
109109 false
110110 }
111111
112112
113113 func nationsTryGetString (key) = match getString(Address(nationsAddress), key) {
114114 case b: String =>
115115 b
116116 case _ =>
117117 ""
118118 }
119119
120120
121121 func getAssetOwnerKeyString (assetId) = (assetId + "_Owner")
122122
123123
124+func assetsTryGetInteger (key) = match getInteger(Address(assetsAddress), key) {
125+ case b: Int =>
126+ b
127+ case _ =>
128+ 0
129+}
130+
131+
124132 func internalDeposit (addressStr,amountIn) = {
125133 let amount = tryGetInteger((addressStr + "_Deposit"))
126134 [IntegerEntry((addressStr + "_Deposit"), (amount + amountIn))]
127135 }
128136
129137
130138 func internalPay (addressStr,amount) = {
131139 let deposited = tryGetInteger((addressStr + "_Deposit"))
132140 if ((0 > (deposited - amount)))
133141 then throw("Not enough deposit.")
134142 else if (((deposited - amount) == 0))
135143 then [DeleteEntry((addressStr + "_Deposit"))]
136144 else [IntegerEntry((addressStr + "_Deposit"), (deposited - amount))]
137145 }
138146
139147
140148 func internalReserve (addressStr,amount) = {
141149 let reservedAmount = tryGetInteger((addressStr + "_Reserved"))
142150 IntegerEntry((addressStr + "_Reserved"), (reservedAmount + amount))
143151 }
144152
145153
146154 func internalTransfer (fromAddress,toAddress,amount) = (internalPay(fromAddress, amount) ++ internalDeposit(toAddress, amount))
147155
148156
149157 func insertRedeem (accum,nextValue) = {
150158 let val = split(nextValue, "_")
151159 let addr = val[0]
152160 let amnt = val[1]
153161 (accum :+ internalReserve(addr, parseIntValue(amnt)))
154162 }
155163
156164
157165 @Callable(i)
158166 func Deposit () = {
159167 let addressStr = toString(i.originCaller)
160168 let pmt = i.payments[0]
161169 if ((pmt == pmt))
162170 then {
163171 let amountIn = value(i.payments[0].amount)
164172 if ((amountIn == amountIn))
165173 then {
166174 let assetIn = pmt.assetId
167175 if ((assetIn == assetIn))
168176 then if ((assetIn != shinywggid))
169177 then throw("Only $HEG payments allowed")
170178 else {
171179 let amount = tryGetInteger((addressStr + "_Deposit"))
172- $Tuple2(internalDeposit(addressStr, (amount + amountIn)), (amount + amountIn))
180+ $Tuple2(internalDeposit(addressStr, amountIn), (amount + amountIn))
173181 }
174182 else throw("Strict value is not equal to itself.")
175183 }
176184 else throw("Strict value is not equal to itself.")
177185 }
178186 else throw("Strict value is not equal to itself.")
179187 }
180188
181189
182190
183191 @Callable(i)
184192 func NoPaymentDeposit (addressStr,amountIn) = if (!(checkAdmin(i.caller)))
185193 then throw("")
186194 else {
187195 let amount = tryGetInteger((addressStr + "_Deposit"))
188- $Tuple2(internalDeposit(addressStr, (amount + amountIn)), (amount + amountIn))
196+ $Tuple2(internalDeposit(addressStr, amountIn), (amount + amountIn))
189197 }
190198
191199
192200
193201 @Callable(i)
194202 func Pay (addressStr,amount) = if (!(checkAdmin(i.caller)))
195203 then throw("you are not authorized to perform this operation")
196204 else $Tuple2(internalPay(addressStr, amount), amount)
197205
198206
199207
200208 @Callable(i)
201209 func CallerPay (amount) = {
202210 let callerAddr = toString(i.caller)
203211 internalPay(callerAddr, amount)
204212 }
205213
206214
207215
208216 @Callable(i)
209217 func transferCoins (fromAddress,toAddress,amount) = if (if ((i.caller != adminWallet))
210218 then (i.caller.bytes != assetsAddress)
211219 else false)
212220 then throw("you are not authorized to perform this operation")
213221 else $Tuple2(internalTransfer(fromAddress, toAddress, amount), amount)
214222
215223
216224
217225 @Callable(i)
218226 func callerTransferCoins (toAddress,amount) = internalTransfer(toString(i.caller), toAddress, amount)
219227
220228
221229
222230 @Callable(i)
223231 func arbitraryAddCoins (toAddress,amount) = if (!(checkAdmin(i.caller)))
224232 then throw("you are not authorized to perform this operation")
225233 else $Tuple2(internalDeposit(toAddress, amount), amount)
226234
227235
228236
229237 @Callable(i)
230238 func Redeem () = {
231239 let addressStr = toString(i.caller)
232240 let reservedAmount = tryGetInteger((addressStr + "_Reserved"))
233241 if ((reservedAmount == 0))
234242 then throw("Nothing to redeem")
235243 else [DeleteEntry((addressStr + "_Reserved")), ScriptTransfer(i.caller, reservedAmount, shinywggid)]
236244 }
237245
238246
239247
240248 @Callable(i)
241249 func addReward (addressStr,amount) = if (!(checkAdmin(i.caller)))
242250 then throw("you are not authorized to perform this operation")
243251 else {
244252 let reservedAmount = tryGetInteger((addressStr + "_Reserved"))
245253 $Tuple2([IntegerEntry((addressStr + "_Reserved"), (reservedAmount + amount))], (reservedAmount + amount))
246254 }
247255
248256
249257
250258 @Callable(i)
251259 func addRewards (addr) = {
252260 let chunks = split(addr, "#")
253261 if (!(checkAdmin(i.caller)))
254262 then throw("you are not authorized to perform this operation")
255263 else {
256264 let $l = chunks
257265 let $s = size($l)
258266 let $acc0 = nil
259267 func $f0_1 ($a,$i) = if (($i >= $s))
260268 then $a
261269 else insertRedeem($a, $l[$i])
262270
263271 func $f0_2 ($a,$i) = if (($i >= $s))
264272 then $a
265273 else throw("List size exceeds 30")
266274
267275 $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)
268276 }
269277 }
270278
271279
272280
273281 @Callable(i)
274282 func increaseNationWallet (NationKey,amount) = if (!(checkAdmin(i.caller)))
275283 then throw("you are not authorized to perform this operation")
276284 else {
277285 let key = getTreasuryKey(NationKey)
278286 let reservedAmount = tryGetInteger(key)
279287 $Tuple2([IntegerEntry(key, (reservedAmount + amount))], (reservedAmount + amount))
280288 }
281289
282290
283291
284292 @Callable(i)
285293 func decreaseNationWallet (NationKey,amount) = if (!(checkAdmin(i.caller)))
286294 then throw("you are not authorized to perform this operation")
287295 else {
288296 let key = getTreasuryKey(NationKey)
289297 let reservedAmount = tryGetInteger(key)
290298 $Tuple2([IntegerEntry(key, (reservedAmount - amount))], amount)
291299 }
292300
293301
294302
295303 @Callable(i)
296304 func adminTransfer (toaddr,amount) = if (!(checkAdmin(i.caller)))
297305 then throw("you are not authorized to perform this operation")
298306 else $Tuple2([ScriptTransfer(addressFromStringValue(toaddr), amount, shinywggid)], amount)
299307
300308
301309
302310 @Callable(i)
303311 func distributeNationPayRewards (assetBuildCost) = if (!(checkAdmin(i.caller)))
304312 then throw("you are not authorized to perform this operation")
305313 else {
306314 let ToAdminWallet = ((assetBuildCost * 5) / 100)
307315 let ToGameRewardsWallet = ((assetBuildCost * 10) / 100)
308316 let ToStakingRewardsWallet = ((assetBuildCost * 65) / 100)
309317 $Tuple2([ScriptTransfer(adminWallet, ToAdminWallet, shinywggid), ScriptTransfer(dailyGameRewardsWallet, ToGameRewardsWallet, shinywggid), ScriptTransfer(dailyStakingRewardsWallet, ToStakingRewardsWallet, shinywggid)], assetBuildCost)
310318 }
311319
312320

github/deemru/w8io/169f3d6 
56.85 ms