tx · 8BLVNGb9tCwPSVzen7iYcEumv3AdciiG5kMJfCMwBQYG 3N8WDKbqGox5Eky326PHHT7rUyrby5MXdmb: -0.01000000 Waves 2022.05.11 17:24 [2047119] smart account 3N8WDKbqGox5Eky326PHHT7rUyrby5MXdmb > SELF 0.00000000 Waves
{ "type": 13, "id": "8BLVNGb9tCwPSVzen7iYcEumv3AdciiG5kMJfCMwBQYG", "fee": 1000000, "feeAssetId": null, "timestamp": 1652279080239, "version": 2, "chainId": 84, "sender": "3N8WDKbqGox5Eky326PHHT7rUyrby5MXdmb", "senderPublicKey": "FWSsBbeCwLVkekWhvNKtX6JkrZiruRybKKVuiS3F4bqN", "proofs": [ "2LqExWzyd4d33LBfhuq7Atz59t2MYvsZaFjMbcWcbWLXLdDkCnb28kCL2pbrdSRUu53aBXY6Sn9XdqBfXe8BtHCP" ], "script": "base64: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BHR4SWQAAAAJYXNzZXRUeXBlCQABLAAAAAIJAQAAAA1nZXRBc3NldElkS2V5AAAAAgUAAAAEdHhJZAUAAAAJYXNzZXRUeXBlAgAAAAZfT3duZXIBAAAAGmdldEJ1aWxkaW5nRmluaXNoSGVpZ2h0S2V5AAAAAwAAAAdhZGRyZXNzAAAABHR4SWQAAAAJYXNzZXRUeXBlCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAdhZGRyZXNzAgAAAAFfCQEAAAANZ2V0QXNzZXRJZEtleQAAAAIFAAAABHR4SWQFAAAACWFzc2V0VHlwZQIAAAADX2ZoAQAAABRnZXRCdWlsZGluZ1N0YXR1c0tleQAAAAMAAAAHYWRkcmVzcwAAAAR0eElkAAAACWFzc2V0VHlwZQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAHYWRkcmVzcwIAAAABXwkBAAAADWdldEFzc2V0SWRLZXkAAAACBQAAAAR0eElkBQAAAAlhc3NldFR5cGUCAAAAB19zdGF0dXMBAAAADmdldFRyZWFzdXJ5S2V5AAAAAQAAAAhuYXRpb25pZAkAASwAAAACBQAAAAhuYXRpb25pZAIAAAAJX1RyZWFzdXJ5AQAAAApjaGVja0FkbWluAAAAAQAAAAZjYWxsZXIDAwMJAAAAAAAAAgUAAAAGY2FsbGVyBQAAAAxhZG1pbkFkZHJlc3MGCQAAAAAAAAIFAAAABmNhbGxlcgUAAAAEdGhpcwYJAAAAAAAAAggFAAAABmNhbGxlcgAAAAVieXRlcwUAAAAObmF0aW9uc0FkZHJlc3MGCQAAAAAAAAIIBQAAAAZjYWxsZXIAAAAFYnl0ZXMFAAAAD3RyZWFzdXJ5QWRkcmVzcwEAAAATaW50ZXJuYWxGaW5pc2hCdWlsZAAAAAUAAAAGY2FsbGVyAAAACGFzc2V0U3RyAAAACGFzc2V0S2V5AAAAEUJ1aWxkaW5nU3RhdHVzS2V5AAAAD2ZpbmlzaEhlaWdodEtleQQAAAAUYnVpbGRpbmdGaW5pc2hIZWlnaHQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMFAAAAD2ZpbmlzaEhlaWdodEtleQMJAABmAAAAAgUAAAAUYnVpbGRpbmdGaW5pc2hIZWlnaHQFAAAABmhlaWdodAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAHUJ1aWxkaW5nIGlzIG5vdCBmaW5pc2hlZCB5ZXQgCQABpAAAAAEJAABlAAAAAgUAAAAUYnVpbGRpbmdGaW5pc2hIZWlnaHQFAAAABmhlaWdodAIAAAAnIGJsb2NrcyByZW1haW5pbmcsIGl0IHdpbGwgdGFrZSBhcm91bmQgCQABpAAAAAEJAABlAAAAAgUAAAAUYnVpbGRpbmdGaW5pc2hIZWlnaHQFAAAABmhlaWdodAIAAAAIIG1pbnV0ZXMEAAAAA2lkeAkBAAAABXZhbHVlAAAAAQkABE8AAAACBQAAAAZBc3NldHMFAAAACGFzc2V0U3RyBAAAAAphc3NldFBvd2VyCQABkQAAAAIFAAAAC2Fzc2V0c1Bvd2VyBQAAAANpZHgEAAAACmFzc2V0Q29pbnMJAAGRAAAAAgUAAAAKYXNzZXRzQ29zdAUAAAADaWR4BAAAAAdyZWZDYWxsCQAD/AAAAAQJAQAAAAdBZGRyZXNzAAAAAQUAAAAPdHJlYXN1cnlBZGRyZXNzAgAAAANQYXkJAARMAAAAAgUAAAAGY2FsbGVyCQAETAAAAAIFAAAACmFzc2V0Q29pbnMFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAAdyZWZDYWxsBQAAAAdyZWZDYWxsAwkAAGYAAAACBQAAAAphc3NldFBvd2VyAAAAAAAAAAAABAAAAAxjdXJyZW50UG93ZXIJAQAAABRuYXRpb25zVHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgUAAAAGY2FsbGVyAgAAAAZfUG93ZXIEAAAAAnB3CQAD/AAAAAQJAQAAAAdBZGRyZXNzAAAAAQUAAAAObmF0aW9uc0FkZHJlc3MCAAAADHNldFVzZXJQb3dlcgkABEwAAAACBQAAAAZjYWxsZXIJAARMAAAAAgkAAGQAAAACBQAAAAxjdXJyZW50UG93ZXIFAAAACmFzc2V0UG93ZXIFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAAJwdwUAAAACcHcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAACGFzc2V0S2V5BQAAAAphc3NldENvaW5zCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAAEUJ1aWxkaW5nU3RhdHVzS2V5CQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAAD2ZpbmlzaEhlaWdodEtleQUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAIYXNzZXRLZXkFAAAACmFzc2V0Q29pbnMJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQUAAAARQnVpbGRpbmdTdGF0dXNLZXkJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQUAAAAPZmluaXNoSGVpZ2h0S2V5BQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQAAAA9jaGVja0Fzc2V0T3duZXIAAAACAAAABmNhbGxlcgAAAAhhc3NldEtleQQAAAAKYXNzZXRPd25lcgkBAAAADHRyeUdldFN0cmluZwAAAAEJAAEsAAAAAgUAAAAIYXNzZXRLZXkCAAAABl9Pd25lcgkAAAAAAAACBQAAAAphc3NldE93bmVyBQAAAAZjYWxsZXIBAAAAFWlzTmF0aW9uUmVzZXJ2ZWRBc3NldAAAAAEAAAAMc3RyQXNzZXRUeXBlAwkAAAAAAAACBQAAAAxzdHJBc3NldFR5cGUCAAAAB1NldHRsZXIGCQAAAAAAAAIFAAAADHN0ckFzc2V0VHlwZQIAAAAIRXhwbG9yZXIAAAAHAAAAAWkBAAAAClN0YXJ0QnVpbGQAAAACAAAADHN0ckFzc2V0VHlwZQAAAAlOYXRpb25LZXkDCQEAAAABIQAAAAEJAQAAAA9jb250YWluc0VsZW1lbnQAAAACBQAAAAZBc3NldHMFAAAADHN0ckFzc2V0VHlwZQkAAAIAAAABAgAAACdUaGlzIGFzc2V0IGlzIG5vdCBhbWFuZ2VkIGJ5IHRoZSBzeXN0ZW0EAAAAA2luZAkBAAAABXZhbHVlAAAAAQkABE8AAAACBQAAAAZBc3NldHMFAAAADHN0ckFzc2V0VHlwZQQAAAAQZGVsYXlGb3JCdWlsZGluZwkAAZEAAAACBQAAAAthc3NldHNEZWxheQUAAAADaW5kBAAAAA5hc3NldEJ1aWxkQ29zdAkAAZEAAAACBQAAAAphc3NldHNDb3N0BQAAAANpbmQDCQEAAAAVaXNOYXRpb25SZXNlcnZlZEFzc2V0AAAAAQUAAAAMc3RyQXNzZXRUeXBlAwMJAQAAAAEhAAAAAQkBAAAAD2NoZWNrQXNzZXRPd25lcgAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAAAlOYXRpb25LZXkJAQAAAAEhAAAAAQkBAAAACmNoZWNrQWRtaW4AAAABCAUAAAABaQAAAAZjYWxsZXIHCQAAAgAAAAECAAAAMFlvdSBhcmUgbm90IGF1dGhvcml6ZWQgdG8gcGVyZm9ybSB0aGlzIG9wZXJhdGlvbgQAAAAKbmF0aW9uc2hlZwkBAAAAFXRyZWFzdXJ5VHJ5R2V0SW50ZWdlcgAAAAEJAQAAAA5nZXRUcmVhc3VyeUtleQAAAAEFAAAACU5hdGlvbktleQMJAABmAAAAAgUAAAAOYXNzZXRCdWlsZENvc3QFAAAACm5hdGlvbnNoZWcJAAACAAAAAQIAAAAeVGhlIG5hdGlvbiBoYXNuJ3QgZW5vdWdoIGZ1bmRzBAAAAAFkCQAD/AAAAAQJAQAAAAdBZGRyZXNzAAAAAQUAAAAPdHJlYXN1cnlBZGRyZXNzAgAAABRkZWNyZWFzZU5hdGlvbldhbGxldAkABEwAAAACBQAAAAlOYXRpb25LZXkJAARMAAAAAgUAAAAOYXNzZXRCdWlsZENvc3QFAAAAA25pbAUAAAADbmlsBAAAAAckbWF0Y2gwBQAAAAFkAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAXIFAAAAByRtYXRjaDAEAAAAAnB3CQAD/AAAAAQJAQAAAAdBZGRyZXNzAAAAAQUAAAAPdHJlYXN1cnlBZGRyZXNzAgAAABFhcmJpdHJhcnlBZGRDb2lucwkABEwAAAACBQAAAAlOYXRpb25LZXkJAARMAAAAAgUAAAAOYXNzZXRCdWlsZENvc3QFAAAAA25pbAUAAAADbmlsBAAAAAckbWF0Y2gxBQAAAAJwdwMJAAABAAAAAgUAAAAHJG1hdGNoMQIAAAADSW50BAAAAAFiBQAAAAckbWF0Y2gxCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABRnZXRCdWlsZGluZ1N0YXR1c0tleQAAAAMJAAQlAAAAAQgFAAAAAWkAAAAMb3JpZ2luQ2FsbGVyCAUAAAABaQAAAA10cmFuc2FjdGlvbklkBQAAAAxzdHJBc3NldFR5cGUFAAAADEJ1aWxkU3RhcnRlZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAQZ2V0QXNzZXRPd25lcktleQAAAAIIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQFAAAADHN0ckFzc2V0VHlwZQUAAAAJTmF0aW9uS2V5CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAaZ2V0QnVpbGRpbmdGaW5pc2hIZWlnaHRLZXkAAAADCQAEJQAAAAEIBQAAAAFpAAAADG9yaWdpbkNhbGxlcggFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAUAAAAMc3RyQXNzZXRUeXBlCQAAZAAAAAIFAAAABmhlaWdodAUAAAAQZGVsYXlGb3JCdWlsZGluZwUAAAADbmlsCQAAAgAAAAECAAAAHUVycm9yIERlcG9zaXRpbmcgbmF0aW9uIGZ1bmRzCQAAAgAAAAECAAAAHUVycm9yIERlcG9zaXRpbmcgbmF0aW9uIGZ1bmRzBAAAAAhhbW91bnRJbgkBAAAABXZhbHVlAAAAAQgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50AwkAAGYAAAACBQAAAA5hc3NldEJ1aWxkQ29zdAUAAAAIYW1vdW50SW4JAAACAAAAAQkAASwAAAACAgAAAD5Zb3UgcHJvdmlkZWQgbGVzcyAkaGVnIHRoYW4gdGhlIG5lZWRlZCBjb3N0IGZvciBidWlsZGluZyB0aGlzIAUAAAAMc3RyQXNzZXRUeXBlAwkBAAAAAiE9AAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAUAAAAKc2hpbnl3Z2dpZAkAAAIAAAABAgAAABpPbmx5ICRIRUcgcGF5bWVudHMgYWxsb3dlZAQAAAACcHcJAAP8AAAABAkBAAAAB0FkZHJlc3MAAAABBQAAAA90cmVhc3VyeUFkZHJlc3MCAAAAB0RlcG9zaXQFAAAAA25pbAgFAAAAAWkAAAAIcGF5bWVudHMEAAAAByRtYXRjaDAFAAAAAnB3AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAXIFAAAAByRtYXRjaDAJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAFGdldEJ1aWxkaW5nU3RhdHVzS2V5AAAAAwkABCUAAAABCAUAAAABaQAAAAxvcmlnaW5DYWxsZXIIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQFAAAADHN0ckFzc2V0VHlwZQUAAAAMQnVpbGRTdGFydGVkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABBnZXRBc3NldE93bmVyS2V5AAAAAggFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAUAAAAMc3RyQXNzZXRUeXBlCQAEJQAAAAEIBQAAAAFpAAAADG9yaWdpbkNhbGxlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAGmdldEJ1aWxkaW5nRmluaXNoSGVpZ2h0S2V5AAAAAwkABCUAAAABCAUAAAABaQAAAAxvcmlnaW5DYWxsZXIIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQFAAAADHN0ckFzc2V0VHlwZQkAAGQAAAACBQAAAAZoZWlnaHQFAAAAEGRlbGF5Rm9yQnVpbGRpbmcFAAAAA25pbAkAAAIAAAABAgAAABdJbmNvcnJlY3QgaW52b2tlIHJlc3VsdAAAAAFpAQAAAAtGaW5pc2hCdWlsZAAAAAMAAAAHdHhJZFN0cgAAAAhhc3NldFN0cgAAAAlOYXRpb25LZXkEAAAABHR4SWQJAAJZAAAAAQUAAAAHdHhJZFN0cgQAAAARQnVpbGRpbmdTdGF0dXNLZXkJAQAAABRnZXRCdWlsZGluZ1N0YXR1c0tleQAAAAMJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAAAR0eElkBQAAAAhhc3NldFN0cgQAAAAPZmluaXNoSGVpZ2h0S2V5CQEAAAAaZ2V0QnVpbGRpbmdGaW5pc2hIZWlnaHRLZXkAAAADCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAEdHhJZAUAAAAIYXNzZXRTdHIEAAAACGFzc2V0S2V5CQEAAAANZ2V0QXNzZXRJZEtleQAAAAIFAAAABHR4SWQFAAAACGFzc2V0U3RyBAAAAAphc3NldE93bmVyCQEAAAAMdHJ5R2V0U3RyaW5nAAAAAQkBAAAAEGdldEFzc2V0T3duZXJLZXkAAAACBQAAAAR0eElkBQAAAAhhc3NldFN0cgMJAQAAABVpc05hdGlvblJlc2VydmVkQXNzZXQAAAABBQAAAAhhc3NldFN0cgMDCQEAAAABIQAAAAEJAQAAAA9jaGVja0Fzc2V0T3duZXIAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAJTmF0aW9uS2V5CQEAAAABIQAAAAEJAQAAAApjaGVja0FkbWluAAAAAQgFAAAAAWkAAAAGY2FsbGVyBwkAAAIAAAABAgAAADBZb3UgYXJlIG5vdCBhdXRob3JpemVkIHRvIHBlcmZvcm0gdGhpcyBvcGVyYXRpb24JAQAAABNpbnRlcm5hbEZpbmlzaEJ1aWxkAAAABQUAAAAJTmF0aW9uS2V5BQAAAAhhc3NldFN0cgUAAAAIYXNzZXRLZXkFAAAAEUJ1aWxkaW5nU3RhdHVzS2V5BQAAAA9maW5pc2hIZWlnaHRLZXkDCQEAAAACIT0AAAACBQAAAAphc3NldE93bmVyCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgkAAAIAAAABCQABLAAAAAICAAAAIVlvdSBjYW5ub3QgY2xhaW0gb3RoZXIncyBwbGF5ZXJzIAUAAAAIYXNzZXRTdHIEAAAAEGJ1aWxkaW5nVHhTdGF0dXMJAQAAAAx0cnlHZXRTdHJpbmcAAAABBQAAABFCdWlsZGluZ1N0YXR1c0tleQMJAAAAAAAAAgUAAAAQYnVpbGRpbmdUeFN0YXR1cwIAAAAACQAAAgAAAAECAAAAJE5vIHBlbmRpbmcgb3BlcmF0aW9ucyBmb3IgdGhpcyBhc3NldAkBAAAAE2ludGVybmFsRmluaXNoQnVpbGQAAAAFCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAIYXNzZXRTdHIFAAAACGFzc2V0S2V5BQAAABFCdWlsZGluZ1N0YXR1c0tleQUAAAAPZmluaXNoSGVpZ2h0S2V5AAAAAWkBAAAAEXRyYW5zZmVyT3duZXJzaGlwAAAAAgAAAAdhc3Nl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", "height": 2047119, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BBHrZLFur5Q2ufDu1G6bTecDmkt2XRdzT4qrsgwhv1Qp Next: FFfGvxM1taiRhZrVSyuWPdVmP3nuuBRmvBXsmBg6VZk2 Diff:
Old | New | Differences | |
---|---|---|---|
213 | 213 | then throw("Only the admin can perform this operation") | |
214 | 214 | else { | |
215 | 215 | let ah = q((af + "_Owner")) | |
216 | - | let N = p((ah + "_Power")) | |
217 | 216 | let K = k[value(indexOf(g, S))] | |
218 | - | | |
219 | - | | |
220 | - | | |
221 | - | | |
222 | - | | |
223 | - | | |
224 | - | | |
225 | - | | |
226 | - | | |
227 | - | let | |
228 | - | if ( | |
217 | + | if ((K > 0)) | |
218 | + | then { | |
219 | + | let N = p((ah + "_Power")) | |
220 | + | let O = invoke(Address(c), "setUserPower", [ah, (N - K)], nil) | |
221 | + | if ((O == O)) | |
222 | + | then if ((O != (N - K))) | |
223 | + | then throw("Incorrect invoke result") | |
224 | + | else { | |
225 | + | let ai = p((ag + "_Power")) | |
226 | + | let aj = invoke(Address(c), "setUserPower", [ag, (ai + K)], nil) | |
227 | + | if ((aj == aj)) | |
229 | 228 | then { | |
230 | - | let aa = n | |
231 | - | [StringEntry((af + "_Owner"), ag)] | |
229 | + | let n = aj | |
230 | + | if ($isInstanceOf(n, "Int")) | |
231 | + | then { | |
232 | + | let aa = n | |
233 | + | $Tuple2([StringEntry((af + "_Owner"), ag)], ag) | |
234 | + | } | |
235 | + | else throw("Incorrect invoke result") | |
232 | 236 | } | |
233 | - | else throw(" | |
237 | + | else throw("Strict value is not equal to itself.") | |
234 | 238 | } | |
235 | - | ||
236 | - | ||
237 | - | else | |
239 | + | else throw("Strict value is not equal to itself.") | |
240 | + | } | |
241 | + | else $Tuple2([StringEntry((af + "_Owner"), ag)], ag) | |
238 | 242 | } | |
239 | 243 | } | |
240 | 244 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = base58'AFQS5E4ELtxex3iANtWtUU2V2oWJZSo8VVnK8z3VFmqf' | |
5 | 5 | ||
6 | 6 | let b = base58'3MyDGEoKp1gF4LSRknk9vSuDEyrwuYXcQEQ' | |
7 | 7 | ||
8 | 8 | let c = base58'3MvyzDtzWWV5MZ1GP8JfQhhQqiGU4Nbifdy' | |
9 | 9 | ||
10 | 10 | let d = addressFromStringValue("3MpNtiPSRSq6NnaQYk38BfWSzZcgAYTyrQ9") | |
11 | 11 | ||
12 | 12 | let e = "BUILD_STARTED" | |
13 | 13 | ||
14 | 14 | let f = "BUILD_FINISHED" | |
15 | 15 | ||
16 | 16 | let g = ["Nation", "City", "Barrack", "Barn", "Warrior", "Settler", "Explorer"] | |
17 | 17 | ||
18 | 18 | let h = [0, 1000000000, 5000000000, 5000000000, 500000000, 10000000000, 100000000] | |
19 | 19 | ||
20 | 20 | let i = [0, 0, 0, 0, 0, 10000000000, 100000000] | |
21 | 21 | ||
22 | 22 | let j = [0, 4, 4, 4, 2, 2, 2] | |
23 | 23 | ||
24 | 24 | let k = [0, 1000, 500, 500, 0, 0, 0] | |
25 | 25 | ||
26 | 26 | func l (m) = { | |
27 | 27 | let n = getInteger(Address(b), m) | |
28 | 28 | if ($isInstanceOf(n, "Int")) | |
29 | 29 | then { | |
30 | 30 | let o = n | |
31 | 31 | o | |
32 | 32 | } | |
33 | 33 | else 0 | |
34 | 34 | } | |
35 | 35 | ||
36 | 36 | ||
37 | 37 | func p (m) = { | |
38 | 38 | let n = getInteger(Address(c), m) | |
39 | 39 | if ($isInstanceOf(n, "Int")) | |
40 | 40 | then { | |
41 | 41 | let o = n | |
42 | 42 | o | |
43 | 43 | } | |
44 | 44 | else 0 | |
45 | 45 | } | |
46 | 46 | ||
47 | 47 | ||
48 | 48 | func q (m) = { | |
49 | 49 | let n = getString(this, m) | |
50 | 50 | if ($isInstanceOf(n, "String")) | |
51 | 51 | then { | |
52 | 52 | let o = n | |
53 | 53 | o | |
54 | 54 | } | |
55 | 55 | else "" | |
56 | 56 | } | |
57 | 57 | ||
58 | 58 | ||
59 | 59 | func r (m) = { | |
60 | 60 | let n = getInteger(this, m) | |
61 | 61 | if ($isInstanceOf(n, "Int")) | |
62 | 62 | then { | |
63 | 63 | let o = n | |
64 | 64 | o | |
65 | 65 | } | |
66 | 66 | else 0 | |
67 | 67 | } | |
68 | 68 | ||
69 | 69 | ||
70 | 70 | func s (t,u) = ((u + "_") + toBase58String(t)) | |
71 | 71 | ||
72 | 72 | ||
73 | 73 | func v (t,u) = (s(t, u) + "_Owner") | |
74 | 74 | ||
75 | 75 | ||
76 | 76 | func w (x,t,u) = (((x + "_") + s(t, u)) + "_fh") | |
77 | 77 | ||
78 | 78 | ||
79 | 79 | func y (x,t,u) = (((x + "_") + s(t, u)) + "_status") | |
80 | 80 | ||
81 | 81 | ||
82 | 82 | func z (A) = (A + "_Treasury") | |
83 | 83 | ||
84 | 84 | ||
85 | 85 | func B (C) = if (if (if ((C == d)) | |
86 | 86 | then true | |
87 | 87 | else (C == this)) | |
88 | 88 | then true | |
89 | 89 | else (C.bytes == c)) | |
90 | 90 | then true | |
91 | 91 | else (C.bytes == b) | |
92 | 92 | ||
93 | 93 | ||
94 | 94 | func D (C,E,F,G,H) = { | |
95 | 95 | let I = getIntegerValue(this, H) | |
96 | 96 | if ((I > height)) | |
97 | 97 | then throw((((("Building is not finished yet " + toString((I - height))) + " blocks remaining, it will take around ") + toString((I - height))) + " minutes")) | |
98 | 98 | else { | |
99 | 99 | let J = value(indexOf(g, E)) | |
100 | 100 | let K = k[J] | |
101 | 101 | let L = h[J] | |
102 | 102 | let M = invoke(Address(b), "Pay", [C, L], nil) | |
103 | 103 | if ((M == M)) | |
104 | 104 | then if ((K > 0)) | |
105 | 105 | then { | |
106 | 106 | let N = p((C + "_Power")) | |
107 | 107 | let O = invoke(Address(c), "setUserPower", [C, (N + K)], nil) | |
108 | 108 | if ((O == O)) | |
109 | 109 | then [IntegerEntry(F, L), DeleteEntry(G), DeleteEntry(H)] | |
110 | 110 | else throw("Strict value is not equal to itself.") | |
111 | 111 | } | |
112 | 112 | else [IntegerEntry(F, L), DeleteEntry(G), DeleteEntry(H)] | |
113 | 113 | else throw("Strict value is not equal to itself.") | |
114 | 114 | } | |
115 | 115 | } | |
116 | 116 | ||
117 | 117 | ||
118 | 118 | func P (C,F) = { | |
119 | 119 | let Q = q((F + "_Owner")) | |
120 | 120 | (Q == C) | |
121 | 121 | } | |
122 | 122 | ||
123 | 123 | ||
124 | 124 | func R (S) = if ((S == "Settler")) | |
125 | 125 | then true | |
126 | 126 | else (S == "Explorer") | |
127 | 127 | ||
128 | 128 | ||
129 | 129 | @Callable(T) | |
130 | 130 | func StartBuild (S,U) = if (!(containsElement(g, S))) | |
131 | 131 | then throw("This asset is not amanged by the system") | |
132 | 132 | else { | |
133 | 133 | let V = value(indexOf(g, S)) | |
134 | 134 | let W = j[V] | |
135 | 135 | let X = h[V] | |
136 | 136 | if (R(S)) | |
137 | 137 | then if (if (!(P(toString(T.caller), U))) | |
138 | 138 | then !(B(T.caller)) | |
139 | 139 | else false) | |
140 | 140 | then throw("You are not authorized to perform this operation") | |
141 | 141 | else { | |
142 | 142 | let Y = l(z(U)) | |
143 | 143 | if ((X > Y)) | |
144 | 144 | then throw("The nation hasn't enough funds") | |
145 | 145 | else { | |
146 | 146 | let Z = invoke(Address(b), "decreaseNationWallet", [U, X], nil) | |
147 | 147 | let n = Z | |
148 | 148 | if ($isInstanceOf(n, "Int")) | |
149 | 149 | then { | |
150 | 150 | let aa = n | |
151 | 151 | let O = invoke(Address(b), "arbitraryAddCoins", [U, X], nil) | |
152 | 152 | let ab = O | |
153 | 153 | if ($isInstanceOf(ab, "Int")) | |
154 | 154 | then { | |
155 | 155 | let o = ab | |
156 | 156 | [StringEntry(y(toString(T.originCaller), T.transactionId, S), e), StringEntry(v(T.transactionId, S), U), IntegerEntry(w(toString(T.originCaller), T.transactionId, S), (height + W))] | |
157 | 157 | } | |
158 | 158 | else throw("Error Depositing nation funds") | |
159 | 159 | } | |
160 | 160 | else throw("Error Depositing nation funds") | |
161 | 161 | } | |
162 | 162 | } | |
163 | 163 | else { | |
164 | 164 | let ac = value(T.payments[0].amount) | |
165 | 165 | if ((X > ac)) | |
166 | 166 | then throw(("You provided less $heg than the needed cost for building this " + S)) | |
167 | 167 | else if ((T.payments[0].assetId != a)) | |
168 | 168 | then throw("Only $HEG payments allowed") | |
169 | 169 | else { | |
170 | 170 | let O = invoke(Address(b), "Deposit", nil, T.payments) | |
171 | 171 | let n = O | |
172 | 172 | if ($isInstanceOf(n, "Int")) | |
173 | 173 | then { | |
174 | 174 | let aa = n | |
175 | 175 | [StringEntry(y(toString(T.originCaller), T.transactionId, S), e), StringEntry(v(T.transactionId, S), toString(T.originCaller)), IntegerEntry(w(toString(T.originCaller), T.transactionId, S), (height + W))] | |
176 | 176 | } | |
177 | 177 | else throw("Incorrect invoke result") | |
178 | 178 | } | |
179 | 179 | } | |
180 | 180 | } | |
181 | 181 | ||
182 | 182 | ||
183 | 183 | ||
184 | 184 | @Callable(T) | |
185 | 185 | func FinishBuild (ad,E,U) = { | |
186 | 186 | let t = fromBase58String(ad) | |
187 | 187 | let G = y(toString(T.caller), t, E) | |
188 | 188 | let H = w(toString(T.caller), t, E) | |
189 | 189 | let F = s(t, E) | |
190 | 190 | let Q = q(v(t, E)) | |
191 | 191 | if (R(E)) | |
192 | 192 | then if (if (!(P(toString(T.caller), U))) | |
193 | 193 | then !(B(T.caller)) | |
194 | 194 | else false) | |
195 | 195 | then throw("You are not authorized to perform this operation") | |
196 | 196 | else D(U, E, F, G, H) | |
197 | 197 | else if ((Q != toString(T.caller))) | |
198 | 198 | then throw(("You cannot claim other's players " + E)) | |
199 | 199 | else { | |
200 | 200 | let ae = q(G) | |
201 | 201 | if ((ae == "")) | |
202 | 202 | then throw("No pending operations for this asset") | |
203 | 203 | else D(toString(T.caller), E, F, G, H) | |
204 | 204 | } | |
205 | 205 | } | |
206 | 206 | ||
207 | 207 | ||
208 | 208 | ||
209 | 209 | @Callable(T) | |
210 | 210 | func transferOwnership (af,ag) = { | |
211 | 211 | let S = split(af, "_")[0] | |
212 | 212 | if (!(B(T.caller))) | |
213 | 213 | then throw("Only the admin can perform this operation") | |
214 | 214 | else { | |
215 | 215 | let ah = q((af + "_Owner")) | |
216 | - | let N = p((ah + "_Power")) | |
217 | 216 | let K = k[value(indexOf(g, S))] | |
218 | - | | |
219 | - | | |
220 | - | | |
221 | - | | |
222 | - | | |
223 | - | | |
224 | - | | |
225 | - | | |
226 | - | | |
227 | - | let | |
228 | - | if ( | |
217 | + | if ((K > 0)) | |
218 | + | then { | |
219 | + | let N = p((ah + "_Power")) | |
220 | + | let O = invoke(Address(c), "setUserPower", [ah, (N - K)], nil) | |
221 | + | if ((O == O)) | |
222 | + | then if ((O != (N - K))) | |
223 | + | then throw("Incorrect invoke result") | |
224 | + | else { | |
225 | + | let ai = p((ag + "_Power")) | |
226 | + | let aj = invoke(Address(c), "setUserPower", [ag, (ai + K)], nil) | |
227 | + | if ((aj == aj)) | |
229 | 228 | then { | |
230 | - | let aa = n | |
231 | - | [StringEntry((af + "_Owner"), ag)] | |
229 | + | let n = aj | |
230 | + | if ($isInstanceOf(n, "Int")) | |
231 | + | then { | |
232 | + | let aa = n | |
233 | + | $Tuple2([StringEntry((af + "_Owner"), ag)], ag) | |
234 | + | } | |
235 | + | else throw("Incorrect invoke result") | |
232 | 236 | } | |
233 | - | else throw(" | |
237 | + | else throw("Strict value is not equal to itself.") | |
234 | 238 | } | |
235 | - | ||
236 | - | ||
237 | - | else | |
239 | + | else throw("Strict value is not equal to itself.") | |
240 | + | } | |
241 | + | else $Tuple2([StringEntry((af + "_Owner"), ag)], ag) | |
238 | 242 | } | |
239 | 243 | } | |
240 | 244 | ||
241 | 245 | ||
242 | 246 | ||
243 | 247 | @Callable(T) | |
244 | 248 | func destroyAssetAndTransfer (af,ak) = { | |
245 | 249 | let S = split(af, "_")[0] | |
246 | 250 | if (!(B(T.caller))) | |
247 | 251 | then throw("Only the admin can perform this operation") | |
248 | 252 | else { | |
249 | 253 | let ah = q((af + "_Owner")) | |
250 | 254 | let L = r(af) | |
251 | 255 | let M = invoke(Address(b), "arbitraryAddCoins", [ak, L], nil) | |
252 | 256 | if ((M == M)) | |
253 | 257 | then { | |
254 | 258 | let N = p((ah + "_Power")) | |
255 | 259 | let K = k[value(indexOf(g, S))] | |
256 | 260 | let O = invoke(Address(c), "setUserPower", [toString(T.caller), (N - K)], nil) | |
257 | 261 | if ((O == O)) | |
258 | 262 | then { | |
259 | 263 | let n = O | |
260 | 264 | if ($isInstanceOf(n, "Int")) | |
261 | 265 | then { | |
262 | 266 | let aa = n | |
263 | 267 | [DeleteEntry(af)] | |
264 | 268 | } | |
265 | 269 | else throw("Incorrect invoke result") | |
266 | 270 | } | |
267 | 271 | else throw("Strict value is not equal to itself.") | |
268 | 272 | } | |
269 | 273 | else throw("Strict value is not equal to itself.") | |
270 | 274 | } | |
271 | 275 | } | |
272 | 276 | ||
273 | 277 | ||
274 | 278 | ||
275 | 279 | @Callable(T) | |
276 | 280 | func destroyAssetFromUser (af) = { | |
277 | 281 | let S = split(af, "_")[0] | |
278 | 282 | if (!(P(toString(T.caller), af))) | |
279 | 283 | then throw("You don't own this asset") | |
280 | 284 | else { | |
281 | 285 | let L = r(af) | |
282 | 286 | let N = p((toString(T.caller) + "_Power")) | |
283 | 287 | let K = k[value(indexOf(g, S))] | |
284 | 288 | let O = invoke(Address(c), "setUserPower", [toString(T.caller), (N - K)], nil) | |
285 | 289 | if ((O == O)) | |
286 | 290 | then { | |
287 | 291 | let n = O | |
288 | 292 | if ($isInstanceOf(n, "Int")) | |
289 | 293 | then { | |
290 | 294 | let aa = n | |
291 | 295 | [DeleteEntry(af), ScriptTransfer(T.caller, L, a)] | |
292 | 296 | } | |
293 | 297 | else throw("Incorrect invoke result") | |
294 | 298 | } | |
295 | 299 | else throw("Strict value is not equal to itself.") | |
296 | 300 | } | |
297 | 301 | } | |
298 | 302 | ||
299 | 303 | ||
300 | 304 | ||
301 | 305 | @Callable(T) | |
302 | 306 | func setNationOwner (al,ag) = if (B(T.caller)) | |
303 | 307 | then $Tuple2([StringEntry((al + "_Owner"), ag)], true) | |
304 | 308 | else { | |
305 | 309 | let am = q((al + "_Owner")) | |
306 | 310 | if ((am != toString(T.caller))) | |
307 | 311 | then throw("You are not the nation owner") | |
308 | 312 | else [StringEntry((al + "_Owner"), ag)] | |
309 | 313 | } | |
310 | 314 | ||
311 | 315 | ||
312 | 316 | ||
313 | 317 | @Callable(T) | |
314 | 318 | func buyNationItem (af,U) = { | |
315 | 319 | let S = split(af, "_")[0] | |
316 | 320 | let an = p(toString(T.caller)) | |
317 | 321 | let ao = p(U) | |
318 | 322 | if ((an != ao)) | |
319 | 323 | then throw("you can buy assets only from your nation") | |
320 | 324 | else if (!(P(U, af))) | |
321 | 325 | then throw("The asset does not belong to the nation") | |
322 | 326 | else if (!(R(S))) | |
323 | 327 | then throw("this asset cannot be sold by the nation") | |
324 | 328 | else { | |
325 | 329 | let V = value(indexOf(g, S)) | |
326 | 330 | let ap = i[V] | |
327 | 331 | let ac = value(T.payments[0].amount) | |
328 | 332 | if ((ap > ac)) | |
329 | 333 | then throw(("You provided less $heg than the needed cost for buying this " + S)) | |
330 | 334 | else if ((T.payments[0].assetId != a)) | |
331 | 335 | then throw("Only $HEG payments allowed") | |
332 | 336 | else { | |
333 | 337 | let aq = invoke(Address(b), "increaseNationWallet", [U, ac], nil) | |
334 | 338 | let n = aq | |
335 | 339 | if ($isInstanceOf(n, "Int")) | |
336 | 340 | then { | |
337 | 341 | let o = n | |
338 | 342 | let ar = invoke(this, "transferOwnership", [af, toString(T.caller)], nil) | |
339 | 343 | let ab = ar | |
340 | 344 | if ($isInstanceOf(ab, "String")) | |
341 | 345 | then { | |
342 | 346 | let as = ab | |
343 | 347 | [ScriptTransfer(Address(b), ac, a)] | |
344 | 348 | } | |
345 | 349 | else throw("Error transferring Ownership") | |
346 | 350 | } | |
347 | 351 | else throw("Error transferring SHEG to nations wallet") | |
348 | 352 | } | |
349 | 353 | } | |
350 | 354 | } | |
351 | 355 | ||
352 | 356 |
github/deemru/w8io/169f3d6 59.88 ms ◑![]()