tx · G3tFKbt1WMAkGxDunvAmBEAcAaz4YNFZLipU9c7P9XV5 3N5ZexxaGKJ7Wjzm7ojjDFdZbxsN3sUDKAa: -0.01000000 Waves 2023.08.02 14:08 [2692875] smart account 3N5ZexxaGKJ7Wjzm7ojjDFdZbxsN3sUDKAa > SELF 0.00000000 Waves
{ "type": 13, "id": "G3tFKbt1WMAkGxDunvAmBEAcAaz4YNFZLipU9c7P9XV5", "fee": 1000000, "feeAssetId": null, "timestamp": 1690974499238, "version": 2, "chainId": 84, "sender": "3N5ZexxaGKJ7Wjzm7ojjDFdZbxsN3sUDKAa", "senderPublicKey": "GmZRVhE2WxrVskz5PgSHb1pFnApG5LyXu8aysuxFjh5F", "proofs": [ "63iDJnt6YnHvdhefnWehGSkfnGgjUjnmVhySSH6HCt41ERnwkYGZ5NGpFSKSVvz8UZwQV923s1aKUeD3Dj5SXjyi", "2krDmhnYK8UpJV6NAsgEVj6bSsDnLRqtWxwQydNDDqgb8GeEVqtyn8GcyqAB9mVVUrqVojETYHVpqAFn1qToMjNY", "4VcLHWqJ765hyDZE3HKSPLX4HdA52tQp8pyZkjLTJBaTLRSPbVY6t2maL7KJKtZgwdCxQjxzWFYsGGddcmeMu9G8" ], "script": "base64:BgICCAIHAA5BWExZX01BSU5fQUREUgkBB0FkZHJlc3MBARoBVKxZ06Mi8yQRyxlOzbVq19UHIskDZBkjugAJa0FkbWluMVBLAhVncm91cDFfYWRtaW4xX3B1Yl9rZXkACWtBZG1pbjJQSwIVZ3JvdXAxX2FkbWluMl9wdWJfa2V5AA9rT3BlcmF0b3JDYWxsUEsCEmFkbWluX2NhbGxfcHViX2tleQAIYWRtaW4xUEsJANkEAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFDkFYTFlfTUFJTl9BRERSBQlrQWRtaW4xUEsCEkNhbid0IGdldCBhZG1pbjFQSwAIYWRtaW4yUEsJANkEAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFDkFYTFlfTUFJTl9BRERSBQlrQWRtaW4yUEsCEkNhbid0IGdldCBhZG1pbjJQSwAKb3BlcmF0b3JQSwkA2QQBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUOQVhMWV9NQUlOX0FERFIFD2tPcGVyYXRvckNhbGxQSwIUQ2FuJ3QgZ2V0IG9wZXJhdG9yUEsAAQJ0eAEGdmVyaWZ5AAQHJG1hdGNoMAUCdHgEEmFkbWluUHViS2V5MVNpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFCGFkbWluMVBLAAEAAAQSYWRtaW5QdWJLZXkyU2lnbmVkAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAQUIYWRtaW4yUEsAAQAABBJhZG1pblB1YktleTNTaWduZWQDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwACBQpvcGVyYXRvclBLAAEAAAkAZwIJAGQCCQBkAgUSYWRtaW5QdWJLZXkxU2lnbmVkBRJhZG1pblB1YktleTJTaWduZWQFEmFkbWluUHViS2V5M1NpZ25lZAACiRb0xw==", "height": 2692875, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7Lg29W5UPqGA9oF2yV5oVHFwi1ug1KNRe2oxYxc11QCB Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let AXLY_MAIN_ADDR = Address(base58'3N5dPcBenjbD5yoHNxR4cukNYEa8X1fqxzu') | |
5 | 5 | ||
6 | 6 | let kAdmin1PK = "group1_admin1_pub_key" | |
7 | 7 | ||
8 | 8 | let kAdmin2PK = "group1_admin2_pub_key" | |
9 | 9 | ||
10 | 10 | let kOperatorCallPK = "admin_call_pub_key" | |
11 | 11 | ||
12 | 12 | let admin1PK = fromBase58String(valueOrErrorMessage(getString(AXLY_MAIN_ADDR, kAdmin1PK), "Can't get admin1PK")) | |
13 | 13 | ||
14 | 14 | let admin2PK = fromBase58String(valueOrErrorMessage(getString(AXLY_MAIN_ADDR, kAdmin2PK), "Can't get admin2PK")) | |
15 | 15 | ||
16 | 16 | let operatorPK = fromBase58String(valueOrErrorMessage(getString(AXLY_MAIN_ADDR, kOperatorCallPK), "Can't get operatorPK")) | |
17 | 17 | ||
18 | 18 | ||
19 | 19 | @Verifier(tx) | |
20 | 20 | func verify () = match tx { | |
21 | 21 | case _ => | |
22 | 22 | let adminPubKey1Signed = if (sigVerify(tx.bodyBytes, tx.proofs[0], admin1PK)) | |
23 | 23 | then 1 | |
24 | 24 | else 0 | |
25 | 25 | let adminPubKey2Signed = if (sigVerify(tx.bodyBytes, tx.proofs[1], admin2PK)) | |
26 | 26 | then 1 | |
27 | 27 | else 0 | |
28 | 28 | let adminPubKey3Signed = if (sigVerify(tx.bodyBytes, tx.proofs[2], operatorPK)) | |
29 | 29 | then 1 | |
30 | 30 | else 0 | |
31 | 31 | (((adminPubKey1Signed + adminPubKey2Signed) + adminPubKey3Signed) >= 2) | |
32 | 32 | } | |
33 | 33 |
github/deemru/w8io/026f985 32.55 ms ◑