tx · HdFwALxSU1ZcBNVDx5a2QgAkrWB3DE55hftwY5M4zns1 3N5KiabXVN32wKJYG4C8VhFAgtgyT56coUZ: -0.01000000 Waves 2024.07.20 12:20 [3202180] smart account 3N5KiabXVN32wKJYG4C8VhFAgtgyT56coUZ > SELF 0.00000000 Waves
{ "type": 13, "id": "HdFwALxSU1ZcBNVDx5a2QgAkrWB3DE55hftwY5M4zns1", "fee": 1000000, "feeAssetId": null, "timestamp": 1721467262223, "version": 2, "chainId": 84, "sender": "3N5KiabXVN32wKJYG4C8VhFAgtgyT56coUZ", "senderPublicKey": "GNM6DLPt7Ypz9TGKH985X1Hcp85ATC4gtQc2Ms3pa4gB", "proofs": [ "2k1yh3bcC8AymdpLuubbvPRCypbZYUWjLN1eQg7RwMbqfnZHr8TZ94m3ePRHZc3wuY1jAvQ7va8dc9WitSCUzVwf" ], "script": "base64:AAIFAAAAAAAAAAIIAgAAAAEAAAAADm1heWJlQWRtaW5LZXlzCQAEHQAAAAIFAAAABHRoaXMCAAAACUFkbWluS2V5cwAAAAAAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAAAckbWF0Y2gwBQAAAA5tYXliZUFkbWluS2V5cwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAxhZG1pbktleXNTdHIFAAAAByRtYXRjaDAEAAAACWFkbWluS2V5cwQAAAAKc3RyaW5nS2V5cwkABLUAAAACBQAAAAxhZG1pbktleXNTdHICAAAAASwJAARMAAAAAgkAAlkAAAABCQABkQAAAAIFAAAACnN0cmluZ0tleXMAAAAAAAAAAAAJAARMAAAAAgkAAlkAAAABCQABkQAAAAIFAAAACnN0cmluZ0tleXMAAAAAAAAAAAEJAARMAAAAAgkAAlkAAAABCQABkQAAAAIFAAAACnN0cmluZ0tleXMAAAAAAAAAAAIFAAAAA25pbAoBAAAAD3ZlcmlmeUJ5QWxsS2V5cwAAAAEAAAAFcHJvb2YDCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMFAAAABXByb29mCQABkQAAAAIFAAAACWFkbWluS2V5cwAAAAAAAAAAAAAAAAAAAAAAAQMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwUAAAAFcHJvb2YJAAGRAAAAAgUAAAAJYWRtaW5LZXlzAAAAAAAAAAABAAAAAAAAAAAKAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzBQAAAAVwcm9vZgkAAZEAAAACBQAAAAlhZG1pbktleXMAAAAAAAAAAAIAAAAAAAAAAGQAAAAAAAAAAAAJAQAAAA9jb250YWluc0VsZW1lbnQAAAACCQAETAAAAAIAAAAAAAAAAG4JAARMAAAAAgAAAAAAAAAAZQkABEwAAAACAAAAAAAAAAALBQAAAANuaWwJAABkAAAAAgkBAAAAD3ZlcmlmeUJ5QWxsS2V5cwAAAAEJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAkBAAAAD3ZlcmlmeUJ5QWxsS2V5cwAAAAEJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAQkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAABAAAAIFE4XvHYj/0W+bFBSuAvZXzWB27JOXkVZcfS/uCsC6wgF6DtiQ==", "height": 3202180, "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 maybeAdminKeys = getString(this, "AdminKeys") | |
5 | + | ||
6 | + | ||
7 | + | @Verifier(tx) | |
8 | + | func verify () = match maybeAdminKeys { | |
9 | + | case adminKeysStr: String => | |
10 | + | let adminKeys = { | |
11 | + | let stringKeys = split(adminKeysStr, ",") | |
12 | + | [fromBase58String(stringKeys[0]), fromBase58String(stringKeys[1]), fromBase58String(stringKeys[2])] | |
13 | + | } | |
14 | + | func verifyByAllKeys (proof) = if (sigVerify(tx.bodyBytes, proof, adminKeys[0])) | |
15 | + | then 1 | |
16 | + | else if (sigVerify(tx.bodyBytes, proof, adminKeys[1])) | |
17 | + | then 10 | |
18 | + | else if (sigVerify(tx.bodyBytes, proof, adminKeys[2])) | |
19 | + | then 100 | |
20 | + | else 0 | |
21 | + | ||
22 | + | containsElement([110, 101, 11], (verifyByAllKeys(tx.proofs[0]) + verifyByAllKeys(tx.proofs[1]))) | |
23 | + | case _ => | |
24 | + | sigVerify(tx.bodyBytes, tx.proofs[0], base58'6U3swJ4bsNpguACqgTYTNBK84d8qjF6azeTqFc1kcKy1') | |
25 | + | } | |
26 | + |
github/deemru/w8io/c3f4982 11.25 ms ◑