tx · 7f9CeLAdb1a9SLo3Ses7G6X18cGC6eSkBquRAFSti3SQ 3N9wvyiMoQ3xicrCy26L1CckCqsv5ih8Wk3: -0.01000000 Waves 2023.09.08 18:24 [2746582] smart account 3N9wvyiMoQ3xicrCy26L1CckCqsv5ih8Wk3 > SELF 0.00000000 Waves
{ "type": 13, "id": "7f9CeLAdb1a9SLo3Ses7G6X18cGC6eSkBquRAFSti3SQ", "fee": 1000000, "feeAssetId": null, "timestamp": 1694186685434, "version": 2, "chainId": 84, "sender": "3N9wvyiMoQ3xicrCy26L1CckCqsv5ih8Wk3", "senderPublicKey": "CDzcKBFXDv8K7VH1GnCEGWuPDss4zWuxx7PwqQWZFVTx", "proofs": [ "3PBkFp2i5MRTJAwGfGAhpid4Hpkfd533C6GXrjDQBVLLtcBSWvUm8bAo7CejBpL6iGddVXaQ5yac3XPU8kV1r2eY" ], "script": "base64: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", "height": 2746582, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 5 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let a = "verifiers" | |
5 | + | ||
6 | + | let b = "verifiersRequired" | |
7 | + | ||
8 | + | let c = "isConstructed" | |
9 | + | ||
10 | + | let d = "__" | |
11 | + | ||
12 | + | @Callable(e) | |
13 | + | func constructor (f,g) = if (isDefined(getBoolean(c))) | |
14 | + | then throw("Constructor can be called just once") | |
15 | + | else if ((size(f) > 8)) | |
16 | + | then throw("Max verifiers number is 8") | |
17 | + | else [BooleanEntry(c, true), StringEntry(a, makeString(f, d)), IntegerEntry(b, g)] | |
18 | + | ||
19 | + | ||
20 | + | ||
21 | + | @Callable(e) | |
22 | + | func call (h,i,j) = if ((e.caller != this)) | |
23 | + | then throw("Only this contract can call itself") | |
24 | + | else { | |
25 | + | let k = invoke(Address(fromBase58String(h)), i, j, e.payments) | |
26 | + | if ((k == k)) | |
27 | + | then nil | |
28 | + | else throw("Strict value is not equal to itself.") | |
29 | + | } | |
30 | + | ||
31 | + | ||
32 | + | @Verifier(l) | |
33 | + | func m () = { | |
34 | + | let f = split(getStringValue(a), d) | |
35 | + | let n = getIntegerValue(b) | |
36 | + | func o (p,q) = { | |
37 | + | let r = p._1 | |
38 | + | let s = p._2 | |
39 | + | let t = if (sigVerify(l.bodyBytes, l.proofs[s], fromBase58String(q))) | |
40 | + | then 1 | |
41 | + | else 0 | |
42 | + | $Tuple2((r + t), (s + 1)) | |
43 | + | } | |
44 | + | ||
45 | + | let u = { | |
46 | + | let v = f | |
47 | + | let w = size(v) | |
48 | + | let x = $Tuple2(0, 0) | |
49 | + | func y (z,A) = if ((A >= w)) | |
50 | + | then z | |
51 | + | else o(z, v[A]) | |
52 | + | ||
53 | + | func B (z,A) = if ((A >= w)) | |
54 | + | then z | |
55 | + | else throw("List size exceeds 8") | |
56 | + | ||
57 | + | B(y(y(y(y(y(y(y(y(x, 0), 1), 2), 3), 4), 5), 6), 7), 8) | |
58 | + | } | |
59 | + | (u._1 >= n) | |
60 | + | } | |
61 | + |
github/deemru/w8io/169f3d6 15.29 ms ◑