tx · GntxmzcbzNf4b7cw9yqjGQpfYdaB35rwwASLFcGTaBx6

3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA:  -0.01400000 Waves

2022.01.26 23:44 [1896401] smart account 3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA > SELF 0.00000000 Waves

{ "type": 13, "id": "GntxmzcbzNf4b7cw9yqjGQpfYdaB35rwwASLFcGTaBx6", "fee": 1400000, "feeAssetId": null, "timestamp": 1643229956059, "version": 1, "sender": "3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA", "senderPublicKey": "H19CeJVbUnfsK8EYs8K6fHxwBH7pLyxw8WCDFu7D4rGQ", "proofs": [ "TE68PomLwSNVwdRRjUxBbwRcbGfWA25ZbrFwkzyQnz34gTsX2SpuSzwy7nq5ve3uSj7wtBAb5ZC9a2THkrJZmuZ" ], "script": "base64:AAIFAAAAAAAAABcIAhIJCgcIAQEBAQEIEgMKAQgSAwoBAQAAACAAAAAAA1NFUAIAAAACX18BAAAAD2dldFN0cmluZ09yRmFpbAAAAAIAAAAHYWRkcmVzcwAAAANrZXkJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAAdhZGRyZXNzBQAAAANrZXkJAAEsAAAAAgkAASwAAAACAgAAAA9tYW5kYXRvcnkgdGhpcy4FAAAAA2tleQIAAAAPIGlzIG5vdCBkZWZpbmVkAQAAABFrZXlGYWN0b3J5QWRkcmVzcwAAAAACAAAAHCVzJXNfX2NvbmZpZ19fZmFjdG9yeUFkZHJlc3MBAAAAFGtleUd3eFJld2FyZHNBZGRyZXNzAAAAAAIAAAAfJXMlc19fY29uZmlnX19nd3hSZXdhcmRzQWRkcmVzcwAAAAAUZ3d4UmV3YXJkc0FkZHJlc3NTdHIJAQAAAA9nZXRTdHJpbmdPckZhaWwAAAACBQAAAAR0aGlzCQEAAAAUa2V5R3d4UmV3YXJkc0FkZHJlc3MAAAAAAAAAABJnd3hSZXdhcmRzQ29udHJhY3QJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAAFGd3eFJld2FyZHNBZGRyZXNzU3RyAAAAABhJZHhGYWN0b3J5Q2ZnU3Rha2luZ0RhcHAAAAAAAAAAAAEAAAAAGUlkeEZhY3RvcnlDZmdCb29zdGluZ0RhcHAAAAAAAAAAAAIAAAAAFElkeEZhY3RvcnlDZmdJZG9EYXBwAAAAAAAAAAADAAAAABVJZHhGYWN0b3J5Q2ZnVGVhbURhcHAAAAAAAAAAAAQAAAAAGUlkeEZhY3RvcnlDZmdFbWlzc2lvbkRhcHAAAAAAAAAAAAUAAAAAFUlkeEZhY3RvcnlDZmdSZXN0RGFwcAAAAAAAAAAABgAAAAAZSWR4RmFjdG9yeUNmZ1NsaXBwYWdlRGFwcAAAAAAAAAAABwEAAAANa2V5RmFjdG9yeUNmZwAAAAACAAAAESVzX19mYWN0b3J5Q29uZmlnAQAAABprZXlGYWN0b3J5THAyQXNzZXRzTWFwcGluZwAAAAEAAAAKbHBBc3NldFN0cgkABLkAAAACCQAETAAAAAICAAAABiVzJXMlcwkABEwAAAACBQAAAApscEFzc2V0U3RyCQAETAAAAAICAAAAHm1hcHBpbmdzX19scEFzc2V0MlBvb2xDb250cmFjdAUAAAADbmlsBQAAAANTRVABAAAAEGtleUZhY3RvcnlMcExpc3QAAAAAAgAAABAlc19fbHBUb2tlbnNMaXN0AQAAACZrZXlGYWN0b3J5THBBc3NldFRvUG9vbENvbnRyYWN0QWRkcmVzcwAAAAEAAAAKbHBBc3NldFN0cgkABLkAAAACCQAETAAAAAICAAAABiVzJXMlcwkABEwAAAACBQAAAApscEFzc2V0U3RyCQAETAAAAAICAAAAHm1hcHBpbmdzX19scEFzc2V0MlBvb2xDb250cmFjdAUAAAADbmlsBQAAAANTRVABAAAAFGtleUZhY3RvcnlQb29sV2VpZ2h0AAAAAQAAAA9jb250cmFjdEFkZHJlc3MJAAS5AAAAAgkABEwAAAACAgAAAAQlcyVzCQAETAAAAAICAAAACnBvb2xXZWlnaHQJAARMAAAAAgUAAAAPY29udHJhY3RBZGRyZXNzBQAAAANuaWwFAAAAA1NFUAEAAAAYcmVhZEZhY3RvcnlBZGRyZXNzT3JGYWlsAAAAAAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQkBAAAAD2dldFN0cmluZ09yRmFpbAAAAAIFAAAABHRoaXMJAQAAABFrZXlGYWN0b3J5QWRkcmVzcwAAAAABAAAACnJlYWRMcExpc3QAAAAACQAEtQAAAAIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgkBAAAAGHJlYWRGYWN0b3J5QWRkcmVzc09yRmFpbAAAAAAJAQAAABBrZXlGYWN0b3J5THBMaXN0AAAAAAIAAAAABQAAAANTRVABAAAAFHJlYWRGYWN0b3J5Q2ZnT3JGYWlsAAAAAQAAAAdmYWN0b3J5CQAEtQAAAAIJAQAAAA9nZXRTdHJpbmdPckZhaWwAAAACBQAAAAdmYWN0b3J5CQEAAAANa2V5RmFjdG9yeUNmZwAAAAAFAAAAA1NFUAEAAAAYZ2V0Qm9vc3RpbmdBZGRyZXNzT3JGYWlsAAAAAQAAAApmYWN0b3J5Q2ZnCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABCQABkQAAAAIFAAAACmZhY3RvcnlDZmcFAAAAGUlkeEZhY3RvcnlDZmdCb29zdGluZ0RhcHABAAAAGGdldEVtaXNzaW9uQWRkcmVzc09yRmFpbAAAAAEAAAAKZmFjdG9yeUNmZwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQkAAZEAAAACBQAAAApmYWN0b3J5Q2ZnBQAAABlJZHhGYWN0b3J5Q2ZnRW1pc3Npb25EYXBwAQAAABdnZXRTdGFraW5nQWRkcmVzc09yRmFpbAAAAAEAAAAKZmFjdG9yeUNmZwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQkAAZEAAAACBQAAAApmYWN0b3J5Q2ZnBQAAABhJZHhGYWN0b3J5Q2ZnU3Rha2luZ0RhcHABAAAACWtleUNvbmZpZwAAAAACAAAACiVzX19jb25maWcBAAAAGWtleVJhdGVQZXJCbG9ja01heEN1cnJlbnQAAAAAAgAAAB4lcyVzX19yYXRlUGVyQmxvY2tNYXhfX2N1cnJlbnQBAAAAG2tleVJhdGVQZXJCbG9ja01heFN0YXJ0RnJvbQAAAAIAAAAJdGltZXN0YW1wAAAABWJsb2NrCQAEuQAAAAIJAARMAAAAAgIAAAAgJXMlcyVkJWRfX3JhdGVQZXJCbG9ja01heF9fc3RhcnQJAARMAAAAAgkAAaQAAAABBQAAAAl0aW1lc3RhbXAJAARMAAAAAgkAAaQAAAABBQAAAAVibG9jawUAAAADbmlsBQAAAANTRVABAAAAFmtleVJhdGVQZXJCbG9ja0N1cnJlbnQAAAAAAgAAABslcyVzX19yYXRlUGVyQmxvY2tfX2N1cnJlbnQBAAAAGGtleVJhdGVQZXJCbG9ja1N0YXJ0RnJvbQAAAAIAAAAJdGltZXN0YW1wAAAABWJsb2NrCQAEuQAAAAIJAARMAAAAAgIAAAAdJXMlcyVkJWRfX3JhdGVQZXJCbG9ja19fc3RhcnQJAARMAAAAAgkAAaQAAAABBQAAAAl0aW1lc3RhbXAJAARMAAAAAgkAAaQAAAABBQAAAAVibG9jawUAAAADbmlsBQAAAANTRVABAAAAFWtleUVtaXNzaW9uU3RhcnRCbG9jawAAAAACAAAAGiVzJXNfX2VtaXNzaW9uX19zdGFydEJsb2NrAQAAABtrZXlFbWlzc2lvbkR1cmF0aW9uSW5CbG9ja3MAAAAAAgAAABglcyVzX19lbWlzc2lvbl9fZHVyYXRpb24BAAAAE2tleUVtaXNzaW9uRW5kQmxvY2sAAAAAAgAAABglcyVzX19lbWlzc2lvbl9fZW5kQmxvY2sAAAADAAAAAWkBAAAAC2NvbnN0cnVjdG9yAAAABwAAAA5mYWN0b3J5QWRkcmVzcwAAAA9yYXRlUGVyQmxvY2tNYXgAAAAMcmF0ZVBlckJsb2NrAAAAEmVtaXNzaW9uU3RhcnRCbG9jawAAABBlbWlzc2lvbkR1cmF0aW9uAAAAFmVtaXNzaW9uU3RhcnRUaW1lc3RhbXAAAAAMd3hBc3NldElkU3RyAwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAR0aGlzCQAAAgAAAAECAAAAEnBlcm1pc3Npb25zIGRlbmllZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAG2tleVJhdGVQZXJCbG9ja01heFN0YXJ0RnJvbQAAAAIFAAAAFmVtaXNzaW9uU3RhcnRUaW1lc3RhbXAFAAAAEmVtaXNzaW9uU3RhcnRCbG9jawUAAAAPcmF0ZVBlckJsb2NrTWF4CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAZa2V5UmF0ZVBlckJsb2NrTWF4Q3VycmVudAAAAAAFAAAAD3JhdGVQZXJCbG9ja01heAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAGGtleVJhdGVQZXJCbG9ja1N0YXJ0RnJvbQAAAAIFAAAAFmVtaXNzaW9uU3RhcnRUaW1lc3RhbXAFAAAAEmVtaXNzaW9uU3RhcnRCbG9jawUAAAAMcmF0ZVBlckJsb2NrCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAWa2V5UmF0ZVBlckJsb2NrQ3VycmVudAAAAAAFAAAADHJhdGVQZXJCbG9jawkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAFWtleUVtaXNzaW9uU3RhcnRCbG9jawAAAAAFAAAAEmVtaXNzaW9uU3RhcnRCbG9jawkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAG2tleUVtaXNzaW9uRHVyYXRpb25JbkJsb2NrcwAAAAAFAAAAEGVtaXNzaW9uRHVyYXRpb24JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABNrZXlFbWlzc2lvbkVuZEJsb2NrAAAAAAkAAGQAAAACBQAAABJlbWlzc2lvblN0YXJ0QmxvY2sFAAAAEGVtaXNzaW9uRHVyYXRpb24JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAEWtleUZhY3RvcnlBZGRyZXNzAAAAAAUAAAAOZmFjdG9yeUFkZHJlc3MJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAACWtleUNvbmZpZwAAAAAJAAEsAAAAAgIAAAAEJXNfXwUAAAAMd3hBc3NldElkU3RyBQAAAANuaWwAAAABaQEAAAANY29uc3RydWN0b3JWMgAAAAEAAAARZ3d4UmV3YXJkc0FkZHJlc3MDCQEAAAACIT0AAAACBQAAAAR0aGlzCAUAAAABaQAAAAZjYWxsZXIJAAACAAAAAQIAAAAObm90IGF1dGhvcml6ZWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAFGtleUd3eFJld2FyZHNBZGRyZXNzAAAAAAUAAAARZ3d4UmV3YXJkc0FkZHJlc3MFAAAAA25pbAAAAAFpAQAAAARlbWl0AAAAAQAAAAZhbW91bnQDCQAAZwAAAAIAAAAAAAAAAAAFAAAABmFtb3VudAkABRQAAAACBQAAAANuaWwFAAAAA25pbAQAAAAPZmFjdG9yeUNvbnRyYWN0CQEAAAAYcmVhZEZhY3RvcnlBZGRyZXNzT3JGYWlsAAAAAAQAAAAKZmFjdG9yeUNmZwkBAAAAFHJlYWRGYWN0b3J5Q2ZnT3JGYWlsAAAAAQUAAAAPZmFjdG9yeUNvbnRyYWN0BAAAAA9zdGFraW5nQ29udHJhY3QJAQAAABdnZXRTdGFraW5nQWRkcmVzc09yRmFpbAAAAAEFAAAACmZhY3RvcnlDZmcEAAAAEXN0YWtpbmdBZGRyZXNzU3RyCQAEJQAAAAEFAAAAD3N0YWtpbmdDb250cmFjdAQAAAAJY2FsbGVyU3RyCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgMJAQAAAAIhPQAAAAIFAAAACWNhbGxlclN0cgUAAAARc3Rha2luZ0FkZHJlc3NTdHIJAAACAAAAAQIAAAAScGVybWlzc2lvbnMgZGVuaWVkBAAAAAx3eEFzc2V0SWRTdHIJAAGRAAAAAgkABLUAAAACCQEAAAAPZ2V0U3RyaW5nT3JGYWlsAAAAAgUAAAAEdGhpcwkBAAAACWtleUNvbmZpZwAAAAAFAAAAA1NFUAAAAAAAAAAAAQQAAAAJd3hBc3NldElkCQACWQAAAAEFAAAADHd4QXNzZXRJZFN0cgQAAAAGcmVzdWx0CQAD/AAAAAQFAAAAEmd3eFJld2FyZHNDb250cmFjdAIAAAAXYXV4RW1pc3Npb25Gb3JHd3hSZXdhcmQJAARMAAAAAgUAAAAGYW1vdW50BQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAAGcmVzdWx0BQAAAAZyZXN1bHQEAAAACWF1eEFtb3VudAQAAAAHJG1hdGNoMAUAAAAGcmVzdWx0AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAXIFAAAAByRtYXRjaDAFAAAAAXIJAAACAAAAAQIAAAAXSW5jb3JyZWN0IGludm9rZSByZXN1bHQJAAUUAAAAAgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAA9zdGFraW5nQ29udHJhY3QJAABlAAAAAgUAAAAGYW1vdW50BQAAAAlhdXhBbW91bnQFAAAACXd4QXNzZXRJZAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAABJnd3hSZXdhcmRzQ29udHJhY3QFAAAACWF1eEFtb3VudAUAAAAJd3hBc3NldElkBQAAAANuaWwJAARMAAAAAgUAAAAJd3hBc3NldElkBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAJhzmXI=", "chainId": 84, "height": 1896401, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5MALWhgbXED1pRVQcHeZFU41BrEJSzTWoGZekGVBWoCS Next: DwMYXzoHTS8ySHVgiXzVqStdDCzmZ2oSthwBCGEfQ59S Diff:
OldNewDifferences
99 func e () = "%s%s__config__factoryAddress"
1010
1111
12-let f = 1
13-
14-let g = 2
15-
16-let h = 3
17-
18-let i = 4
19-
20-let j = 5
21-
22-let k = 6
23-
24-let l = 7
25-
26-func m () = "%s__factoryConfig"
12+func f () = "%s%s__config__gwxRewardsAddress"
2713
2814
29-func n (o) = makeString(["%s%s%s", o, "mappings__lpAsset2PoolContract"], a)
15+let g = b(this, f())
16+
17+let h = addressFromStringValue(g)
18+
19+let i = 1
20+
21+let j = 2
22+
23+let k = 3
24+
25+let l = 4
26+
27+let m = 5
28+
29+let n = 6
30+
31+let o = 7
32+
33+func p () = "%s__factoryConfig"
3034
3135
32-func p () = "%s__lpTokensList"
36+func q (r) = makeString(["%s%s%s", r, "mappings__lpAsset2PoolContract"], a)
3337
3438
35-func q (o) = makeString(["%s%s%s", o, "mappings__lpAsset2PoolContract"], a)
39+func s () = "%s__lpTokensList"
3640
3741
38-func r (s) = makeString(["%s%s", "poolWeight", s], a)
42+func t (r) = makeString(["%s%s%s", r, "mappings__lpAsset2PoolContract"], a)
3943
4044
41-func t () = addressFromStringValue(b(this, e()))
45+func u (v) = makeString(["%s%s", "poolWeight", v], a)
4246
4347
44-func u () = split(valueOrElse(getString(t(), p()), ""), a)
48+func w () = addressFromStringValue(b(this, e()))
4549
4650
47-func v (w) = split(b(w, m()), a)
51+func x () = split(valueOrElse(getString(w(), s()), ""), a)
4852
4953
50-func x (y) = addressFromStringValue(y[g])
54+func y (z) = split(b(z, p()), a)
5155
5256
53-func z (y) = addressFromStringValue(y[j])
57+func A (B) = addressFromStringValue(B[j])
5458
5559
56-func A (y) = addressFromStringValue(y[f])
60+func C (B) = addressFromStringValue(B[m])
5761
5862
59-func B () = "%s__config"
63+func D (B) = addressFromStringValue(B[i])
6064
6165
62-func C () = "%s%s__ratePerBlockMax__current"
66+func E () = "%s__config"
6367
6468
65-func D (E,F) = makeString(["%s%s%d%d__ratePerBlockMax__start", toString(E), toString(F)], a)
69+func F () = "%s%s__ratePerBlockMax__current"
6670
6771
68-func G () = "%s%s__ratePerBlock__current"
72+func G (H,I) = makeString(["%s%s%d%d__ratePerBlockMax__start", toString(H), toString(I)], a)
6973
7074
71-func H (E,F) = makeString(["%s%s%d%d__ratePerBlock__start", toString(E), toString(F)], a)
75+func J () = "%s%s__ratePerBlock__current"
7276
7377
74-func I () = "%s%s__emission__startBlock"
78+func K (H,I) = makeString(["%s%s%d%d__ratePerBlock__start", toString(H), toString(I)], a)
7579
7680
77-func J () = "%s%s__emission__duration"
81+func L () = "%s%s__emission__startBlock"
7882
7983
80-func K () = "%s%s__emission__endBlock"
84+func M () = "%s%s__emission__duration"
8185
8286
83-@Callable(L)
84-func constructor (M,N,O,P,Q,R,S) = if ((L.caller != this))
87+func N () = "%s%s__emission__endBlock"
88+
89+
90+@Callable(O)
91+func constructor (P,Q,R,S,T,U,V) = if ((O.caller != this))
8592 then throw("permissions denied")
86- else [IntegerEntry(D(R, P), N), IntegerEntry(C(), N), IntegerEntry(H(R, P), O), IntegerEntry(G(), O), IntegerEntry(I(), P), IntegerEntry(J(), Q), IntegerEntry(K(), (P + Q)), StringEntry(e(), M), StringEntry(B(), ("%s__" + S))]
93+ else [IntegerEntry(G(U, S), Q), IntegerEntry(F(), Q), IntegerEntry(K(U, S), R), IntegerEntry(J(), R), IntegerEntry(L(), S), IntegerEntry(M(), T), IntegerEntry(N(), (S + T)), StringEntry(e(), P), StringEntry(E(), ("%s__" + V))]
8794
8895
8996
90-@Callable(L)
91-func emit (T) = {
92- let U = t()
93- let y = v(U)
94- let V = A(y)
95- let W = toString(V)
96- let X = toString(L.caller)
97- if ((X != W))
98- then throw("permissions denied")
99- else {
100- let S = split(b(this, B()), a)[1]
101- let Y = fromBase58String(S)
102- $Tuple2([ScriptTransfer(V, T, Y)], [Y])
103- }
104- }
97+@Callable(O)
98+func constructorV2 (W) = if ((this != O.caller))
99+ then throw("not authorized")
100+ else [StringEntry(f(), W)]
105101
106102
107103
108-@Callable(L)
109-func burn () = {
110- let U = t()
111- let y = v(U)
112- let Z = x(y)
113- if ((size(L.payments) != 1))
114- then throw("exact one payment is allowed")
115- else {
116- let aa = L.payments[0]
117- let ab = value(aa.assetId)
118- let ac = aa.amount
119- let Y = fromBase58String(split(b(this, B()), a)[1])
120- if ((ab != Y))
121- then throw("invalid wxAssetId is passed")
122- else if ((L.caller != Z))
123- then throw("permissions denied")
124- else [Burn(ab, ac), StringEntry(("%s%s%s__history__burn__" + toBase58String(L.transactionId)), makeString(["%d%d%d", toString(height), toString(lastBlock.timestamp), toString(ac)], a))]
125- }
126- }
104+@Callable(O)
105+func emit (X) = if ((0 >= X))
106+ then $Tuple2(nil, nil)
107+ else {
108+ let Y = w()
109+ let B = y(Y)
110+ let Z = D(B)
111+ let aa = toString(Z)
112+ let ab = toString(O.caller)
113+ if ((ab != aa))
114+ then throw("permissions denied")
115+ else {
116+ let V = split(b(this, E()), a)[1]
117+ let ac = fromBase58String(V)
118+ let ad = invoke(h, "auxEmissionForGwxReward", [X], nil)
119+ if ((ad == ad))
120+ then {
121+ let ae = {
122+ let af = ad
123+ if ($isInstanceOf(af, "Int"))
124+ then {
125+ let ag = af
126+ ag
127+ }
128+ else throw("Incorrect invoke result")
129+ }
130+ $Tuple2([ScriptTransfer(Z, (X - ae), ac), ScriptTransfer(h, ae, ac)], [ac])
131+ }
132+ else throw("Strict value is not equal to itself.")
133+ }
134+ }
127135
128136
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 func b (c,d) = valueOrErrorMessage(getString(c, d), (("mandatory this." + d) + " is not defined"))
77
88
99 func e () = "%s%s__config__factoryAddress"
1010
1111
12-let f = 1
13-
14-let g = 2
15-
16-let h = 3
17-
18-let i = 4
19-
20-let j = 5
21-
22-let k = 6
23-
24-let l = 7
25-
26-func m () = "%s__factoryConfig"
12+func f () = "%s%s__config__gwxRewardsAddress"
2713
2814
29-func n (o) = makeString(["%s%s%s", o, "mappings__lpAsset2PoolContract"], a)
15+let g = b(this, f())
16+
17+let h = addressFromStringValue(g)
18+
19+let i = 1
20+
21+let j = 2
22+
23+let k = 3
24+
25+let l = 4
26+
27+let m = 5
28+
29+let n = 6
30+
31+let o = 7
32+
33+func p () = "%s__factoryConfig"
3034
3135
32-func p () = "%s__lpTokensList"
36+func q (r) = makeString(["%s%s%s", r, "mappings__lpAsset2PoolContract"], a)
3337
3438
35-func q (o) = makeString(["%s%s%s", o, "mappings__lpAsset2PoolContract"], a)
39+func s () = "%s__lpTokensList"
3640
3741
38-func r (s) = makeString(["%s%s", "poolWeight", s], a)
42+func t (r) = makeString(["%s%s%s", r, "mappings__lpAsset2PoolContract"], a)
3943
4044
41-func t () = addressFromStringValue(b(this, e()))
45+func u (v) = makeString(["%s%s", "poolWeight", v], a)
4246
4347
44-func u () = split(valueOrElse(getString(t(), p()), ""), a)
48+func w () = addressFromStringValue(b(this, e()))
4549
4650
47-func v (w) = split(b(w, m()), a)
51+func x () = split(valueOrElse(getString(w(), s()), ""), a)
4852
4953
50-func x (y) = addressFromStringValue(y[g])
54+func y (z) = split(b(z, p()), a)
5155
5256
53-func z (y) = addressFromStringValue(y[j])
57+func A (B) = addressFromStringValue(B[j])
5458
5559
56-func A (y) = addressFromStringValue(y[f])
60+func C (B) = addressFromStringValue(B[m])
5761
5862
59-func B () = "%s__config"
63+func D (B) = addressFromStringValue(B[i])
6064
6165
62-func C () = "%s%s__ratePerBlockMax__current"
66+func E () = "%s__config"
6367
6468
65-func D (E,F) = makeString(["%s%s%d%d__ratePerBlockMax__start", toString(E), toString(F)], a)
69+func F () = "%s%s__ratePerBlockMax__current"
6670
6771
68-func G () = "%s%s__ratePerBlock__current"
72+func G (H,I) = makeString(["%s%s%d%d__ratePerBlockMax__start", toString(H), toString(I)], a)
6973
7074
71-func H (E,F) = makeString(["%s%s%d%d__ratePerBlock__start", toString(E), toString(F)], a)
75+func J () = "%s%s__ratePerBlock__current"
7276
7377
74-func I () = "%s%s__emission__startBlock"
78+func K (H,I) = makeString(["%s%s%d%d__ratePerBlock__start", toString(H), toString(I)], a)
7579
7680
77-func J () = "%s%s__emission__duration"
81+func L () = "%s%s__emission__startBlock"
7882
7983
80-func K () = "%s%s__emission__endBlock"
84+func M () = "%s%s__emission__duration"
8185
8286
83-@Callable(L)
84-func constructor (M,N,O,P,Q,R,S) = if ((L.caller != this))
87+func N () = "%s%s__emission__endBlock"
88+
89+
90+@Callable(O)
91+func constructor (P,Q,R,S,T,U,V) = if ((O.caller != this))
8592 then throw("permissions denied")
86- else [IntegerEntry(D(R, P), N), IntegerEntry(C(), N), IntegerEntry(H(R, P), O), IntegerEntry(G(), O), IntegerEntry(I(), P), IntegerEntry(J(), Q), IntegerEntry(K(), (P + Q)), StringEntry(e(), M), StringEntry(B(), ("%s__" + S))]
93+ else [IntegerEntry(G(U, S), Q), IntegerEntry(F(), Q), IntegerEntry(K(U, S), R), IntegerEntry(J(), R), IntegerEntry(L(), S), IntegerEntry(M(), T), IntegerEntry(N(), (S + T)), StringEntry(e(), P), StringEntry(E(), ("%s__" + V))]
8794
8895
8996
90-@Callable(L)
91-func emit (T) = {
92- let U = t()
93- let y = v(U)
94- let V = A(y)
95- let W = toString(V)
96- let X = toString(L.caller)
97- if ((X != W))
98- then throw("permissions denied")
99- else {
100- let S = split(b(this, B()), a)[1]
101- let Y = fromBase58String(S)
102- $Tuple2([ScriptTransfer(V, T, Y)], [Y])
103- }
104- }
97+@Callable(O)
98+func constructorV2 (W) = if ((this != O.caller))
99+ then throw("not authorized")
100+ else [StringEntry(f(), W)]
105101
106102
107103
108-@Callable(L)
109-func burn () = {
110- let U = t()
111- let y = v(U)
112- let Z = x(y)
113- if ((size(L.payments) != 1))
114- then throw("exact one payment is allowed")
115- else {
116- let aa = L.payments[0]
117- let ab = value(aa.assetId)
118- let ac = aa.amount
119- let Y = fromBase58String(split(b(this, B()), a)[1])
120- if ((ab != Y))
121- then throw("invalid wxAssetId is passed")
122- else if ((L.caller != Z))
123- then throw("permissions denied")
124- else [Burn(ab, ac), StringEntry(("%s%s%s__history__burn__" + toBase58String(L.transactionId)), makeString(["%d%d%d", toString(height), toString(lastBlock.timestamp), toString(ac)], a))]
125- }
126- }
104+@Callable(O)
105+func emit (X) = if ((0 >= X))
106+ then $Tuple2(nil, nil)
107+ else {
108+ let Y = w()
109+ let B = y(Y)
110+ let Z = D(B)
111+ let aa = toString(Z)
112+ let ab = toString(O.caller)
113+ if ((ab != aa))
114+ then throw("permissions denied")
115+ else {
116+ let V = split(b(this, E()), a)[1]
117+ let ac = fromBase58String(V)
118+ let ad = invoke(h, "auxEmissionForGwxReward", [X], nil)
119+ if ((ad == ad))
120+ then {
121+ let ae = {
122+ let af = ad
123+ if ($isInstanceOf(af, "Int"))
124+ then {
125+ let ag = af
126+ ag
127+ }
128+ else throw("Incorrect invoke result")
129+ }
130+ $Tuple2([ScriptTransfer(Z, (X - ae), ac), ScriptTransfer(h, ae, ac)], [ac])
131+ }
132+ else throw("Strict value is not equal to itself.")
133+ }
134+ }
127135
128136

github/deemru/w8io/873ac7e 
39.35 ms