tx · JC8tC8DzEYVXLrgwh6CP8eRJ4vaedghpwtJmiQcWJCM9 3MrFUxcMycRcQDahrA16JhvuEKnbmMF3QZP: -0.01400000 Waves 2021.11.17 21:00 [1795370] smart account 3MrFUxcMycRcQDahrA16JhvuEKnbmMF3QZP > SELF 0.00000000 Waves
{ "type": 13, "id": "JC8tC8DzEYVXLrgwh6CP8eRJ4vaedghpwtJmiQcWJCM9", "fee": 1400000, "feeAssetId": null, "timestamp": 1637172060453, "version": 2, "chainId": 84, "sender": "3MrFUxcMycRcQDahrA16JhvuEKnbmMF3QZP", "senderPublicKey": "HtiJZF4j7Jo8jR12wxtKDkNhS3qCe3qsk8QxnnjVvXyq", "proofs": [ "5tqyCSoqLnxdPeRmBvURC3rgBs71E4iXuj9DVqV6P2L4Je2ggdBDy1zM1rPe9wcbjUFRZf9yNfizsGanZbFsednY" ], "script": "base64:AAIDAAAAAAAAAAIIAQAAAAQAAAAADm93bmVyUHVibGljS2V5AQAAACD6+lAsvaY9/ICsFhS1sYMY13YGhvh1jT1AiPapnK+uIAAAAAALcHViS2V5QWxpY2UBAAAAIPr6UCy9pj38gKwWFLWxgxjXdgaG+HWNPUCI9qmcr64gAAAAAAlwdWJLZXlCb2IBAAAAIJSwJHqny7GXkLqb/9sX0sw4nnCkaYeDrScKSJwbx9dLAAAAAAxwdWJLZXlDb29wZXIBAAAAIMviW1daO0ECCbLD7je58oUri4AFkKl3dlICXnEszUFIAAAAAAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAC3NpZ25lZEFsaWNlAwMDCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAUAAAALcHViS2V5QWxpY2UGCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAQUAAAALcHViS2V5QWxpY2UGCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAgUAAAALcHViS2V5QWxpY2UAAAAAAAAAAAEAAAAAAAAAAAAEAAAACXNpZ25lZEJvYgMDAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAFAAAACXB1YktleUJvYgYJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAABBQAAAAlwdWJLZXlCb2IGCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAgUAAAAJcHViS2V5Qm9iAAAAAAAAAAABAAAAAAAAAAAABAAAAAxzaWduZWRDb29wZXIDAwMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAABQAAAAxwdWJLZXlDb29wZXIGCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAQUAAAAMcHViS2V5Q29vcGVyBgkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAIFAAAADHB1YktleUNvb3BlcgAAAAAAAAAAAQAAAAAAAAAAAAQAAAAHJG1hdGNoMAUAAAACdHgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAFFNldFNjcmlwdFRyYW5zYWN0aW9uBAAAAAFkBQAAAAckbWF0Y2gwCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAUAAAAOb3duZXJQdWJsaWNLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAD0RhdGFUcmFuc2FjdGlvbgQAAAABZAUAAAAHJG1hdGNoMAYJAABnAAAAAgkAAGQAAAACCQAAZAAAAAIFAAAAC3NpZ25lZEFsaWNlBQAAAAlzaWduZWRCb2IFAAAADHNpZ25lZENvb3BlcgAAAAAAAAAAAv1Nz1k=", "height": 1795370, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 6iLkHAo7mAApY5TBX1R9KGUgrg1kpWyiJR9mVHgjVa56 Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 3 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let ownerPublicKey = base58'HtiJZF4j7Jo8jR12wxtKDkNhS3qCe3qsk8QxnnjVvXyq' | |
5 | + | ||
6 | + | let pubKeyAlice = base58'HtiJZF4j7Jo8jR12wxtKDkNhS3qCe3qsk8QxnnjVvXyq' | |
7 | + | ||
8 | + | let pubKeyBob = base58'B1R7zeh6VgTv4Xxe3aHhdoZ9aQgWcqN8LFC9smacE96r' | |
9 | + | ||
10 | + | let pubKeyCooper = base58'EisxKQktzqqd4UsxE7UgVjSHqoWindUpjoB7dsDwfG4o' | |
11 | + | ||
12 | + | ||
13 | + | @Verifier(tx) | |
14 | + | func verify () = { | |
15 | + | let signedAlice = if (if (if (sigVerify(tx.bodyBytes, tx.proofs[0], pubKeyAlice)) | |
16 | + | then true | |
17 | + | else sigVerify(tx.bodyBytes, tx.proofs[1], pubKeyAlice)) | |
18 | + | then true | |
19 | + | else sigVerify(tx.bodyBytes, tx.proofs[2], pubKeyAlice)) | |
20 | + | then 1 | |
21 | + | else 0 | |
22 | + | let signedBob = if (if (if (sigVerify(tx.bodyBytes, tx.proofs[0], pubKeyBob)) | |
23 | + | then true | |
24 | + | else sigVerify(tx.bodyBytes, tx.proofs[1], pubKeyBob)) | |
25 | + | then true | |
26 | + | else sigVerify(tx.bodyBytes, tx.proofs[2], pubKeyBob)) | |
27 | + | then 1 | |
28 | + | else 0 | |
29 | + | let signedCooper = if (if (if (sigVerify(tx.bodyBytes, tx.proofs[0], pubKeyCooper)) | |
30 | + | then true | |
31 | + | else sigVerify(tx.bodyBytes, tx.proofs[1], pubKeyCooper)) | |
32 | + | then true | |
33 | + | else sigVerify(tx.bodyBytes, tx.proofs[2], pubKeyCooper)) | |
34 | + | then 1 | |
35 | + | else 0 | |
36 | + | match tx { | |
37 | + | case d: SetScriptTransaction => | |
38 | + | sigVerify(tx.bodyBytes, tx.proofs[0], ownerPublicKey) | |
39 | + | case d: DataTransaction => | |
40 | + | true | |
41 | + | case _ => | |
42 | + | (((signedAlice + signedBob) + signedCooper) >= 2) | |
43 | + | } | |
44 | + | } | |
45 | + |
github/deemru/w8io/026f985 12.98 ms ◑