tx · H9CZh7sZZCH7CfCynzMjSacibtNx8NnZfVuS6QeiSZ74

3MrHArnt1DPnvRuoJQ9pRfWyXiKnBaMMmdj:  -0.01400000 Waves

2020.11.17 16:36 [1269433] smart account 3MrHArnt1DPnvRuoJQ9pRfWyXiKnBaMMmdj > SELF 0.00000000 Waves

{ "type": 13, "id": "H9CZh7sZZCH7CfCynzMjSacibtNx8NnZfVuS6QeiSZ74", "fee": 1400000, "feeAssetId": null, "timestamp": 1605620206289, "version": 2, "chainId": 84, "sender": "3MrHArnt1DPnvRuoJQ9pRfWyXiKnBaMMmdj", "senderPublicKey": "CjTszkpvzupCPnyoKjtzECtLhfCMVDYM2pNBW5uExjJC", "proofs": [ "43rww4pFrQFaThoAHxEqhLMf1KgdWmgXzr9U7ujMP1wQonXCJmH1mWsrGQwiJzcT1LmZNZ55xANkYXWxHJQWZagQ" ], "script": "base64:AAIEAAAAAAAAAAIIAgAAAAQAAAAACnB1YmxpY0tleTEBAAAAIFK8JrbPmOL34iZZxNT68MW+bNSvmjlQlFmiP5PcNIs2AAAAAApwdWJsaWNLZXkyAQAAACCuUVe2EyAHJvYDpAze/USeMxHCJfyW6eD8Oc4qt/6yNQAAAAAKcHVibGljS2V5MwEAAAAgCpzkTgE8fpyNgcj23xt77G9mRAopleGhX5ldxdZy1TkBAAAAEW11bHRpcGxlU2lnVmVyaWZ5AAAABQAAAAlib2R5Qnl0ZXMAAAAGcHJvb2YxAAAABnByb29mMgAAAAZwcm9vZjMAAAAJcHVibGljS2V5BAAAAAJwMQkAAfQAAAADBQAAAAlib2R5Qnl0ZXMFAAAABnByb29mMQUAAAAJcHVibGljS2V5BAAAAAJwMgkAAfQAAAADBQAAAAlib2R5Qnl0ZXMFAAAABnByb29mMgUAAAAJcHVibGljS2V5BAAAAAJwMwkAAfQAAAADBQAAAAlib2R5Qnl0ZXMFAAAABnByb29mMwUAAAAJcHVibGljS2V5AwMFAAAAAnAxBgUAAAACcDIGBQAAAAJwMwAAAAAAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAAAdwdWJsaWMxCQEAAAARbXVsdGlwbGVTaWdWZXJpZnkAAAAFCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAQkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAACBQAAAApwdWJsaWNLZXkxBAAAAAdwdWJsaWMyCQEAAAARbXVsdGlwbGVTaWdWZXJpZnkAAAAFCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAQkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAACBQAAAApwdWJsaWNLZXkyBAAAAAdwdWJsaWMzCQEAAAARbXVsdGlwbGVTaWdWZXJpZnkAAAAFCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAQkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAACBQAAAApwdWJsaWNLZXkzBAAAAAZyZXN1bHQDAwMFAAAAB3B1YmxpYzEFAAAAB3B1YmxpYzIHBgMFAAAAB3B1YmxpYzIFAAAAB3B1YmxpYzMHBgMFAAAAB3B1YmxpYzMFAAAAB3B1YmxpYzEHBAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAUU2V0U2NyaXB0VHJhbnNhY3Rpb24EAAAAAWQFAAAAByRtYXRjaDAGBQAAAAZyZXN1bHQUZp0A", "height": 1269433, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4QaT6bwFqXNJaiE3QTaqeJ49WsAgocRJhiQKiataKzmA Next: FZXsfSf2FhWEmQJLsobbBzUC84wJnxorXoa3bsuy4377 Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let account1PublicKey = base58'6ZxqKboj5ZWzPtPwWS9TUr1W2qCmBK7558drHCa9tWKw'
4+let publicKey1 = base58'6ZxqKboj5ZWzPtPwWS9TUr1W2qCmBK7558drHCa9tWKw'
55
6-let account2PublicKey = base58'CjTszkpvzupCPnyoKjtzECtLhfCMVDYM2pNBW5uExjJC'
6+let publicKey2 = base58'CjTszkpvzupCPnyoKjtzECtLhfCMVDYM2pNBW5uExjJC'
77
8-let otherPublicKey = base58'iRqJrgq4rS2ndNGFJoZtKcoTfskkxr3zfTesPWqtKzp'
8+let publicKey3 = base58'iRqJrgq4rS2ndNGFJoZtKcoTfskkxr3zfTesPWqtKzp'
9+
10+func multipleSigVerify (bodyBytes,proof1,proof2,proof3,publicKey) = {
11+ let p1 = sigVerify(bodyBytes, proof1, publicKey)
12+ let p2 = sigVerify(bodyBytes, proof2, publicKey)
13+ let p3 = sigVerify(bodyBytes, proof3, publicKey)
14+ if (if (p1)
15+ then true
16+ else p2)
17+ then true
18+ else p3
19+ }
20+
921
1022
1123 @Verifier(tx)
1224 func verify () = {
13- let account1 = if (if (sigVerify(tx.bodyBytes, tx.proofs[0], account1PublicKey))
25+ let public1 = multipleSigVerify(tx.bodyBytes, tx.proofs[0], tx.proofs[1], tx.proofs[2], publicKey1)
26+ let public2 = multipleSigVerify(tx.bodyBytes, tx.proofs[0], tx.proofs[1], tx.proofs[2], publicKey2)
27+ let public3 = multipleSigVerify(tx.bodyBytes, tx.proofs[0], tx.proofs[1], tx.proofs[2], publicKey3)
28+ let result = if (if (if (public1)
29+ then public2
30+ else false)
1431 then true
15- else sigVerify(tx.bodyBytes, tx.proofs[1], account1PublicKey))
32+ else if (public2)
33+ then public3
34+ else false)
1635 then true
17- else sigVerify(tx.bodyBytes, tx.proofs[2], account1PublicKey)
18- let account2 = if (if (sigVerify(tx.bodyBytes, tx.proofs[0], account2PublicKey))
19- then true
20- else sigVerify(tx.bodyBytes, tx.proofs[1], account2PublicKey))
21- then true
22- else sigVerify(tx.bodyBytes, tx.proofs[2], account2PublicKey)
23- let other = if (if (sigVerify(tx.bodyBytes, tx.proofs[0], otherPublicKey))
24- then true
25- else sigVerify(tx.bodyBytes, tx.proofs[1], otherPublicKey))
26- then true
27- else sigVerify(tx.bodyBytes, tx.proofs[2], otherPublicKey)
28- let account1account2 = if (account1)
29- then account2
30- else false
31- let account1other = if (account1)
32- then other
33- else false
34- let account2other = if (other)
35- then account2
36- else false
36+ else if (public3)
37+ then public1
38+ else false
3739 match tx {
3840 case d: SetScriptTransaction =>
3941 true
40- case d: DataTransaction =>
41- true
4242 case _ =>
43- if (if (account1account2)
44- then true
45- else account1other)
46- then true
47- else account2other
43+ result
4844 }
4945 }
5046

github/deemru/w8io/169f3d6 
42.37 ms