tx · J3VVeQUY32hbzVVjFd3G8U6Vu17PXd62cFcQYvCxcqxw
3N9Sgptqbbc9whta6iLeeQENfHd833G9hQE: -1.00400000 Waves
2019.10.10 12:46 [713583] smart account 3N9Sgptqbbc9whta6iLeeQENfHd833G9hQE > SELF 0.00000000 Waves
{
"type": 13,
"id": "J3VVeQUY32hbzVVjFd3G8U6Vu17PXd62cFcQYvCxcqxw",
"fee": 100400000,
"feeAssetId": null,
"timestamp": 1570700730052,
"version": 1,
"sender": "3N9Sgptqbbc9whta6iLeeQENfHd833G9hQE",
"senderPublicKey": "5gUuv1jjtePpX8rffb1RvQ6FvX2oJ2rNshfF9Dt2NUES",
"proofs": [
"3sCpqihv9SLpDLAmNAtiFn3UpZboMWz3b3j4t1siE9BRfRM7DEUU92a5oiBBDHZtw5YcJ7ViYM8vwvgpPvqFUU7E"
],
"script": "base64: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",
"chainId": 84,
"height": 713583,
"spentComplexity": 0
}
View: original | compacted
Prev: 9bKq6ZSGCYntPz9fCwPN1CUxyML4RQC5QieVzxcSKKZ1
Next: none
Diff:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 2 #-} |
---|
2 | 2 | | {-# CONTENT_TYPE EXPRESSION #-} |
---|
3 | 3 | | let ownerPublicKey1 = base58'5gUuv1jjtePpX8rffb1RvQ6FvX2oJ2rNshfF9Dt2NUES' |
---|
4 | | - | let ownerPublicKey2 = base58'5gUuv1jjtePpX8rffb1RvQ6FvX2oJ2rNshfF9Dt2NUES' |
---|
5 | | - | let ownerPublicKey3 = base58'5gUuv1jjtePpX8rffb1RvQ6FvX2oJ2rNshfF9Dt2NUES' |
---|
| 4 | + | let ownerPublicKey2 = base58'5rwiwcENa9JEdLVHJbBFGPrMybk74HwnGq32d2cMPLt5' |
---|
| 5 | + | let ownerPublicKey3 = base58'BK7XYNYsDpzNvWU8bwTAZWVThcE4waonLuw4QGxPozA4' |
---|
6 | 6 | | let operator1PublicKey = base58'5gUuv1jjtePpX8rffb1RvQ6FvX2oJ2rNshfF9Dt2NUES' |
---|
7 | 7 | | let operator2PublicKey = base58'5gUuv1jjtePpX8rffb1RvQ6FvX2oJ2rNshfF9Dt2NUES' |
---|
8 | 8 | | match tx { |
---|
|
19 | 19 | | else signedByOperator1) |
---|
20 | 20 | | then true |
---|
21 | 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) |
---|
22 | 33 | | case _ => |
---|
23 | 34 | | sigVerify(tx.bodyBytes, tx.proofs[0], ownerPublicKey1) |
---|
24 | 35 | | } |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 2 #-} |
---|
2 | 2 | | {-# CONTENT_TYPE EXPRESSION #-} |
---|
3 | 3 | | let ownerPublicKey1 = base58'5gUuv1jjtePpX8rffb1RvQ6FvX2oJ2rNshfF9Dt2NUES' |
---|
4 | | - | let ownerPublicKey2 = base58'5gUuv1jjtePpX8rffb1RvQ6FvX2oJ2rNshfF9Dt2NUES' |
---|
5 | | - | let ownerPublicKey3 = base58'5gUuv1jjtePpX8rffb1RvQ6FvX2oJ2rNshfF9Dt2NUES' |
---|
| 4 | + | let ownerPublicKey2 = base58'5rwiwcENa9JEdLVHJbBFGPrMybk74HwnGq32d2cMPLt5' |
---|
| 5 | + | let ownerPublicKey3 = base58'BK7XYNYsDpzNvWU8bwTAZWVThcE4waonLuw4QGxPozA4' |
---|
6 | 6 | | let operator1PublicKey = base58'5gUuv1jjtePpX8rffb1RvQ6FvX2oJ2rNshfF9Dt2NUES' |
---|
7 | 7 | | let operator2PublicKey = base58'5gUuv1jjtePpX8rffb1RvQ6FvX2oJ2rNshfF9Dt2NUES' |
---|
8 | 8 | | match tx { |
---|
9 | 9 | | case d: DataTransaction => |
---|
10 | 10 | | let signedByOwner = if (if (sigVerify(tx.bodyBytes, tx.proofs[0], ownerPublicKey1)) |
---|
11 | 11 | | then true |
---|
12 | 12 | | else sigVerify(tx.bodyBytes, tx.proofs[0], ownerPublicKey2)) |
---|
13 | 13 | | then true |
---|
14 | 14 | | else sigVerify(tx.bodyBytes, tx.proofs[0], ownerPublicKey3) |
---|
15 | 15 | | let signedByOperator1 = sigVerify(tx.bodyBytes, tx.proofs[0], operator1PublicKey) |
---|
16 | 16 | | let signedByOperator2 = sigVerify(tx.bodyBytes, tx.proofs[0], operator2PublicKey) |
---|
17 | 17 | | extract(if (if (signedByOwner) |
---|
18 | 18 | | then true |
---|
19 | 19 | | else signedByOperator1) |
---|
20 | 20 | | then true |
---|
21 | 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) |
---|
22 | 33 | | case _ => |
---|
23 | 34 | | sigVerify(tx.bodyBytes, tx.proofs[0], ownerPublicKey1) |
---|
24 | 35 | | } |
---|