tx · 5YnQ2pv7QKAbgYMjPDEmWGWoNHPFYeXDqBSmL9HR6GCu 3MxRqURevjNgwbz8kneeUwGPzCtszagdsx4: -0.01400000 Waves 2020.11.17 17:04 [1269460] smart account 3MxRqURevjNgwbz8kneeUwGPzCtszagdsx4 > SELF 0.00000000 Waves
{ "type": 13, "id": "5YnQ2pv7QKAbgYMjPDEmWGWoNHPFYeXDqBSmL9HR6GCu", "fee": 1400000, "feeAssetId": null, "timestamp": 1605621763031, "version": 2, "chainId": 84, "sender": "3MxRqURevjNgwbz8kneeUwGPzCtszagdsx4", "senderPublicKey": "2qjcWuL7QitmuhkSTM7CnNxurCYXuqJ9ubswLBGmXfDv", "proofs": [ "2Z9tN43G9kyTVBLKxQeNKLUZDdQLeREszgvomhLnr5EadV3mEfs1sDxc93yE8p5gDabpjZTDneaCGpT5uqSarZCp" ], "script": "base64:AAIEAAAAAAAAAAIIAgAAAAMAAAAAEWFjY291bnQxUHVibGljS2V5AQAAACD3jXgw7OE1lYUdW8zpPeJRbBzq2i/QfxUY9F31TI9ITgAAAAARYWNjb3VudDJQdWJsaWNLZXkBAAAAIBtXv2hMCq7TJHKvVsoiywB7SjyYC3f6AKFF3CrlAyIVAAAAAA5vdGhlclB1YmxpY0tleQEAAAAg525Riaa48RgJvYxM/FeTNEzhBum4Tb2zEKrgTa8dHVoAAAAAAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAQAAAAIYWNjb3VudDEDAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAFAAAAEWFjY291bnQxUHVibGljS2V5BgkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAEFAAAAEWFjY291bnQxUHVibGljS2V5BgkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAIFAAAAEWFjY291bnQxUHVibGljS2V5BAAAAAhhY2NvdW50MgMDCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAUAAAARYWNjb3VudDJQdWJsaWNLZXkGCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAQUAAAARYWNjb3VudDJQdWJsaWNLZXkGCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAgUAAAARYWNjb3VudDJQdWJsaWNLZXkEAAAABW90aGVyAwMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAABQAAAA5vdGhlclB1YmxpY0tleQYJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAABBQAAAA5vdGhlclB1YmxpY0tleQYJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAACBQAAAA5vdGhlclB1YmxpY0tleQQAAAAQYWNjb3VudDFhY2NvdW50MgMFAAAACGFjY291bnQxBQAAAAhhY2NvdW50MgcEAAAADWFjY291bnQxb3RoZXIDBQAAAAhhY2NvdW50MQUAAAAFb3RoZXIHBAAAAA1hY2NvdW50Mm90aGVyAwUAAAAFb3RoZXIFAAAACGFjY291bnQyBwQAAAAHJG1hdGNoMAUAAAACdHgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAFFNldFNjcmlwdFRyYW5zYWN0aW9uBAAAAAFkBQAAAAckbWF0Y2gwBgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAPRGF0YVRyYW5zYWN0aW9uBAAAAAFkBQAAAAckbWF0Y2gwBgMDBQAAABBhY2NvdW50MWFjY291bnQyBgUAAAANYWNjb3VudDFvdGhlcgYFAAAADWFjY291bnQyb3RoZXJ+b1U6", "height": 1269460, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HpH2gVNVM2ACcv6xLHFT4hUUbuKZkmtS3DMcsn4tWEiQ Next: Buapt4Y8hQds49duX211UexFvSLzeYP4FquMfoDYFzt8 Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 4 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let account1PublicKey = base58'HfLpRhXtnuCabRyNT6z7soaXcbUpwLUhjyBCVQ4szwzd' | |
4 | 5 | ||
6 | + | let account2PublicKey = base58'2qjcWuL7QitmuhkSTM7CnNxurCYXuqJ9ubswLBGmXfDv' | |
7 | + | ||
8 | + | let otherPublicKey = base58'GaQkBG6yLLAarb8wvPrEKnQhFqWomD2ZGT1T4vVx24qw' | |
5 | 9 | ||
6 | 10 | ||
7 | 11 | @Verifier(tx) | |
8 | - | func verify () = match tx { | |
9 | - | case d: SetScriptTransaction => | |
10 | - | true | |
11 | - | case d: DataTransaction => | |
12 | - | true | |
13 | - | case _ => | |
14 | - | false | |
15 | - | } | |
12 | + | func verify () = { | |
13 | + | let account1 = if (if (sigVerify(tx.bodyBytes, tx.proofs[0], account1PublicKey)) | |
14 | + | then true | |
15 | + | else sigVerify(tx.bodyBytes, tx.proofs[1], account1PublicKey)) | |
16 | + | then true | |
17 | + | else sigVerify(tx.bodyBytes, tx.proofs[2], account1PublicKey) | |
18 | + | let account2 = if (if (sigVerify(tx.bodyBytes, tx.proofs[0], account2PublicKey)) | |
19 | + | then true | |
20 | + | else sigVerify(tx.bodyBytes, tx.proofs[1], account2PublicKey)) | |
21 | + | then true | |
22 | + | else sigVerify(tx.bodyBytes, tx.proofs[2], account2PublicKey) | |
23 | + | let other = if (if (sigVerify(tx.bodyBytes, tx.proofs[0], otherPublicKey)) | |
24 | + | then true | |
25 | + | else sigVerify(tx.bodyBytes, tx.proofs[1], otherPublicKey)) | |
26 | + | then true | |
27 | + | else sigVerify(tx.bodyBytes, tx.proofs[2], otherPublicKey) | |
28 | + | let account1account2 = if (account1) | |
29 | + | then account2 | |
30 | + | else false | |
31 | + | let account1other = if (account1) | |
32 | + | then other | |
33 | + | else false | |
34 | + | let account2other = if (other) | |
35 | + | then account2 | |
36 | + | else false | |
37 | + | match tx { | |
38 | + | case d: SetScriptTransaction => | |
39 | + | true | |
40 | + | case d: DataTransaction => | |
41 | + | true | |
42 | + | case _ => | |
43 | + | if (if (account1account2) | |
44 | + | then true | |
45 | + | else account1other) | |
46 | + | then true | |
47 | + | else account2other | |
48 | + | } | |
49 | + | } | |
16 | 50 |
github/deemru/w8io/169f3d6 74.79 ms ◑