tx · 9Jwxe1iYboFa511bbijPCRCXJT98ABHqrT6oDYs7UeKi

3N8WDKbqGox5Eky326PHHT7rUyrby5MXdmb:  -0.01000000 Waves

2022.05.11 13:48 [2046900] smart account 3N8WDKbqGox5Eky326PHHT7rUyrby5MXdmb > SELF 0.00000000 Waves

{ "type": 13, "id": "9Jwxe1iYboFa511bbijPCRCXJT98ABHqrT6oDYs7UeKi", "fee": 1000000, "feeAssetId": null, "timestamp": 1652266145552, "version": 2, "chainId": 84, "sender": "3N8WDKbqGox5Eky326PHHT7rUyrby5MXdmb", "senderPublicKey": "FWSsBbeCwLVkekWhvNKtX6JkrZiruRybKKVuiS3F4bqN", "proofs": [ "3vFiejntQwJdF4ttsvrn3w7X5r1Fg5obMgk3WHLvJCMYdoiKpF5bxc1TrF3zP452aH75W1kutii4DaSHikrm1H66" ], "script": "base64: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AAIJAAEsAAAAAgkAASwAAAACBQAAAAdhZGRyZXNzAgAAAAFfCQEAAAANZ2V0QXNzZXRJZEtleQAAAAIFAAAABHR4SWQFAAAACWFzc2V0VHlwZQIAAAADX2ZoAQAAABRnZXRCdWlsZGluZ1N0YXR1c0tleQAAAAMAAAAHYWRkcmVzcwAAAAR0eElkAAAACWFzc2V0VHlwZQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAHYWRkcmVzcwIAAAABXwkBAAAADWdldEFzc2V0SWRLZXkAAAACBQAAAAR0eElkBQAAAAlhc3NldFR5cGUCAAAAB19zdGF0dXMBAAAADmdldFRyZWFzdXJ5S2V5AAAAAQAAAAhuYXRpb25pZAkAASwAAAACBQAAAAhuYXRpb25pZAIAAAAJX1RyZWFzdXJ5AQAAAApjaGVja0FkbWluAAAAAQAAAAZjYWxsZXIDAwMJAAAAAAAAAgUAAAAGY2FsbGVyBQAAAAxhZG1pbkFkZHJlc3MGCQAAAAAAAAIFAAAABmNhbGxlcgUAAAAEdGhpcwYJAAAAAAAAAggFAAAABmNhbGxlcgAAAAVieXRlcwUAAAAObmF0aW9uc0FkZHJlc3MGCQAAAAAAAAIIBQAAAAZjYWxsZXIAAAAFYnl0ZXMFAAAAD3RyZWFzdXJ5QWRkcmVzcwEAAAATaW50ZXJuYWxGaW5pc2hCdWlsZAAAAAUAAAAGY2FsbGVyAAAACGFzc2V0U3RyAAAACGFzc2V0S2V5AAAAEUJ1aWxkaW5nU3RhdHVzS2V5AAAAD2ZpbmlzaEhlaWdodEtleQQAAAAUYnVpbGRpbmdGaW5pc2hIZWlnaHQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMFAAAAD2ZpbmlzaEhlaWdodEtleQMJAABmAAAAAgUAAAAUYnVpbGRpbmdGaW5pc2hIZWlnaHQFAAAABmhlaWdodAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAHUJ1aWxkaW5nIGlzIG5vdCBmaW5pc2hlZCB5ZXQgCQABpAAAAAEJAABlAAAAAgUAAAAUYnVpbGRpbmdGaW5pc2hIZWlnaHQFAAAABmhlaWdodAIAAAAnIGJsb2NrcyByZW1haW5pbmcsIGl0IHdpbGwgdGFrZSBhcm91bmQgCQABpAAAAAEJAABlAAAAAgUAAAAUYnVpbGRpbmdGaW5pc2hIZWlnaHQFAAAABmhlaWdodAIAAAAIIG1pbnV0ZXMEAAAAA2lkeAkBAAAABXZhbHVlAAAAAQkABE8AAAACBQAAAAZBc3NldHMFAAAACGFzc2V0U3RyBAAAAAphc3NldFBvd2VyCQABkQAAAAIFAAAAC2Fzc2V0c1Bvd2VyBQAAAANpZHgEAAAACmFzc2V0Q29pbnMJAAGRAAAAAgUAAAAKYXNzZXRzQ29zdAUAAAADaWR4BAAAAAdyZWZDYWxsCQAD/AAAAAQJAQAAAAdBZGRyZXNzAAAAAQUAAAAPdHJlYXN1cnlBZGRyZXNzAgAAAANQYXkJAARMAAAAAgUAAAAGY2FsbGVyCQAETAAAAAIFAAAACmFzc2V0Q29pbnMFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAAdyZWZDYWxsBQAAAAdyZWZDYWxsAwkAAGYAAAACBQAAAAphc3NldFBvd2VyAAAAAAAAAAAABAAAAAxjdXJyZW50UG93ZXIJAQAAABRuYXRpb25zVHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgUAAAAGY2FsbGVyAgAAAAZfUG93ZXIEAAAAAnB3CQAD/AAAAAQJAQAAAAdBZGRyZXNzAAAAAQUAAAAObmF0aW9uc0FkZHJlc3MCAAAADHNldFVzZXJQb3dlcgkABEwAAAACBQAAAAZjYWxsZXIJAARMAAAAAgkAAGQAAAACBQAAAAxjdXJyZW50UG93ZXIFAAAACmFzc2V0UG93ZXIFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAAJwdwUAAAACcHcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAACGFzc2V0S2V5BQAAAAphc3NldENvaW5zCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAAEUJ1aWxkaW5nU3RhdHVzS2V5CQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAAD2ZpbmlzaEhlaWdodEtleQUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAIYXNzZXRLZXkFAAAACmFzc2V0Q29pbnMJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQUAAAARQnVpbGRpbmdTdGF0dXNLZXkJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQUAAAAPZmluaXNoSGVpZ2h0S2V5BQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQAAABBjaGVja05hdGlvbk93bmVyAAAAAgAAAAZjYWxsZXIAAAAJTmF0aW9uS2V5BAAAAAtuYXRpb25Pd25lcgkBAAAADHRyeUdldFN0cmluZwAAAAEJAAEsAAAAAgUAAAAJTmF0aW9uS2V5AgAAAAZfT3duZXIJAAAAAAAAAgUAAAALbmF0aW9uT3duZXIJAAQlAAAAAQUAAAAGY2FsbGVyAQAAABVpc05hdGlvblJlc2VydmVkQXNzZXQAAAABAAAADHN0ckFzc2V0VHlwZQMJAAAAAAAAAgUAAAAMc3RyQXNzZXRUeXBlAgAAAAdTZXR0bGVyBgkAAAAAAAACBQAAAAxzdHJBc3NldFR5cGUCAAAACEV4cGxvcmVyAAAABQAAAAFpAQAAAApTdGFydEJ1aWxkAAAAAgAAAAxzdHJBc3NldFR5cGUAAAAJTmF0aW9uS2V5AwkBAAAAASEAAAABCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgUAAAAGQXNzZXRzBQAAAAxzdHJBc3NldFR5cGUJAAACAAAAAQIAAAAnVGhpcyBhc3NldCBpcyBub3QgYW1hbmdlZCBieSB0aGUgc3lzdGVtBAAAAANpbmQJAQAAAAV2YWx1ZQAAAAEJAARPAAAAAgUAAAAGQXNzZXRzBQAAAAxzdHJBc3NldFR5cGUEAAAAEGRlbGF5Rm9yQnVpbGRpbmcJAAGRAAAAAgUAAAALYXNzZXRzRGVsYXkFAAAAA2luZAQAAAAOYXNzZXRCdWlsZENvc3QJAAGRAAAAAgUAAAAKYXNzZXRzQ29zdAUAAAADaW5kAwkBAAAAFWlzTmF0aW9uUmVzZXJ2ZWRBc3NldAAAAAEFAAAADHN0ckFzc2V0VHlwZQMDCQEAAAABIQAAAAEJAQAAABBjaGVja05hdGlvbk93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RW50cnkAAAACCQEAAAAQZ2V0QXNzZXRPd25lcktleQAAAAIIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQFAAAADHN0ckFzc2V0VHlwZQkABCUAAAABCAUAAAABaQAAAAxvcmlnaW5DYWxsZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABpnZXRCdWlsZGluZ0ZpbmlzaEhlaWdodEtleQAAAAMJAAQlAAAAAQgFAAAAAWkAAAAMb3JpZ2luQ2FsbGVyCAUAAAABaQAAAA10cmFuc2FjdGlvbklkBQAAAAxzdHJBc3NldFR5cGUJAABkAAAAAgUAAAAGaGVpZ2h0BQAAABBkZWxheUZvckJ1aWxkaW5nBQAAAANuaWwJAAACAAAAAQIAAAAXSW5jb3JyZWN0IGludm9rZSByZXN1bHQAAAABaQEAAAALRmluaXNoQnVpbGQAAAADAAAAB3R4SWRTdHIAAAAIYXNzZXRTdHIAAAAJTmF0aW9uS2V5BAAAAAR0eElkCQACWQAAAAEFAAAAB3R4SWRTdHIEAAAAEUJ1aWxkaW5nU3RhdHVzS2V5CQEAAAAUZ2V0QnVpbGRpbmdTdGF0dXNLZXkAAAADCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAEdHhJZAUAAAAIYXNzZXRTdHIEAAAAD2ZpbmlzaEhlaWdodEtleQkBAAAAGmdldEJ1aWxkaW5nRmluaXNoSGVpZ2h0S2V5AAAAAwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAABHR4SWQFAAAACGFzc2V0U3RyBAAAAAhhc3NldEtleQkBAAAADWdldEFzc2V0SWRLZXkAAAACBQAAAAR0eElkBQAAAAhhc3NldFN0cgQAAAAKYXNzZXRPd25lcgkBAAAADHRyeUdldFN0cmluZwAAAAEJAQAAABBnZXRBc3NldE93bmVyS2V5AAAAAgUAAAAEdHhJZAUAAAAIYXNzZXRTdHIDCQEAAAAVaXNOYXRpb25SZXNlcnZlZEFzc2V0AAAAAQUAAAAIYXNzZXRTdHIDAwkBAAAAASEAAAABCQEAAAAQY2hlY2tOYXRpb25Pd25lcgAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAJTmF0aW9uS2V5CQEAAAABIQAAAAEJAQAAAApjaGVja0FkbWluAAAAAQgFAAAAAWkAAAAGY2FsbGVyBwkAAAIAAAABAgAAADBZb3UgYXJlIG5vdCBhdXRob3JpemVkIHRvIHBlcmZvcm0gdGhpcyBvcGVyYXRpb24JAQAAABNpbnRlcm5hbEZpbmlzaEJ1aWxkAAAABQUAAAAJTmF0aW9uS2V5BQAAAAhhc3NldFN0cgUAAAAIYXNzZXRLZXkFAAAAEUJ1aWxkaW5nU3RhdHVzS2V5BQAAAA9maW5pc2hIZWlnaHRLZXkDCQEAAAACIT0AAAACBQAAAAphc3NldE93bmVyCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgkAAAIAAAABCQABLAAAAAICAAAAIVlvdSBjYW5ub3QgY2xhaW0gb3RoZXIncyBwbGF5ZXJzIAUAAAAIYXNzZXRTdHIEAAAAEGJ1aWxkaW5nVHhTdGF0dXMJAQAAAAx0cnlHZXRTdHJpbmcAAAABBQAAABFCdWlsZGluZ1N0YXR1c0tleQMJAAAAAAAAAgUAAAAQYnVpbGRpbmdUeFN0YXR1cwIAAAAACQAAAgAAAAECAAAAJE5vIHBlbmRpbmcgb3BlcmF0aW9ucyBmb3IgdGhpcyBhc3NldAkBAAAAE2ludGVybmFsRmluaXNoQnVpbGQAAAAFCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAIYXNzZXRTdHIFAAAACGFzc2V0S2V5BQAAABFCdWlsZGluZ1N0YXR1c0tleQUAAAAPZmluaXNoSGVpZ2h0S2V5AAAAAWkBAAAAEXRyYW5zZmVyT3duZXJzaGlwAAAAAwAAAAdhc3NldElkAAAACG5ld093bmVyAAAADHN0ckFzc2V0VHlwZQMJAQAAAAEhAAAAAQkBAAAACmNoZWNrQWRtaW4AAAABCAUAAAABaQAAAAZjYWxsZXIJAAACAAAAAQIAAAApT25seSB0aGUgYWRtaW4gY2FuIHBlcmZvcm0gdGhpcyBvcGVyYXRpb24EAAAACG9sZE93bmVyCQEAAAAMdHJ5R2V0U3RyaW5nAAAAAQkAASwAAAACBQAAAAdhc3NldElkAgAAAAZfT3duZXIEAAAADGN1cnJlbnRQb3dlcgkBAAAAFG5hdGlvbnNUcnlHZXRJbnRlZ2VyAAAAAQkAASwAAAACBQAAAAhvbGRPd25lcgIA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", "height": 2046900, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GhTKvW4kjgvmc79URq2qU5mkaddWjT3aafYZF4piqkmY Next: A8et2oNQnuJ8XYKd38qhzmUTW7pcdoJgqVS15ceCie8p Diff:
OldNewDifferences
1515
1616 let g = ["Nation", "City", "Barrack", "Barn", "Warrior", "Settler", "Explorer"]
1717
18-let h = [0, 1000000000, 1000000000, 1000000000, 500000000, 500000000, 500000000]
18+let h = [0, 1000000000, 5000000000, 5000000000, 500000000, 10000000000, 100000000]
1919
2020 let i = [0, 4, 4, 4, 2, 2, 2]
2121
3333
3434
3535 func o (l) = {
36- let m = getInteger(Address(b), l)
36+ let m = getInteger(Address(c), l)
3737 if ($isInstanceOf(m, "Int"))
3838 then {
3939 let n = m
7777 func x (w,s,t) = (((w + "_") + r(s, t)) + "_status")
7878
7979
80-@Callable(y)
81-func StartBuild (z) = if (!(containsElement(g, z)))
80+func y (z) = (z + "_Treasury")
81+
82+
83+func A (B) = if (if (if ((B == d))
84+ then true
85+ else (B == this))
86+ then true
87+ else (B.bytes == c))
88+ then true
89+ else (B.bytes == b)
90+
91+
92+func C (B,D,E,F,G) = {
93+ let H = getIntegerValue(this, G)
94+ if ((H > height))
95+ then throw((((("Building is not finished yet " + toString((H - height))) + " blocks remaining, it will take around ") + toString((H - height))) + " minutes"))
96+ else {
97+ let I = value(indexOf(g, D))
98+ let J = j[I]
99+ let K = h[I]
100+ let L = invoke(Address(b), "Pay", [B, K], nil)
101+ if ((L == L))
102+ then if ((J > 0))
103+ then {
104+ let M = o((B + "_Power"))
105+ let N = invoke(Address(c), "setUserPower", [B, (M + J)], nil)
106+ if ((N == N))
107+ then [IntegerEntry(E, K), DeleteEntry(F), DeleteEntry(G)]
108+ else throw("Strict value is not equal to itself.")
109+ }
110+ else [IntegerEntry(E, K), DeleteEntry(F), DeleteEntry(G)]
111+ else throw("Strict value is not equal to itself.")
112+ }
113+ }
114+
115+
116+func O (B,P) = {
117+ let Q = p((P + "_Owner"))
118+ (Q == toString(B))
119+ }
120+
121+
122+func R (S) = if ((S == "Settler"))
123+ then true
124+ else (S == "Explorer")
125+
126+
127+@Callable(T)
128+func StartBuild (S,P) = if (!(containsElement(g, S)))
82129 then throw("This asset is not amanged by the system")
83130 else {
84- let A = value(indexOf(g, z))
85- let B = i[A]
86- let C = h[A]
87- let D = value(y.payments[0].amount)
88- if ((C > D))
89- then throw(("You provided less $heg than the needed cost for building this " + z))
90- else if ((y.payments[0].assetId != a))
91- then throw("Only $HEG payments allowed")
131+ let U = value(indexOf(g, S))
132+ let V = i[U]
133+ let W = h[U]
134+ if (R(S))
135+ then if (if (!(O(T.caller, P)))
136+ then !(A(T.caller))
137+ else false)
138+ then throw("You are not authorized to perform this operation")
92139 else {
93- let E = invoke(Address(b), "Deposit", nil, y.payments)
94- let m = E
95- if ($isInstanceOf(m, "Int"))
96- then {
97- let F = m
98-[StringEntry(x(toString(y.originCaller), y.transactionId, z), e), StringEntry(u(y.transactionId, z), toString(y.originCaller)), IntegerEntry(v(toString(y.originCaller), y.transactionId, z), (height + B))]
140+ let X = k(y(P))
141+ if ((W > X))
142+ then throw("The nation hasn't enough funds")
143+ else {
144+ let Y = invoke(Address(b), "decreaseNationWallet", [P, W], nil)
145+ let N = invoke(Address(b), "arbitraryAddCoins", [P, W], nil)
146+ let m = N
147+ if ($isInstanceOf(m, "Int"))
148+ then {
149+ let Z = m
150+[StringEntry(x(toString(T.originCaller), T.transactionId, S), e), StringEntry(u(T.transactionId, S), P), IntegerEntry(v(toString(T.originCaller), T.transactionId, S), (height + V))]
151+ }
152+ else throw("Incorrect invoke result")
99153 }
100- else throw("Incorrect invoke result")
101154 }
155+ else {
156+ let aa = value(T.payments[0].amount)
157+ if ((W > aa))
158+ then throw(("You provided less $heg than the needed cost for building this " + S))
159+ else if ((T.payments[0].assetId != a))
160+ then throw("Only $HEG payments allowed")
161+ else {
162+ let N = invoke(Address(b), "Deposit", nil, T.payments)
163+ let m = N
164+ if ($isInstanceOf(m, "Int"))
165+ then {
166+ let Z = m
167+[StringEntry(x(toString(T.originCaller), T.transactionId, S), e), StringEntry(u(T.transactionId, S), toString(T.originCaller)), IntegerEntry(v(toString(T.originCaller), T.transactionId, S), (height + V))]
168+ }
169+ else throw("Incorrect invoke result")
170+ }
171+ }
102172 }
103173
104174
105175
106-@Callable(y)
107-func FinishBuild (G,H) = {
108- let s = fromBase58String(G)
109- let I = x(toString(y.caller), s, H)
110- let J = v(toString(y.caller), s, H)
111- let K = r(s, H)
112- let L = p(u(s, H))
113- if ((L != toString(y.caller)))
114- then throw(("You cannot claim other's players " + H))
115- else {
116- let M = p(I)
117- if ((M == ""))
118- then throw("No pending operations for this asset")
119- else {
120- let N = getIntegerValue(this, J)
121- if ((N > height))
122- then throw((((("Building is not finished yet " + toString((N - height))) + " blocks remaining, it will take around ") + toString((N - height))) + " minutes"))
123- else {
124- let O = value(indexOf(g, H))
125- let P = j[O]
126- let Q = h[O]
127- let R = invoke(Address(b), "Pay", [toString(y.caller), Q], nil)
128- if ((R == R))
129- then {
130- let S = o((toString(y.caller) + "_Power"))
131- let E = invoke(Address(c), "setUserPower", [toString(y.caller), (S + P)], nil)
132- if ((E == E))
133- then {
134- let m = E
135- if ($isInstanceOf(m, "Int"))
136- then {
137- let F = m
138-[IntegerEntry(K, Q), DeleteEntry(I), DeleteEntry(J)]
139- }
140- else throw("Incorrect invoke result")
141- }
142- else throw("Strict value is not equal to itself.")
143- }
144- else throw("Strict value is not equal to itself.")
145- }
146- }
147- }
176+@Callable(T)
177+func FinishBuild (ab,D,P) = {
178+ let s = fromBase58String(ab)
179+ let F = x(toString(T.caller), s, D)
180+ let G = v(toString(T.caller), s, D)
181+ let E = r(s, D)
182+ let ac = p(u(s, D))
183+ if (R(D))
184+ then if (if (!(O(T.caller, P)))
185+ then !(A(T.caller))
186+ else false)
187+ then throw("You are not authorized to perform this operation")
188+ else C(P, D, E, F, G)
189+ else if ((ac != toString(T.caller)))
190+ then throw(("You cannot claim other's players " + D))
191+ else {
192+ let ad = p(F)
193+ if ((ad == ""))
194+ then throw("No pending operations for this asset")
195+ else C(toString(T.caller), D, E, F, G)
196+ }
148197 }
149198
150199
151200
152-@Callable(y)
153-func transferOwnership (T,U,z) = if (if (if ((y.caller != d))
154- then (y.caller != this)
155- else false)
156- then (y.caller.bytes != c)
157- else false)
201+@Callable(T)
202+func transferOwnership (ae,af,S) = if (!(A(T.caller)))
158203 then throw("Only the admin can perform this operation")
159204 else {
160- let V = p((T + "_Owner"))
161- let S = o((V + "_Power"))
162- let P = j[value(indexOf(g, z))]
163- let E = invoke(Address(c), "setUserPower", [V, (S - P)], nil)
164- if ((E == E))
165- then if ((E != (S - P)))
205+ let ag = p((ae + "_Owner"))
206+ let M = o((ag + "_Power"))
207+ let J = j[value(indexOf(g, S))]
208+ let N = invoke(Address(c), "setUserPower", [ag, (M - J)], nil)
209+ if ((N == N))
210+ then if ((N != (M - J)))
166211 then throw("Incorrect invoke result")
167212 else {
168- let W = o((U + "_Power"))
169- let X = invoke(Address(c), "setUserPower", [U, (W + P)], nil)
170- if ((X == X))
213+ let ah = o((af + "_Power"))
214+ let ai = invoke(Address(c), "setUserPower", [af, (ah + J)], nil)
215+ if ((ai == ai))
171216 then {
172- let m = X
217+ let m = ai
173218 if ($isInstanceOf(m, "Int"))
174219 then {
175- let F = m
176-[StringEntry((T + "_Owner"), U)]
220+ let Z = m
221+[StringEntry((ae + "_Owner"), af)]
177222 }
178223 else throw("Incorrect invoke result")
179224 }
184229
185230
186231
187-@Callable(y)
188-func destroyAssetAndTransfer (T,Y,z) = if (if ((y.caller != d))
189- then (y.caller != this)
190- else false)
232+@Callable(T)
233+func destroyAssetAndTransfer (ae,aj,S) = if (!(A(T.caller)))
191234 then throw("Only the admin can perform this operation")
192235 else {
193- let V = p((T + "_Owner"))
194- let Q = q(T)
195- let R = invoke(Address(b), "arbitraryAddCoins", [Y, Q], nil)
196- if ((R == R))
236+ let ag = p((ae + "_Owner"))
237+ let K = q(ae)
238+ let L = invoke(Address(b), "arbitraryAddCoins", [aj, K], nil)
239+ if ((L == L))
197240 then {
198- let S = o((V + "_Power"))
199- let P = j[value(indexOf(g, z))]
200- let E = invoke(Address(c), "setUserPower", [toString(y.caller), (S - P)], nil)
201- if ((E == E))
241+ let M = o((ag + "_Power"))
242+ let J = j[value(indexOf(g, S))]
243+ let N = invoke(Address(c), "setUserPower", [toString(T.caller), (M - J)], nil)
244+ if ((N == N))
202245 then {
203- let m = E
246+ let m = N
204247 if ($isInstanceOf(m, "Int"))
205248 then {
206- let F = m
207-[DeleteEntry(T)]
249+ let Z = m
250+[DeleteEntry(ae)]
208251 }
209252 else throw("Incorrect invoke result")
210253 }
215258
216259
217260
218-@Callable(y)
219-func setNationOwner (Z,U) = if (if ((y.caller != d))
220- then true
221- else (y.caller.bytes != c))
222- then $Tuple2([StringEntry((Z + "_Owner"), U)], true)
261+@Callable(T)
262+func setNationOwner (ak,af) = if (!(A(T.caller)))
263+ then $Tuple2([StringEntry((ak + "_Owner"), af)], true)
223264 else {
224- let aa = p((Z + "_Owner"))
225- if ((aa != toString(y.caller)))
265+ let al = p((ak + "_Owner"))
266+ if ((al != toString(T.caller)))
226267 then throw("You are not the nation owner")
227- else [StringEntry((Z + "_Owner"), U)]
268+ else [StringEntry((ak + "_Owner"), af)]
228269 }
229270
230271
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'AFQS5E4ELtxex3iANtWtUU2V2oWJZSo8VVnK8z3VFmqf'
55
66 let b = base58'3MyDGEoKp1gF4LSRknk9vSuDEyrwuYXcQEQ'
77
88 let c = base58'3MvyzDtzWWV5MZ1GP8JfQhhQqiGU4Nbifdy'
99
1010 let d = addressFromStringValue("3MpNtiPSRSq6NnaQYk38BfWSzZcgAYTyrQ9")
1111
1212 let e = "BUILD_STARTED"
1313
1414 let f = "BUILD_FINISHED"
1515
1616 let g = ["Nation", "City", "Barrack", "Barn", "Warrior", "Settler", "Explorer"]
1717
18-let h = [0, 1000000000, 1000000000, 1000000000, 500000000, 500000000, 500000000]
18+let h = [0, 1000000000, 5000000000, 5000000000, 500000000, 10000000000, 100000000]
1919
2020 let i = [0, 4, 4, 4, 2, 2, 2]
2121
2222 let j = [0, 1000, 500, 500, 0, 0, 0]
2323
2424 func k (l) = {
2525 let m = getInteger(Address(b), l)
2626 if ($isInstanceOf(m, "Int"))
2727 then {
2828 let n = m
2929 n
3030 }
3131 else 0
3232 }
3333
3434
3535 func o (l) = {
36- let m = getInteger(Address(b), l)
36+ let m = getInteger(Address(c), l)
3737 if ($isInstanceOf(m, "Int"))
3838 then {
3939 let n = m
4040 n
4141 }
4242 else 0
4343 }
4444
4545
4646 func p (l) = {
4747 let m = getString(this, l)
4848 if ($isInstanceOf(m, "String"))
4949 then {
5050 let n = m
5151 n
5252 }
5353 else ""
5454 }
5555
5656
5757 func q (l) = {
5858 let m = getInteger(this, l)
5959 if ($isInstanceOf(m, "Int"))
6060 then {
6161 let n = m
6262 n
6363 }
6464 else 0
6565 }
6666
6767
6868 func r (s,t) = ((t + "_") + toBase58String(s))
6969
7070
7171 func u (s,t) = (r(s, t) + "_Owner")
7272
7373
7474 func v (w,s,t) = (((w + "_") + r(s, t)) + "_fh")
7575
7676
7777 func x (w,s,t) = (((w + "_") + r(s, t)) + "_status")
7878
7979
80-@Callable(y)
81-func StartBuild (z) = if (!(containsElement(g, z)))
80+func y (z) = (z + "_Treasury")
81+
82+
83+func A (B) = if (if (if ((B == d))
84+ then true
85+ else (B == this))
86+ then true
87+ else (B.bytes == c))
88+ then true
89+ else (B.bytes == b)
90+
91+
92+func C (B,D,E,F,G) = {
93+ let H = getIntegerValue(this, G)
94+ if ((H > height))
95+ then throw((((("Building is not finished yet " + toString((H - height))) + " blocks remaining, it will take around ") + toString((H - height))) + " minutes"))
96+ else {
97+ let I = value(indexOf(g, D))
98+ let J = j[I]
99+ let K = h[I]
100+ let L = invoke(Address(b), "Pay", [B, K], nil)
101+ if ((L == L))
102+ then if ((J > 0))
103+ then {
104+ let M = o((B + "_Power"))
105+ let N = invoke(Address(c), "setUserPower", [B, (M + J)], nil)
106+ if ((N == N))
107+ then [IntegerEntry(E, K), DeleteEntry(F), DeleteEntry(G)]
108+ else throw("Strict value is not equal to itself.")
109+ }
110+ else [IntegerEntry(E, K), DeleteEntry(F), DeleteEntry(G)]
111+ else throw("Strict value is not equal to itself.")
112+ }
113+ }
114+
115+
116+func O (B,P) = {
117+ let Q = p((P + "_Owner"))
118+ (Q == toString(B))
119+ }
120+
121+
122+func R (S) = if ((S == "Settler"))
123+ then true
124+ else (S == "Explorer")
125+
126+
127+@Callable(T)
128+func StartBuild (S,P) = if (!(containsElement(g, S)))
82129 then throw("This asset is not amanged by the system")
83130 else {
84- let A = value(indexOf(g, z))
85- let B = i[A]
86- let C = h[A]
87- let D = value(y.payments[0].amount)
88- if ((C > D))
89- then throw(("You provided less $heg than the needed cost for building this " + z))
90- else if ((y.payments[0].assetId != a))
91- then throw("Only $HEG payments allowed")
131+ let U = value(indexOf(g, S))
132+ let V = i[U]
133+ let W = h[U]
134+ if (R(S))
135+ then if (if (!(O(T.caller, P)))
136+ then !(A(T.caller))
137+ else false)
138+ then throw("You are not authorized to perform this operation")
92139 else {
93- let E = invoke(Address(b), "Deposit", nil, y.payments)
94- let m = E
95- if ($isInstanceOf(m, "Int"))
96- then {
97- let F = m
98-[StringEntry(x(toString(y.originCaller), y.transactionId, z), e), StringEntry(u(y.transactionId, z), toString(y.originCaller)), IntegerEntry(v(toString(y.originCaller), y.transactionId, z), (height + B))]
140+ let X = k(y(P))
141+ if ((W > X))
142+ then throw("The nation hasn't enough funds")
143+ else {
144+ let Y = invoke(Address(b), "decreaseNationWallet", [P, W], nil)
145+ let N = invoke(Address(b), "arbitraryAddCoins", [P, W], nil)
146+ let m = N
147+ if ($isInstanceOf(m, "Int"))
148+ then {
149+ let Z = m
150+[StringEntry(x(toString(T.originCaller), T.transactionId, S), e), StringEntry(u(T.transactionId, S), P), IntegerEntry(v(toString(T.originCaller), T.transactionId, S), (height + V))]
151+ }
152+ else throw("Incorrect invoke result")
99153 }
100- else throw("Incorrect invoke result")
101154 }
155+ else {
156+ let aa = value(T.payments[0].amount)
157+ if ((W > aa))
158+ then throw(("You provided less $heg than the needed cost for building this " + S))
159+ else if ((T.payments[0].assetId != a))
160+ then throw("Only $HEG payments allowed")
161+ else {
162+ let N = invoke(Address(b), "Deposit", nil, T.payments)
163+ let m = N
164+ if ($isInstanceOf(m, "Int"))
165+ then {
166+ let Z = m
167+[StringEntry(x(toString(T.originCaller), T.transactionId, S), e), StringEntry(u(T.transactionId, S), toString(T.originCaller)), IntegerEntry(v(toString(T.originCaller), T.transactionId, S), (height + V))]
168+ }
169+ else throw("Incorrect invoke result")
170+ }
171+ }
102172 }
103173
104174
105175
106-@Callable(y)
107-func FinishBuild (G,H) = {
108- let s = fromBase58String(G)
109- let I = x(toString(y.caller), s, H)
110- let J = v(toString(y.caller), s, H)
111- let K = r(s, H)
112- let L = p(u(s, H))
113- if ((L != toString(y.caller)))
114- then throw(("You cannot claim other's players " + H))
115- else {
116- let M = p(I)
117- if ((M == ""))
118- then throw("No pending operations for this asset")
119- else {
120- let N = getIntegerValue(this, J)
121- if ((N > height))
122- then throw((((("Building is not finished yet " + toString((N - height))) + " blocks remaining, it will take around ") + toString((N - height))) + " minutes"))
123- else {
124- let O = value(indexOf(g, H))
125- let P = j[O]
126- let Q = h[O]
127- let R = invoke(Address(b), "Pay", [toString(y.caller), Q], nil)
128- if ((R == R))
129- then {
130- let S = o((toString(y.caller) + "_Power"))
131- let E = invoke(Address(c), "setUserPower", [toString(y.caller), (S + P)], nil)
132- if ((E == E))
133- then {
134- let m = E
135- if ($isInstanceOf(m, "Int"))
136- then {
137- let F = m
138-[IntegerEntry(K, Q), DeleteEntry(I), DeleteEntry(J)]
139- }
140- else throw("Incorrect invoke result")
141- }
142- else throw("Strict value is not equal to itself.")
143- }
144- else throw("Strict value is not equal to itself.")
145- }
146- }
147- }
176+@Callable(T)
177+func FinishBuild (ab,D,P) = {
178+ let s = fromBase58String(ab)
179+ let F = x(toString(T.caller), s, D)
180+ let G = v(toString(T.caller), s, D)
181+ let E = r(s, D)
182+ let ac = p(u(s, D))
183+ if (R(D))
184+ then if (if (!(O(T.caller, P)))
185+ then !(A(T.caller))
186+ else false)
187+ then throw("You are not authorized to perform this operation")
188+ else C(P, D, E, F, G)
189+ else if ((ac != toString(T.caller)))
190+ then throw(("You cannot claim other's players " + D))
191+ else {
192+ let ad = p(F)
193+ if ((ad == ""))
194+ then throw("No pending operations for this asset")
195+ else C(toString(T.caller), D, E, F, G)
196+ }
148197 }
149198
150199
151200
152-@Callable(y)
153-func transferOwnership (T,U,z) = if (if (if ((y.caller != d))
154- then (y.caller != this)
155- else false)
156- then (y.caller.bytes != c)
157- else false)
201+@Callable(T)
202+func transferOwnership (ae,af,S) = if (!(A(T.caller)))
158203 then throw("Only the admin can perform this operation")
159204 else {
160- let V = p((T + "_Owner"))
161- let S = o((V + "_Power"))
162- let P = j[value(indexOf(g, z))]
163- let E = invoke(Address(c), "setUserPower", [V, (S - P)], nil)
164- if ((E == E))
165- then if ((E != (S - P)))
205+ let ag = p((ae + "_Owner"))
206+ let M = o((ag + "_Power"))
207+ let J = j[value(indexOf(g, S))]
208+ let N = invoke(Address(c), "setUserPower", [ag, (M - J)], nil)
209+ if ((N == N))
210+ then if ((N != (M - J)))
166211 then throw("Incorrect invoke result")
167212 else {
168- let W = o((U + "_Power"))
169- let X = invoke(Address(c), "setUserPower", [U, (W + P)], nil)
170- if ((X == X))
213+ let ah = o((af + "_Power"))
214+ let ai = invoke(Address(c), "setUserPower", [af, (ah + J)], nil)
215+ if ((ai == ai))
171216 then {
172- let m = X
217+ let m = ai
173218 if ($isInstanceOf(m, "Int"))
174219 then {
175- let F = m
176-[StringEntry((T + "_Owner"), U)]
220+ let Z = m
221+[StringEntry((ae + "_Owner"), af)]
177222 }
178223 else throw("Incorrect invoke result")
179224 }
180225 else throw("Strict value is not equal to itself.")
181226 }
182227 else throw("Strict value is not equal to itself.")
183228 }
184229
185230
186231
187-@Callable(y)
188-func destroyAssetAndTransfer (T,Y,z) = if (if ((y.caller != d))
189- then (y.caller != this)
190- else false)
232+@Callable(T)
233+func destroyAssetAndTransfer (ae,aj,S) = if (!(A(T.caller)))
191234 then throw("Only the admin can perform this operation")
192235 else {
193- let V = p((T + "_Owner"))
194- let Q = q(T)
195- let R = invoke(Address(b), "arbitraryAddCoins", [Y, Q], nil)
196- if ((R == R))
236+ let ag = p((ae + "_Owner"))
237+ let K = q(ae)
238+ let L = invoke(Address(b), "arbitraryAddCoins", [aj, K], nil)
239+ if ((L == L))
197240 then {
198- let S = o((V + "_Power"))
199- let P = j[value(indexOf(g, z))]
200- let E = invoke(Address(c), "setUserPower", [toString(y.caller), (S - P)], nil)
201- if ((E == E))
241+ let M = o((ag + "_Power"))
242+ let J = j[value(indexOf(g, S))]
243+ let N = invoke(Address(c), "setUserPower", [toString(T.caller), (M - J)], nil)
244+ if ((N == N))
202245 then {
203- let m = E
246+ let m = N
204247 if ($isInstanceOf(m, "Int"))
205248 then {
206- let F = m
207-[DeleteEntry(T)]
249+ let Z = m
250+[DeleteEntry(ae)]
208251 }
209252 else throw("Incorrect invoke result")
210253 }
211254 else throw("Strict value is not equal to itself.")
212255 }
213256 else throw("Strict value is not equal to itself.")
214257 }
215258
216259
217260
218-@Callable(y)
219-func setNationOwner (Z,U) = if (if ((y.caller != d))
220- then true
221- else (y.caller.bytes != c))
222- then $Tuple2([StringEntry((Z + "_Owner"), U)], true)
261+@Callable(T)
262+func setNationOwner (ak,af) = if (!(A(T.caller)))
263+ then $Tuple2([StringEntry((ak + "_Owner"), af)], true)
223264 else {
224- let aa = p((Z + "_Owner"))
225- if ((aa != toString(y.caller)))
265+ let al = p((ak + "_Owner"))
266+ if ((al != toString(T.caller)))
226267 then throw("You are not the nation owner")
227- else [StringEntry((Z + "_Owner"), U)]
268+ else [StringEntry((ak + "_Owner"), af)]
228269 }
229270
230271

github/deemru/w8io/169f3d6 
70.66 ms