tx · 4Hmn2grc5F1cqKpGswkYJkRsSrEW9fdY3DAX9ZZz8DCb

3MuKEDU6qPggcs65swNH6JcUbS7hB6jVzrA:  -0.01000000 Waves

2023.09.18 18:54 [2761033] smart account 3MuKEDU6qPggcs65swNH6JcUbS7hB6jVzrA > SELF 0.00000000 Waves

{ "type": 13, "id": "4Hmn2grc5F1cqKpGswkYJkRsSrEW9fdY3DAX9ZZz8DCb", "fee": 1000000, "feeAssetId": null, "timestamp": 1695052546202, "version": 2, "chainId": 84, "sender": "3MuKEDU6qPggcs65swNH6JcUbS7hB6jVzrA", "senderPublicKey": "GkZtgtQPEtE9JoxK1tzKc1t7uw12vz6aqKhDcBi136yV", "proofs": [ "31hRY1iiBdcDexJyEZXC41TyXQ2e9iupVRh17tBhXufRRMytbBpAyAxJqtPi1ym3QSu1kaYdLkFXx6avm65U6qoX" ], "script": "base64:BgIVCAISABIDCgEBEgQKAgICEgQKAgEEEQADU0VQAgJfXwAPcmVwdXRhdGlvbkFzc2V0ASBp6x+DcpBVAG0dTZ5QIAuA7CaS8wuiEOK6KQOBSERbTgAMcHJvcG9zYWxUaW1lCQBoAgkAaAIJAGgCCQBoAgDoBwA8ADwAGAADARFjb3VudFByb3Bvc2Fsc0tleQACAmNwAQtwcm9wb3NhbEtleQEKcHJvcG9zYWxJZAkAuQkCCQDMCAICAXAJAMwIAgkApAMBBQpwcm9wb3NhbElkBQNuaWwFA1NFUAESdW5sb2NrVGltZXN0YW1wS2V5AQR1c2VyCQC5CQIJAMwIAgICdXQJAMwIAgkA2AQBCAUEdXNlcgVieXRlcwUDbmlsBQNTRVABEHVzZXJEZXBvc2l0ZWRLZXkBBHVzZXIJALkJAgkAzAgCAgJ1ZAkAzAgCCQDYBAEIBQR1c2VyBWJ5dGVzBQNuaWwFA1NFUAETdXNlclByb3Bvc2FsVm90ZUtleQIKcHJvcG9zYWxJZAR1c2VyCQC5CQIJAMwIAgICdXAJAMwIAgkApAMBBQpwcm9wb3NhbElkCQDMCAIJANgEAQgFBHVzZXIFYnl0ZXMFA25pbAUDU0VQAQtzZXRVc2VyVm90ZQMKcHJvcG9zYWxJZAR1c2VyCXZvdGVQb3dlcgkBC1N0cmluZ0VudHJ5AgkBE3VzZXJQcm9wb3NhbFZvdGVLZXkCBQpwcm9wb3NhbElkBQR1c2VyCQCkAwEFCXZvdGVQb3dlcgELZ2V0VXNlclZvdGUCCnByb3Bvc2FsSWQEdXNlcgQHJG1hdGNoMAkAnwgBCQETdXNlclByb3Bvc2FsVm90ZUtleQIFCnByb3Bvc2FsSWQFBHVzZXIDCQABAgUHJG1hdGNoMAIDSW50BAFpBQckbWF0Y2gwBQFpAAABC3NldFByb3Bvc2FsBwJpZAdjcmVhdG9yBXRpdGxlBHRleHQRdGltZXN0YW1wQ3JlYXRpb24NY291bnRWb3Rlc0ZvchFDb3VudFZvdGVzQWdhaW5zdAkBC1N0cmluZ0VudHJ5AgkBC3Byb3Bvc2FsS2V5AQUCaWQJALsJAgkAzAgCCQDcBAEIBQdjcmVhdG9yBWJ5dGVzCQDMCAIFBXRpdGxlCQDMCAIFBHRleHQJAMwIAgkApAMBBRF0aW1lc3RhbXBDcmVhdGlvbgkAzAgCCQCkAwEFDWNvdW50Vm90ZXNGb3IJAMwIAgkApAMBBRFDb3VudFZvdGVzQWdhaW5zdAUDbmlsBQNTRVABC2dldFByb3Bvc2FsAQJpZAQLc2F2ZWRTdHJpbmcJALUJAgQHJG1hdGNoMAkAnQgCBQR0aGlzCQELcHJvcG9zYWxLZXkBBQJpZAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAFAXMJAAIBAhJwcm9wb3NhbCBub3QgZm91bmQFA1NFUAkAmAoGCQERQGV4dHJOYXRpdmUoMTA2MikBCQCRAwIFC3NhdmVkU3RyaW5nAAAJAJEDAgULc2F2ZWRTdHJpbmcAAQkAkQMCBQtzYXZlZFN0cmluZwACCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgULc2F2ZWRTdHJpbmcAAwkBDXBhcnNlSW50VmFsdWUBCQCRAwIFC3NhdmVkU3RyaW5nAAQJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQtzYXZlZFN0cmluZwAFARRpc1BheVJlcHV0YXRpb25Bc3NldAEBaQMJAAACCQCQAwEIBQFpCHBheW1lbnRzAAEDCQAAAggJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBQ9yZXB1dGF0aW9uQXNzZXQGCQACAQIWb25seSByZXB1dGF0aW9uIGFzc2V0cwkAAgECDm9ubHkgMSBwYXltZW50ARJnZXRVbmxvY2tUaW1lc3RhbXABBHVzZXIEByRtYXRjaDAJAJoIAgUEdGhpcwkBEnVubG9ja1RpbWVzdGFtcEtleQEFBHVzZXIDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAABDmNvdW50UHJvcG9zYWxzAAQHJG1hdGNoMAkAmggCBQR0aGlzCQERY291bnRQcm9wb3NhbHNLZXkAAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAAARx1c2VyRGVwb3NpdGVkUmVwdXRhdGlvbkFzc2V0AQR1c2VyBAckbWF0Y2gwCQCaCAIFBHRoaXMJARB1c2VyRGVwb3NpdGVkS2V5AQUEdXNlcgMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAEPaXNQcm9wb3NhbEFsaXZlAQJpZAMDCQBmAgkBDmNvdW50UHJvcG9zYWxzAAUCaWQJAGYCCQBkAggJAQtnZXRQcm9wb3NhbAEFAmlkAl80BQxwcm9wb3NhbFRpbWUIBQlsYXN0QmxvY2sJdGltZXN0YW1wBwYJAAIBAhJwcm9wb3NhbCBub3QgYWxpdmUEAWkBB2RlcG9zaXQABAZjaGVja3MJAMwIAgkBFGlzUGF5UmVwdXRhdGlvbkFzc2V0AQUBaQUDbmlsAwkAAAIFBmNoZWNrcwUGY2hlY2tzBApjdXJyZW50S2V5CQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMEDWN1cnJlbnRBbW91bnQJARx1c2VyRGVwb3NpdGVkUmVwdXRhdGlvbkFzc2V0AQgFAWkGY2FsbGVyBAluZXdBbW91bnQJAGQCBQ1jdXJyZW50QW1vdW50CAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgUKY3VycmVudEtleQUJbmV3QW1vdW50BQNuaWwJAAIBAhNvbmx5UmVwdXRhdGlvbkFzc2V0AWkBCHdpdGhkcmF3AQZhbW91bnQECmN1cnJlbnRLZXkJANgEAQgIBQFpBmNhbGxlcgVieXRlcwQNY3VycmVudEFtb3VudAQHJG1hdGNoMAkAmggCBQR0aGlzBQpjdXJyZW50S2V5AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABAluZXdBbW91bnQJAGUCBQ1jdXJyZW50QW1vdW50BQZhbW91bnQDCQBmAgAABQZhbW91bnQJAAIBAh5DYW4ndCB3aXRoZHJhdyBuZWdhdGl2ZSBhbW91bnQDCQBmAgkBEmdldFVubG9ja1RpbWVzdGFtcAEIBQFpBmNhbGxlcggFCWxhc3RCbG9jawl0aW1lc3RhbXAJAAIBAgZMb2NrZWQDCQBmAgAABQluZXdBbW91bnQJAAIBAhJOb3QgZW5vdWdoIGJhbGFuY2UJAMwIAgkBDEludGVnZXJFbnRyeQIFCmN1cnJlbnRLZXkFCW5ld0Ftb3VudAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFBmFtb3VudAUPcmVwdXRhdGlvbkFzc2V0BQNuaWwBaQEOY3JlYXRlUHJvcG9zYWwCBXRpdGxlBHRleHQEBWNvdW50CQEOY291bnRQcm9wb3NhbHMACQDMCAIJAQtzZXRQcm9wb3NhbAcFBWNvdW50CAUBaQZjYWxsZXIJANwEAQUFdGl0bGUJANwEAQUEdGV4dAgFCWxhc3RCbG9jawl0aW1lc3RhbXAAAAAABQNuaWwBaQEEdm90ZQICaWQEdm90ZQMJAQEhAQkBD2lzUHJvcG9zYWxBbGl2ZQEFAmlkCQACAQIQcHJvcG9zYWxOb3RBbGl2ZQQIcHJvcG9zYWwJAQtnZXRQcm9wb3NhbAEFAmlkBAp1bmxvY2tUaW1lCQCWAwEJAMwIAgkAZAIIBQhwcm9wb3NhbAJfNAUMcHJvcG9zYWxUaW1lCQDMCAIJARJnZXRVbmxvY2tUaW1lc3RhbXABCAUBaQZjYWxsZXIFA25pbAQLcHJldml1c1ZvdGUJAQtnZXRVc2VyVm90ZQIFAmlkCAUBaQZjYWxsZXIECXZvdGVQb3dlcgkBHHVzZXJEZXBvc2l0ZWRSZXB1dGF0aW9uQXNzZXQBCAUBaQZjYWxsZXIJAMwIAgkBC3NldFByb3Bvc2FsBwUCaWQIBQhwcm9wb3NhbAJfMQgFCHByb3Bvc2FsAl8yCAUIcHJvcG9zYWwCXzMIBQhwcm9wb3NhbAJfNAkAZQIIBQhwcm9wb3NhbAJfNQMJAGYCBQtwcmV2aXVzVm90ZQAABQtwcmV2aXVzVm90ZQkAZAIAAAMFBHZvdGUFCXZvdGVQb3dlcgAACQBlAggFCHByb3Bvc2FsAl82AwkAZgIAAAULcHJldml1c1ZvdGUFC3ByZXZpdXNWb3RlCQBkAgAAAwUEdm90ZQAABQl2b3RlUG93ZXIFA25pbAECdHgBBnZlcmlmeQAJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXnA+hks", "height": 2761033, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 59gAqqiQUDxnxCFaQLR6hVhyrHyZDRQXqPqFVZq4QmC7 Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 6 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let a = "__"
5+
6+let b = base58'88Tkdpqchhiqc9tNNG3SWQ2gfhZB4rBJKhMNS5Xmxhqw'
7+
8+let c = ((((1000 * 60) * 60) * 24) * 3)
9+
10+func d () = "cp"
11+
12+
13+func e (f) = makeString(["p", toString(f)], a)
14+
15+
16+func g (h) = makeString(["ut", toBase58String(h.bytes)], a)
17+
18+
19+func i (h) = makeString(["ud", toBase58String(h.bytes)], a)
20+
21+
22+func j (f,h) = makeString(["up", toString(f), toBase58String(h.bytes)], a)
23+
24+
25+func k (f,h,l) = StringEntry(j(f, h), toString(l))
26+
27+
28+func m (f,h) = {
29+ let n = getInteger(j(f, h))
30+ if ($isInstanceOf(n, "Int"))
31+ then {
32+ let o = n
33+ o
34+ }
35+ else 0
36+ }
37+
38+
39+func p (q,r,s,t,u,v,w) = StringEntry(e(q), makeString_11C([toBase16String(r.bytes), s, t, toString(u), toString(v), toString(w)], a))
40+
41+
42+func x (q) = {
43+ let y = split({
44+ let n = getString(this, e(q))
45+ if ($isInstanceOf(n, "String"))
46+ then {
47+ let z = n
48+ z
49+ }
50+ else throw("proposal not found")
51+ }, a)
52+ $Tuple6(addressFromStringValue(y[0]), y[1], y[2], parseIntValue(y[3]), parseIntValue(y[4]), parseIntValue(y[5]))
53+ }
54+
55+
56+func A (o) = if ((size(o.payments) == 1))
57+ then if ((o.payments[0].assetId == b))
58+ then true
59+ else throw("only reputation assets")
60+ else throw("only 1 payment")
61+
62+
63+func B (h) = {
64+ let n = getInteger(this, g(h))
65+ if ($isInstanceOf(n, "Int"))
66+ then {
67+ let C = n
68+ C
69+ }
70+ else 0
71+ }
72+
73+
74+func D () = {
75+ let n = getInteger(this, d())
76+ if ($isInstanceOf(n, "Int"))
77+ then {
78+ let C = n
79+ C
80+ }
81+ else 0
82+ }
83+
84+
85+func E (h) = {
86+ let n = getInteger(this, i(h))
87+ if ($isInstanceOf(n, "Int"))
88+ then {
89+ let C = n
90+ C
91+ }
92+ else 0
93+ }
94+
95+
96+func F (q) = if (if ((D() > q))
97+ then ((x(q)._4 + c) > lastBlock.timestamp)
98+ else false)
99+ then true
100+ else throw("proposal not alive")
101+
102+
103+@Callable(o)
104+func deposit () = {
105+ let G = [A(o)]
106+ if ((G == G))
107+ then {
108+ let H = toBase58String(o.caller.bytes)
109+ let I = E(o.caller)
110+ let J = (I + o.payments[0].amount)
111+[IntegerEntry(H, J)]
112+ }
113+ else throw("onlyReputationAsset")
114+ }
115+
116+
117+
118+@Callable(o)
119+func withdraw (K) = {
120+ let H = toBase58String(o.caller.bytes)
121+ let I = {
122+ let n = getInteger(this, H)
123+ if ($isInstanceOf(n, "Int"))
124+ then {
125+ let C = n
126+ C
127+ }
128+ else 0
129+ }
130+ let J = (I - K)
131+ if ((0 > K))
132+ then throw("Can't withdraw negative amount")
133+ else if ((B(o.caller) > lastBlock.timestamp))
134+ then throw("Locked")
135+ else if ((0 > J))
136+ then throw("Not enough balance")
137+ else [IntegerEntry(H, J), ScriptTransfer(o.caller, K, b)]
138+ }
139+
140+
141+
142+@Callable(o)
143+func createProposal (s,t) = {
144+ let L = D()
145+[p(L, o.caller, toBase16String(s), toBase16String(t), lastBlock.timestamp, 0, 0)]
146+ }
147+
148+
149+
150+@Callable(o)
151+func vote (q,M) = if (!(F(q)))
152+ then throw("proposalNotAlive")
153+ else {
154+ let N = x(q)
155+ let O = max([(N._4 + c), B(o.caller)])
156+ let P = m(q, o.caller)
157+ let l = E(o.caller)
158+[p(q, N._1, N._2, N._3, N._4, (N._5 - (if ((P > 0))
159+ then P
160+ else (0 + (if (M)
161+ then l
162+ else 0)))), (N._6 - (if ((0 > P))
163+ then P
164+ else (0 + (if (M)
165+ then 0
166+ else l)))))]
167+ }
168+
169+
170+@Verifier(Q)
171+func R () = sigVerify(Q.bodyBytes, Q.proofs[0], Q.senderPublicKey)
172+

github/deemru/w8io/169f3d6 
19.66 ms