tx · H7U9gRdbzJGVpaDYdr3gmMN4JHY4ZGAtErHes5eJtRfD 3PHfXPKtVwkj3vjfVht3QbaDJKA4Ej1v2yh: -0.00100000 Waves 2022.11.25 10:50 [3397797] smart account 3PHfXPKtVwkj3vjfVht3QbaDJKA4Ej1v2yh > SELF 0.00000000 Waves
{ "type": 13, "id": "H7U9gRdbzJGVpaDYdr3gmMN4JHY4ZGAtErHes5eJtRfD", "fee": 100000, "feeAssetId": null, "timestamp": 1669362727136, "version": 2, "chainId": 87, "sender": "3PHfXPKtVwkj3vjfVht3QbaDJKA4Ej1v2yh", "senderPublicKey": "4Euapqc856UeGHYN9mtBnhsYdR7qAcGrxG94TgJ2AqWB", "proofs": [ "4fvhYJUeN57kZzYq9HNDcacnBJZadHZbzWtgy4Wectxe1cDfkG3TZsur6q1DnXQXruCme6mgHqZFvcD6prVksWMn" ], "script": "base64:BgICCAIIAA1rQWRtaW5QdWJLZXkxAgthZG1pbl9wdWJfMQANa0FkbWluUHViS2V5MgILYWRtaW5fcHViXzIADWtBZG1pblB1YktleTMCC2FkbWluX3B1Yl8zAAZvcmFjbGUJAQdBZGRyZXNzAQEaAVeK/whomjW6QM1hdPISN96mN/D6OM7oHjgBE2dldEJhc2U1OEZyb21PcmFjbGUBA2tleQQHJG1hdGNoMAkAnQgCBQZvcmFjbGUFA2tleQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEBnN0cmluZwUHJG1hdGNoMAkA2QQBBQZzdHJpbmcEB25vdGhpbmcFByRtYXRjaDAJAAIBCQCsAgIFA2tleQIIaXMgZW1wdHkADGFkbWluUHViS2V5MQkBE2dldEJhc2U1OEZyb21PcmFjbGUBBQ1rQWRtaW5QdWJLZXkxAAxhZG1pblB1YktleTIJARNnZXRCYXNlNThGcm9tT3JhY2xlAQUNa0FkbWluUHViS2V5MgAMYWRtaW5QdWJLZXkzCQETZ2V0QmFzZTU4RnJvbU9yYWNsZQEFDWtBZG1pblB1YktleTMAAQJ0eAEGdmVyaWZ5AAQSYWRtaW5QdWJLZXkxU2lnbmVkAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAUMYWRtaW5QdWJLZXkxAAEAAAQSYWRtaW5QdWJLZXkyU2lnbmVkAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAQUMYWRtaW5QdWJLZXkyAAEAAAQSYWRtaW5QdWJLZXkzU2lnbmVkAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAgUMYWRtaW5QdWJLZXkzAAEAAAkAZwIJAGQCCQBkAgUSYWRtaW5QdWJLZXkxU2lnbmVkBRJhZG1pblB1YktleTJTaWduZWQFEmFkbWluUHViS2V5M1NpZ25lZAAC2BynUw==", "height": 3397797, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 6 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let kAdminPubKey1 = "admin_pub_1" | |
5 | + | ||
6 | + | let kAdminPubKey2 = "admin_pub_2" | |
7 | + | ||
8 | + | let kAdminPubKey3 = "admin_pub_3" | |
9 | + | ||
10 | + | let oracle = Address(base58'3PEbqViERCoKnmcSULh6n2aiMvUdSQdCsom') | |
11 | + | ||
12 | + | func getBase58FromOracle (key) = match getString(oracle, key) { | |
13 | + | case string: String => | |
14 | + | fromBase58String(string) | |
15 | + | case nothing => | |
16 | + | throw((key + "is empty")) | |
17 | + | } | |
18 | + | ||
19 | + | ||
20 | + | let adminPubKey1 = getBase58FromOracle(kAdminPubKey1) | |
21 | + | ||
22 | + | let adminPubKey2 = getBase58FromOracle(kAdminPubKey2) | |
23 | + | ||
24 | + | let adminPubKey3 = getBase58FromOracle(kAdminPubKey3) | |
25 | + | ||
26 | + | ||
27 | + | @Verifier(tx) | |
28 | + | func verify () = { | |
29 | + | let adminPubKey1Signed = if (sigVerify(tx.bodyBytes, tx.proofs[0], adminPubKey1)) | |
30 | + | then 1 | |
31 | + | else 0 | |
32 | + | let adminPubKey2Signed = if (sigVerify(tx.bodyBytes, tx.proofs[1], adminPubKey2)) | |
33 | + | then 1 | |
34 | + | else 0 | |
35 | + | let adminPubKey3Signed = if (sigVerify(tx.bodyBytes, tx.proofs[2], adminPubKey3)) | |
36 | + | then 1 | |
37 | + | else 0 | |
38 | + | (((adminPubKey1Signed + adminPubKey2Signed) + adminPubKey3Signed) >= 2) | |
39 | + | } | |
40 | + |
github/deemru/w8io/3ef1775 20.37 ms ◑