tx · 8RFuQpiea6eG7YS5jzTSJtrDdaRsF35nfPYCdc4EMfuX 3Mwx79Yi7aam4qYeULSPiDtDMpW57xziNVG: -0.05000000 Waves 2023.07.12 15:24 [2662676] smart account 3Mwx79Yi7aam4qYeULSPiDtDMpW57xziNVG > SELF 0.00000000 Waves
{ "type": 13, "id": "8RFuQpiea6eG7YS5jzTSJtrDdaRsF35nfPYCdc4EMfuX", "fee": 5000000, "feeAssetId": null, "timestamp": 1689164703429, "version": 2, "chainId": 84, "sender": "3Mwx79Yi7aam4qYeULSPiDtDMpW57xziNVG", "senderPublicKey": "G4xkNEdNaSmZ9j6HPKFT7LMyagr3h9MbMWndwjnsePsd", "proofs": [ "42HCy344BSs9PDQop4ESXyfUJ2MPzMkRoFvJFP9DHhvqMXkrHpBwRQ5H1PdjtqdFXHyhUqbfeR3PRJnnAHTTVjnk" ], "script": "base64:BgLzAQgCEgMKAQgiA1NFUCIEam9pbiICYXIiDmtleUluaXRpYWxpemVkIhVrZXlDb29yZGluYXRvckFkZHJlc3MiEmtleVZlcmlmaWVyQWRkcmVzcyIJa2V5U2lnbmVkIghfYWRkcmVzcyIFX3R4SWQiDWlzSW5pdGlhbGl6ZWQiEm11c3ROb3RJbml0aWFsaXplZCIIbXVzdFNlbGYiAWkiCHZlcmlmaWVyIgckbWF0Y2gwIgFzIgxjaGVja0FkZHJlc3MiB2FkZHJlc3MiE19jb29yZGluYXRvckFkZHJlc3MiBmNoZWNrcyICdHgiBnZlcmlmeQsAAWECAl9fAQFiAQFjCQC5CQIFAWMFAWEBAWQACQEBYgEJAMwIAgICJXMJAMwIAgILaW5pdGlhbGl6ZWQFA25pbAEBZQAJAQFiAQkAzAgCAgIlcwkAzAgCAhJjb29yZGluYXRvckFkZHJlc3MFA25pbAEBZgAJAQFiAQkAzAgCAgIlcwkAzAgCAg92ZXJpZmllckFkZHJlc3MFA25pbAEBZwIBaAFpCQEBYgEJAMwIAgIGJXMlcyVzCQDMCAICBnNpZ25lZAkAzAgCBQFoCQDMCAIFAWkFA25pbAEBagAJAQt2YWx1ZU9yRWxzZQIJAJsIAgUEdGhpcwkBAWQABwEBawADCQEBagAJAAIBAhNBbHJlYWR5IGluaXRpYWxpemVkBQR1bml0AQFsAQFtAwkBAiE9AggFAW0GY2FsbGVyBQR0aGlzCQACAQIdT25seSBzZWxmIGludm9jYXRpb24gYWxsb3dlZC4FBHVuaXQBAW4ABAFvCQCiCAEJAQFlAAMJAAECBQFvAgZTdHJpbmcEAXAFAW8JAJ0IAgkBEUBleHRyTmF0aXZlKDEwNjIpAQUBcAkBAWYAAwkAAQIFAW8CBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgEBcQEBaAQBbwkApggBBQFoAwkAAQIFAW8CB0FkZHJlc3MEAXIFAW8GAwkAAQIFAW8CBFVuaXQJAAIBAg9JbnZhbGlkIGFkZHJlc3MJAAIBAgtNYXRjaCBlcnJvcgEBbQEKaW5pdGlhbGl6ZQEBcwQBdAkAzAgCCQEBbAEFAW0JAMwIAgkBAWsACQDMCAIJAQFxAQUBcwUDbmlsAwkAAAIFAXQFAXQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAWUABQFzCQDMCAIJAQxCb29sZWFuRW50cnkCCQEBZAAGBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAXUBAXYABAFvCQEBbgADCQABAgUBbwIGU3RyaW5nBAFyBQFvCQELdmFsdWVPckVsc2UCCQCbCAIJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAXIJAQFnAgkApQgBBQR0aGlzCQDYBAEIBQF1AmlkBwkA9AMDCAUBdQlib2R5Qnl0ZXMJAJEDAggFAXUGcHJvb2ZzAAAIBQF1D3NlbmRlclB1YmxpY0tleSpj/F8=", "height": 2662676, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 6 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let a = "__" | |
5 | + | ||
6 | + | func b (c) = makeString(c, a) | |
7 | + | ||
8 | + | ||
9 | + | func d () = b(["%s", "initialized"]) | |
10 | + | ||
11 | + | ||
12 | + | func e () = b(["%s", "coordinatorAddress"]) | |
13 | + | ||
14 | + | ||
15 | + | func f () = b(["%s", "verifierAddress"]) | |
16 | + | ||
17 | + | ||
18 | + | func g (h,i) = b(["%s%s%s", "signed", h, i]) | |
19 | + | ||
20 | + | ||
21 | + | func j () = valueOrElse(getBoolean(this, d()), false) | |
22 | + | ||
23 | + | ||
24 | + | func k () = if (j()) | |
25 | + | then throw("Already initialized") | |
26 | + | else unit | |
27 | + | ||
28 | + | ||
29 | + | func l (m) = if ((m.caller != this)) | |
30 | + | then throw("Only self invocation allowed.") | |
31 | + | else unit | |
32 | + | ||
33 | + | ||
34 | + | func n () = { | |
35 | + | let o = getString(e()) | |
36 | + | if ($isInstanceOf(o, "String")) | |
37 | + | then { | |
38 | + | let p = o | |
39 | + | getString(addressFromStringValue(p), f()) | |
40 | + | } | |
41 | + | else if ($isInstanceOf(o, "Unit")) | |
42 | + | then unit | |
43 | + | else throw("Match error") | |
44 | + | } | |
45 | + | ||
46 | + | ||
47 | + | func q (h) = { | |
48 | + | let o = addressFromString(h) | |
49 | + | if ($isInstanceOf(o, "Address")) | |
50 | + | then { | |
51 | + | let r = o | |
52 | + | true | |
53 | + | } | |
54 | + | else if ($isInstanceOf(o, "Unit")) | |
55 | + | then throw("Invalid address") | |
56 | + | else throw("Match error") | |
57 | + | } | |
58 | + | ||
59 | + | ||
60 | + | @Callable(m) | |
61 | + | func initialize (s) = { | |
62 | + | let t = [l(m), k(), q(s)] | |
63 | + | if ((t == t)) | |
64 | + | then [StringEntry(e(), s), BooleanEntry(d(), true)] | |
65 | + | else throw("Strict value is not equal to itself.") | |
66 | + | } | |
67 | + | ||
68 | + | ||
69 | + | @Verifier(u) | |
70 | + | func v () = { | |
71 | + | let o = n() | |
72 | + | if ($isInstanceOf(o, "String")) | |
73 | + | then { | |
74 | + | let r = o | |
75 | + | valueOrElse(getBoolean(addressFromStringValue(r), g(toString(this), toBase58String(u.id))), false) | |
76 | + | } | |
77 | + | else sigVerify(u.bodyBytes, u.proofs[0], u.senderPublicKey) | |
78 | + | } | |
79 | + |
github/deemru/w8io/169f3d6 30.49 ms ◑