tx · 8Qw1BBQKHW22XEz2HhhRNCWW8imD3rhUSkfkvpt3hvTz 3NBKUmtff9iPuXpJCEGqYFCRgpNayA1Qby6: -0.05000000 Waves 2019.10.12 14:16 [716605] smart account 3NBKUmtff9iPuXpJCEGqYFCRgpNayA1Qby6 > SELF 0.00000000 Waves
{ "type": 13, "id": "8Qw1BBQKHW22XEz2HhhRNCWW8imD3rhUSkfkvpt3hvTz", "fee": 5000000, "feeAssetId": null, "timestamp": 1570878994205, "version": 1, "sender": "3NBKUmtff9iPuXpJCEGqYFCRgpNayA1Qby6", "senderPublicKey": "HK5Q2KhxsZb9g3LM4iroLsKx6E5zJLEZfRvLd68H7uAx", "proofs": [ "59zjxvmwDbagyTsUncBDruXqHWCFarupwoW3bQL8mKqoU4omyqpqeufPv9m6LkQS5JPbg2tLuXef6fowWC3tV1Zt" ], "script": "base64:AAIDAAAAAAAAAAIIAQAAAAUAAAAADGhlcm1hblB1YktleQEAAAAgU0SH0dtouYCkcLg2OStV7GXgUeG/xGs1WfTLB12/pU4AAAAAC3JhZGVrUHViS2V5AQAAACDXKea8qHwAEajmpIY72tBMvgYrlezQ4VkWo7qGJgANGAAAAAAMc3p5bW9uUHViS2V5AQAAACDRkuGTH71Ivy9lcX4IjxTuQsLms/6N48fSfwvRsVJ5QQAAAAAMc3lsd2VrUHViS2V5AQAAACAJi0axE2x5ykaizz0UCItQwOUevFIbiQsmCr34mbycawAAAAAMYmFja3VwUHViS2V5AQAAACBsQvAdMdDfrfRzEsIyHHR8Fqkn9gFowkln/hRcBFHaVQAAAAAAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAAAxoZXJtYW5TaWduZWQDCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAUAAAAMaGVybWFuUHViS2V5AAAAAAAAAAABAAAAAAAAAAAABAAAAAtyYWRla1NpZ25lZAMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAABBQAAAAtyYWRla1B1YktleQAAAAAAAAAAAQAAAAAAAAAAAAQAAAAMc3p5bW9uU2lnbmVkAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAIFAAAADHN6eW1vblB1YktleQAAAAAAAAAAAQAAAAAAAAAAAAQAAAAMc3lsd2VrU2lnbmVkAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAMFAAAADHN5bHdla1B1YktleQAAAAAAAAAAAQAAAAAAAAAAAAQAAAAMYmFja3VwU2lnbmVkAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAQFAAAADGJhY2t1cFB1YktleQAAAAAAAAAAAQAAAAAAAAAAAAQAAAAHJG1hdGNoMAUAAAACdHgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAFFNldFNjcmlwdFRyYW5zYWN0aW9uBAAAAAFkBQAAAAckbWF0Y2gwCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAUAAAAMaGVybWFuUHViS2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABNUcmFuc2ZlclRyYW5zYWN0aW9uBAAAAAFkBQAAAAckbWF0Y2gwCQAAZwAAAAIJAABkAAAAAgkAAGQAAAACCQAAZAAAAAIJAABkAAAAAgUAAAAMaGVybWFuU2lnbmVkBQAAAAtyYWRla1NpZ25lZAUAAAAMc3p5bW9uU2lnbmVkBQAAAAxzeWx3ZWtTaWduZWQFAAAADGJhY2t1cFNpZ25lZAAAAAAAAAAAAQcMn2be", "chainId": 84, "height": 716605, "spentComplexity": 0 } View: original | compacted Prev: Hwk49vgx9cEc3UEurLu8AHPTRkQEJ4a3AeDm3EdokyTp Next: none Diff:
Old | New | Differences | |
---|---|---|---|
13 | 13 | ||
14 | 14 | ||
15 | 15 | @Verifier(tx) | |
16 | - | func verify () = match tx { | |
17 | - | case d: SetScriptTransaction => | |
18 | - | sigVerify(tx.bodyBytes, tx.proofs[0], hermanPubKey) | |
19 | - | case d: TransferTransaction => | |
20 | - | true | |
21 | - | case _ => | |
22 | - | false | |
23 | - | } | |
16 | + | func verify () = { | |
17 | + | let hermanSigned = if (sigVerify(tx.bodyBytes, tx.proofs[0], hermanPubKey)) | |
18 | + | then 1 | |
19 | + | else 0 | |
20 | + | let radekSigned = if (sigVerify(tx.bodyBytes, tx.proofs[1], radekPubKey)) | |
21 | + | then 1 | |
22 | + | else 0 | |
23 | + | let szymonSigned = if (sigVerify(tx.bodyBytes, tx.proofs[2], szymonPubKey)) | |
24 | + | then 1 | |
25 | + | else 0 | |
26 | + | let sylwekSigned = if (sigVerify(tx.bodyBytes, tx.proofs[3], sylwekPubKey)) | |
27 | + | then 1 | |
28 | + | else 0 | |
29 | + | let backupSigned = if (sigVerify(tx.bodyBytes, tx.proofs[4], backupPubKey)) | |
30 | + | then 1 | |
31 | + | else 0 | |
32 | + | match tx { | |
33 | + | case d: SetScriptTransaction => | |
34 | + | sigVerify(tx.bodyBytes, tx.proofs[0], hermanPubKey) | |
35 | + | case d: TransferTransaction => | |
36 | + | (((((hermanSigned + radekSigned) + szymonSigned) + sylwekSigned) + backupSigned) >= 1) | |
37 | + | case _ => | |
38 | + | false | |
39 | + | } | |
40 | + | } | |
24 | 41 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let hermanPubKey = base58'6c3Sxz3Afex86rPRh2Bn4HPiKzfoewNz1jBKYNYiDRFs' | |
5 | 5 | ||
6 | 6 | let radekPubKey = base58'FUuiLi5X3jvcc9rbuZjkdXCTg7efDF23wTt9BQp2ueoh' | |
7 | 7 | ||
8 | 8 | let szymonPubKey = base58'F767TJVLz91RgPRJB7UNQ2CCfKPhKWzEB5826aXXw31i' | |
9 | 9 | ||
10 | 10 | let sylwekPubKey = base58'eFr4HSU76hcHcmX5fdt3j2KoTMhnBUUwZJprBYCjnoC' | |
11 | 11 | ||
12 | 12 | let backupPubKey = base58'8HcESAAVRxoe6RiLSKBLXDT3Xv91zNKx4APqNmcUztvp' | |
13 | 13 | ||
14 | 14 | ||
15 | 15 | @Verifier(tx) | |
16 | - | func verify () = match tx { | |
17 | - | case d: SetScriptTransaction => | |
18 | - | sigVerify(tx.bodyBytes, tx.proofs[0], hermanPubKey) | |
19 | - | case d: TransferTransaction => | |
20 | - | true | |
21 | - | case _ => | |
22 | - | false | |
23 | - | } | |
16 | + | func verify () = { | |
17 | + | let hermanSigned = if (sigVerify(tx.bodyBytes, tx.proofs[0], hermanPubKey)) | |
18 | + | then 1 | |
19 | + | else 0 | |
20 | + | let radekSigned = if (sigVerify(tx.bodyBytes, tx.proofs[1], radekPubKey)) | |
21 | + | then 1 | |
22 | + | else 0 | |
23 | + | let szymonSigned = if (sigVerify(tx.bodyBytes, tx.proofs[2], szymonPubKey)) | |
24 | + | then 1 | |
25 | + | else 0 | |
26 | + | let sylwekSigned = if (sigVerify(tx.bodyBytes, tx.proofs[3], sylwekPubKey)) | |
27 | + | then 1 | |
28 | + | else 0 | |
29 | + | let backupSigned = if (sigVerify(tx.bodyBytes, tx.proofs[4], backupPubKey)) | |
30 | + | then 1 | |
31 | + | else 0 | |
32 | + | match tx { | |
33 | + | case d: SetScriptTransaction => | |
34 | + | sigVerify(tx.bodyBytes, tx.proofs[0], hermanPubKey) | |
35 | + | case d: TransferTransaction => | |
36 | + | (((((hermanSigned + radekSigned) + szymonSigned) + sylwekSigned) + backupSigned) >= 1) | |
37 | + | case _ => | |
38 | + | false | |
39 | + | } | |
40 | + | } | |
24 | 41 |
github/deemru/w8io/026f985 30.63 ms ◑