tx · 8ENvEpigvSfsimTjmkHtE7Cmu1fH61nx1gNHCDtba8Te

3PR7vWpRo7VziGSEAaBwb8SuZ7ZzANBCAXr:  -0.01400000 Waves

2022.12.26 12:24 [3442560] smart account 3PR7vWpRo7VziGSEAaBwb8SuZ7ZzANBCAXr > SELF 0.00000000 Waves

{ "type": 13, "id": "8ENvEpigvSfsimTjmkHtE7Cmu1fH61nx1gNHCDtba8Te", "fee": 1400000, "feeAssetId": null, "timestamp": 1672046680854, "version": 2, "chainId": 87, "sender": "3PR7vWpRo7VziGSEAaBwb8SuZ7ZzANBCAXr", "senderPublicKey": "BB3kyd8oPA6pCWSF1SXLKDFQ8cGqrPm7RDrXu49GTRv5", "proofs": [ "3ne9dd2SG7cs48MQKrsLmo8fkrw2ZkVdJzigknyfv1eN5KucQfbqx8AkZ3VS7vSUqC4voLTdykgA8ciKDBvKWR9Q" ], "script": "base64:BgIVCAISBwoFCAEBAQgSAwoBCBIDCgEIDwAJU0VQQVJBVE9SAgJfXwAFV0FWRVMCBVdBVkVTAAxLRVlfTVVMVElTSUcCCE1VTFRJU0lHAApLRVlfU1RBVFVTAgZTVEFUVVMACUtFWV9BU1NFVAIFQVNTRVQAD0tFWV9TUE9OU09SU0hJUAILU1BPTlNPUlNISVAACklOVk9LRV9GRUUAoMIeAAxDT01QRU5TQVRJT04JAGgCAAIFCklOVk9LRV9GRUUAF0ZVTkNfVVBEQVRFX1NQT05TT1JTSElQAhF1cGRhdGVTcG9uc29yc2hpcAANRlVOQ19XSVRIRFJBVwIId2l0aGRyYXcBEF92YWxpZGF0ZUFkZHJlc3MBCGFkZHJlc3NfBAckbWF0Y2gwCQCmCAEFCGFkZHJlc3NfAwkAAQIFByRtYXRjaDACB0FkZHJlc3MEAWEFByRtYXRjaDAGBwEOX3RvQXNzZXRWZWN0b3IBBmFzc2V0XwMJAAACBQZhc3NldF8FBVdBVkVTBQR1bml0CQDZBAEFBmFzc2V0XwEQX2xvYWRTcG9uc29yc2hpcAEOdG9rZW5Db250cmFjdF8EByRtYXRjaDAJAKIIAQkAuQkCCQDMCAIFD0tFWV9TUE9OU09SU0hJUAkAzAgCBQ50b2tlbkNvbnRyYWN0XwUDbmlsBQlTRVBBUkFUT1IDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwBAZzdHJ1Y3QJALUJAgUBYQUJU0VQQVJBVE9SCQCYCgYJAJEDAgUGc3RydWN0AAAJAJEDAgUGc3RydWN0AAEJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQZzdHJ1Y3QAAgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBnN0cnVjdAADCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUGc3RydWN0AAQJAJEDAgUGc3RydWN0AAUJAAIBAiBfbG9hZFNwb25zb3JzaGlwOiBubyBzcG9uc29yc2hpcAEQX3NhdmVTcG9uc29yc2hpcAEMc3BvbnNvcnNoaXBfCQDMCAIJAQtTdHJpbmdFbnRyeQIJALkJAgkAzAgCBQ9LRVlfU1BPTlNPUlNISVAJAMwIAggFDHNwb25zb3JzaGlwXwJfMQUDbmlsBQlTRVBBUkFUT1IJALkJAgkAzAgCCAUMc3BvbnNvcnNoaXBfAl8xCQDMCAIIBQxzcG9uc29yc2hpcF8CXzIJAMwIAgkApAMBCAUMc3BvbnNvcnNoaXBfAl8zCQDMCAIJAKQDAQgFDHNwb25zb3JzaGlwXwJfNAkAzAgCCQCkAwEIBQxzcG9uc29yc2hpcF8CXzUJAMwIAggFDHNwb25zb3JzaGlwXwJfNgUDbmlsBQlTRVBBUkFUT1IFA25pbAEKX2xvYWRBc3NldAENdG9rZW5Db250cmFjdAQHJG1hdGNoMAkAnQgCBQ10b2tlbkNvbnRyYWN0BQlLRVlfQVNTRVQDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwCQDZBAEFAWEBAAMBaQEQc2V0dXBTcG9uc29yc2hpcAUOdG9rZW5Db250cmFjdF8VbWluU3BvbnNvcmVkQXNzZXRGZWVfD3Nwb25zb3JlZFdhdmVzXw90aHJlc2hvbGRXYXZlc18TYmVuZWZpY2lhcnlBZGRyZXNzXwQDZXJyAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIjc2V0dXBTcG9uc29yc2hpcDogcGVybWlzc2lvbiBkZW5pZWQDCQEBIQEJARBfdmFsaWRhdGVBZGRyZXNzAQUOdG9rZW5Db250cmFjdF8JAAIBAihzZXR1cFNwb25zb3JzaGlwOiBpbnZhbGlkIHRva2VuIGNvbnRyYWN0AwkAZgIAAAUVbWluU3BvbnNvcmVkQXNzZXRGZWVfCQACAQIxc2V0dXBTcG9uc29yc2hpcDogaW52YWxpZCBtaW4gc3BvbnNvcmVkIGFzc2V0IGZlZQMJAGYCAAAFD3Nwb25zb3JlZFdhdmVzXwkAAgECKXNldHVwU3BvbnNvcnNoaXA6IGludmFsaWQgc3BvbnNvcmVkIHdhdmVzAwkAZgIAAAUPdGhyZXNob2xkV2F2ZXNfCQACAQIpc2V0dXBTcG9uc29yc2hpcDogaW52YWxpZCB0aHJlc2hvbGQgd2F2ZXMDCQEBIQEJARBfdmFsaWRhdGVBZGRyZXNzAQUTYmVuZWZpY2lhcnlBZGRyZXNzXwkAAgECLXNldHVwU3BvbnNvcnNoaXA6IGludmFsaWQgYmVuZWZpY2lhcnkgYWRkcmVzcwUEdW5pdAMJAAACBQNlcnIFA2VycgQNdG9rZW5Db250cmFjdAkBEUBleHRyTmF0aXZlKDEwNjIpAQUOdG9rZW5Db250cmFjdF8ECnRva2VuQXNzZXQJAQpfbG9hZEFzc2V0AQUNdG9rZW5Db250cmFjdAQLd2F2ZXNBbW91bnQICQDvBwEFDXRva2VuQ29udHJhY3QHcmVndWxhcgQNd2F2ZXNUb0NoYXJnZQMJAGYCBQ9zcG9uc29yZWRXYXZlc18FC3dhdmVzQW1vdW50CQBlAgUPc3BvbnNvcmVkV2F2ZXNfBQt3YXZlc0Ftb3VudAAABAppbnZvY2F0aW9uCQD8BwQFDXRva2VuQ29udHJhY3QFF0ZVTkNfVVBEQVRFX1NQT05TT1JTSElQCQDMCAIFFW1pblNwb25zb3JlZEFzc2V0RmVlXwkAzAgCBQ9zcG9uc29yZWRXYXZlc18FA25pbAUDbmlsAwkAAAIFCmludm9jYXRpb24FCmludm9jYXRpb24EC3Nwb25zb3JzaGlwCQCYCgYFDnRva2VuQ29udHJhY3RfCQDYBAEFCnRva2VuQXNzZXQFFW1pblNwb25zb3JlZEFzc2V0RmVlXwUPc3BvbnNvcmVkV2F2ZXNfBQ90aHJlc2hvbGRXYXZlc18FE2JlbmVmaWNpYXJ5QWRkcmVzc18JAJQKAgkAzggCCQEQX3NhdmVTcG9uc29yc2hpcAEFC3Nwb25zb3JzaGlwCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFDXRva2VuQ29udHJhY3QFDXdhdmVzVG9DaGFyZ2UFBHVuaXQFA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARVjaGVja3BvaW50U3BvbnNvcnNoaXABDnRva2VuQ29udHJhY3RfBA10b2tlbkNvbnRyYWN0CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQUOdG9rZW5Db250cmFjdF8CLWNoZWNrcG9pbnRTcG9uc29yc2hpcDogaW52YWxpZCB0b2tlbiBjb250cmFjdAQLc3BvbnNvcnNoaXAJARBfbG9hZFNwb25zb3JzaGlwAQUOdG9rZW5Db250cmFjdF8ECnRva2VuQXNzZXQIBQtzcG9uc29yc2hpcAJfMgQUbWluU3BvbnNvcmVkQXNzZXRGZWUIBQtzcG9uc29yc2hpcAJfMwQOc3BvbnNvcmVkV2F2ZXMIBQtzcG9uc29yc2hpcAJfNAQOdGhyZXNob2xkV2F2ZXMIBQtzcG9uc29yc2hpcAJfNQQSYmVuZWZpY2lhcnlBZGRyZXNzCQERQGV4dHJOYXRpdmUoMTA2MikBCAULc3BvbnNvcnNoaXACXzYECXdhdmVzTGVmdAgJAO8HAQUNdG9rZW5Db250cmFjdAdyZWd1bGFyBANlcnIDCQBmAgUJd2F2ZXNMZWZ0BQ50aHJlc2hvbGRXYXZlcwkAAgECNGNoZWNrcG9pbnRTcG9uc29yc2hpcDogbm8gdGhyZXNob2xkIGhhcyBiZWVuIHJlYWNoZWQFBHVuaXQDCQAAAgUDZXJyBQNlcnIECmludm9jYXRpb24JAPwHBAUNdG9rZW5Db250cmFjdAUXRlVOQ19VUERBVEVfU1BPTlNPUlNISVAJAMwIAgUUbWluU3BvbnNvcmVkQXNzZXRGZWUJAMwIAgUOc3BvbnNvcmVkV2F2ZXMFA25pbAUDbmlsAwkAAAIFCmludm9jYXRpb24FCmludm9jYXRpb24EByRtYXRjaDAFCmludm9jYXRpb24DCQABAgUHJG1hdGNoMAIDSW50BBZzcG9uc29yVG9rZW5Ub0V4Y2hhbmdlBQckbWF0Y2gwBAt3YXZlc0JlZm9yZQgJAO8HAQUEdGhpcwdyZWd1bGFyAwkAAAIFC3dhdmVzQmVmb3JlBQt3YXZlc0JlZm9yZQQIZXhjaGFuZ2UJAPwHBAUNdG9rZW5Db250cmFjdAUNRlVOQ19XSVRIRFJBVwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCCQEOX3RvQXNzZXRWZWN0b3IBBQp0b2tlbkFzc2V0BRZzcG9uc29yVG9rZW5Ub0V4Y2hhbmdlBQNuaWwDCQAAAgUIZXhjaGFuZ2UFCGV4Y2hhbmdlBAp3YXZlc0FmdGVyCAkA7wcBBQR0aGlzB3JlZ3VsYXIDCQAAAgUKd2F2ZXNBZnRlcgUKd2F2ZXNBZnRlcgQOd2F2ZXNSZW1haW5pbmcICQDvBwEFDXRva2VuQ29udHJhY3QHcmVndWxhcgMJAAACBQ53YXZlc1JlbWFpbmluZwUOd2F2ZXNSZW1haW5pbmcEC3dhdmVzSW5jb21lCQBlAgUKd2F2ZXNBZnRlcgULd2F2ZXNCZWZvcmUEDXdhdmVzVG9DaGFyZ2UDCQBmAgUOc3BvbnNvcmVkV2F2ZXMFDndhdmVzUmVtYWluaW5nCQBlAgUOc3BvbnNvcmVkV2F2ZXMFDndhdmVzUmVtYWluaW5nAAAEEndhdmVzVG9CZW5lZmljaWFyeQMJAGYCBQt3YXZlc0luY29tZQUNd2F2ZXNUb0NoYXJnZQkAZQIFC3dhdmVzSW5jb21lBQ13YXZlc1RvQ2hhcmdlAAAEDGNvbXBlbnNhdGlvbgMJAGYCBRJ3YXZlc1RvQmVuZWZpY2lhcnkFDENPTVBFTlNBVElPTgUMQ09NUEVOU0FUSU9OAAAJAJQKAgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQ10b2tlbkNvbnRyYWN0BQ13YXZlc1RvQ2hhcmdlBQR1bml0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFEmJlbmVmaWNpYXJ5QWRkcmVzcwkAZQIFEndhdmVzVG9CZW5lZmljaWFyeQUMY29tcGVuc2F0aW9uBQR1bml0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpDG9yaWdpbkNhbGxlcgUMY29tcGVuc2F0aW9uBQR1bml0BQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAidjaGVja3BvaW50U3BvbnNvcnNoaXA6IGludm9jYXRpb24gZXJyb3IJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQELc2V0TXVsdGlzaWcBCW11bHRpc2lnXwQDZXJyAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIec2V0TXVsdGlzaWc6IHBlcm1pc3Npb24gZGVuaWVkAwkBASEBCQEQX3ZhbGlkYXRlQWRkcmVzcwEFCW11bHRpc2lnXwkAAgECJXNldE11bHRpc2lnOiBpbnZhbGlkIG11bHRpc2lnIGFkZHJlc3MFBHVuaXQDCQAAAgUDZXJyBQNlcnIJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCBQxLRVlfTVVMVElTSUcFCW11bHRpc2lnXwUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJ0eAEGdmVyaWZ5AAQHJG1hdGNoMAkAoggBBQxLRVlfTVVMVElTSUcDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAhtdWx0aXNpZwUHJG1hdGNoMAkBC3ZhbHVlT3JFbHNlAgkAmwgCCQERQGV4dHJOYXRpdmUoMTA2MikBBQhtdWx0aXNpZwkAuQkCCQDMCAIFCktFWV9TVEFUVVMJAMwIAgkApQgBBQR0aGlzCQDMCAIJANgEAQgFAnR4AmlkBQNuaWwFCVNFUEFSQVRPUgcJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXmjflNS", "height": 3442560, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 6 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let a = "__"
5+
6+let b = "WAVES"
7+
8+let c = "MULTISIG"
9+
10+let d = "STATUS"
11+
12+let e = "ASSET"
13+
14+let f = "SPONSORSHIP"
15+
16+let g = 500000
17+
18+let h = (2 * g)
19+
20+let i = "updateSponsorship"
21+
22+let j = "withdraw"
23+
24+func k (l) = {
25+ let m = addressFromString(l)
26+ if ($isInstanceOf(m, "Address"))
27+ then {
28+ let n = m
29+ true
30+ }
31+ else false
32+ }
33+
34+
35+func o (p) = if ((p == b))
36+ then unit
37+ else fromBase58String(p)
38+
39+
40+func q (r) = {
41+ let m = getString(makeString([f, r], a))
42+ if ($isInstanceOf(m, "String"))
43+ then {
44+ let n = m
45+ let s = split(n, a)
46+ $Tuple6(s[0], s[1], parseIntValue(s[2]), parseIntValue(s[3]), parseIntValue(s[4]), s[5])
47+ }
48+ else throw("_loadSponsorship: no sponsorship")
49+ }
50+
51+
52+func t (u) = [StringEntry(makeString([f, u._1], a), makeString([u._1, u._2, toString(u._3), toString(u._4), toString(u._5), u._6], a))]
53+
54+
55+func v (w) = {
56+ let m = getString(w, e)
57+ if ($isInstanceOf(m, "String"))
58+ then {
59+ let n = m
60+ fromBase58String(n)
61+ }
62+ else base58''
63+ }
64+
65+
66+@Callable(x)
67+func setupSponsorship (r,y,z,A,B) = {
68+ let C = if ((x.caller != this))
69+ then throw("setupSponsorship: permission denied")
70+ else if (!(k(r)))
71+ then throw("setupSponsorship: invalid token contract")
72+ else if ((0 > y))
73+ then throw("setupSponsorship: invalid min sponsored asset fee")
74+ else if ((0 > z))
75+ then throw("setupSponsorship: invalid sponsored waves")
76+ else if ((0 > A))
77+ then throw("setupSponsorship: invalid threshold waves")
78+ else if (!(k(B)))
79+ then throw("setupSponsorship: invalid beneficiary address")
80+ else unit
81+ if ((C == C))
82+ then {
83+ let w = addressFromStringValue(r)
84+ let D = v(w)
85+ let E = wavesBalance(w).regular
86+ let F = if ((z > E))
87+ then (z - E)
88+ else 0
89+ let G = invoke(w, i, [y, z], nil)
90+ if ((G == G))
91+ then {
92+ let H = $Tuple6(r, toBase58String(D), y, z, A, B)
93+ $Tuple2((t(H) ++ [ScriptTransfer(w, F, unit)]), unit)
94+ }
95+ else throw("Strict value is not equal to itself.")
96+ }
97+ else throw("Strict value is not equal to itself.")
98+ }
99+
100+
101+
102+@Callable(x)
103+func checkpointSponsorship (r) = {
104+ let w = valueOrErrorMessage(addressFromString(r), "checkpointSponsorship: invalid token contract")
105+ let H = q(r)
106+ let D = H._2
107+ let I = H._3
108+ let J = H._4
109+ let K = H._5
110+ let L = addressFromStringValue(H._6)
111+ let M = wavesBalance(w).regular
112+ let C = if ((M > K))
113+ then throw("checkpointSponsorship: no threshold has been reached")
114+ else unit
115+ if ((C == C))
116+ then {
117+ let G = invoke(w, i, [I, J], nil)
118+ if ((G == G))
119+ then {
120+ let m = G
121+ if ($isInstanceOf(m, "Int"))
122+ then {
123+ let N = m
124+ let O = wavesBalance(this).regular
125+ if ((O == O))
126+ then {
127+ let P = invoke(w, j, nil, [AttachedPayment(o(D), N)])
128+ if ((P == P))
129+ then {
130+ let Q = wavesBalance(this).regular
131+ if ((Q == Q))
132+ then {
133+ let R = wavesBalance(w).regular
134+ if ((R == R))
135+ then {
136+ let S = (Q - O)
137+ let F = if ((J > R))
138+ then (J - R)
139+ else 0
140+ let T = if ((S > F))
141+ then (S - F)
142+ else 0
143+ let U = if ((T > h))
144+ then h
145+ else 0
146+ $Tuple2([ScriptTransfer(w, F, unit), ScriptTransfer(L, (T - U), unit), ScriptTransfer(x.originCaller, U, unit)], unit)
147+ }
148+ else throw("Strict value is not equal to itself.")
149+ }
150+ else throw("Strict value is not equal to itself.")
151+ }
152+ else throw("Strict value is not equal to itself.")
153+ }
154+ else throw("Strict value is not equal to itself.")
155+ }
156+ else throw("checkpointSponsorship: invocation error")
157+ }
158+ else throw("Strict value is not equal to itself.")
159+ }
160+ else throw("Strict value is not equal to itself.")
161+ }
162+
163+
164+
165+@Callable(x)
166+func setMultisig (V) = {
167+ let C = if ((x.caller != this))
168+ then throw("setMultisig: permission denied")
169+ else if (!(k(V)))
170+ then throw("setMultisig: invalid multisig address")
171+ else unit
172+ if ((C == C))
173+ then $Tuple2([StringEntry(c, V)], unit)
174+ else throw("Strict value is not equal to itself.")
175+ }
176+
177+
178+@Verifier(W)
179+func X () = {
180+ let m = getString(c)
181+ if ($isInstanceOf(m, "String"))
182+ then {
183+ let Y = m
184+ valueOrElse(getBoolean(addressFromStringValue(Y), makeString([d, toString(this), toBase58String(W.id)], a)), false)
185+ }
186+ else sigVerify(W.bodyBytes, W.proofs[0], W.senderPublicKey)
187+ }
188+

github/deemru/w8io/3ef1775 
17.07 ms