tx · E4XUvpHDwPCEg9C2YzrzBivEozBvWHbNvcPG7fFrivV6 3MxZNnLG9EBcb4yExxNwcFq9vcyMb7DcGT9: -0.00600000 Waves 2024.10.08 10:21 [3317541] smart account 3MxZNnLG9EBcb4yExxNwcFq9vcyMb7DcGT9 > SELF 0.00000000 Waves
{ "type": 13, "id": "E4XUvpHDwPCEg9C2YzrzBivEozBvWHbNvcPG7fFrivV6", "fee": 600000, "feeAssetId": null, "timestamp": 1728372109447, "version": 2, "chainId": 84, "sender": "3MxZNnLG9EBcb4yExxNwcFq9vcyMb7DcGT9", "senderPublicKey": "FN8Nij5UUJ3ZXHzNztDBknjEpmL8w47c17gVLBDm51vy", "proofs": [ "4RVCdkf5UUfyncuyJmgN2RwQTNbBpWxPg8D6UmpsNRfrdUZcYJDJsDjZaPtEcz46JKVCqWo1YgYFSAXk8nmQhNMP" ], "script": "base64:AAIFAAAAAAAAAAIIAgAAAAEBAAAACWlzVGVzdEVudgAAAAAEAAAAB3Rlc3RlbnYEAAAAByRtYXRjaDAJAAQbAAAAAgUAAAAEdGhpcwIAAAAHVEVTVEVOVgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAHQm9vbGVhbgQAAAABeAUAAAAHJG1hdGNoMAUAAAABeAcFAAAAB3Rlc3RlbnYAAAAAAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAMJAQAAAAlpc1Rlc3RFbnYAAAAACQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleQQAAAAJZmlyc3RVc2VyAQAAACBRHOT9Zv8SadLxWhSfO7Li9Dt/wctoJ6I0Xmw411fdbQQAAAAKc2Vjb25kVXNlcgEAAAAgXHIOS67xIU9m5hlF+mqise2xNilZXxnMzLDhTUGIan0EAAAACXRoaXJkVXNlcgEAAAAgoK+R5S15Q2FhMhKtjrn6GFlRnS1TSTbD0KP3qGAZO04EAAAAD2ZpcnN0VXNlclNpZ25lZAMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAABQAAAAlmaXJzdFVzZXIAAAAAAAAAAAEDCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAQUAAAAJZmlyc3RVc2VyAAAAAAAAAAABAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAIFAAAACWZpcnN0VXNlcgAAAAAAAAAAAQAAAAAAAAAAAAQAAAAQc2Vjb25kVXNlclNpZ25lZAMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAABQAAAApzZWNvbmRVc2VyAAAAAAAAAAABAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAEFAAAACnNlY29uZFVzZXIAAAAAAAAAAAEDCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAgUAAAAKc2Vjb25kVXNlcgAAAAAAAAAAAQAAAAAAAAAAAAQAAAAPdGhpcmRVc2VyU2lnbmVkAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAFAAAACXRoaXJkVXNlcgAAAAAAAAAAAQMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAABBQAAAAl0aGlyZFVzZXIAAAAAAAAAAAEDCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAgUAAAAJdGhpcmRVc2VyAAAAAAAAAAABAAAAAAAAAAAABAAAAA9zaWduYXR1cmVzQ291bnQJAABkAAAAAgkAAGQAAAACBQAAAA9maXJzdFVzZXJTaWduZWQFAAAAEHNlY29uZFVzZXJTaWduZWQFAAAAD3RoaXJkVXNlclNpZ25lZAQAAAAHJG1hdGNoMAUAAAACdHgJAABnAAAAAgUAAAAPc2lnbmF0dXJlc0NvdW50AAAAAAAAAAAClP5zeA==", "height": 3317541, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2YvNUyoYQgbc4QyYCvg3H8qHEShnteJ61J76r1tRQ7EL Next: JD3ZLRdJVXmGdE7Q63pzNu5jtN1KgGUhmsdqd9CpdR8N Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | func isTestEnv () = { | |
5 | 5 | let testenv = match getBoolean(this, "TESTENV") { | |
6 | 6 | case x: Boolean => | |
7 | 7 | x | |
8 | 8 | case _ => | |
9 | 9 | false | |
10 | 10 | } | |
11 | 11 | testenv | |
12 | 12 | } | |
13 | 13 | ||
14 | 14 | ||
15 | 15 | ||
16 | 16 | @Verifier(tx) | |
17 | 17 | func verify () = if (isTestEnv()) | |
18 | 18 | then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
19 | 19 | else { | |
20 | 20 | let firstUser = base58'6TdaXEfhnjYquvPf3yV7MFxt2CbgFmaqsvGwkKfXtKi4' | |
21 | 21 | let secondUser = base58'7DsP2WaMLocbHuUxux7pbXRjTrrZ1TFQPsi5QumS3gr8' | |
22 | 22 | let thirdUser = base58'BpFWP3p3JgYrrP45xfrKzeMcWMEXoinj4FVPPkUiA8D3' | |
23 | 23 | let firstUserSigned = if (sigVerify(tx.bodyBytes, tx.proofs[0], firstUser)) | |
24 | 24 | then 1 | |
25 | 25 | else if (sigVerify(tx.bodyBytes, tx.proofs[1], firstUser)) | |
26 | 26 | then 1 | |
27 | 27 | else if (sigVerify(tx.bodyBytes, tx.proofs[2], firstUser)) | |
28 | 28 | then 1 | |
29 | 29 | else 0 | |
30 | 30 | let secondUserSigned = if (sigVerify(tx.bodyBytes, tx.proofs[0], secondUser)) | |
31 | 31 | then 1 | |
32 | 32 | else if (sigVerify(tx.bodyBytes, tx.proofs[1], secondUser)) | |
33 | 33 | then 1 | |
34 | 34 | else if (sigVerify(tx.bodyBytes, tx.proofs[2], secondUser)) | |
35 | 35 | then 1 | |
36 | 36 | else 0 | |
37 | 37 | let thirdUserSigned = if (sigVerify(tx.bodyBytes, tx.proofs[0], thirdUser)) | |
38 | 38 | then 1 | |
39 | 39 | else if (sigVerify(tx.bodyBytes, tx.proofs[1], thirdUser)) | |
40 | 40 | then 1 | |
41 | 41 | else if (sigVerify(tx.bodyBytes, tx.proofs[2], thirdUser)) | |
42 | 42 | then 1 | |
43 | 43 | else 0 | |
44 | 44 | let signaturesCount = ((firstUserSigned + secondUserSigned) + thirdUserSigned) | |
45 | 45 | match tx { | |
46 | 46 | case _ => | |
47 | 47 | (signaturesCount >= 2) | |
48 | 48 | } | |
49 | 49 | } | |
50 | 50 |
github/deemru/w8io/169f3d6 20.95 ms ◑