tx · 9G8h6WUWBP8NwDTBKoikpWFEBJvhBxFbrKAfxEPmdhws

3N6gx7KtaKR7ekRZ3qUSCAJbXDApjsk8osk:  -0.01000000 Waves

2020.11.03 12:59 [1248971] smart account 3N6gx7KtaKR7ekRZ3qUSCAJbXDApjsk8osk > SELF 0.00000000 Waves

{ "type": 13, "id": "9G8h6WUWBP8NwDTBKoikpWFEBJvhBxFbrKAfxEPmdhws", "fee": 1000000, "feeAssetId": null, "timestamp": 1604397569107, "version": 2, "chainId": 84, "sender": "3N6gx7KtaKR7ekRZ3qUSCAJbXDApjsk8osk", "senderPublicKey": "EVo8mtD4wMw8ztmcZUgLxeXAQ1kK1oNTiciiq7WiXsZD", "proofs": [ "3PAC69AudS5FTRKewnhoKVcatvnGbDHSiUphRQJZKdyBHB2ZFfuEqEMSJeafun49LyEhLtubonxeXj1k3WgRcJXy" ], "script": "base64:AAIEAAAAAAAAAAIIAgAAAAUAAAAACmRBcHBTdHJpbmcJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwIAAAAJZEFwcF9saXN0AgAAABwiZEFwcF9saXN0IiBpcyBub3Qgc3BlY2lmZWQhAAAAAAhkQXBwTGlzdAkABLUAAAACBQAAAApkQXBwU3RyaW5nAgAAAAF8AAAAAAdhZG1pblBrAQAAACDZ1PBFvpMNGUM6EVIwfcyKnIiJzwd0c2cVtlocZ/wXXAEAAAAQZ2V0U3RyaW5nQWRkcmVzcwAAAAEAAAAEZEFwcAkABCUAAAABCQAEJAAAAAEFAAAABGRBcHABAAAAEHZlcmlmeVJlc3RJbnZva2UAAAABAAAABmludm9rZQQAAAAHYWRkcmVzcwkBAAAAEGdldFN0cmluZ0FkZHJlc3MAAAABCAUAAAAGaW52b2tlAAAABGRBcHADCQEAAAABIQAAAAEJAQAAAA9jb250YWluc0VsZW1lbnQAAAACBQAAAAhkQXBwTGlzdAUAAAAHYWRkcmVzcwcDCQEAAAABIQAAAAEJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUxKQAAAAIFAAAABHRoaXMJAAS5AAAAAgkABEwAAAACAgAAAAhmdW5jdGlvbgkABEwAAAACBQAAAAdhZGRyZXNzBQAAAANuaWwCAAAAAV8HBwYAAAAAAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAMJAQAAAAEhAAAAAQkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAFAAAAB2FkbWluUGsEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABdJbnZva2VTY3JpcHRUcmFuc2FjdGlvbgQAAAABaQUAAAAHJG1hdGNoMAMJAQAAABB2ZXJpZnlSZXN0SW52b2tlAAAAAQUAAAABaQkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkHBwaEajIW", "height": 1248971, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 4 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let dAppString = valueOrErrorMessage(getStringValue(this, "dApp_list"), "\"dApp_list\" is not specifed!")
5+
6+let dAppList = split(dAppString, "|")
7+
8+let adminPk = base58'FfKo5E94WAT5nEWgdxs6dQ2dkjbiYYpuV6d1gfD5js5V'
9+
10+func getStringAddress (dApp) = toString(addressFromRecipient(dApp))
11+
12+
13+func verifyRestInvoke (invoke) = {
14+ let address = getStringAddress(invoke.dApp)
15+ if (!(containsElement(dAppList, address)))
16+ then false
17+ else if (!(valueOrElse(getBooleanValue(this, makeString(["function", address], "_")), false)))
18+ then false
19+ else true
20+ }
21+
22+
23+
24+@Verifier(tx)
25+func verify () = if (!(sigVerify(tx.bodyBytes, tx.proofs[0], adminPk)))
26+ then match tx {
27+ case i: InvokeScriptTransaction =>
28+ if (verifyRestInvoke(i))
29+ then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
30+ else false
31+ case _ =>
32+ false
33+ }
34+ else true
35+

github/deemru/w8io/169f3d6 
29.33 ms