tx · BVPTyUDgTTacfYS5JCinh2M8iNab23C6J6QGWyDQNpay 3MvfLw6ztd78gH8Pg1o9uVFzo49J7ySQbbL: -0.00100000 Waves 2022.06.20 10:46 [2104419] smart account 3MvfLw6ztd78gH8Pg1o9uVFzo49J7ySQbbL > SELF 0.00000000 Waves
{ "type": 13, "id": "BVPTyUDgTTacfYS5JCinh2M8iNab23C6J6QGWyDQNpay", "fee": 100000, "feeAssetId": null, "timestamp": 1655711291678, "version": 2, "chainId": 84, "sender": "3MvfLw6ztd78gH8Pg1o9uVFzo49J7ySQbbL", "senderPublicKey": "Bde8tvr1EtxSHyeF4yzi87MFeDiuPwLuFJL1QkJPyasZ", "proofs": [ "22W3PWcDEALzeafQ9wRHXgXjVMbYKbfxY6z8HArJ9vjiXr9sJPnrAKaq2f3GEJmE3VMGE6CZNpep8m73waPYgifZ" ], "script": "base64:AAIFAAAAAAAAAAcIAhIDCgEIAAAABAEAAAAGZ2V0U3RyAAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWIFAAAAByRtYXRjaDAFAAAAAWICAAAAAAAAAAANa2V5QmFja3VwUEtleQIAAAAHYmFja19wawAAAAAQYmFja3VwUEtleVN0cmluZwkBAAAABmdldFN0cgAAAAEFAAAADWtleUJhY2t1cFBLZXkBAAAADGdldEJhY2t1cEtleQAAAAADCQAAAAAAAAIFAAAAEGJhY2t1cFBLZXlTdHJpbmcCAAAAAAgFAAAABHRoaXMAAAAFYnl0ZXMJAAJZAAAAAQUAAAAQYmFja3VwUEtleVN0cmluZwAAAAEAAAABaQEAAAANaW5pdEJhY2t1cEtleQAAAAEAAAAJcHVibGljS2V5AwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAR0aGlzCQAAAgAAAAECAAAAH1NJQks6IFlvdSBjYW5ub3QgZG8gdGhpcyBhY3Rpb24JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAANa2V5QmFja3VwUEtleQUAAAAJcHVibGljS2V5BQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5BgkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAJAQAAAAxnZXRCYWNrdXBLZXkAAAAAuwz8tQ==", "height": 2104419, "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 getStr (key) = match getString(this, key) { | |
5 | + | case b: String => | |
6 | + | b | |
7 | + | case _ => | |
8 | + | "" | |
9 | + | } | |
10 | + | ||
11 | + | ||
12 | + | let keyBackupPKey = "back_pk" | |
13 | + | ||
14 | + | let backupPKeyString = getStr(keyBackupPKey) | |
15 | + | ||
16 | + | func getBackupKey () = if ((backupPKeyString == "")) | |
17 | + | then this.bytes | |
18 | + | else fromBase58String(backupPKeyString) | |
19 | + | ||
20 | + | ||
21 | + | @Callable(i) | |
22 | + | func initBackupKey (publicKey) = if ((i.caller != this)) | |
23 | + | then throw("SIBK: You cannot do this action") | |
24 | + | else [StringEntry(keyBackupPKey, publicKey)] | |
25 | + | ||
26 | + | ||
27 | + | @Verifier(tx) | |
28 | + | func verify () = match tx { | |
29 | + | case _ => | |
30 | + | if (sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)) | |
31 | + | then true | |
32 | + | else sigVerify(tx.bodyBytes, tx.proofs[0], getBackupKey()) | |
33 | + | } | |
34 | + |
github/deemru/w8io/c3f4982 12.82 ms ◑