tx · 9jHnHVPuMscKna1myC36s1PBTLjFY64GwwXQ3L4JnfHf

3MwbESaeBZhdxSPCzJ7JxDZ79xUm2erVzf6:  -0.01000000 Waves

2024.07.04 11:17 [3179018] smart account 3MwbESaeBZhdxSPCzJ7JxDZ79xUm2erVzf6 > SELF 0.00000000 Waves

{ "type": 13, "id": "9jHnHVPuMscKna1myC36s1PBTLjFY64GwwXQ3L4JnfHf", "fee": 1000000, "feeAssetId": null, "timestamp": 1720081027427, "version": 2, "chainId": 84, "sender": "3MwbESaeBZhdxSPCzJ7JxDZ79xUm2erVzf6", "senderPublicKey": "39btfTSFXQDSgoUexr66RNeGJ45hGXiopFBuyG2zmRyn", "proofs": [ "XbPsQ5DQitK1S75iuCYdZPk7vsjb1R4mjk7mGco3Y6zXt8xLm3sukfzbgZsuU92r9ie9E6n6RXvyLzPu9pxGqCW" ], "script": "base64:BwIVCAISBQoDCAgIEgUKAwgIGBIDCgEIJAAJU0VQQVJBVE9SAgJfXwAPQkFUQ0hfU0VQQVJBVE9SAgI6OgAMS0VZX01VTFRJU0lHAghNVUxUSVNJRwAKS0VZX1NUQVRVUwIGU1RBVFVTAAhLRVlfSU5JVAIESU5JVAAUS0VZX1NFUVVFTkNFUl9DQUxMRVICEFNFUVVFTkNFUl9DQUxMRVIAFEtFWV9HQVRFV0FZX0NPTlRSQUNUAhBHQVRFV0FZX0NPTlRSQUNUABFLRVlfU1BPVF9DT05UUkFDVAINU1BPVF9DT05UUkFDVAATS0VZX0xBU1RfQkFUQ0hfSEFTSAIPTEFTVF9CQVRDSF9IQVNIAA1GVU5DX1dJVEhEUkFXAgh3aXRoZHJhdwAKRlVOQ19UUkFERQIFdHJhZGUAEUZVTkNfQ0xBSU1fUkVXQVJEAgtjbGFpbVJld2FyZAAQR0FURVdBWV9XSVRIRFJBVwIQR0FURVdBWV9XSVRIRFJBVwAKU1BPVF9UUkFERQIKU1BPVF9UUkFERQARU1BPVF9DTEFJTV9SRVdBUkQCEVNQT1RfQ0xBSU1fUkVXQVJEAAdNQVhfSU5UAP//////////fwEQX3ZhbGlkYXRlQWRkcmVzcwIIYWRkcmVzc18EZXJyXwQHJG1hdGNoMAkApggBBQhhZGRyZXNzXwMJAAECBQckbWF0Y2gwAgdBZGRyZXNzBAFhBQckbWF0Y2gwBgkAAgEFBGVycl8BDF92YWxpZGF0ZUludAQEdmFsXw5sb3dlckJvdW5kYXJ5Xw51cHBlckJvdW5kYXJ5XwRlcnJfAwMJAGYCBQ5sb3dlckJvdW5kYXJ5XwUEdmFsXwYJAGYCBQR2YWxfBQ51cHBlckJvdW5kYXJ5XwkAAgEFBGVycl8GAQlfbG9hZEluaXQABAckbWF0Y2gwCQCgCAEFCEtFWV9JTklUAwkAAQIFByRtYXRjaDACB0Jvb2xlYW4EAWEFByRtYXRjaDAFAWEHAQlfc2F2ZUluaXQBB2lzSW5pdF8JAMwIAgkBDEJvb2xlYW5FbnRyeQIFCEtFWV9JTklUBQdpc0luaXRfBQNuaWwBDV9sb2FkTXVsdGlzaWcABAckbWF0Y2gwCQCiCAEFDEtFWV9NVUxUSVNJRwMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAWEJAQdBZGRyZXNzAQEAAQ1fc2F2ZU11bHRpc2lnAQltdWx0aXNpZ18JAMwIAgkBC1N0cmluZ0VudHJ5AgUMS0VZX01VTFRJU0lHCQClCAEFCW11bHRpc2lnXwUDbmlsARRfbG9hZFNlcXVlbmNlckNhbGxlcgAEByRtYXRjaDAJAKIIAQUUS0VZX1NFUVVFTkNFUl9DQUxMRVIDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwCQERQGV4dHJOYXRpdmUoMTA2MikBBQFhCQEHQWRkcmVzcwEBAAEUX3NhdmVTZXF1ZW5jZXJDYWxsZXIBEHNlcXVlbmNlckNhbGxlcl8JAMwIAgkBC1N0cmluZ0VudHJ5AgUUS0VZX1NFUVVFTkNFUl9DQUxMRVIJAKUIAQUQc2VxdWVuY2VyQ2FsbGVyXwUDbmlsARRfbG9hZEdhdGV3YXlDb250cmFjdAAEByRtYXRjaDAJAKIIAQUUS0VZX0dBVEVXQVlfQ09OVFJBQ1QDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwCQERQGV4dHJOYXRpdmUoMTA2MikBBQFhCQEHQWRkcmVzcwEBAAEUX3NhdmVHYXRld2F5Q29udHJhY3QBEGdhdGV3YXlDb250cmFjdF8JAMwIAgkBC1N0cmluZ0VudHJ5AgUUS0VZX0dBVEVXQVlfQ09OVFJBQ1QJAKUIAQUQZ2F0ZXdheUNvbnRyYWN0XwUDbmlsARFfbG9hZFNwb3RDb250cmFjdAAEByRtYXRjaDAJAKIIAQURS0VZX1NQT1RfQ09OVFJBQ1QDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwCQERQGV4dHJOYXRpdmUoMTA2MikBBQFhCQEHQWRkcmVzcwEBAAERX3NhdmVTcG90Q29udHJhY3QBDXNwb3RDb250cmFjdF8JAMwIAgkBC1N0cmluZ0VudHJ5AgURS0VZX1NQT1RfQ09OVFJBQ1QJAKUIAQUNc3BvdENvbnRyYWN0XwUDbmlsARJfbG9hZExhc3RCYXRjaEhhc2gABAckbWF0Y2gwCQCiCAEFE0tFWV9MQVNUX0JBVENIX0hBU0gDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwBQFhAgdHRU5FU0lTARJfc2F2ZUxhc3RCYXRjaEhhc2gBDmxhc3RCYXRjaEhhc2hfCQDMCAIJAQtTdHJpbmdFbnRyeQIFE0tFWV9MQVNUX0JBVENIX0hBU0gFDmxhc3RCYXRjaEhhc2hfBQNuaWwBEV9vbmx5VGhpc0NvbnRyYWN0AQdjYWxsZXJfAwkBAiE9AgUHY2FsbGVyXwUEdGhpcwkAAgECGV9vbmx5VGhpc0NvbnRyYWN0OiByZXZlcnQGARBfd2hlbk11bHRpc2lnU2V0AAMJAAACCQENX2xvYWRNdWx0aXNpZwAJAQdBZGRyZXNzAQEACQACAQIYX3doZW5NdWx0aXNpZ1NldDogcmV2ZXJ0BgETX3doZW5Ob3RJbml0aWFsaXplZAADCQEJX2xvYWRJbml0AAkAAgECG193aGVuTm90SW5pdGlhbGl6ZWQ6IHJldmVydAYBEF93aGVuSW5pdGlhbGl6ZWQAAwkBASEBCQEJX2xvYWRJbml0AAkAAgECGF93aGVuSW5pdGlhbGl6ZWQ6IHJldmVydAYBGF92YWxpZGF0ZVNlcXVlbmNlckNhbGxlcgIGY2FsbGVyBGVycl8DCQECIT0CCQEUX2xvYWRTZXF1ZW5jZXJDYWxsZXIABQZjYWxsZXIJAAIBBQRlcnJfBgESX3ZhbGlkYXRlQmF0Y2hIYXNoAg5sYXN0QmF0Y2hIYXNoXwRlcnJfAwkBAiE9AgkBEl9sb2FkTGFzdEJhdGNoSGFzaAAFDmxhc3RCYXRjaEhhc2hfCQACAQUEZXJyXwYDAWkBBGluaXQDEHNlcXVlbmNlckNhbGxlcl8QZ2F0ZXdheUNvbnRyYWN0Xw1zcG90Q29udHJhY3RfBANlcnIDAwMDAwkBEV9vbmx5VGhpc0NvbnRyYWN0AQgFAWkGY2FsbGVyCQETX3doZW5Ob3RJbml0aWFsaXplZAAHCQEQX3doZW5NdWx0aXNpZ1NldAAHCQEQX3ZhbGlkYXRlQWRkcmVzcwIFEHNlcXVlbmNlckNhbGxlcl8CHWluaXQ6IGludmFsaWQgc2VxdWVuY2VyQ2FsbGVyBwkBEF92YWxpZGF0ZUFkZHJlc3MCBRBnYXRld2F5Q29udHJhY3RfAh1pbml0OiBpbnZhbGlkIGdhdGV3YXlDb250cmFjdAcJARBfdmFsaWRhdGVBZGRyZXNzAgUNc3BvdENvbnRyYWN0XwIaaW5pdDogaW52YWxpZCBzcG90Q29udHJhY3QHAwkAAAIFA2VycgUDZXJyCQCUCgIJAM4IAgkAzggCCQDOCAIJAQlfc2F2ZUluaXQBBgkBFF9zYXZlU2VxdWVuY2VyQ2FsbGVyAQkBEUBleHRyTmF0aXZlKDEwNjIpAQUQc2VxdWVuY2VyQ2FsbGVyXwkBFF9zYXZlR2F0ZXdheUNvbnRyYWN0AQkBEUBleHRyTmF0aXZlKDEwNjIpAQUQZ2F0ZXdheUNvbnRyYWN0XwkBEV9zYXZlU3BvdENvbnRyYWN0AQkBEUBleHRyTmF0aXZlKDEwNjIpAQUNc3BvdENvbnRyYWN0XwUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQxwcm9jZXNzQmF0Y2gDEWN1cnJlbnRCYXRjaEhhc2hfDmxhc3RCYXRjaEhhc2hfBmJhdGNoXwQDZXJyAwMDCQEYX3ZhbGlkYXRlU2VxdWVuY2VyQ2FsbGVyAggFAWkGY2FsbGVyAiZwcm9jZXNzQmF0Y2g6IGludmFsaWQgc2VxdWVuY2VyIGNhbGxlcgkBDF92YWxpZGF0ZUludAQJALECAQURY3VycmVudEJhdGNoSGFzaF8AAQUHTUFYX0lOVAImcHJvY2Vzc0JhdGNoOiBpbnZhbGlkIGN1cnJlbnRCYXRjaEhhc2gHCQESX3ZhbGlkYXRlQmF0Y2hIYXNoAgUObGFzdEJhdGNoSGFzaF8CI3Byb2Nlc3NCYXRjaDogaW52YWxpZCBsYXN0QmF0Y2hIYXNoBwkBDF92YWxpZGF0ZUludAQJAJADAQUGYmF0Y2hfAAEACgIgcHJvY2Vzc0JhdGNoOiBpbnZhbGlkIGJhdGNoIHNpemUHAwkAAAIFA2VycgUDZXJyBAxzcG90Q29udHJhY3QJARFfbG9hZFNwb3RDb250cmFjdAAED2dhdGV3YXlDb250cmFjdAkBFF9sb2FkR2F0ZXdheUNvbnRyYWN0AAoBCGZvbGRGdW5jAgNhY2MEZWxlbQQGZmllbGRzCQC8CQIFBGVsZW0FD0JBVENIX1NFUEFSQVRPUgQEZXJyMQkBDF92YWxpZGF0ZUludAQJAJADAQUGZmllbGRzAAEAFwIfcHJvY2Vzc0JhdGNoOiBpbnZhbGlkIGVsZW0gc2l6ZQMJAAACBQRlcnIxBQRlcnIxBA5jb250cmFjdEFjdGlvbgkAkQMCBQZmaWVsZHMAAAQMZnVuY3Rpb25BcmdzCQDRCAIFBmZpZWxkcwAABAppbnZvY2F0aW9uAwkAAAIFDmNvbnRyYWN0QWN0aW9uBQpTUE9UX1RSQURFCQD8BwQFDHNwb3RDb250cmFjdAUKRlVOQ19UUkFERQUMZnVuY3Rpb25BcmdzBQNuaWwDCQAAAgUOY29udHJhY3RBY3Rpb24FEVNQT1RfQ0xBSU1fUkVXQVJECQD8BwQFDHNwb3RDb250cmFjdAURRlVOQ19DTEFJTV9SRVdBUkQFDGZ1bmN0aW9uQXJncwUDbmlsAwkAAAIFDmNvbnRyYWN0QWN0aW9uBRBHQVRFV0FZX1dJVEhEUkFXCQD8BwQFD2dhdGV3YXlDb250cmFjdAUNRlVOQ19XSVRIRFJBVwUMZnVuY3Rpb25BcmdzBQNuaWwJAAIBAh9wcm9jZXNzQmF0Y2g6IGludmFsaWQgb3BlcmF0aW9uAwkAAAIFCmludm9jYXRpb24FCmludm9jYXRpb24FA2FjYwkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgQGcmVzdWx0CgACJGwFBmJhdGNoXwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAGCgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQhmb2xkRnVuYwIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgMJAAACBQZyZXN1bHQFBnJlc3VsdAkAlAoCCQESX3NhdmVMYXN0QmF0Y2hIYXNoAQURY3VycmVudEJhdGNoSGFzaF8FBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQELc2V0TXVsdGlzaWcBCW11bHRpc2lnXwQDZXJyAwkBEV9vbmx5VGhpc0NvbnRyYWN0AQgFAWkGY2FsbGVyCQEQX3ZhbGlkYXRlQWRkcmVzcwIFCW11bHRpc2lnXwIdc2V0TXVsdGlzaWc6IGludmFsaWQgbXVsdGlzaWcHAwkAAAIFA2VycgUDZXJyCQCUCgIJAQ1fc2F2ZU11bHRpc2lnAQkBEUBleHRyTmF0aXZlKDEwNjIpAQUJbXVsdGlzaWdfBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJ0eAEGdmVyaWZ5AAQHJG1hdGNoMAkAoggBBQxLRVlfTVVMVElTSUcDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAhtdWx0aXNpZwUHJG1hdGNoMAkBC3ZhbHVlT3JFbHNlAgkAmwgCCQERQGV4dHJOYXRpdmUoMTA2MikBBQhtdWx0aXNpZwkAuQkCCQDMCAIFCktFWV9TVEFUVVMJAMwIAgkApQgBBQR0aGlzCQDMCAIJANgEAQgFAnR4AmlkBQNuaWwFCVNFUEFSQVRPUgcJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXmtIuOC", "height": 3179018, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 7 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let a = "__"
5+
6+let b = "::"
7+
8+let c = "MULTISIG"
9+
10+let d = "STATUS"
11+
12+let e = "INIT"
13+
14+let f = "SEQUENCER_CALLER"
15+
16+let g = "GATEWAY_CONTRACT"
17+
18+let h = "SPOT_CONTRACT"
19+
20+let i = "LAST_BATCH_HASH"
21+
22+let j = "withdraw"
23+
24+let k = "trade"
25+
26+let l = "claimReward"
27+
28+let m = "GATEWAY_WITHDRAW"
29+
30+let n = "SPOT_TRADE"
31+
32+let o = "SPOT_CLAIM_REWARD"
33+
34+let p = 9223372036854775807
35+
36+func q (r,s) = {
37+ let t = addressFromString(r)
38+ if ($isInstanceOf(t, "Address"))
39+ then {
40+ let u = t
41+ true
42+ }
43+ else throw(s)
44+ }
45+
46+
47+func v (w,x,y,s) = if (if ((x > w))
48+ then true
49+ else (w > y))
50+ then throw(s)
51+ else true
52+
53+
54+func z () = {
55+ let t = getBoolean(e)
56+ if ($isInstanceOf(t, "Boolean"))
57+ then {
58+ let u = t
59+ u
60+ }
61+ else false
62+ }
63+
64+
65+func A (B) = [BooleanEntry(e, B)]
66+
67+
68+func C () = {
69+ let t = getString(c)
70+ if ($isInstanceOf(t, "String"))
71+ then {
72+ let u = t
73+ addressFromStringValue(u)
74+ }
75+ else Address(base58'')
76+ }
77+
78+
79+func D (E) = [StringEntry(c, toString(E))]
80+
81+
82+func F () = {
83+ let t = getString(f)
84+ if ($isInstanceOf(t, "String"))
85+ then {
86+ let u = t
87+ addressFromStringValue(u)
88+ }
89+ else Address(base58'')
90+ }
91+
92+
93+func G (H) = [StringEntry(f, toString(H))]
94+
95+
96+func I () = {
97+ let t = getString(g)
98+ if ($isInstanceOf(t, "String"))
99+ then {
100+ let u = t
101+ addressFromStringValue(u)
102+ }
103+ else Address(base58'')
104+ }
105+
106+
107+func J (K) = [StringEntry(g, toString(K))]
108+
109+
110+func L () = {
111+ let t = getString(h)
112+ if ($isInstanceOf(t, "String"))
113+ then {
114+ let u = t
115+ addressFromStringValue(u)
116+ }
117+ else Address(base58'')
118+ }
119+
120+
121+func M (N) = [StringEntry(h, toString(N))]
122+
123+
124+func O () = {
125+ let t = getString(i)
126+ if ($isInstanceOf(t, "String"))
127+ then {
128+ let u = t
129+ u
130+ }
131+ else "GENESIS"
132+ }
133+
134+
135+func P (Q) = [StringEntry(i, Q)]
136+
137+
138+func R (S) = if ((S != this))
139+ then throw("_onlyThisContract: revert")
140+ else true
141+
142+
143+func T () = if ((C() == Address(base58'')))
144+ then throw("_whenMultisigSet: revert")
145+ else true
146+
147+
148+func U () = if (z())
149+ then throw("_whenNotInitialized: revert")
150+ else true
151+
152+
153+func V () = if (!(z()))
154+ then throw("_whenInitialized: revert")
155+ else true
156+
157+
158+func W (X,s) = if ((F() != X))
159+ then throw(s)
160+ else true
161+
162+
163+func Y (Q,s) = if ((O() != Q))
164+ then throw(s)
165+ else true
166+
167+
168+@Callable(Z)
169+func init (H,K,N) = {
170+ let aa = if (if (if (if (if (R(Z.caller))
171+ then U()
172+ else false)
173+ then T()
174+ else false)
175+ then q(H, "init: invalid sequencerCaller")
176+ else false)
177+ then q(K, "init: invalid gatewayContract")
178+ else false)
179+ then q(N, "init: invalid spotContract")
180+ else false
181+ if ((aa == aa))
182+ then $Tuple2((((A(true) ++ G(addressFromStringValue(H))) ++ J(addressFromStringValue(K))) ++ M(addressFromStringValue(N))), unit)
183+ else throw("Strict value is not equal to itself.")
184+ }
185+
186+
187+
188+@Callable(Z)
189+func processBatch (ab,Q,ac) = {
190+ let aa = if (if (if (W(Z.caller, "processBatch: invalid sequencer caller"))
191+ then v(size(ab), 1, p, "processBatch: invalid currentBatchHash")
192+ else false)
193+ then Y(Q, "processBatch: invalid lastBatchHash")
194+ else false)
195+ then v(size(ac), 1, 10, "processBatch: invalid batch size")
196+ else false
197+ if ((aa == aa))
198+ then {
199+ let ad = L()
200+ let ae = I()
201+ func af (ag,ah) = {
202+ let ai = split_4C(ah, b)
203+ let aj = v(size(ai), 1, 23, "processBatch: invalid elem size")
204+ if ((aj == aj))
205+ then {
206+ let ak = ai[0]
207+ let al = removeByIndex(ai, 0)
208+ let am = if ((ak == n))
209+ then invoke(ad, k, al, nil)
210+ else if ((ak == o))
211+ then invoke(ad, l, al, nil)
212+ else if ((ak == m))
213+ then invoke(ae, j, al, nil)
214+ else throw("processBatch: invalid operation")
215+ if ((am == am))
216+ then ag
217+ else throw("Strict value is not equal to itself.")
218+ }
219+ else throw("Strict value is not equal to itself.")
220+ }
221+
222+ let an = {
223+ let ao = ac
224+ let ap = size(ao)
225+ let aq = true
226+ func ar (as,at) = if ((at >= ap))
227+ then as
228+ else af(as, ao[at])
229+
230+ func au (as,at) = if ((at >= ap))
231+ then as
232+ else throw("List size exceeds 10")
233+
234+ au(ar(ar(ar(ar(ar(ar(ar(ar(ar(ar(aq, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
235+ }
236+ if ((an == an))
237+ then $Tuple2(P(ab), unit)
238+ else throw("Strict value is not equal to itself.")
239+ }
240+ else throw("Strict value is not equal to itself.")
241+ }
242+
243+
244+
245+@Callable(Z)
246+func setMultisig (E) = {
247+ let aa = if (R(Z.caller))
248+ then q(E, "setMultisig: invalid multisig")
249+ else false
250+ if ((aa == aa))
251+ then $Tuple2(D(addressFromStringValue(E)), unit)
252+ else throw("Strict value is not equal to itself.")
253+ }
254+
255+
256+@Verifier(av)
257+func aw () = {
258+ let t = getString(c)
259+ if ($isInstanceOf(t, "String"))
260+ then {
261+ let ax = t
262+ valueOrElse(getBoolean(addressFromStringValue(ax), makeString([d, toString(this), toBase58String(av.id)], a)), false)
263+ }
264+ else sigVerify(av.bodyBytes, av.proofs[0], av.senderPublicKey)
265+ }
266+

github/deemru/w8io/873ac7e 
19.05 ms