tx · 8FwF5UWkBxKp5n2Aq9bPvrUCK4Ck9tva3f9H4wqK14Ez 3MpVwAdds824UL7wbRTQf8dx6JsXaCP2qVe: -0.01400000 Waves 2019.09.16 09:06 [678410] smart account 3MpVwAdds824UL7wbRTQf8dx6JsXaCP2qVe > SELF 0.00000000 Waves
{ "type": 13, "id": "8FwF5UWkBxKp5n2Aq9bPvrUCK4Ck9tva3f9H4wqK14Ez", "fee": 1400000, "feeAssetId": null, "timestamp": 1568614049078, "version": 1, "sender": "3MpVwAdds824UL7wbRTQf8dx6JsXaCP2qVe", "senderPublicKey": "9fDm3by1Q4ZmYGVFfun1jzFCeu13mYP7j26ST2tBRwVB", "proofs": [ "5FsAXh8Tk7daD56xCRix6UH1oDxCqiEvaXXVDEeT8ZC5ZRmgCaKxYbNJ3mrpuFf2kgbwmHNbjTUrfMn7qojr3c9m" ], "script": "base64:AAIDAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAC2FsaWNlUHViS2V5CQABmwAAAAECAAAALEdwdWZnWGNwWmpxWXptdVpyN2o0bjNvVDFtU3ppdUVvVXZaRmdBUzRMTWNvBAAAAAlib2JQdWJLZXkJAAGbAAAAAQIAAAAsOWZEbTNieTFRNFptWUdWRmZ1bjFqekZDZXUxM21ZUDdqMjZTVDJ0QlJ3VkIEAAAADGNvb3BlclB1YktleQkAAZsAAAABAgAAACw1cndpd2NFTmE5SkVkTFZISmJCRkdQck15Yms3NEh3bkdxMzJkMmNNUEx0NQQAAAANc2lnbmVkQnlBbGljZQMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAABQAAAAthbGljZVB1YktleQAAAAAAAAAAAQAAAAAAAAAAAAQAAAALc2lnbmVkQnlCb2IDCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAQUAAAAJYm9iUHViS2V5AAAAAAAAAAABAAAAAAAAAAAABAAAAA5zaWduZWRCeUNvb3BlcgMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAACBQAAAAxjb29wZXJQdWJLZXkAAAAAAAAAAAEAAAAAAAAAAAAEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABRTZXRTY3JpcHRUcmFuc2FjdGlvbgQAAAABcwUAAAAHJG1hdGNoMAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAFAAAACWJvYlB1YktleQkAAGcAAAACCQAAZAAAAAIJAABkAAAAAgUAAAANc2lnbmVkQnlBbGljZQUAAAALc2lnbmVkQnlCb2IFAAAADnNpZ25lZEJ5Q29vcGVyAAAAAAAAAAACA5E51g==", "chainId": 84, "height": 678410, "spentComplexity": 0 } View: original | compacted Prev: DWRqsr7ZSvkmRxyyeHAph6MGo2QJY6AAMtX3g6APf6yk Next: none Diff:
Old | New | Differences | |
---|---|---|---|
5 | 5 | ||
6 | 6 | ||
7 | 7 | @Verifier(tx) | |
8 | - | func verify () = match tx { | |
9 | - | case s: SetScriptTransaction => | |
10 | - | true | |
11 | - | case d: DataTransaction => | |
12 | - | true | |
13 | - | case _ => | |
14 | - | false | |
15 | - | } | |
8 | + | func verify () = { | |
9 | + | let alicePubKey = toBytes("GpufgXcpZjqYzmuZr7j4n3oT1mSziuEoUvZFgAS4LMco") | |
10 | + | let bobPubKey = toBytes("9fDm3by1Q4ZmYGVFfun1jzFCeu13mYP7j26ST2tBRwVB") | |
11 | + | let cooperPubKey = toBytes("5rwiwcENa9JEdLVHJbBFGPrMybk74HwnGq32d2cMPLt5") | |
12 | + | let signedByAlice = if (sigVerify(tx.bodyBytes, tx.proofs[0], alicePubKey)) | |
13 | + | then 1 | |
14 | + | else 0 | |
15 | + | let signedByBob = if (sigVerify(tx.bodyBytes, tx.proofs[1], bobPubKey)) | |
16 | + | then 1 | |
17 | + | else 0 | |
18 | + | let signedByCooper = if (sigVerify(tx.bodyBytes, tx.proofs[2], cooperPubKey)) | |
19 | + | then 1 | |
20 | + | else 0 | |
21 | + | match tx { | |
22 | + | case s: SetScriptTransaction => | |
23 | + | sigVerify(tx.bodyBytes, tx.proofs[0], bobPubKey) | |
24 | + | case _ => | |
25 | + | (((signedByAlice + signedByBob) + signedByCooper) >= 2) | |
26 | + | } | |
27 | + | } | |
16 | 28 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | ||
5 | 5 | ||
6 | 6 | ||
7 | 7 | @Verifier(tx) | |
8 | - | func verify () = match tx { | |
9 | - | case s: SetScriptTransaction => | |
10 | - | true | |
11 | - | case d: DataTransaction => | |
12 | - | true | |
13 | - | case _ => | |
14 | - | false | |
15 | - | } | |
8 | + | func verify () = { | |
9 | + | let alicePubKey = toBytes("GpufgXcpZjqYzmuZr7j4n3oT1mSziuEoUvZFgAS4LMco") | |
10 | + | let bobPubKey = toBytes("9fDm3by1Q4ZmYGVFfun1jzFCeu13mYP7j26ST2tBRwVB") | |
11 | + | let cooperPubKey = toBytes("5rwiwcENa9JEdLVHJbBFGPrMybk74HwnGq32d2cMPLt5") | |
12 | + | let signedByAlice = if (sigVerify(tx.bodyBytes, tx.proofs[0], alicePubKey)) | |
13 | + | then 1 | |
14 | + | else 0 | |
15 | + | let signedByBob = if (sigVerify(tx.bodyBytes, tx.proofs[1], bobPubKey)) | |
16 | + | then 1 | |
17 | + | else 0 | |
18 | + | let signedByCooper = if (sigVerify(tx.bodyBytes, tx.proofs[2], cooperPubKey)) | |
19 | + | then 1 | |
20 | + | else 0 | |
21 | + | match tx { | |
22 | + | case s: SetScriptTransaction => | |
23 | + | sigVerify(tx.bodyBytes, tx.proofs[0], bobPubKey) | |
24 | + | case _ => | |
25 | + | (((signedByAlice + signedByBob) + signedByCooper) >= 2) | |
26 | + | } | |
27 | + | } | |
16 | 28 |
github/deemru/w8io/873ac7e 19.72 ms ◑![]()