tx · BH6e2CZ6dTqyeUQb1xBRUDnuQpGaP3xgW4ZoS2MtdNae 3N9Sgptqbbc9whta6iLeeQENfHd833G9hQE: -1.00400000 Waves 2019.10.10 08:57 [713355] smart account 3N9Sgptqbbc9whta6iLeeQENfHd833G9hQE > SELF 0.00000000 Waves
{ "type": 13, "id": "BH6e2CZ6dTqyeUQb1xBRUDnuQpGaP3xgW4ZoS2MtdNae", "fee": 100400000, "feeAssetId": null, "timestamp": 1570686988284, "version": 1, "sender": "3N9Sgptqbbc9whta6iLeeQENfHd833G9hQE", "senderPublicKey": "5gUuv1jjtePpX8rffb1RvQ6FvX2oJ2rNshfF9Dt2NUES", "proofs": [ "4RRnL5dVaqxEXbn5wgDYahAtnC7KaxKoeNwVT5r8wZrocRbc9cNj9j5k7SVcUqMbuh9WXtcizuz7sXprL2CC3tbF" ], "script": "base64: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", "chainId": 84, "height": 713355, "spentComplexity": 0 } View: original | compacted Prev: HRAZQmGfwhCSmm61hETZE24ktakhLR3QYSmJdNsaAQ8h Next: YVupkp8AGXWEbixdMbb53BaQfUAUiATcPE6MdLcthmc Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 2 #-} | |
2 | 2 | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | - | let ownerPublicKey = base58'5gUuv1jjtePpX8rffb1RvQ6FvX2oJ2rNshfF9Dt2NUES' | |
4 | - | let operator1PublicKey = base58'5rwiwcENa9JEdLVHJbBFGPrMybk74HwnGq32d2cMPLt5' | |
3 | + | let ownerPublicKey1 = base58'5gUuv1jjtePpX8rffb1RvQ6FvX2oJ2rNshfF9Dt2NUES' | |
4 | + | let ownerPublicKey2 = base58'5gUuv1jjtePpX8rffb1RvQ6FvX2oJ2rNshfF9Dt2NUES' | |
5 | + | let ownerPublicKey3 = base58'5gUuv1jjtePpX8rffb1RvQ6FvX2oJ2rNshfF9Dt2NUES' | |
6 | + | let operator1PublicKey = base58'5gUuv1jjtePpX8rffb1RvQ6FvX2oJ2rNshfF9Dt2NUES' | |
7 | + | let operator2PublicKey = base58'5gUuv1jjtePpX8rffb1RvQ6FvX2oJ2rNshfF9Dt2NUES' | |
5 | 8 | match tx { | |
6 | 9 | case d: DataTransaction => | |
7 | - | let signedByOwner = sigVerify(tx.bodyBytes, tx.proofs[0], ownerPublicKey) | |
8 | - | let signedByOperator = sigVerify(tx.bodyBytes, tx.proofs[0], operator1PublicKey) | |
9 | - | extract(if (signedByOwner) | |
10 | + | let signedByOwner = if (if (sigVerify(tx.bodyBytes, tx.proofs[0], ownerPublicKey1)) | |
10 | 11 | then true | |
11 | - | else signedByOperator) | |
12 | + | else sigVerify(tx.bodyBytes, tx.proofs[0], ownerPublicKey2)) | |
13 | + | then true | |
14 | + | else sigVerify(tx.bodyBytes, tx.proofs[0], ownerPublicKey3) | |
15 | + | let signedByOperator1 = sigVerify(tx.bodyBytes, tx.proofs[0], operator1PublicKey) | |
16 | + | let signedByOperator2 = sigVerify(tx.bodyBytes, tx.proofs[0], operator2PublicKey) | |
17 | + | extract(if (if (signedByOwner) | |
18 | + | then true | |
19 | + | else signedByOperator1) | |
20 | + | then true | |
21 | + | else signedByOperator2) | |
22 | + | case s: ReissueTransaction|SetAssetScriptTransaction|SetScriptTransaction => | |
23 | + | let signedByOwner1 = if (sigVerify(tx.bodyBytes, tx.proofs[0], ownerPublicKey1)) | |
24 | + | then 1 | |
25 | + | else 0 | |
26 | + | let signedByOwner2 = if (sigVerify(tx.bodyBytes, tx.proofs[1], ownerPublicKey2)) | |
27 | + | then 1 | |
28 | + | else 0 | |
29 | + | let signedByOwner3 = if (sigVerify(tx.bodyBytes, tx.proofs[2], ownerPublicKey3)) | |
30 | + | then 1 | |
31 | + | else 0 | |
32 | + | (((signedByOwner1 + signedByOwner2) + signedByOwner3) >= 2) | |
12 | 33 | case _ => | |
13 | - | sigVerify(tx.bodyBytes, tx.proofs[0], | |
34 | + | sigVerify(tx.bodyBytes, tx.proofs[0], ownerPublicKey1) | |
14 | 35 | } |
github/deemru/w8io/026f985 36.27 ms ◑