tx · BgGBK8a8WyqPDNH1RU2dEgwoMLoq3thoiGxm5Rpppt6w 3MtWV7vLKC7fMCPmaKAUfEqw5MjjtaGW9TB: -0.01000000 Waves 2021.09.14 10:41 [1702425] smart account 3MtWV7vLKC7fMCPmaKAUfEqw5MjjtaGW9TB > SELF 0.00000000 Waves
{ "type": 13, "id": "BgGBK8a8WyqPDNH1RU2dEgwoMLoq3thoiGxm5Rpppt6w", "fee": 1000000, "feeAssetId": null, "timestamp": 1631605314093, "version": 2, "chainId": 84, "sender": "3MtWV7vLKC7fMCPmaKAUfEqw5MjjtaGW9TB", "senderPublicKey": "2owkTPCf2dfdFud3BTFpCj7DcZR9QB9vu38aoSx45uVh", "proofs": [ "2hdsHhA86vLMnxhyg7TUL5aru5GPUHBFmMoDFyR8fHMEorMbAXBcPYmCBmMARhZSxCzwiwtaGb4tdTCBQGoqj5BX" ], "script": "base64:BQQAAAAPa2V5QWRtaW5QdWJLZXkxAgAAAAthZG1pbl9wdWJfMQQAAAAPa2V5QWRtaW5QdWJLZXkyAgAAAAthZG1pbl9wdWJfMgQAAAAPa2V5QWRtaW5QdWJLZXkzAgAAAAthZG1pbl9wdWJfMwQAAAAGb3JhY2xlCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFU6UWqHpAvOq7xug7mLpqSXxqYhOHzYrMICgEAAAALZ2V0QWRtaW5QdWIAAAABAAAAC2tleUFkbWluUHViBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABm9yYWNsZQUAAAALa2V5QWRtaW5QdWIDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAAGc3RyaW5nBQAAAAckbWF0Y2gwCQACWQAAAAEFAAAABnN0cmluZwQAAAAHbm90aGluZwUAAAAHJG1hdGNoMAkAAAIAAAABAgAAABlBZG1pbiBwdWJsaWMga2V5IGlzIGVtcHR5BAAAAAxhZG1pblB1YktleTEJAQAAAAtnZXRBZG1pblB1YgAAAAEFAAAAD2tleUFkbWluUHViS2V5MQQAAAAMYWRtaW5QdWJLZXkyCQEAAAALZ2V0QWRtaW5QdWIAAAABBQAAAA9rZXlBZG1pblB1YktleTIEAAAADGFkbWluUHViS2V5MwkBAAAAC2dldEFkbWluUHViAAAAAQUAAAAPa2V5QWRtaW5QdWJLZXkzBAAAABJhZG1pblB1YktleTFTaWduZWQDCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAUAAAAMYWRtaW5QdWJLZXkxAAAAAAAAAAABAAAAAAAAAAAABAAAABJhZG1pblB1YktleTJTaWduZWQDCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAQUAAAAMYWRtaW5QdWJLZXkyAAAAAAAAAAABAAAAAAAAAAAABAAAABJhZG1pblB1YktleTNTaWduZWQDCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAgUAAAAMYWRtaW5QdWJLZXkzAAAAAAAAAAABAAAAAAAAAAAACQAAZwAAAAIJAABkAAAAAgkAAGQAAAACBQAAABJhZG1pblB1YktleTFTaWduZWQFAAAAEmFkbWluUHViS2V5MlNpZ25lZAUAAAASYWRtaW5QdWJLZXkzU2lnbmVkAAAAAAAAAAACA2UDNA==", "height": 1702425, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 5 #-} | |
2 | + | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | + | let keyAdminPubKey1 = "admin_pub_1" | |
4 | + | let keyAdminPubKey2 = "admin_pub_2" | |
5 | + | let keyAdminPubKey3 = "admin_pub_3" | |
6 | + | let oracle = Address(base58'3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9') | |
7 | + | func getAdminPub (keyAdminPub) = match getString(oracle, keyAdminPub) { | |
8 | + | case string: String => | |
9 | + | fromBase58String(string) | |
10 | + | case nothing => | |
11 | + | throw("Admin public key is empty") | |
12 | + | } | |
13 | + | ||
14 | + | let adminPubKey1 = getAdminPub(keyAdminPubKey1) | |
15 | + | let adminPubKey2 = getAdminPub(keyAdminPubKey2) | |
16 | + | let adminPubKey3 = getAdminPub(keyAdminPubKey3) | |
17 | + | let adminPubKey1Signed = if (sigVerify(tx.bodyBytes, tx.proofs[0], adminPubKey1)) | |
18 | + | then 1 | |
19 | + | else 0 | |
20 | + | let adminPubKey2Signed = if (sigVerify(tx.bodyBytes, tx.proofs[1], adminPubKey2)) | |
21 | + | then 1 | |
22 | + | else 0 | |
23 | + | let adminPubKey3Signed = if (sigVerify(tx.bodyBytes, tx.proofs[2], adminPubKey3)) | |
24 | + | then 1 | |
25 | + | else 0 | |
26 | + | (((adminPubKey1Signed + adminPubKey2Signed) + adminPubKey3Signed) >= 2) |
github/deemru/w8io/c3f4982 19.20 ms ◑