tx · Ax6RGWeC7XHhaDpTg1dFp28uibUwH59M7zydrEy1stsT 3MzQX5g6T1Jka53gfCcwzG8CMxS1S1Gwrtr: -0.01000000 Waves 2022.03.04 11:36 [1949000] smart account 3MzQX5g6T1Jka53gfCcwzG8CMxS1S1Gwrtr > SELF 0.00000000 Waves
{ "type": 13, "id": "Ax6RGWeC7XHhaDpTg1dFp28uibUwH59M7zydrEy1stsT", "fee": 1000000, "feeAssetId": null, "timestamp": 1646383018764, "version": 2, "chainId": 84, "sender": "3MzQX5g6T1Jka53gfCcwzG8CMxS1S1Gwrtr", "senderPublicKey": "BLP4kMJRu95NTzTpyqvLou756yrteq9mopaVtXiivgA8", "proofs": [ "2ZdxHCaWpMh8PQjU2tkK9de4yDSFUPSYYnQhMW1hp7WFxSn3dSyQnPQnjKDFzGwG77e3b7aiMX1X7uYTRZ8FEPaq" ], "script": "base64:AAIFAAAAAAAAAAcIAhIDCgEIAAAABAEAAAATa2V5TWFuYWdlclB1YmxpY0tleQAAAAACAAAAFCVzX19tYW5hZ2VyUHVibGljS2V5AQAAABZtYW5hZ2VyUHVibGljS2V5T3JVbml0AAAAAAkABCEAAAABCQEAAAATa2V5TWFuYWdlclB1YmxpY0tleQAAAAABAAAACHRoaXNPbmx5AAAAAQAAAAFpAwkAAAAAAAACCAUAAAABaQAAAAZjYWxsZXIFAAAABHRoaXMGCQAAAgAAAAECAAAAEVBlcm1pc3Npb24gZGVuaWVkAQAAAAttYW5hZ2VyT25seQAAAAEAAAABaQQAAAAHJG1hdGNoMAkBAAAAFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQAAAAAAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAApCeXRlVmVjdG9yBAAAAAJwawUAAAAHJG1hdGNoMAMJAAAAAAAAAggFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5BQAAAAJwawYJAAACAAAAAQIAAAARUGVybWlzc2lvbiBkZW5pZWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQJAQAAAAh0aGlzT25seQAAAAEFAAAAAWkJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IAAAABAAAAAWkBAAAADWNvbnN0cnVjdG9yVjQAAAABAAAAEG1hbmFnZXJQdWJsaWNLZXkEAAAAC2NoZWNrQ2FsbGVyCQEAAAALbWFuYWdlck9ubHkAAAABBQAAAAFpAwkAAAAAAAACBQAAAAtjaGVja0NhbGxlcgUAAAALY2hlY2tDYWxsZXIJAARMAAAAAgkBAAAAC0JpbmFyeUVudHJ5AAAAAgkBAAAAE2tleU1hbmFnZXJQdWJsaWNLZXkAAAAACQACWQAAAAEFAAAAEG1hbmFnZXJQdWJsaWNLZXkFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAAA90YXJnZXRQdWJsaWNLZXkEAAAAByRtYXRjaDAJAQAAABZtYW5hZ2VyUHVibGljS2V5T3JVbml0AAAAAAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAKQnl0ZVZlY3RvcgQAAAACcGsFAAAAByRtYXRjaDAFAAAAAnBrAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0CAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5CQAAAgAAAAECAAAAC01hdGNoIGVycm9yCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAUAAAAPdGFyZ2V0UHVibGljS2V5CqdLdg==", "height": 1949000, "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 | + | func keyManagerPublicKey () = "%s__managerPublicKey" | |
5 | + | ||
6 | + | ||
7 | + | func managerPublicKeyOrUnit () = getBinary(keyManagerPublicKey()) | |
8 | + | ||
9 | + | ||
10 | + | func thisOnly (i) = if ((i.caller == this)) | |
11 | + | then true | |
12 | + | else throw("Permission denied") | |
13 | + | ||
14 | + | ||
15 | + | func managerOnly (i) = match managerPublicKeyOrUnit() { | |
16 | + | case pk: ByteVector => | |
17 | + | if ((i.callerPublicKey == pk)) | |
18 | + | then true | |
19 | + | else throw("Permission denied") | |
20 | + | case _: Unit => | |
21 | + | thisOnly(i) | |
22 | + | case _ => | |
23 | + | throw("Match error") | |
24 | + | } | |
25 | + | ||
26 | + | ||
27 | + | @Callable(i) | |
28 | + | func constructorV4 (managerPublicKey) = { | |
29 | + | let checkCaller = managerOnly(i) | |
30 | + | if ((checkCaller == checkCaller)) | |
31 | + | then [BinaryEntry(keyManagerPublicKey(), fromBase58String(managerPublicKey))] | |
32 | + | else throw("Strict value is not equal to itself.") | |
33 | + | } | |
34 | + | ||
35 | + | ||
36 | + | @Verifier(tx) | |
37 | + | func verify () = { | |
38 | + | let targetPublicKey = match managerPublicKeyOrUnit() { | |
39 | + | case pk: ByteVector => | |
40 | + | pk | |
41 | + | case _: Unit => | |
42 | + | tx.senderPublicKey | |
43 | + | case _ => | |
44 | + | throw("Match error") | |
45 | + | } | |
46 | + | sigVerify(tx.bodyBytes, tx.proofs[0], targetPublicKey) | |
47 | + | } | |
48 | + |
github/deemru/w8io/169f3d6 16.18 ms ◑