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