tx · 59gAqqiQUDxnxCFaQLR6hVhyrHyZDRQXqPqFVZq4QmC7

3MuKEDU6qPggcs65swNH6JcUbS7hB6jVzrA:  -0.01000000 Waves

2023.09.18 19:17 [2761055] smart account 3MuKEDU6qPggcs65swNH6JcUbS7hB6jVzrA > SELF 0.00000000 Waves

{ "type": 13, "id": "59gAqqiQUDxnxCFaQLR6hVhyrHyZDRQXqPqFVZq4QmC7", "fee": 1000000, "feeAssetId": null, "timestamp": 1695053868672, "version": 2, "chainId": 84, "sender": "3MuKEDU6qPggcs65swNH6JcUbS7hB6jVzrA", "senderPublicKey": "GkZtgtQPEtE9JoxK1tzKc1t7uw12vz6aqKhDcBi136yV", "proofs": [ "2UZ4Copg9qrR3b4Ypfe8fThgLHAqi1a5znN9WX73obHTaaev7fEK8DCAQGfJshVy2BNxzn6g2ogq4jQGLDYVseNV" ], "script": "base64:BgIVCAISABIDCgEBEgQKAgICEgQKAgEEEQADU0VQAgJfXwAPcmVwdXRhdGlvbkFzc2V0ASBp6x+DcpBVAG0dTZ5QIAuA7CaS8wuiEOK6KQOBSERbTgAMcHJvcG9zYWxUaW1lCQBoAgkAaAIJAGgCCQBoAgDoBwA8ADwAGAADARFjb3VudFByb3Bvc2Fsc0tleQACAmNwAQtwcm9wb3NhbEtleQEKcHJvcG9zYWxJZAkAuQkCCQDMCAICAXAJAMwIAgkApAMBBQpwcm9wb3NhbElkBQNuaWwFA1NFUAESdW5sb2NrVGltZXN0YW1wS2V5AQR1c2VyCQC5CQIJAMwIAgICdXQJAMwIAgkA2AQBCAUEdXNlcgVieXRlcwUDbmlsBQNTRVABEHVzZXJEZXBvc2l0ZWRLZXkBBHVzZXIJALkJAgkAzAgCAgJ1ZAkAzAgCCQDYBAEIBQR1c2VyBWJ5dGVzBQNuaWwFA1NFUAETdXNlclByb3Bvc2FsVm90ZUtleQIKcHJvcG9zYWxJZAR1c2VyCQC5CQIJAMwIAgICdXAJAMwIAgkApAMBBQpwcm9wb3NhbElkCQDMCAIJANgEAQgFBHVzZXIFYnl0ZXMFA25pbAUDU0VQAQtzZXRVc2VyVm90ZQMKcHJvcG9zYWxJZAR1c2VyCXZvdGVQb3dlcgkBC1N0cmluZ0VudHJ5AgkBE3VzZXJQcm9wb3NhbFZvdGVLZXkCBQpwcm9wb3NhbElkBQR1c2VyCQCkAwEFCXZvdGVQb3dlcgELZ2V0VXNlclZvdGUCCnByb3Bvc2FsSWQEdXNlcgQHJG1hdGNoMAkAnwgBCQETdXNlclByb3Bvc2FsVm90ZUtleQIFCnByb3Bvc2FsSWQFBHVzZXIDCQABAgUHJG1hdGNoMAIDSW50BAFpBQckbWF0Y2gwBQFpAAABC3NldFByb3Bvc2FsBwJpZAdjcmVhdG9yBXRpdGxlBHRleHQRdGltZXN0YW1wQ3JlYXRpb24NY291bnRWb3Rlc0ZvchFDb3VudFZvdGVzQWdhaW5zdAkBC1N0cmluZ0VudHJ5AgkBC3Byb3Bvc2FsS2V5AQUCaWQJALsJAgkAzAgCCQDcBAEIBQdjcmVhdG9yBWJ5dGVzCQDMCAIFBXRpdGxlCQDMCAIFBHRleHQJAMwIAgkApAMBBRF0aW1lc3RhbXBDcmVhdGlvbgkAzAgCCQCkAwEFDWNvdW50Vm90ZXNGb3IJAMwIAgkApAMBBRFDb3VudFZvdGVzQWdhaW5zdAUDbmlsBQNTRVABC2dldFByb3Bvc2FsAQJpZAQLc2F2ZWRTdHJpbmcJALUJAgQHJG1hdGNoMAkAnQgCBQR0aGlzCQELcHJvcG9zYWxLZXkBBQJpZAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAFAXMJAAIBAhJwcm9wb3NhbCBub3QgZm91bmQFA1NFUAkAmAoGCQERQGV4dHJOYXRpdmUoMTA2MikBCQCRAwIFC3NhdmVkU3RyaW5nAAAJAJEDAgULc2F2ZWRTdHJpbmcAAQkAkQMCBQtzYXZlZFN0cmluZwACCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgULc2F2ZWRTdHJpbmcAAwkBDXBhcnNlSW50VmFsdWUBCQCRAwIFC3NhdmVkU3RyaW5nAAQJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQtzYXZlZFN0cmluZwAFARRpc1BheVJlcHV0YXRpb25Bc3NldAEBaQMJAAACCQCQAwEIBQFpCHBheW1lbnRzAAEDCQAAAggJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBQ9yZXB1dGF0aW9uQXNzZXQGCQACAQIWb25seSByZXB1dGF0aW9uIGFzc2V0cwkAAgECDm9ubHkgMSBwYXltZW50ARJnZXRVbmxvY2tUaW1lc3RhbXABBHVzZXIEByRtYXRjaDAJAJoIAgUEdGhpcwkBEnVubG9ja1RpbWVzdGFtcEtleQEFBHVzZXIDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAABDmNvdW50UHJvcG9zYWxzAAQHJG1hdGNoMAkAmggCBQR0aGlzCQERY291bnRQcm9wb3NhbHNLZXkAAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAAARx1c2VyRGVwb3NpdGVkUmVwdXRhdGlvbkFzc2V0AQR1c2VyBAckbWF0Y2gwCQCaCAIFBHRoaXMJARB1c2VyRGVwb3NpdGVkS2V5AQUEdXNlcgMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAEPaXNQcm9wb3NhbEFsaXZlAQJpZAMDCQBmAgkBDmNvdW50UHJvcG9zYWxzAAUCaWQJAGYCCQBkAggJAQtnZXRQcm9wb3NhbAEFAmlkAl80BQxwcm9wb3NhbFRpbWUIBQlsYXN0QmxvY2sJdGltZXN0YW1wBwYJAAIBAhJwcm9wb3NhbCBub3QgYWxpdmUEAWkBB2RlcG9zaXQABAZjaGVja3MJAMwIAgkBFGlzUGF5UmVwdXRhdGlvbkFzc2V0AQUBaQUDbmlsAwkAAAIFBmNoZWNrcwUGY2hlY2tzBApjdXJyZW50S2V5CQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMEDWN1cnJlbnRBbW91bnQJARx1c2VyRGVwb3NpdGVkUmVwdXRhdGlvbkFzc2V0AQgFAWkGY2FsbGVyBAluZXdBbW91bnQJAGQCBQ1jdXJyZW50QW1vdW50CAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgUKY3VycmVudEtleQUJbmV3QW1vdW50BQNuaWwJAAIBAhNvbmx5UmVwdXRhdGlvbkFzc2V0AWkBCHdpdGhkcmF3AQZhbW91bnQECmN1cnJlbnRLZXkJANgEAQgIBQFpBmNhbGxlcgVieXRlcwQNY3VycmVudEFtb3VudAQHJG1hdGNoMAkAmggCBQR0aGlzBQpjdXJyZW50S2V5AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABAluZXdBbW91bnQJAGUCBQ1jdXJyZW50QW1vdW50BQZhbW91bnQDCQBmAgAABQZhbW91bnQJAAIBAh5DYW4ndCB3aXRoZHJhdyBuZWdhdGl2ZSBhbW91bnQDCQBmAgkBEmdldFVubG9ja1RpbWVzdGFtcAEIBQFpBmNhbGxlcggFCWxhc3RCbG9jawl0aW1lc3RhbXAJAAIBAgZMb2NrZWQDCQBmAgAABQluZXdBbW91bnQJAAIBAhJOb3QgZW5vdWdoIGJhbGFuY2UJAMwIAgkBDEludGVnZXJFbnRyeQIFCmN1cnJlbnRLZXkFCW5ld0Ftb3VudAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFBmFtb3VudAUPcmVwdXRhdGlvbkFzc2V0BQNuaWwBaQEOY3JlYXRlUHJvcG9zYWwCBXRpdGxlBHRleHQEBWNvdW50CQEOY291bnRQcm9wb3NhbHMACQDMCAIJAQtzZXRQcm9wb3NhbAcFBWNvdW50CAUBaQZjYWxsZXIJANwEAQUFdGl0bGUJANwEAQUEdGV4dAgFCWxhc3RCbG9jawl0aW1lc3RhbXAAAAAACQDMCAIJAQxJbnRlZ2VyRW50cnkCCQERY291bnRQcm9wb3NhbHNLZXkACQBkAgUFY291bnQAAQUDbmlsAWkBBHZvdGUCAmlkBHZvdGUDCQEBIQEJAQ9pc1Byb3Bvc2FsQWxpdmUBBQJpZAkAAgECEHByb3Bvc2FsTm90QWxpdmUECHByb3Bvc2FsCQELZ2V0UHJvcG9zYWwBBQJpZAQKdW5sb2NrVGltZQkAlgMBCQDMCAIJAGQCCAUIcHJvcG9zYWwCXzQFDHByb3Bvc2FsVGltZQkAzAgCCQESZ2V0VW5sb2NrVGltZXN0YW1wAQgFAWkGY2FsbGVyBQNuaWwEC3ByZXZpdXNWb3RlCQELZ2V0VXNlclZvdGUCBQJpZAgFAWkGY2FsbGVyBAl2b3RlUG93ZXIJARx1c2VyRGVwb3NpdGVkUmVwdXRhdGlvbkFzc2V0AQgFAWkGY2FsbGVyCQDMCAIJAQtzZXRQcm9wb3NhbAcFAmlkCAUIcHJvcG9zYWwCXzEIBQhwcm9wb3NhbAJfMggFCHByb3Bvc2FsAl8zCAUIcHJvcG9zYWwCXzQJAGUCCAUIcHJvcG9zYWwCXzUDCQBmAgULcHJldml1c1ZvdGUAAAULcHJldml1c1ZvdGUJAGQCAAADBQR2b3RlBQl2b3RlUG93ZXIAAAkAZQIIBQhwcm9wb3NhbAJfNgMJAGYCAAAFC3ByZXZpdXNWb3RlBQtwcmV2aXVzVm90ZQkAZAIAAAMFBHZvdGUAAAUJdm90ZVBvd2VyBQNuaWwBAnR4AQZ2ZXJpZnkACQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V5LO+qtA==", "height": 2761055, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4Hmn2grc5F1cqKpGswkYJkRsSrEW9fdY3DAX9ZZz8DCb Next: FjE5JJbWxMTsPpPz76mLSwg6ZpbRrPLEsu3XBXiGvTnq Diff:
OldNewDifferences
142142 @Callable(o)
143143 func createProposal (s,t) = {
144144 let L = D()
145-[p(L, o.caller, toBase16String(s), toBase16String(t), lastBlock.timestamp, 0, 0)]
145+[p(L, o.caller, toBase16String(s), toBase16String(t), lastBlock.timestamp, 0, 0), IntegerEntry(d(), (L + 1))]
146146 }
147147
148148
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = base58'88Tkdpqchhiqc9tNNG3SWQ2gfhZB4rBJKhMNS5Xmxhqw'
77
88 let c = ((((1000 * 60) * 60) * 24) * 3)
99
1010 func d () = "cp"
1111
1212
1313 func e (f) = makeString(["p", toString(f)], a)
1414
1515
1616 func g (h) = makeString(["ut", toBase58String(h.bytes)], a)
1717
1818
1919 func i (h) = makeString(["ud", toBase58String(h.bytes)], a)
2020
2121
2222 func j (f,h) = makeString(["up", toString(f), toBase58String(h.bytes)], a)
2323
2424
2525 func k (f,h,l) = StringEntry(j(f, h), toString(l))
2626
2727
2828 func m (f,h) = {
2929 let n = getInteger(j(f, h))
3030 if ($isInstanceOf(n, "Int"))
3131 then {
3232 let o = n
3333 o
3434 }
3535 else 0
3636 }
3737
3838
3939 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))
4040
4141
4242 func x (q) = {
4343 let y = split({
4444 let n = getString(this, e(q))
4545 if ($isInstanceOf(n, "String"))
4646 then {
4747 let z = n
4848 z
4949 }
5050 else throw("proposal not found")
5151 }, a)
5252 $Tuple6(addressFromStringValue(y[0]), y[1], y[2], parseIntValue(y[3]), parseIntValue(y[4]), parseIntValue(y[5]))
5353 }
5454
5555
5656 func A (o) = if ((size(o.payments) == 1))
5757 then if ((o.payments[0].assetId == b))
5858 then true
5959 else throw("only reputation assets")
6060 else throw("only 1 payment")
6161
6262
6363 func B (h) = {
6464 let n = getInteger(this, g(h))
6565 if ($isInstanceOf(n, "Int"))
6666 then {
6767 let C = n
6868 C
6969 }
7070 else 0
7171 }
7272
7373
7474 func D () = {
7575 let n = getInteger(this, d())
7676 if ($isInstanceOf(n, "Int"))
7777 then {
7878 let C = n
7979 C
8080 }
8181 else 0
8282 }
8383
8484
8585 func E (h) = {
8686 let n = getInteger(this, i(h))
8787 if ($isInstanceOf(n, "Int"))
8888 then {
8989 let C = n
9090 C
9191 }
9292 else 0
9393 }
9494
9595
9696 func F (q) = if (if ((D() > q))
9797 then ((x(q)._4 + c) > lastBlock.timestamp)
9898 else false)
9999 then true
100100 else throw("proposal not alive")
101101
102102
103103 @Callable(o)
104104 func deposit () = {
105105 let G = [A(o)]
106106 if ((G == G))
107107 then {
108108 let H = toBase58String(o.caller.bytes)
109109 let I = E(o.caller)
110110 let J = (I + o.payments[0].amount)
111111 [IntegerEntry(H, J)]
112112 }
113113 else throw("onlyReputationAsset")
114114 }
115115
116116
117117
118118 @Callable(o)
119119 func withdraw (K) = {
120120 let H = toBase58String(o.caller.bytes)
121121 let I = {
122122 let n = getInteger(this, H)
123123 if ($isInstanceOf(n, "Int"))
124124 then {
125125 let C = n
126126 C
127127 }
128128 else 0
129129 }
130130 let J = (I - K)
131131 if ((0 > K))
132132 then throw("Can't withdraw negative amount")
133133 else if ((B(o.caller) > lastBlock.timestamp))
134134 then throw("Locked")
135135 else if ((0 > J))
136136 then throw("Not enough balance")
137137 else [IntegerEntry(H, J), ScriptTransfer(o.caller, K, b)]
138138 }
139139
140140
141141
142142 @Callable(o)
143143 func createProposal (s,t) = {
144144 let L = D()
145-[p(L, o.caller, toBase16String(s), toBase16String(t), lastBlock.timestamp, 0, 0)]
145+[p(L, o.caller, toBase16String(s), toBase16String(t), lastBlock.timestamp, 0, 0), IntegerEntry(d(), (L + 1))]
146146 }
147147
148148
149149
150150 @Callable(o)
151151 func vote (q,M) = if (!(F(q)))
152152 then throw("proposalNotAlive")
153153 else {
154154 let N = x(q)
155155 let O = max([(N._4 + c), B(o.caller)])
156156 let P = m(q, o.caller)
157157 let l = E(o.caller)
158158 [p(q, N._1, N._2, N._3, N._4, (N._5 - (if ((P > 0))
159159 then P
160160 else (0 + (if (M)
161161 then l
162162 else 0)))), (N._6 - (if ((0 > P))
163163 then P
164164 else (0 + (if (M)
165165 then 0
166166 else l)))))]
167167 }
168168
169169
170170 @Verifier(Q)
171171 func R () = sigVerify(Q.bodyBytes, Q.proofs[0], Q.senderPublicKey)
172172

github/deemru/w8io/873ac7e 
41.42 ms