tx · 6KtxpETcXcMvyozrZM4uwZgdRQdtVVwCdWP1jQ55gkvF

3N2jcP6cAcDJoVpfsQ5tVDTQrNgJcVUjj4v:  -0.00600000 Waves

2024.04.16 19:04 [3065539] smart account 3N2jcP6cAcDJoVpfsQ5tVDTQrNgJcVUjj4v > SELF 0.00000000 Waves

{ "type": 13, "id": "6KtxpETcXcMvyozrZM4uwZgdRQdtVVwCdWP1jQ55gkvF", "fee": 600000, "feeAssetId": null, "timestamp": 1713283350211, "version": 1, "sender": "3N2jcP6cAcDJoVpfsQ5tVDTQrNgJcVUjj4v", "senderPublicKey": "C7n2hFekcETMHZtCJNSt9jVtwdQWRhVDnUQGrv6y8t3t", "proofs": [ "5ypTa5YvAVEQx2R32B9ijmU6nZcRGvFT6SJsk6r1J84kqzr3gyFEmSyaVdB6jFAtzqGj3i2riWbp31FeZ7DofuQt" ], "script": "base64:BgITCAISAwoBGBIDCgEYEgUKAxgYCBAAB1dhdmVzSWQCBVdBVkVTAA5Ob2RlQWRkcmVzc1N0cgIjM1BDclJyd0hFakdYRmpZdFhEc052NzhmM0NoM0NIM3A2VjEAEUlucHV0c1F1YW50aXR5S2V5Ag5pbnB1dHNRdWFudGl0eQAST3V0cHV0c1F1YW50aXR5S2V5Ag9vdXRwdXRzUXVhbnRpdHkAEUFzc2V0c1F1YW50aXR5S2V5Ag5hc3NldHNRdWFudGl0eQAFQXJyMTAJAMwIAgAACQDMCAIAAQkAzAgCAAIJAMwIAgADCQDMCAIABAkAzAgCAAUJAMwIAgAGCQDMCAIABwkAzAgCAAgJAMwIAgAJBQNuaWwBFm1ha2VJbnB1dEFzc2V0SW5kZXhLZXkBCmFzc2V0SWRTdHIJAKwCAgIQaW5wdXRBc3NldEluZGV4XwUKYXNzZXRJZFN0cgEXbWFrZU91dHB1dEFzc2V0SW5kZXhLZXkBCmFzc2V0SWRTdHIJAKwCAgIRb3V0cHV0QXNzZXRJbmRleF8FCmFzc2V0SWRTdHIBEW1ha2VBc3NldEluZGV4S2V5AQphc3NldElkU3RyCQCsAgICC2Fzc2V0SW5kZXhfBQphc3NldElkU3RyAQ5tYWtlQXNzZXRJZEtleQEKYXNzZXRJbmRleAkArAICAghhc3NldElkXwkApAMBBQphc3NldEluZGV4ARJnZXRJbnB1dEFzc2V0SW5kZXgBCmFzc2V0SWRTdHIJAJ8IAQkBFm1ha2VJbnB1dEFzc2V0SW5kZXhLZXkBBQphc3NldElkU3RyARNnZXRPdXRwdXRBc3NldEluZGV4AQphc3NldElkU3RyCQCfCAEJARdtYWtlT3V0cHV0QXNzZXRJbmRleEtleQEFCmFzc2V0SWRTdHIBDWdldEFzc2V0SW5kZXgBCmFzc2V0SWRTdHIJAJ8IAQkBEW1ha2VBc3NldEluZGV4S2V5AQUKYXNzZXRJZFN0cgERZ2V0SW5wdXRzUXVhbnRpdHkACQELdmFsdWVPckVsc2UCCQCfCAEFEUlucHV0c1F1YW50aXR5S2V5AAABEmdldE91dHB1dHNRdWFudGl0eQAJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUST3V0cHV0c1F1YW50aXR5S2V5AAABEWdldEFzc2V0c1F1YW50aXR5AAkBC3ZhbHVlT3JFbHNlAgkAnwgBBRFBc3NldHNRdWFudGl0eUtleQAAAwFpAQ5yZWdpc3RlcklucHV0cwEGaW5wdXRzAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIZT25seSBzZWxmIGNhbGwgaXMgYWxsb3dlZAMJAGYCCQCQAwEIBQFpCHBheW1lbnRzAAAJAAIBAhdQYXltZW50cyBhcmUgcHJvaGliaXRlZAQKaW5wdXRzU2l6ZQkAkAMBBQZpbnB1dHMEDWFzc2V0c1F1YW5pdHkJARFnZXRBc3NldHNRdWFudGl0eQAEDmlucHV0c1F1YW50aXR5CQERZ2V0SW5wdXRzUXVhbnRpdHkACgEKaW5wdXRzRm9sZAIFYWNjdW0FaW5kZXgDCQBnAgUFaW5kZXgFCmlucHV0c1NpemUFBWFjY3VtBAVpbnB1dAkAkQMCBQZpbnB1dHMFBWluZGV4AwkBAiE9AgkBEmdldElucHV0QXNzZXRJbmRleAEFBWlucHV0BQR1bml0CQACAQkArAICAhRBbHJlYWR5IHJlZ2lzdGVyZWQ6IAUFaW5wdXQEB2Fzc2V0SWQDCQAAAgUFaW5wdXQFB1dhdmVzSWQBAAgJAQV2YWx1ZQEJAOwHAQkA2QQBBQVpbnB1dAJpZAQPYXNzZXRJbnB1dEluZGV4CQBkAgUOaW5wdXRzUXVhbnRpdHkFBWluZGV4BAskdDAxOTI1MjE0OAMJAAACCQETZ2V0T3V0cHV0QXNzZXRJbmRleAEFBWlucHV0BQR1bml0CQCUCgIJAMwIAgkBC0JpbmFyeUVudHJ5AgkBDm1ha2VBc3NldElkS2V5AQgFBWFjY3VtAl8yBQdhc3NldElkCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQERbWFrZUFzc2V0SW5kZXhLZXkBBQVpbnB1dAgFBWFjY3VtAl8yBQNuaWwAAQkAlAoCBQNuaWwAAAQTYXNzZXRJZFJlZ2lzdHJhdGlvbggFCyR0MDE5MjUyMTQ4Al8xBBBpbmNyZW1lbnRBc3NldElkCAULJHQwMTkyNTIxNDgCXzIJAJQKAgkAzggCCQDNCAIIBQVhY2N1bQJfMQkBDEludGVnZXJFbnRyeQIJARZtYWtlSW5wdXRBc3NldEluZGV4S2V5AQUFaW5wdXQFD2Fzc2V0SW5wdXRJbmRleAUTYXNzZXRJZFJlZ2lzdHJhdGlvbgkAZAIIBQVhY2N1bQJfMgUQaW5jcmVtZW50QXNzZXRJZAQLJHQwMjMxNDI0MDgKAAIkbAUFQXJyMTAKAAIkcwkAkAMBBQIkbAoABSRhY2MwCQCUCgIFA25pbAUNYXNzZXRzUXVhbml0eQoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEKaW5wdXRzRm9sZAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgQSaW5wdXRzUmVnaXN0cmF0aW9uCAULJHQwMjMxNDI0MDgCXzEEEW5ld0Fzc2V0c1F1YW50aXR5CAULJHQwMjMxNDI0MDgCXzIJAM4IAgUSaW5wdXRzUmVnaXN0cmF0aW9uCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRFBc3NldHNRdWFudGl0eUtleQURbmV3QXNzZXRzUXVhbnRpdHkJAMwIAgkBDEludGVnZXJFbnRyeQIFEUlucHV0c1F1YW50aXR5S2V5CQBkAgUOaW5wdXRzUXVhbnRpdHkFCmlucHV0c1NpemUFA25pbAFpAQ9yZWdpc3Rlck91dHB1dHMBB291dHB1dHMDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhlPbmx5IHNlbGYgY2FsbCBpcyBhbGxvd2VkAwkAZgIJAJADAQgFAWkIcGF5bWVudHMAAAkAAgECF1BheW1lbnRzIGFyZSBwcm9oaWJpdGVkBAtvdXRwdXRzU2l6ZQkAkAMBBQdvdXRwdXRzBA5hc3NldHNRdWFudGl0eQkBEWdldEFzc2V0c1F1YW50aXR5AAQPb3V0cHV0c1F1YW50aXR5CQESZ2V0T3V0cHV0c1F1YW50aXR5AAoBC291dHB1dHNGb2xkAgVhY2N1bQVpbmRleAMJAGcCBQVpbmRleAULb3V0cHV0c1NpemUFBWFjY3VtBAZvdXRwdXQJAJEDAgUHb3V0cHV0cwUFaW5kZXgDCQECIT0CCQETZ2V0T3V0cHV0QXNzZXRJbmRleAEFBm91dHB1dAUEdW5pdAkAAgEJAKwCAgIUQWxyZWFkeSByZWdpc3RlcmVkOiAFBm91dHB1dAQHYXNzZXRJZAMJAAACBQZvdXRwdXQFB1dhdmVzSWQBAAgJAQV2YWx1ZQEJAOwHAQkA2QQBBQZvdXRwdXQCaWQEEGFzc2V0T3V0cHV0SW5kZXgJAGQCBQ9vdXRwdXRzUXVhbnRpdHkFBWluZGV4BAskdDAzMzMzMzU1NwMJAAACCQESZ2V0SW5wdXRBc3NldEluZGV4AQUGb3V0cHV0BQR1bml0CQCUCgIJAMwIAgkBC0JpbmFyeUVudHJ5AgkBDm1ha2VBc3NldElkS2V5AQgFBWFjY3VtAl8yBQdhc3NldElkCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQERbWFrZUFzc2V0SW5kZXhLZXkBBQZvdXRwdXQIBQVhY2N1bQJfMgUDbmlsAAEJAJQKAgUDbmlsAAAEE2Fzc2V0SWRSZWdpc3RyYXRpb24IBQskdDAzMzMzMzU1NwJfMQQQaW5jcmVtZW50QXNzZXRJZAgFCyR0MDMzMzMzNTU3Al8yCQCUCgIJAM4IAgkAzQgCCAUFYWNjdW0CXzEJAQxJbnRlZ2VyRW50cnkCCQEXbWFrZU91dHB1dEFzc2V0SW5kZXhLZXkBBQZvdXRwdXQFEGFzc2V0T3V0cHV0SW5kZXgFE2Fzc2V0SWRSZWdpc3RyYXRpb24JAGQCCAUFYWNjdW0CXzIFEGluY3JlbWVudEFzc2V0SWQECyR0MDM3MjYzODIzCgACJGwFBUFycjEwCgACJHMJAJADAQUCJGwKAAUkYWNjMAkAlAoCBQNuaWwFDmFzc2V0c1F1YW50aXR5CgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQtvdXRwdXRzRm9sZAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgQTb3V0cHV0c1JlZ2lzdHJhdGlvbggFCyR0MDM3MjYzODIzAl8xBBFuZXdBc3NldHNRdWFudGl0eQgFCyR0MDM3MjYzODIzAl8yCQDOCAIFE291dHB1dHNSZWdpc3RyYXRpb24JAMwIAgkBDEludGVnZXJFbnRyeQIFEUFzc2V0c1F1YW50aXR5S2V5BRFuZXdBc3NldHNRdWFudGl0eQkAzAgCCQEMSW50ZWdlckVudHJ5AgUST3V0cHV0c1F1YW50aXR5S2V5CQBkAgUPb3V0cHV0c1F1YW50aXR5BQtvdXRwdXRzU2l6ZQUDbmlsAWkBDWFwcGx5U2V0dGluZ3MDBmlucHV0cwdvdXRwdXRzCmRlbGVnYXRlVG8DCQBmAgkAkAMBCAUBaQhwYXltZW50cwAACQACAQIXUGF5bWVudHMgYXJlIHByb2hpYml0ZWQDCQAAAggFAWkGY2FsbGVyBQR0aGlzCQACAQIXU2VsZiBjYWxsIGlzIHByb2hpYml0ZWQEEGNhbGxlckFkZHJlc3NTdHIJAKUIAQgFAWkGY2FsbGVyBA5pbnB1dHNRdWFudGl0eQkBEUBleHRyTmF0aXZlKDEwNTUpAQURSW5wdXRzUXVhbnRpdHlLZXkECmlucHV0c1NpemUJAJADAQUGaW5wdXRzBAtvdXRwdXRzU2l6ZQkAkAMBBQdvdXRwdXRzAwMJAQIhPQIFCmlucHV0c1NpemUFC291dHB1dHNTaXplBgkBAiE9AgUKaW5wdXRzU2l6ZQUOaW5wdXRzUXVhbnRpdHkJAAIBAh9Xcm9uZyBzaXplIG9mIGlucHV0cyBvciBvdXRwdXRzAwkAAAIJAKYIAQUKZGVsZWdhdGVUbwUEdW5pdAkAAgEJAKwCAgIRSW52YWxpZCBhZGRyZXNzOiAFCmRlbGVnYXRlVG8DAwkAAAIFCmRlbGVnYXRlVG8FDk5vZGVBZGRyZXNzU3RyBgkAAAIFCmRlbGVnYXRlVG8JAKUIAQUEdGhpcwkAAgEJAKwCAgIUUHJvaGliaXRlZCBhZGRyZXNzOiAFCmRlbGVnYXRlVG8KAQxtYXBwaW5nc0ZvbGQCBWFjY3VtBWluZGV4AwkAZwIFBWluZGV4BQppbnB1dHNTaXplBQVhY2N1bQQFaW5wdXQJAJEDAgUGaW5wdXRzBQVpbmRleAMJAAACCQESZ2V0SW5wdXRBc3NldEluZGV4AQUFaW5wdXQFBHVuaXQJAAIBCQCsAgICD1Vua25vd24gaW5wdXQ6IAUFaW5wdXQEBm91dHB1dAkAkQMCBQdvdXRwdXRzBQVpbmRleAMJAAACCQETZ2V0T3V0cHV0QXNzZXRJbmRleAEFBm91dHB1dAUEdW5pdAkAAgEJAKwCAgIQVW5rbm93biBvdXRwdXQ6IAUGb3V0cHV0CQDNCAIFBWFjY3VtCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgUQY2FsbGVyQWRkcmVzc1N0cgIBXwUFaW5wdXQFBm91dHB1dAQIbWFwcGluZ3MKAAIkbAUFQXJyMTAKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBDG1hcHBpbmdzRm9sZAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgkAzQgCBQhtYXBwaW5ncwkBC1N0cmluZ0VudHJ5AgkArAICBRBjYWxsZXJBZGRyZXNzU3RyAgtfZGVsZWdhdGVUbwUKZGVsZWdhdGVUbwECdHgBBnZlcmlmeQAJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXmXmGQE", "chainId": 84, "height": 3065539, "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 = "WAVES"
5+
6+let b = "3PCrRrwHEjGXFjYtXDsNv78f3Ch3CH3p6V1"
7+
8+let c = "inputsQuantity"
9+
10+let d = "outputsQuantity"
11+
12+let e = "assetsQuantity"
13+
14+let f = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
15+
16+func g (h) = ("inputAssetIndex_" + h)
17+
18+
19+func i (h) = ("outputAssetIndex_" + h)
20+
21+
22+func j (h) = ("assetIndex_" + h)
23+
24+
25+func k (l) = ("assetId_" + toString(l))
26+
27+
28+func m (h) = getInteger(g(h))
29+
30+
31+func n (h) = getInteger(i(h))
32+
33+
34+func o (h) = getInteger(j(h))
35+
36+
37+func p () = valueOrElse(getInteger(c), 0)
38+
39+
40+func q () = valueOrElse(getInteger(d), 0)
41+
42+
43+func r () = valueOrElse(getInteger(e), 0)
44+
45+
46+@Callable(s)
47+func registerInputs (t) = if ((s.caller != this))
48+ then throw("Only self call is allowed")
49+ else if ((size(s.payments) > 0))
50+ then throw("Payments are prohibited")
51+ else {
52+ let u = size(t)
53+ let v = r()
54+ let w = p()
55+ func x (y,z) = if ((z >= u))
56+ then y
57+ else {
58+ let A = t[z]
59+ if ((m(A) != unit))
60+ then throw(("Already registered: " + A))
61+ else {
62+ let B = if ((A == a))
63+ then base58''
64+ else value(assetInfo(fromBase58String(A))).id
65+ let C = (w + z)
66+ let D = if ((n(A) == unit))
67+ then $Tuple2([BinaryEntry(k(y._2), B), IntegerEntry(j(A), y._2)], 1)
68+ else $Tuple2(nil, 0)
69+ let E = D._1
70+ let F = D._2
71+ $Tuple2(((y._1 :+ IntegerEntry(g(A), C)) ++ E), (y._2 + F))
72+ }
73+ }
74+
75+ let G = {
76+ let H = f
77+ let I = size(H)
78+ let J = $Tuple2(nil, v)
79+ func K (L,M) = if ((M >= I))
80+ then L
81+ else x(L, H[M])
82+
83+ func N (L,M) = if ((M >= I))
84+ then L
85+ else throw("List size exceeds 10")
86+
87+ N(K(K(K(K(K(K(K(K(K(K(J, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
88+ }
89+ let O = G._1
90+ let P = G._2
91+ (O ++ [IntegerEntry(e, P), IntegerEntry(c, (w + u))])
92+ }
93+
94+
95+
96+@Callable(s)
97+func registerOutputs (Q) = if ((s.caller != this))
98+ then throw("Only self call is allowed")
99+ else if ((size(s.payments) > 0))
100+ then throw("Payments are prohibited")
101+ else {
102+ let R = size(Q)
103+ let S = r()
104+ let T = q()
105+ func U (y,z) = if ((z >= R))
106+ then y
107+ else {
108+ let V = Q[z]
109+ if ((n(V) != unit))
110+ then throw(("Already registered: " + V))
111+ else {
112+ let B = if ((V == a))
113+ then base58''
114+ else value(assetInfo(fromBase58String(V))).id
115+ let W = (T + z)
116+ let X = if ((m(V) == unit))
117+ then $Tuple2([BinaryEntry(k(y._2), B), IntegerEntry(j(V), y._2)], 1)
118+ else $Tuple2(nil, 0)
119+ let E = X._1
120+ let F = X._2
121+ $Tuple2(((y._1 :+ IntegerEntry(i(V), W)) ++ E), (y._2 + F))
122+ }
123+ }
124+
125+ let Y = {
126+ let H = f
127+ let I = size(H)
128+ let J = $Tuple2(nil, S)
129+ func K (L,M) = if ((M >= I))
130+ then L
131+ else U(L, H[M])
132+
133+ func N (L,M) = if ((M >= I))
134+ then L
135+ else throw("List size exceeds 10")
136+
137+ N(K(K(K(K(K(K(K(K(K(K(J, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
138+ }
139+ let Z = Y._1
140+ let P = Y._2
141+ (Z ++ [IntegerEntry(e, P), IntegerEntry(d, (T + R))])
142+ }
143+
144+
145+
146+@Callable(s)
147+func applySettings (t,Q,aa) = if ((size(s.payments) > 0))
148+ then throw("Payments are prohibited")
149+ else if ((s.caller == this))
150+ then throw("Self call is prohibited")
151+ else {
152+ let ab = toString(s.caller)
153+ let w = getIntegerValue(c)
154+ let u = size(t)
155+ let R = size(Q)
156+ if (if ((u != R))
157+ then true
158+ else (u != w))
159+ then throw("Wrong size of inputs or outputs")
160+ else if ((addressFromString(aa) == unit))
161+ then throw(("Invalid address: " + aa))
162+ else if (if ((aa == b))
163+ then true
164+ else (aa == toString(this)))
165+ then throw(("Prohibited address: " + aa))
166+ else {
167+ func ac (y,z) = if ((z >= u))
168+ then y
169+ else {
170+ let A = t[z]
171+ if ((m(A) == unit))
172+ then throw(("Unknown input: " + A))
173+ else {
174+ let V = Q[z]
175+ if ((n(V) == unit))
176+ then throw(("Unknown output: " + V))
177+ else (y :+ StringEntry(((ab + "_") + A), V))
178+ }
179+ }
180+
181+ let ad = {
182+ let H = f
183+ let I = size(H)
184+ let J = nil
185+ func K (L,M) = if ((M >= I))
186+ then L
187+ else ac(L, H[M])
188+
189+ func N (L,M) = if ((M >= I))
190+ then L
191+ else throw("List size exceeds 10")
192+
193+ N(K(K(K(K(K(K(K(K(K(K(J, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
194+ }
195+ (ad :+ StringEntry((ab + "_delegateTo"), aa))
196+ }
197+ }
198+
199+
200+@Verifier(ae)
201+func af () = sigVerify(ae.bodyBytes, ae.proofs[0], ae.senderPublicKey)
202+

github/deemru/w8io/6500d08 
23.01 ms