tx · FFfGvxM1taiRhZrVSyuWPdVmP3nuuBRmvBXsmBg6VZk2

3N8WDKbqGox5Eky326PHHT7rUyrby5MXdmb:  -0.01000000 Waves

2022.05.12 12:01 [2048255] smart account 3N8WDKbqGox5Eky326PHHT7rUyrby5MXdmb > SELF 0.00000000 Waves

{ "type": 13, "id": "FFfGvxM1taiRhZrVSyuWPdVmP3nuuBRmvBXsmBg6VZk2", "fee": 1000000, "feeAssetId": null, "timestamp": 1652346134451, "version": 2, "chainId": 84, "sender": "3N8WDKbqGox5Eky326PHHT7rUyrby5MXdmb", "senderPublicKey": "FWSsBbeCwLVkekWhvNKtX6JkrZiruRybKKVuiS3F4bqN", "proofs": [ "5MWn8UwJfwvLcNYzuk6pqGP3ZSjD684zwHFsZA2QLJvzfVLq3dWZ6ywMRuwgxztiU7QRgLahU8sxQ5hCr3aaHZnY" ], "script": "base64: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AAIFAAAACWFzc2V0VHlwZQIAAAABXwkAAlgAAAABBQAAAAR0eElkAQAAABBnZXRBc3NldE93bmVyS2V5AAAAAgAAAAR0eElkAAAACWFzc2V0VHlwZQkAASwAAAACCQEAAAANZ2V0QXNzZXRJZEtleQAAAAIFAAAABHR4SWQFAAAACWFzc2V0VHlwZQIAAAAGX093bmVyAQAAABZnZXRBc3NldE93bmVyS2V5U3RyaW5nAAAAAQAAAAdhc3NldElkCQABLAAAAAIFAAAAB2Fzc2V0SWQCAAAABl9Pd25lcgEAAAAaZ2V0QnVpbGRpbmdGaW5pc2hIZWlnaHRLZXkAAAADAAAAB2FkZHJlc3MAAAAEdHhJZAAAAAlhc3NldFR5cGUJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAAB2FkZHJlc3MCAAAAAV8JAQAAAA1nZXRBc3NldElkS2V5AAAAAgUAAAAEdHhJZAUAAAAJYXNzZXRUeXBlAgAAAANfZmgBAAAAFGdldEJ1aWxkaW5nU3RhdHVzS2V5AAAAAwAAAAdhZGRyZXNzAAAABHR4SWQAAAAJYXNzZXRUeXBlCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAdhZGRyZXNzAgAAAAFfCQEAAAANZ2V0QXNzZXRJZEtleQAAAAIFAAAABHR4SWQFAAAACWFzc2V0VHlwZQIAAAAHX3N0YXR1cwEAAAAOZ2V0VHJlYXN1cnlLZXkAAAABAAAACG5hdGlvbmlkCQABLAAAAAIFAAAACG5hdGlvbmlkAgAAAAlfVHJlYXN1cnkBAAAACmNoZWNrQWRtaW4AAAABAAAABmNhbGxlcgMDAwMJAAAAAAAAAgUAAAAGY2FsbGVyBQAAAAxhZG1pbkFkZHJlc3MGCQAAAAAAAAIFAAAABmNhbGxlcgUAAAAEdGhpcwYJAAAAAAAAAggFAAAABmNhbGxlcgAAAAVieXRlcwUAAAAObmF0aW9uc0FkZHJlc3MGCQAAAAAAAAIIBQAAAAZjYWxsZXIAAAAFYnl0ZXMFAAAAD3RyZWFzdXJ5QWRkcmVzcwYJAAAAAAAAAggFAAAABmNhbGxlcgAAAAVieXRlcwUAAAASbWFya2V0cGxhY2VBZGRyZXNzAQAAABNpbnRlcm5hbEZpbmlzaEJ1aWxkAAAABQAAAAZjYWxsZXIAAAAIYXNzZXRTdHIAAAAIYXNzZXRLZXkAAAARQnVpbGRpbmdTdGF0dXNLZXkAAAAPZmluaXNoSGVpZ2h0S2V5BAAAABRidWlsZGluZ0ZpbmlzaEhlaWdodAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwUAAAAPZmluaXNoSGVpZ2h0S2V5AwkAAGYAAAACBQAAABRidWlsZGluZ0ZpbmlzaEhlaWdodAUAAAAGaGVpZ2h0CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAdQnVpbGRpbmcgaXMgbm90IGZpbmlzaGVkIHlldCAJAAGkAAAAAQkAAGUAAAACBQAAABRidWlsZGluZ0ZpbmlzaEhlaWdodAUAAAAGaGVpZ2h0AgAAACcgYmxvY2tzIHJlbWFpbmluZywgaXQgd2lsbCB0YWtlIGFyb3VuZCAJAAGkAAAAAQkAAGUAAAACBQAAABRidWlsZGluZ0ZpbmlzaEhlaWdodAUAAAAGaGVpZ2h0AgAAAAggbWludXRlcwQAAAADaWR4CQEAAAAFdmFsdWUAAAABCQAETwAAAAIFAAAABkFzc2V0cwUAAAAIYXNzZXRTdHIEAAAACmFzc2V0UG93ZXIJAAGRAAAAAgUAAAALYXNzZXRzUG93ZXIFAAAAA2lkeAQAAAAKYXNzZXRDb2lucwkAAZEAAAACBQAAAAphc3NldHNDb3N0BQAAAANpZHgEAAAAB3JlZkNhbGwJAAP8AAAABAkBAAAAB0FkZHJlc3MAAAABBQAAAA90cmVhc3VyeUFkZHJlc3MCAAAAA1BheQkABEwAAAACBQAAAAZjYWxsZXIJAARMAAAAAgUAAAAKYXNzZXRDb2lucwUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAB3JlZkNhbGwFAAAAB3JlZkNhbGwDCQAAZgAAAAIFAAAACmFzc2V0UG93ZXIAAAAAAAAAAAAEAAAADGN1cnJlbnRQb3dlcgkBAAAAFG5hdGlvbnNUcnlHZXRJbnRlZ2VyAAAAAQkAASwAAAACBQAAAAZjYWxsZXICAAAABl9Qb3dlcgQAAAACcHcJAAP8AAAABAkBAAAAB0FkZHJlc3MAAAABBQAAAA5uYXRpb25zQWRkcmVzcwIAAAAMc2V0VXNlclBvd2VyCQAETAAAAAIFAAAABmNhbGxlcgkABEwAAAACCQAAZAAAAAIFAAAADGN1cnJlbnRQb3dlcgUAAAAKYXNzZXRQb3dlcgUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAAnB3BQAAAAJwdwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAIYXNzZXRLZXkFAAAACmFzc2V0Q29pbnMJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQUAAAARQnVpbGRpbmdTdGF0dXNLZXkJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQUAAAAPZmluaXNoSGVpZ2h0S2V5BQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAAhhc3NldEtleQUAAAAKYXNzZXRDb2lucwkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAABFCdWlsZGluZ1N0YXR1c0tleQkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAAA9maW5pc2hIZWlnaHRLZXkFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAAAAD2NoZWNrQXNzZXRPd25lcgAAAAIAAAAGY2FsbGVyAAAACGFzc2V0S2V5BAAAAAphc3NldE93bmVyCQEAAAAMdHJ5R2V0U3RyaW5nAAAAAQkAASwAAAACBQAAAAhhc3NldEtleQIAAAAGX093bmVyCQAAAAAAAAIFAAAACmFzc2V0T3duZXIFAAAABmNhbGxlcgEAAAAVaXNOYXRpb25SZXNlcnZlZEFzc2V0AAAAAQAAAAxzdHJBc3NldFR5cGUDCQAAAAAAAAIFAAAADHN0ckFzc2V0VHlwZQIAAAAHU2V0dGxlcgYJAAAAAAAAAgUAAAAMc3RyQXNzZXRUeXBlAgAAAAhFeHBsb3JlcgEAAAAZaW50ZXJuYWxUcmFzbmZlck93bmVyc2hpcAAAAAIAAAAHYXNzZXRJZAAAAAhuZXdPd25lcgQAAAAMc3RyQXNzZXRUeXBlCQABkQAA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c2V0T3duZXJLZXkAAAACCAUAAAABaQAAAA10cmFuc2FjdGlvbklkBQAAAAxzdHJBc3NldFR5cGUJAAQlAAAAAQgFAAAAAWkAAAAMb3JpZ2luQ2FsbGVyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAaZ2V0QnVpbGRpbmdGaW5pc2hIZWlnaHRLZXkAAAADCQAEJQAAAAEIBQAAAAFpAAAADG9yaWdpbkNhbGxlcggFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAUAAAAMc3RyQXNzZXRUeXBlCQAAZAAAAAIFAAAABmhlaWdodAUAAAAQZGVsYXlGb3JCdWlsZGluZwUAAAADbmlsCQAAAgAAAAECAAAAF0luY29ycmVjdCBpbnZva2UgcmVzdWx0AAAAAWkBAAAAC0ZpbmlzaEJ1aWxkAAAAAwAAAAd0eElkU3RyAAAACGFzc2V0U3RyAAAACU5hdGlvbktleQQAAAAEdHhJZAkAAlkAAAABBQAAAAd0eElkU3RyBAAAABFCdWlsZGluZ1N0YXR1c0tleQkBAAAAFGdldEJ1aWxkaW5nU3RhdHVzS2V5AAAAAwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAABHR4SWQFAAAACGFzc2V0U3RyBAAAAA9maW5pc2hIZWlnaHRLZXkJAQAAABpnZXRCdWlsZGluZ0ZpbmlzaEhlaWdodEtleQAAAAMJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAAAR0eElkBQAAAAhhc3NldFN0cgQAAAAIYXNzZXRLZXkJAQAAAA1nZXRBc3NldElkS2V5AAAAAgUAAAAEdHhJZAUAAAAIYXNzZXRTdHIEAAAACmFzc2V0T3duZXIJAQAAAAx0cnlHZXRTdHJpbmcAAAABCQEAAAAQZ2V0QXNzZXRPd25lcktleQAAAAIFAAAABHR4SWQFAAAACGFzc2V0U3RyAwkBAAAAFWlzTmF0aW9uUmVzZXJ2ZWRBc3NldAAAAAEFAAAACGFzc2V0U3RyAwMJAQAAAAEhAAAAAQkBAAAAD2NoZWNrQXNzZXRPd25lcgAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAAAlOYXRpb25LZXkJAQAAAAEhAAAAAQkBAAAACmNoZWNrQWRtaW4AAAABCAUAAAABaQAAAAZjYWxsZXIHCQAAAgAAAAECAAAAMFlvdSBhcmUgbm90IGF1dGhvcml6ZWQgdG8gcGVyZm9ybSB0aGlzIG9wZXJhdGlvbgkBAAAAE2ludGVybmFsRmluaXNoQnVpbGQAAAAFBQAAAAlOYXRpb25LZXkFAAAACGFzc2V0U3RyBQAAAAhhc3NldEtleQUAAAARQnVpbGRpbmdTdGF0dXNLZXkFAAAAD2ZpbmlzaEhlaWdodEtleQMJAQAAAAIhPQAAAAIFAAAACmFzc2V0T3duZXIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyCQAAAgAAAAEJAAEsAAAAAgIAAAAhWW91IGNhbm5vdCBjbGFpbSBvdGhlcidzIHBsYXllcnMgBQAAAAhhc3NldFN0cgQAAAAQYnVpbGRpbmdUeFN0YXR1cwkBAAAADHRyeUdldFN0cmluZwAAAAEFAAAAEUJ1aWxkaW5nU3RhdHVzS2V5AwkAAAAAAAACBQAAABBidWlsZGluZ1R4U3RhdHVzAgAAAAAJAAACAAAAAQIAAAAkTm8gcGVuZGluZyBvcGVyYXRpb25zIGZvciB0aGlzIGFzc2V0CQEAAAATaW50ZXJuYWxGaW5pc2hCdWlsZAAAAAUJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAAAhhc3NldFN0cgUAAAAIYXNzZXRLZXkFAAAAEUJ1aWxkaW5nU3RhdHVzS2V5BQAAAA9maW5pc2hIZWlnaHRLZXkAAAABaQEAAAARdHJhbnNmZXJPd25lcnNoaXAAAAACAAAAB2Fzc2V0SWQAAAAIbmV3T3duZXIEAAAADHN0ckFzc2V0VHlwZQkAAZEAAAACCQAEtQAAAAIFAAAAB2Fzc2V0SWQCAAAAAV8AAAAAAAAAAAADCQEAAAABIQAAAAEJAQAAAApjaGVja0FkbWluAAAAAQgFAAAAAWkAAAAGY2FsbGVyCQAAAgAAAAECAAAAKU9ubHkgdGhlIGFkbWluIGNhbiBwZXJmb3JtIHRoaXMgb3BlcmF0aW9uCQAFFAAAAAIJAQAAABlpbnRlcm5hbFRyYXNuZmVyT3duZXJzaGlwAAAAAgUAAAAHYXNzZXRJZAUAAAAIbmV3T3duZXIFAAAACG5ld093bmVyAAAAAWkBAAAAF2Rlc3Ryb3lBc3NldEFu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A0ludAQAAAABYgUAAAAHJG1hdGNoMAkABE0AAAACCQEAAAAZaW50ZXJuYWxUcmFzbmZlck93bmVyc2hpcAAAAAIFAAAAB2Fzc2V0SWQJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAHQWRkcmVzcwAAAAEFAAAAD3RyZWFzdXJ5QWRkcmVzcwUAAAAIYW1vdW50SW4FAAAACnNoaW55d2dnaWQJAAACAAAAAQIAAAApRXJyb3IgdHJhbnNmZXJyaW5nIFNIRUcgdG8gbmF0aW9ucyB3YWxsZXQAAAABaQEAAAAWQWRkQXNzZXRGcm9tTWFya2VwbGFjZQAAAAMAAAAHYXNzZXRJZAAAAAhvbGRPd25lcgAAAAlhc3NldFNoZWcDCQEAAAABIQAAAAEJAQAAAApjaGVja0FkbWluAAAAAQgFAAAAAWkAAAAGY2FsbGVyCQAAAgAAAAECAAAALVlvdSBhcmUgbm90IGFsbG93ZWQgdG8gcGVyZm9ybSB0aGlzIG9wZXJhdGlvbgkABRQAAAACCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABZnZXRBc3NldE93bmVyS2V5U3RyaW5nAAAAAQUAAAAHYXNzZXRJZAUAAAAIb2xkT3duZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAB2Fzc2V0SWQFAAAACWFzc2V0U2hlZwUAAAADbmlsBQAAAAhvbGRPd25lcgAAAAFpAQAAABpUcmFuc2ZlckFzc2V0VG9NYXJrZXRwbGFjZQAAAAIAAAAHYXNzZXRJZAAAAAlzZWxscHJpY2UDCQEAAAABIQAAAAEJAQAAAA9jaGVja0Fzc2V0T3duZXIAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAHYXNzZXRJZAkAAAIAAAABAgAAACNZb3UgYXJlIG5vdCB0aGUgb3duZXIgb2YgdGhpcyBhc3NldAQAAAAJYXNzZXRTaGVnCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEFAAAAB2Fzc2V0SWQEAAAAAnRyCQAD/AAAAAQJAQAAAAdBZGRyZXNzAAAAAQUAAAASbWFya2V0cGxhY2VBZGRyZXNzAgAAAAlwdXRPblNhbGUJAARMAAAAAgUAAAAHYXNzZXRJZAkABEwAAAACBQAAAAlhc3NldFNoZWcJAARMAAAAAgUAAAAJc2VsbHByaWNlBQAAAANuaWwFAAAAA25pbAQAAAAHJG1hdGNoMAUAAAACdHIDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABdAUAAAAHJG1hdGNoMAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQEAAAAWZ2V0QXNzZXRPd25lcktleVN0cmluZwAAAAEFAAAAB2Fzc2V0SWQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQUAAAAHYXNzZXRJZAUAAAADbmlsCQAAAgAAAAECAAAAKUVycm9yIHB1dHRpbmcgdGhlIGl0ZW0gb24gdGhlIG1hcmtldHBsYWNlAAAAACgSt74=", "height": 2048255, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8BLVNGb9tCwPSVzen7iYcEumv3AdciiG5kMJfCMwBQYG Next: 37Q5ohmsCNj5zC74uLjtP2xJMoKVkrazLY8zBidUcmoz Diff:
OldNewDifferences
77
88 let c = base58'3MvyzDtzWWV5MZ1GP8JfQhhQqiGU4Nbifdy'
99
10-let d = addressFromStringValue("3MpNtiPSRSq6NnaQYk38BfWSzZcgAYTyrQ9")
10+let d = base58'3Mra7mjPipcQd5sJaRmXK8xgS4scb8gPF4A'
1111
12-let e = "BUILD_STARTED"
12+let e = addressFromStringValue("3MpNtiPSRSq6NnaQYk38BfWSzZcgAYTyrQ9")
1313
14-let f = "BUILD_FINISHED"
14+let f = "BUILD_STARTED"
1515
16-let g = ["Nation", "City", "Barrack", "Barn", "Warrior", "Settler", "Explorer"]
16+let g = "BUILD_FINISHED"
1717
18-let h = [0, 1000000000, 5000000000, 5000000000, 500000000, 10000000000, 100000000]
18+let h = ["Nation", "City", "Barrack", "Barn", "Warrior", "Settler", "Explorer"]
1919
20-let i = [0, 0, 0, 0, 0, 10000000000, 100000000]
20+let i = [0, 1000000000, 5000000000, 5000000000, 500000000, 10000000000, 100000000]
2121
22-let j = [0, 4, 4, 4, 2, 2, 2]
22+let j = [0, 0, 0, 0, 0, 10000000000, 100000000]
2323
24-let k = [0, 1000, 500, 500, 0, 0, 0]
24+let k = [0, 4, 4, 4, 2, 2, 2]
2525
26-func l (m) = {
27- let n = getInteger(Address(b), m)
28- if ($isInstanceOf(n, "Int"))
26+let l = [0, 1000, 500, 500, 0, 0, 0]
27+
28+func m (n) = {
29+ let o = getInteger(Address(b), n)
30+ if ($isInstanceOf(o, "Int"))
2931 then {
30- let o = n
31- o
32+ let p = o
33+ p
3234 }
3335 else 0
3436 }
3537
3638
37-func p (m) = {
38- let n = getInteger(Address(c), m)
39- if ($isInstanceOf(n, "Int"))
39+func q (n) = {
40+ let o = getInteger(Address(c), n)
41+ if ($isInstanceOf(o, "Int"))
4042 then {
41- let o = n
42- o
43+ let p = o
44+ p
4345 }
4446 else 0
4547 }
4648
4749
48-func q (m) = {
49- let n = getString(this, m)
50- if ($isInstanceOf(n, "String"))
50+func r (n) = {
51+ let o = getString(this, n)
52+ if ($isInstanceOf(o, "String"))
5153 then {
52- let o = n
53- o
54+ let p = o
55+ p
5456 }
5557 else ""
5658 }
5759
5860
59-func r (m) = {
60- let n = getInteger(this, m)
61- if ($isInstanceOf(n, "Int"))
61+func s (n) = {
62+ let o = getInteger(this, n)
63+ if ($isInstanceOf(o, "Int"))
6264 then {
63- let o = n
64- o
65+ let p = o
66+ p
6567 }
6668 else 0
6769 }
6870
6971
70-func s (t,u) = ((u + "_") + toBase58String(t))
72+func t (u,v) = ((v + "_") + toBase58String(u))
7173
7274
73-func v (t,u) = (s(t, u) + "_Owner")
75+func w (u,v) = (t(u, v) + "_Owner")
7476
7577
76-func w (x,t,u) = (((x + "_") + s(t, u)) + "_fh")
78+func x (y) = (y + "_Owner")
7779
7880
79-func y (x,t,u) = (((x + "_") + s(t, u)) + "_status")
81+func z (A,u,v) = (((A + "_") + t(u, v)) + "_fh")
8082
8183
82-func z (A) = (A + "_Treasury")
84+func B (A,u,v) = (((A + "_") + t(u, v)) + "_status")
8385
8486
85-func B (C) = if (if (if ((C == d))
86- then true
87- else (C == this))
88- then true
89- else (C.bytes == c))
90- then true
91- else (C.bytes == b)
87+func C (D) = (D + "_Treasury")
9288
9389
94-func D (C,E,F,G,H) = {
95- let I = getIntegerValue(this, H)
96- if ((I > height))
97- then throw((((("Building is not finished yet " + toString((I - height))) + " blocks remaining, it will take around ") + toString((I - height))) + " minutes"))
90+func E (F) = if (if (if (if ((F == e))
91+ then true
92+ else (F == this))
93+ then true
94+ else (F.bytes == c))
95+ then true
96+ else (F.bytes == b))
97+ then true
98+ else (F.bytes == d)
99+
100+
101+func G (F,H,I,J,K) = {
102+ let L = getIntegerValue(this, K)
103+ if ((L > height))
104+ then throw((((("Building is not finished yet " + toString((L - height))) + " blocks remaining, it will take around ") + toString((L - height))) + " minutes"))
98105 else {
99- let J = value(indexOf(g, E))
100- let K = k[J]
101- let L = h[J]
102- let M = invoke(Address(b), "Pay", [C, L], nil)
103- if ((M == M))
104- then if ((K > 0))
106+ let M = value(indexOf(h, H))
107+ let N = l[M]
108+ let O = i[M]
109+ let P = invoke(Address(b), "Pay", [F, O], nil)
110+ if ((P == P))
111+ then if ((N > 0))
105112 then {
106- let N = p((C + "_Power"))
107- let O = invoke(Address(c), "setUserPower", [C, (N + K)], nil)
108- if ((O == O))
109- then [IntegerEntry(F, L), DeleteEntry(G), DeleteEntry(H)]
113+ let Q = q((F + "_Power"))
114+ let R = invoke(Address(c), "setUserPower", [F, (Q + N)], nil)
115+ if ((R == R))
116+ then [IntegerEntry(I, O), DeleteEntry(J), DeleteEntry(K)]
110117 else throw("Strict value is not equal to itself.")
111118 }
112- else [IntegerEntry(F, L), DeleteEntry(G), DeleteEntry(H)]
119+ else [IntegerEntry(I, O), DeleteEntry(J), DeleteEntry(K)]
113120 else throw("Strict value is not equal to itself.")
114121 }
115122 }
116123
117124
118-func P (C,F) = {
119- let Q = q((F + "_Owner"))
120- (Q == C)
125+func S (F,I) = {
126+ let T = r((I + "_Owner"))
127+ (T == F)
121128 }
122129
123130
124-func R (S) = if ((S == "Settler"))
131+func U (V) = if ((V == "Settler"))
125132 then true
126- else (S == "Explorer")
133+ else (V == "Explorer")
127134
128135
129-@Callable(T)
130-func StartBuild (S,U) = if (!(containsElement(g, S)))
136+func W (y,X) = {
137+ let V = split(y, "_")[0]
138+ let Y = r(x(y))
139+ let N = l[value(indexOf(h, V))]
140+ if ((N > 0))
141+ then {
142+ let Q = q((Y + "_Power"))
143+ let R = invoke(Address(c), "setUserPower", [Y, (Q - N)], nil)
144+ if ((R == R))
145+ then if ((R != (Q - N)))
146+ then throw("Incorrect invoke result")
147+ else {
148+ let Z = q((X + "_Power"))
149+ let aa = invoke(Address(c), "setUserPower", [X, (Z + N)], nil)
150+ if ((aa == aa))
151+ then {
152+ let o = aa
153+ if ($isInstanceOf(o, "Int"))
154+ then {
155+ let ab = o
156+[StringEntry(x(y), X)]
157+ }
158+ else throw("Incorrect invoke result")
159+ }
160+ else throw("Strict value is not equal to itself.")
161+ }
162+ else throw("Strict value is not equal to itself.")
163+ }
164+ else [StringEntry(x(y), X)]
165+ }
166+
167+
168+@Callable(ac)
169+func StartBuild (V,ad) = if (!(containsElement(h, V)))
131170 then throw("This asset is not amanged by the system")
132171 else {
133- let V = value(indexOf(g, S))
134- let W = j[V]
135- let X = h[V]
136- if (R(S))
137- then if (if (!(P(toString(T.caller), U)))
138- then !(B(T.caller))
172+ let ae = value(indexOf(h, V))
173+ let af = k[ae]
174+ let ag = i[ae]
175+ if (U(V))
176+ then if (if (!(S(toString(ac.caller), ad)))
177+ then !(E(ac.caller))
139178 else false)
140179 then throw("You are not authorized to perform this operation")
141180 else {
142- let Y = l(z(U))
143- if ((X > Y))
181+ let ah = m(C(ad))
182+ if ((ag > ah))
144183 then throw("The nation hasn't enough funds")
145184 else {
146- let Z = invoke(Address(b), "decreaseNationWallet", [U, X], nil)
147- let n = Z
148- if ($isInstanceOf(n, "Int"))
185+ let ai = invoke(Address(b), "decreaseNationWallet", [ad, ag], nil)
186+ let o = ai
187+ if ($isInstanceOf(o, "Int"))
149188 then {
150- let aa = n
151- let O = invoke(Address(b), "arbitraryAddCoins", [U, X], nil)
152- let ab = O
153- if ($isInstanceOf(ab, "Int"))
189+ let ab = o
190+ let R = invoke(Address(b), "arbitraryAddCoins", [ad, ag], nil)
191+ let aj = R
192+ if ($isInstanceOf(aj, "Int"))
154193 then {
155- let o = ab
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))]
194+ let p = aj
195+[StringEntry(B(toString(ac.originCaller), ac.transactionId, V), f), StringEntry(w(ac.transactionId, V), ad), IntegerEntry(z(toString(ac.originCaller), ac.transactionId, V), (height + af))]
157196 }
158197 else throw("Error Depositing nation funds")
159198 }
161200 }
162201 }
163202 else {
164- let ac = value(T.payments[0].amount)
165- if ((X > ac))
166- then throw(("You provided less $heg than the needed cost for building this " + S))
167- else if ((T.payments[0].assetId != a))
203+ let ak = value(ac.payments[0].amount)
204+ if ((ag > ak))
205+ then throw(("You provided less $heg than the needed cost for building this " + V))
206+ else if ((ac.payments[0].assetId != a))
168207 then throw("Only $HEG payments allowed")
169208 else {
170- let O = invoke(Address(b), "Deposit", nil, T.payments)
171- let n = O
172- if ($isInstanceOf(n, "Int"))
209+ let R = invoke(Address(b), "Deposit", nil, ac.payments)
210+ let o = R
211+ if ($isInstanceOf(o, "Int"))
173212 then {
174- let aa = n
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))]
213+ let ab = o
214+[StringEntry(B(toString(ac.originCaller), ac.transactionId, V), f), StringEntry(w(ac.transactionId, V), toString(ac.originCaller)), IntegerEntry(z(toString(ac.originCaller), ac.transactionId, V), (height + af))]
176215 }
177216 else throw("Incorrect invoke result")
178217 }
181220
182221
183222
184-@Callable(T)
185-func FinishBuild (ad,E,U) = {
186- let t = fromBase58String(ad)
187- let G = y(toString(T.caller), t, E)
188- let H = w(toString(T.caller), t, E)
189- let F = s(t, E)
190- let Q = q(v(t, E))
191- if (R(E))
192- then if (if (!(P(toString(T.caller), U)))
193- then !(B(T.caller))
223+@Callable(ac)
224+func FinishBuild (al,H,ad) = {
225+ let u = fromBase58String(al)
226+ let J = B(toString(ac.caller), u, H)
227+ let K = z(toString(ac.caller), u, H)
228+ let I = t(u, H)
229+ let T = r(w(u, H))
230+ if (U(H))
231+ then if (if (!(S(toString(ac.caller), ad)))
232+ then !(E(ac.caller))
194233 else false)
195234 then throw("You are not authorized to perform this operation")
196- else D(U, E, F, G, H)
197- else if ((Q != toString(T.caller)))
198- then throw(("You cannot claim other's players " + E))
235+ else G(ad, H, I, J, K)
236+ else if ((T != toString(ac.caller)))
237+ then throw(("You cannot claim other's players " + H))
199238 else {
200- let ae = q(G)
201- if ((ae == ""))
239+ let am = r(J)
240+ if ((am == ""))
202241 then throw("No pending operations for this asset")
203- else D(toString(T.caller), E, F, G, H)
242+ else G(toString(ac.caller), H, I, J, K)
204243 }
205244 }
206245
207246
208247
209-@Callable(T)
210-func transferOwnership (af,ag) = {
211- let S = split(af, "_")[0]
212- if (!(B(T.caller)))
248+@Callable(ac)
249+func transferOwnership (y,X) = {
250+ let V = split(y, "_")[0]
251+ if (!(E(ac.caller)))
213252 then throw("Only the admin can perform this operation")
214- else {
215- let ah = q((af + "_Owner"))
216- let K = k[value(indexOf(g, S))]
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))
228- then {
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")
236- }
237- else throw("Strict value is not equal to itself.")
238- }
239- else throw("Strict value is not equal to itself.")
240- }
241- else $Tuple2([StringEntry((af + "_Owner"), ag)], ag)
242- }
253+ else $Tuple2(W(y, X), X)
243254 }
244255
245256
246257
247-@Callable(T)
248-func destroyAssetAndTransfer (af,ak) = {
249- let S = split(af, "_")[0]
250- if (!(B(T.caller)))
258+@Callable(ac)
259+func destroyAssetAndTransfer (y,an) = {
260+ let V = split(y, "_")[0]
261+ if (!(E(ac.caller)))
251262 then throw("Only the admin can perform this operation")
252263 else {
253- let ah = q((af + "_Owner"))
254- let L = r(af)
255- let M = invoke(Address(b), "arbitraryAddCoins", [ak, L], nil)
256- if ((M == M))
264+ let Y = r(x(y))
265+ let O = s(y)
266+ let P = invoke(Address(b), "arbitraryAddCoins", [an, O], nil)
267+ if ((P == P))
257268 then {
258- let N = p((ah + "_Power"))
259- let K = k[value(indexOf(g, S))]
260- let O = invoke(Address(c), "setUserPower", [toString(T.caller), (N - K)], nil)
261- if ((O == O))
269+ let Q = q((Y + "_Power"))
270+ let N = l[value(indexOf(h, V))]
271+ let R = invoke(Address(c), "setUserPower", [toString(ac.caller), (Q - N)], nil)
272+ if ((R == R))
262273 then {
263- let n = O
264- if ($isInstanceOf(n, "Int"))
274+ let o = R
275+ if ($isInstanceOf(o, "Int"))
265276 then {
266- let aa = n
267-[DeleteEntry(af)]
277+ let ab = o
278+[DeleteEntry(y)]
268279 }
269280 else throw("Incorrect invoke result")
270281 }
276287
277288
278289
279-@Callable(T)
280-func destroyAssetFromUser (af) = {
281- let S = split(af, "_")[0]
282- if (!(P(toString(T.caller), af)))
290+@Callable(ac)
291+func destroyAssetFromUser (y) = {
292+ let V = split(y, "_")[0]
293+ if (!(S(toString(ac.caller), y)))
283294 then throw("You don't own this asset")
284295 else {
285- let L = r(af)
286- let N = p((toString(T.caller) + "_Power"))
287- let K = k[value(indexOf(g, S))]
288- let O = invoke(Address(c), "setUserPower", [toString(T.caller), (N - K)], nil)
289- if ((O == O))
296+ let O = s(y)
297+ let Q = q((toString(ac.caller) + "_Power"))
298+ let N = l[value(indexOf(h, V))]
299+ let R = invoke(Address(c), "setUserPower", [toString(ac.caller), (Q - N)], nil)
300+ if ((R == R))
290301 then {
291- let n = O
292- if ($isInstanceOf(n, "Int"))
302+ let o = R
303+ if ($isInstanceOf(o, "Int"))
293304 then {
294- let aa = n
295-[DeleteEntry(af), ScriptTransfer(T.caller, L, a)]
305+ let ab = o
306+[DeleteEntry(y), ScriptTransfer(ac.caller, O, a)]
296307 }
297308 else throw("Incorrect invoke result")
298309 }
302313
303314
304315
305-@Callable(T)
306-func setNationOwner (al,ag) = if (B(T.caller))
307- then $Tuple2([StringEntry((al + "_Owner"), ag)], true)
316+@Callable(ac)
317+func setNationOwner (ao,X) = if (E(ac.caller))
318+ then $Tuple2([StringEntry((ao + "_Owner"), X)], true)
308319 else {
309- let am = q((al + "_Owner"))
310- if ((am != toString(T.caller)))
320+ let ap = r((ao + "_Owner"))
321+ if ((ap != toString(ac.caller)))
311322 then throw("You are not the nation owner")
312- else [StringEntry((al + "_Owner"), ag)]
323+ else [StringEntry((ao + "_Owner"), X)]
313324 }
314325
315326
316327
317-@Callable(T)
318-func buyNationItem (af,U) = {
319- let S = split(af, "_")[0]
320- let an = p(toString(T.caller))
321- let ao = p(U)
322- if ((an != ao))
328+@Callable(ac)
329+func buyNationItem (y,ad) = {
330+ let V = split(y, "_")[0]
331+ let aq = q(toString(ac.caller))
332+ let ar = q(ad)
333+ if ((aq != ar))
323334 then throw("you can buy assets only from your nation")
324- else if (!(P(U, af)))
335+ else if (!(S(ad, y)))
325336 then throw("The asset does not belong to the nation")
326- else if (!(R(S)))
337+ else if (!(U(V)))
327338 then throw("this asset cannot be sold by the nation")
328339 else {
329- let V = value(indexOf(g, S))
330- let ap = i[V]
331- let ac = value(T.payments[0].amount)
332- if ((ap > ac))
333- then throw(("You provided less $heg than the needed cost for buying this " + S))
334- else if ((T.payments[0].assetId != a))
340+ let ae = value(indexOf(h, V))
341+ let as = j[ae]
342+ let ak = value(ac.payments[0].amount)
343+ if ((as > ak))
344+ then throw(("You provided less $heg than the needed cost for buying this " + V))
345+ else if ((ac.payments[0].assetId != a))
335346 then throw("Only $HEG payments allowed")
336347 else {
337- let aq = invoke(Address(b), "increaseNationWallet", [U, ac], nil)
338- let n = aq
339- if ($isInstanceOf(n, "Int"))
348+ let at = invoke(Address(b), "increaseNationWallet", [ad, ak], nil)
349+ let o = at
350+ if ($isInstanceOf(o, "Int"))
340351 then {
341- let o = n
342- let ar = invoke(this, "transferOwnership", [af, toString(T.caller)], nil)
343- let ab = ar
344- if ($isInstanceOf(ab, "String"))
345- then {
346- let as = ab
347-[ScriptTransfer(Address(b), ac, a)]
348- }
349- else throw("Error transferring Ownership")
352+ let p = o
353+ (W(y, toString(ac.caller)) :+ ScriptTransfer(Address(b), ak, a))
350354 }
351355 else throw("Error transferring SHEG to nations wallet")
352356 }
354358 }
355359
356360
361+
362+@Callable(ac)
363+func AddAssetFromMarkeplace (y,Y,au) = if (!(E(ac.caller)))
364+ then throw("You are not allowed to perform this operation")
365+ else $Tuple2([StringEntry(x(y), Y), IntegerEntry(y, au)], Y)
366+
367+
368+
369+@Callable(ac)
370+func TransferAssetToMarketplace (y,av) = if (!(S(toString(ac.caller), y)))
371+ then throw("You are not the owner of this asset")
372+ else {
373+ let au = s(y)
374+ let aw = invoke(Address(d), "putOnSale", [y, au, av], nil)
375+ let o = aw
376+ if ($isInstanceOf(o, "Int"))
377+ then {
378+ let ax = o
379+[DeleteEntry(x(y)), DeleteEntry(y)]
380+ }
381+ else throw("Error putting the item on the marketplace")
382+ }
383+
384+
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
10-let d = addressFromStringValue("3MpNtiPSRSq6NnaQYk38BfWSzZcgAYTyrQ9")
10+let d = base58'3Mra7mjPipcQd5sJaRmXK8xgS4scb8gPF4A'
1111
12-let e = "BUILD_STARTED"
12+let e = addressFromStringValue("3MpNtiPSRSq6NnaQYk38BfWSzZcgAYTyrQ9")
1313
14-let f = "BUILD_FINISHED"
14+let f = "BUILD_STARTED"
1515
16-let g = ["Nation", "City", "Barrack", "Barn", "Warrior", "Settler", "Explorer"]
16+let g = "BUILD_FINISHED"
1717
18-let h = [0, 1000000000, 5000000000, 5000000000, 500000000, 10000000000, 100000000]
18+let h = ["Nation", "City", "Barrack", "Barn", "Warrior", "Settler", "Explorer"]
1919
20-let i = [0, 0, 0, 0, 0, 10000000000, 100000000]
20+let i = [0, 1000000000, 5000000000, 5000000000, 500000000, 10000000000, 100000000]
2121
22-let j = [0, 4, 4, 4, 2, 2, 2]
22+let j = [0, 0, 0, 0, 0, 10000000000, 100000000]
2323
24-let k = [0, 1000, 500, 500, 0, 0, 0]
24+let k = [0, 4, 4, 4, 2, 2, 2]
2525
26-func l (m) = {
27- let n = getInteger(Address(b), m)
28- if ($isInstanceOf(n, "Int"))
26+let l = [0, 1000, 500, 500, 0, 0, 0]
27+
28+func m (n) = {
29+ let o = getInteger(Address(b), n)
30+ if ($isInstanceOf(o, "Int"))
2931 then {
30- let o = n
31- o
32+ let p = o
33+ p
3234 }
3335 else 0
3436 }
3537
3638
37-func p (m) = {
38- let n = getInteger(Address(c), m)
39- if ($isInstanceOf(n, "Int"))
39+func q (n) = {
40+ let o = getInteger(Address(c), n)
41+ if ($isInstanceOf(o, "Int"))
4042 then {
41- let o = n
42- o
43+ let p = o
44+ p
4345 }
4446 else 0
4547 }
4648
4749
48-func q (m) = {
49- let n = getString(this, m)
50- if ($isInstanceOf(n, "String"))
50+func r (n) = {
51+ let o = getString(this, n)
52+ if ($isInstanceOf(o, "String"))
5153 then {
52- let o = n
53- o
54+ let p = o
55+ p
5456 }
5557 else ""
5658 }
5759
5860
59-func r (m) = {
60- let n = getInteger(this, m)
61- if ($isInstanceOf(n, "Int"))
61+func s (n) = {
62+ let o = getInteger(this, n)
63+ if ($isInstanceOf(o, "Int"))
6264 then {
63- let o = n
64- o
65+ let p = o
66+ p
6567 }
6668 else 0
6769 }
6870
6971
70-func s (t,u) = ((u + "_") + toBase58String(t))
72+func t (u,v) = ((v + "_") + toBase58String(u))
7173
7274
73-func v (t,u) = (s(t, u) + "_Owner")
75+func w (u,v) = (t(u, v) + "_Owner")
7476
7577
76-func w (x,t,u) = (((x + "_") + s(t, u)) + "_fh")
78+func x (y) = (y + "_Owner")
7779
7880
79-func y (x,t,u) = (((x + "_") + s(t, u)) + "_status")
81+func z (A,u,v) = (((A + "_") + t(u, v)) + "_fh")
8082
8183
82-func z (A) = (A + "_Treasury")
84+func B (A,u,v) = (((A + "_") + t(u, v)) + "_status")
8385
8486
85-func B (C) = if (if (if ((C == d))
86- then true
87- else (C == this))
88- then true
89- else (C.bytes == c))
90- then true
91- else (C.bytes == b)
87+func C (D) = (D + "_Treasury")
9288
9389
94-func D (C,E,F,G,H) = {
95- let I = getIntegerValue(this, H)
96- if ((I > height))
97- then throw((((("Building is not finished yet " + toString((I - height))) + " blocks remaining, it will take around ") + toString((I - height))) + " minutes"))
90+func E (F) = if (if (if (if ((F == e))
91+ then true
92+ else (F == this))
93+ then true
94+ else (F.bytes == c))
95+ then true
96+ else (F.bytes == b))
97+ then true
98+ else (F.bytes == d)
99+
100+
101+func G (F,H,I,J,K) = {
102+ let L = getIntegerValue(this, K)
103+ if ((L > height))
104+ then throw((((("Building is not finished yet " + toString((L - height))) + " blocks remaining, it will take around ") + toString((L - height))) + " minutes"))
98105 else {
99- let J = value(indexOf(g, E))
100- let K = k[J]
101- let L = h[J]
102- let M = invoke(Address(b), "Pay", [C, L], nil)
103- if ((M == M))
104- then if ((K > 0))
106+ let M = value(indexOf(h, H))
107+ let N = l[M]
108+ let O = i[M]
109+ let P = invoke(Address(b), "Pay", [F, O], nil)
110+ if ((P == P))
111+ then if ((N > 0))
105112 then {
106- let N = p((C + "_Power"))
107- let O = invoke(Address(c), "setUserPower", [C, (N + K)], nil)
108- if ((O == O))
109- then [IntegerEntry(F, L), DeleteEntry(G), DeleteEntry(H)]
113+ let Q = q((F + "_Power"))
114+ let R = invoke(Address(c), "setUserPower", [F, (Q + N)], nil)
115+ if ((R == R))
116+ then [IntegerEntry(I, O), DeleteEntry(J), DeleteEntry(K)]
110117 else throw("Strict value is not equal to itself.")
111118 }
112- else [IntegerEntry(F, L), DeleteEntry(G), DeleteEntry(H)]
119+ else [IntegerEntry(I, O), DeleteEntry(J), DeleteEntry(K)]
113120 else throw("Strict value is not equal to itself.")
114121 }
115122 }
116123
117124
118-func P (C,F) = {
119- let Q = q((F + "_Owner"))
120- (Q == C)
125+func S (F,I) = {
126+ let T = r((I + "_Owner"))
127+ (T == F)
121128 }
122129
123130
124-func R (S) = if ((S == "Settler"))
131+func U (V) = if ((V == "Settler"))
125132 then true
126- else (S == "Explorer")
133+ else (V == "Explorer")
127134
128135
129-@Callable(T)
130-func StartBuild (S,U) = if (!(containsElement(g, S)))
136+func W (y,X) = {
137+ let V = split(y, "_")[0]
138+ let Y = r(x(y))
139+ let N = l[value(indexOf(h, V))]
140+ if ((N > 0))
141+ then {
142+ let Q = q((Y + "_Power"))
143+ let R = invoke(Address(c), "setUserPower", [Y, (Q - N)], nil)
144+ if ((R == R))
145+ then if ((R != (Q - N)))
146+ then throw("Incorrect invoke result")
147+ else {
148+ let Z = q((X + "_Power"))
149+ let aa = invoke(Address(c), "setUserPower", [X, (Z + N)], nil)
150+ if ((aa == aa))
151+ then {
152+ let o = aa
153+ if ($isInstanceOf(o, "Int"))
154+ then {
155+ let ab = o
156+[StringEntry(x(y), X)]
157+ }
158+ else throw("Incorrect invoke result")
159+ }
160+ else throw("Strict value is not equal to itself.")
161+ }
162+ else throw("Strict value is not equal to itself.")
163+ }
164+ else [StringEntry(x(y), X)]
165+ }
166+
167+
168+@Callable(ac)
169+func StartBuild (V,ad) = if (!(containsElement(h, V)))
131170 then throw("This asset is not amanged by the system")
132171 else {
133- let V = value(indexOf(g, S))
134- let W = j[V]
135- let X = h[V]
136- if (R(S))
137- then if (if (!(P(toString(T.caller), U)))
138- then !(B(T.caller))
172+ let ae = value(indexOf(h, V))
173+ let af = k[ae]
174+ let ag = i[ae]
175+ if (U(V))
176+ then if (if (!(S(toString(ac.caller), ad)))
177+ then !(E(ac.caller))
139178 else false)
140179 then throw("You are not authorized to perform this operation")
141180 else {
142- let Y = l(z(U))
143- if ((X > Y))
181+ let ah = m(C(ad))
182+ if ((ag > ah))
144183 then throw("The nation hasn't enough funds")
145184 else {
146- let Z = invoke(Address(b), "decreaseNationWallet", [U, X], nil)
147- let n = Z
148- if ($isInstanceOf(n, "Int"))
185+ let ai = invoke(Address(b), "decreaseNationWallet", [ad, ag], nil)
186+ let o = ai
187+ if ($isInstanceOf(o, "Int"))
149188 then {
150- let aa = n
151- let O = invoke(Address(b), "arbitraryAddCoins", [U, X], nil)
152- let ab = O
153- if ($isInstanceOf(ab, "Int"))
189+ let ab = o
190+ let R = invoke(Address(b), "arbitraryAddCoins", [ad, ag], nil)
191+ let aj = R
192+ if ($isInstanceOf(aj, "Int"))
154193 then {
155- let o = ab
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))]
194+ let p = aj
195+[StringEntry(B(toString(ac.originCaller), ac.transactionId, V), f), StringEntry(w(ac.transactionId, V), ad), IntegerEntry(z(toString(ac.originCaller), ac.transactionId, V), (height + af))]
157196 }
158197 else throw("Error Depositing nation funds")
159198 }
160199 else throw("Error Depositing nation funds")
161200 }
162201 }
163202 else {
164- let ac = value(T.payments[0].amount)
165- if ((X > ac))
166- then throw(("You provided less $heg than the needed cost for building this " + S))
167- else if ((T.payments[0].assetId != a))
203+ let ak = value(ac.payments[0].amount)
204+ if ((ag > ak))
205+ then throw(("You provided less $heg than the needed cost for building this " + V))
206+ else if ((ac.payments[0].assetId != a))
168207 then throw("Only $HEG payments allowed")
169208 else {
170- let O = invoke(Address(b), "Deposit", nil, T.payments)
171- let n = O
172- if ($isInstanceOf(n, "Int"))
209+ let R = invoke(Address(b), "Deposit", nil, ac.payments)
210+ let o = R
211+ if ($isInstanceOf(o, "Int"))
173212 then {
174- let aa = n
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))]
213+ let ab = o
214+[StringEntry(B(toString(ac.originCaller), ac.transactionId, V), f), StringEntry(w(ac.transactionId, V), toString(ac.originCaller)), IntegerEntry(z(toString(ac.originCaller), ac.transactionId, V), (height + af))]
176215 }
177216 else throw("Incorrect invoke result")
178217 }
179218 }
180219 }
181220
182221
183222
184-@Callable(T)
185-func FinishBuild (ad,E,U) = {
186- let t = fromBase58String(ad)
187- let G = y(toString(T.caller), t, E)
188- let H = w(toString(T.caller), t, E)
189- let F = s(t, E)
190- let Q = q(v(t, E))
191- if (R(E))
192- then if (if (!(P(toString(T.caller), U)))
193- then !(B(T.caller))
223+@Callable(ac)
224+func FinishBuild (al,H,ad) = {
225+ let u = fromBase58String(al)
226+ let J = B(toString(ac.caller), u, H)
227+ let K = z(toString(ac.caller), u, H)
228+ let I = t(u, H)
229+ let T = r(w(u, H))
230+ if (U(H))
231+ then if (if (!(S(toString(ac.caller), ad)))
232+ then !(E(ac.caller))
194233 else false)
195234 then throw("You are not authorized to perform this operation")
196- else D(U, E, F, G, H)
197- else if ((Q != toString(T.caller)))
198- then throw(("You cannot claim other's players " + E))
235+ else G(ad, H, I, J, K)
236+ else if ((T != toString(ac.caller)))
237+ then throw(("You cannot claim other's players " + H))
199238 else {
200- let ae = q(G)
201- if ((ae == ""))
239+ let am = r(J)
240+ if ((am == ""))
202241 then throw("No pending operations for this asset")
203- else D(toString(T.caller), E, F, G, H)
242+ else G(toString(ac.caller), H, I, J, K)
204243 }
205244 }
206245
207246
208247
209-@Callable(T)
210-func transferOwnership (af,ag) = {
211- let S = split(af, "_")[0]
212- if (!(B(T.caller)))
248+@Callable(ac)
249+func transferOwnership (y,X) = {
250+ let V = split(y, "_")[0]
251+ if (!(E(ac.caller)))
213252 then throw("Only the admin can perform this operation")
214- else {
215- let ah = q((af + "_Owner"))
216- let K = k[value(indexOf(g, S))]
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))
228- then {
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")
236- }
237- else throw("Strict value is not equal to itself.")
238- }
239- else throw("Strict value is not equal to itself.")
240- }
241- else $Tuple2([StringEntry((af + "_Owner"), ag)], ag)
242- }
253+ else $Tuple2(W(y, X), X)
243254 }
244255
245256
246257
247-@Callable(T)
248-func destroyAssetAndTransfer (af,ak) = {
249- let S = split(af, "_")[0]
250- if (!(B(T.caller)))
258+@Callable(ac)
259+func destroyAssetAndTransfer (y,an) = {
260+ let V = split(y, "_")[0]
261+ if (!(E(ac.caller)))
251262 then throw("Only the admin can perform this operation")
252263 else {
253- let ah = q((af + "_Owner"))
254- let L = r(af)
255- let M = invoke(Address(b), "arbitraryAddCoins", [ak, L], nil)
256- if ((M == M))
264+ let Y = r(x(y))
265+ let O = s(y)
266+ let P = invoke(Address(b), "arbitraryAddCoins", [an, O], nil)
267+ if ((P == P))
257268 then {
258- let N = p((ah + "_Power"))
259- let K = k[value(indexOf(g, S))]
260- let O = invoke(Address(c), "setUserPower", [toString(T.caller), (N - K)], nil)
261- if ((O == O))
269+ let Q = q((Y + "_Power"))
270+ let N = l[value(indexOf(h, V))]
271+ let R = invoke(Address(c), "setUserPower", [toString(ac.caller), (Q - N)], nil)
272+ if ((R == R))
262273 then {
263- let n = O
264- if ($isInstanceOf(n, "Int"))
274+ let o = R
275+ if ($isInstanceOf(o, "Int"))
265276 then {
266- let aa = n
267-[DeleteEntry(af)]
277+ let ab = o
278+[DeleteEntry(y)]
268279 }
269280 else throw("Incorrect invoke result")
270281 }
271282 else throw("Strict value is not equal to itself.")
272283 }
273284 else throw("Strict value is not equal to itself.")
274285 }
275286 }
276287
277288
278289
279-@Callable(T)
280-func destroyAssetFromUser (af) = {
281- let S = split(af, "_")[0]
282- if (!(P(toString(T.caller), af)))
290+@Callable(ac)
291+func destroyAssetFromUser (y) = {
292+ let V = split(y, "_")[0]
293+ if (!(S(toString(ac.caller), y)))
283294 then throw("You don't own this asset")
284295 else {
285- let L = r(af)
286- let N = p((toString(T.caller) + "_Power"))
287- let K = k[value(indexOf(g, S))]
288- let O = invoke(Address(c), "setUserPower", [toString(T.caller), (N - K)], nil)
289- if ((O == O))
296+ let O = s(y)
297+ let Q = q((toString(ac.caller) + "_Power"))
298+ let N = l[value(indexOf(h, V))]
299+ let R = invoke(Address(c), "setUserPower", [toString(ac.caller), (Q - N)], nil)
300+ if ((R == R))
290301 then {
291- let n = O
292- if ($isInstanceOf(n, "Int"))
302+ let o = R
303+ if ($isInstanceOf(o, "Int"))
293304 then {
294- let aa = n
295-[DeleteEntry(af), ScriptTransfer(T.caller, L, a)]
305+ let ab = o
306+[DeleteEntry(y), ScriptTransfer(ac.caller, O, a)]
296307 }
297308 else throw("Incorrect invoke result")
298309 }
299310 else throw("Strict value is not equal to itself.")
300311 }
301312 }
302313
303314
304315
305-@Callable(T)
306-func setNationOwner (al,ag) = if (B(T.caller))
307- then $Tuple2([StringEntry((al + "_Owner"), ag)], true)
316+@Callable(ac)
317+func setNationOwner (ao,X) = if (E(ac.caller))
318+ then $Tuple2([StringEntry((ao + "_Owner"), X)], true)
308319 else {
309- let am = q((al + "_Owner"))
310- if ((am != toString(T.caller)))
320+ let ap = r((ao + "_Owner"))
321+ if ((ap != toString(ac.caller)))
311322 then throw("You are not the nation owner")
312- else [StringEntry((al + "_Owner"), ag)]
323+ else [StringEntry((ao + "_Owner"), X)]
313324 }
314325
315326
316327
317-@Callable(T)
318-func buyNationItem (af,U) = {
319- let S = split(af, "_")[0]
320- let an = p(toString(T.caller))
321- let ao = p(U)
322- if ((an != ao))
328+@Callable(ac)
329+func buyNationItem (y,ad) = {
330+ let V = split(y, "_")[0]
331+ let aq = q(toString(ac.caller))
332+ let ar = q(ad)
333+ if ((aq != ar))
323334 then throw("you can buy assets only from your nation")
324- else if (!(P(U, af)))
335+ else if (!(S(ad, y)))
325336 then throw("The asset does not belong to the nation")
326- else if (!(R(S)))
337+ else if (!(U(V)))
327338 then throw("this asset cannot be sold by the nation")
328339 else {
329- let V = value(indexOf(g, S))
330- let ap = i[V]
331- let ac = value(T.payments[0].amount)
332- if ((ap > ac))
333- then throw(("You provided less $heg than the needed cost for buying this " + S))
334- else if ((T.payments[0].assetId != a))
340+ let ae = value(indexOf(h, V))
341+ let as = j[ae]
342+ let ak = value(ac.payments[0].amount)
343+ if ((as > ak))
344+ then throw(("You provided less $heg than the needed cost for buying this " + V))
345+ else if ((ac.payments[0].assetId != a))
335346 then throw("Only $HEG payments allowed")
336347 else {
337- let aq = invoke(Address(b), "increaseNationWallet", [U, ac], nil)
338- let n = aq
339- if ($isInstanceOf(n, "Int"))
348+ let at = invoke(Address(b), "increaseNationWallet", [ad, ak], nil)
349+ let o = at
350+ if ($isInstanceOf(o, "Int"))
340351 then {
341- let o = n
342- let ar = invoke(this, "transferOwnership", [af, toString(T.caller)], nil)
343- let ab = ar
344- if ($isInstanceOf(ab, "String"))
345- then {
346- let as = ab
347-[ScriptTransfer(Address(b), ac, a)]
348- }
349- else throw("Error transferring Ownership")
352+ let p = o
353+ (W(y, toString(ac.caller)) :+ ScriptTransfer(Address(b), ak, a))
350354 }
351355 else throw("Error transferring SHEG to nations wallet")
352356 }
353357 }
354358 }
355359
356360
361+
362+@Callable(ac)
363+func AddAssetFromMarkeplace (y,Y,au) = if (!(E(ac.caller)))
364+ then throw("You are not allowed to perform this operation")
365+ else $Tuple2([StringEntry(x(y), Y), IntegerEntry(y, au)], Y)
366+
367+
368+
369+@Callable(ac)
370+func TransferAssetToMarketplace (y,av) = if (!(S(toString(ac.caller), y)))
371+ then throw("You are not the owner of this asset")
372+ else {
373+ let au = s(y)
374+ let aw = invoke(Address(d), "putOnSale", [y, au, av], nil)
375+ let o = aw
376+ if ($isInstanceOf(o, "Int"))
377+ then {
378+ let ax = o
379+[DeleteEntry(x(y)), DeleteEntry(y)]
380+ }
381+ else throw("Error putting the item on the marketplace")
382+ }
383+
384+

github/deemru/w8io/169f3d6 
146.88 ms