tx · 59RH33A2J3LxUMmqduMXk6d77WwPmB5RGY1pdSoVosKG

3PMEHLx1j6zerarZTYfsGqDeeZqQoMpxq5S:  -0.01400000 Waves

2022.04.11 17:28 [3069354] smart account 3PMEHLx1j6zerarZTYfsGqDeeZqQoMpxq5S > SELF 0.00000000 Waves

{ "type": 13, "id": "59RH33A2J3LxUMmqduMXk6d77WwPmB5RGY1pdSoVosKG", "fee": 1400000, "feeAssetId": null, "timestamp": 1649687381177, "version": 1, "sender": "3PMEHLx1j6zerarZTYfsGqDeeZqQoMpxq5S", "senderPublicKey": "E7V7vr1nYafsjbTUWHbE8C33FvBvqV36AHHmateFiky6", "proofs": [ "3t6NLLuYaF6JKo26cSJWEHwEZmxqaoe9JuQXCFu9ZWseHifW2JYm4xcQr6BnURW1Yyu4xX8p7UsVikpwyPqyFBDr" ], "script": "base64:AAIFAAAAAAAAAAkIAhIDCgEIEgAAAAAFAQAAABNrZXlNYW5hZ2VyUHVibGljS2V5AAAAAAIAAAAUJXNfX21hbmFnZXJQdWJsaWNLZXkBAAAAGmtleVBlbmRpbmdNYW5hZ2VyUHVibGljS2V5AAAAAAIAAAAbJXNfX3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5AQAAABZtYW5hZ2VyUHVibGljS2V5T3JVbml0AAAAAAQAAAAHJG1hdGNoMAkABCIAAAABCQEAAAATa2V5TWFuYWdlclB1YmxpY0tleQAAAAADCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABcwUAAAAHJG1hdGNoMAkAAlkAAAABBQAAAAFzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0BQAAAAR1bml0CQAAAgAAAAECAAAAC01hdGNoIGVycm9yAQAAAB1wZW5kaW5nTWFuYWdlclB1YmxpY0tleU9yVW5pdAAAAAAEAAAAByRtYXRjaDAJAAQiAAAAAQkBAAAAGmtleVBlbmRpbmdNYW5hZ2VyUHVibGljS2V5AAAAAAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFzBQAAAAckbWF0Y2gwCQACWQAAAAEFAAAAAXMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQFAAAABHVuaXQJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IBAAAAC211c3RNYW5hZ2VyAAAAAQAAAAFpBAAAAAJwZAkAAAIAAAABAgAAABFQZXJtaXNzaW9uIGRlbmllZAQAAAAHJG1hdGNoMAkBAAAAFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQAAAAAAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAApCeXRlVmVjdG9yBAAAAAJwawUAAAAHJG1hdGNoMAMJAAAAAAAAAggFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5BQAAAAJwawYFAAAAAnBkAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0AwkAAAAAAAACCAUAAAABaQAAAAZjYWxsZXIFAAAABHRoaXMGBQAAAAJwZAkAAAIAAAABAgAAAAtNYXRjaCBlcnJvcgAAAAIAAAABaQEAAAAKc2V0TWFuYWdlcgAAAAEAAAAXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkEAAAAC2NoZWNrQ2FsbGVyCQEAAAALbXVzdE1hbmFnZXIAAAABBQAAAAFpAwkAAAAAAAACBQAAAAtjaGVja0NhbGxlcgUAAAALY2hlY2tDYWxsZXIEAAAAFWNoZWNrTWFuYWdlclB1YmxpY0tleQkAAlkAAAABBQAAABdwZW5kaW5nTWFuYWdlclB1YmxpY0tleQMJAAAAAAAAAgUAAAAVY2hlY2tNYW5hZ2VyUHVibGljS2V5BQAAABVjaGVja01hbmFnZXJQdWJsaWNLZXkJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAGmtleVBlbmRpbmdNYW5hZ2VyUHVibGljS2V5AAAAAAUAAAAXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAADmNvbmZpcm1NYW5hZ2VyAAAAAAQAAAACcG0JAQAAAB1wZW5kaW5nTWFuYWdlclB1YmxpY0tleU9yVW5pdAAAAAAEAAAABWhhc1BNAwkBAAAACWlzRGVmaW5lZAAAAAEFAAAAAnBtBgkAAAIAAAABAgAAABJObyBwZW5kaW5nIG1hbmFnZXIDCQAAAAAAAAIFAAAABWhhc1BNBQAAAAVoYXNQTQQAAAAHY2hlY2tQTQMJAAAAAAAAAggFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQEAAAAFdmFsdWUAAAABBQAAAAJwbQYJAAACAAAAAQIAAAAbWW91IGFyZSBub3QgcGVuZGluZyBtYW5hZ2VyAwkAAAAAAAACBQAAAAdjaGVja1BNBQAAAAdjaGVja1BNCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABNrZXlNYW5hZ2VyUHVibGljS2V5AAAAAAkAAlgAAAABCQEAAAAFdmFsdWUAAAABBQAAAAJwbQkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQEAAAAaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkAAAAABQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAD3RhcmdldFB1YmxpY0tleQQAAAAHJG1hdGNoMAkBAAAAFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQAAAAAAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAApCeXRlVmVjdG9yBAAAAAJwawUAAAAHJG1hdGNoMAUAAAACcGsDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAABQAAAA90YXJnZXRQdWJsaWNLZXmq8YBh", "chainId": 87, "height": 3069354, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+func keyManagerPublicKey () = "%s__managerPublicKey"
5+
6+
7+func keyPendingManagerPublicKey () = "%s__pendingManagerPublicKey"
8+
9+
10+func managerPublicKeyOrUnit () = match getString(keyManagerPublicKey()) {
11+ case s: String =>
12+ fromBase58String(s)
13+ case _: Unit =>
14+ unit
15+ case _ =>
16+ throw("Match error")
17+}
18+
19+
20+func pendingManagerPublicKeyOrUnit () = match getString(keyPendingManagerPublicKey()) {
21+ case s: String =>
22+ fromBase58String(s)
23+ case _: Unit =>
24+ unit
25+ case _ =>
26+ throw("Match error")
27+}
28+
29+
30+func mustManager (i) = {
31+ let pd = throw("Permission denied")
32+ match managerPublicKeyOrUnit() {
33+ case pk: ByteVector =>
34+ if ((i.callerPublicKey == pk))
35+ then true
36+ else pd
37+ case _: Unit =>
38+ if ((i.caller == this))
39+ then true
40+ else pd
41+ case _ =>
42+ throw("Match error")
43+ }
44+ }
45+
46+
47+@Callable(i)
48+func setManager (pendingManagerPublicKey) = {
49+ let checkCaller = mustManager(i)
50+ if ((checkCaller == checkCaller))
51+ then {
52+ let checkManagerPublicKey = fromBase58String(pendingManagerPublicKey)
53+ if ((checkManagerPublicKey == checkManagerPublicKey))
54+ then [StringEntry(keyPendingManagerPublicKey(), pendingManagerPublicKey)]
55+ else throw("Strict value is not equal to itself.")
56+ }
57+ else throw("Strict value is not equal to itself.")
58+ }
59+
60+
61+
62+@Callable(i)
63+func confirmManager () = {
64+ let pm = pendingManagerPublicKeyOrUnit()
65+ let hasPM = if (isDefined(pm))
66+ then true
67+ else throw("No pending manager")
68+ if ((hasPM == hasPM))
69+ then {
70+ let checkPM = if ((i.callerPublicKey == value(pm)))
71+ then true
72+ else throw("You are not pending manager")
73+ if ((checkPM == checkPM))
74+ then [StringEntry(keyManagerPublicKey(), toBase58String(value(pm))), DeleteEntry(keyPendingManagerPublicKey())]
75+ else throw("Strict value is not equal to itself.")
76+ }
77+ else throw("Strict value is not equal to itself.")
78+ }
79+
80+
81+@Verifier(tx)
82+func verify () = {
83+ let targetPublicKey = match managerPublicKeyOrUnit() {
84+ case pk: ByteVector =>
85+ pk
86+ case _: Unit =>
87+ tx.senderPublicKey
88+ case _ =>
89+ throw("Match error")
90+ }
91+ sigVerify(tx.bodyBytes, tx.proofs[0], targetPublicKey)
92+ }
93+

github/deemru/w8io/3ef1775 
24.35 ms