tx · 85dt9cjSWM9QAwZYBqB5kuYjpccerL2gDXGDvpxNwbWT
3N1i8QSoM6oL6gxecKvXQ672yRiLt44HgXz: -0.01400000 Waves
2019.10.26 00:03 [736148] smart account 3N1i8QSoM6oL6gxecKvXQ672yRiLt44HgXz > SELF 0.00000000 Waves
{
"type": 13,
"id": "85dt9cjSWM9QAwZYBqB5kuYjpccerL2gDXGDvpxNwbWT",
"fee": 1400000,
"feeAssetId": null,
"timestamp": 1572037331134,
"version": 1,
"sender": "3N1i8QSoM6oL6gxecKvXQ672yRiLt44HgXz",
"senderPublicKey": "6vvHscsLo3kap5Q2GDgkBUKrk8ToJaoj2shtCDoo22uz",
"proofs": [
"2MUpsRuRN92NP25n3StAHvXYX6hGVkjqhiRRKc8J7L5rVZRhatU6u4yMzQzyVnejD1ficuVrS4E6HNZqTYcbRrmt",
"5nFa1eNws2Qa17jr5LjurtzcC8uTDFm3YY7jRXg8yqYTJDfR2Pf9SvW6pkkuStRJnd4mMMwPHnZYSddhPvS8cshm"
],
"script": "base64:AAIDAAAAAAAAAAIIAQAAAAIAAAAAB2FQdWJLZXkBAAAAIFHSEV4MkefHxJaKgGtXl22dYsMGlII5tk7DFLQI9rYwAAAAAAdiUHViS2V5AQAAACBYGnlGwEbaxqPkrYx4hqdTl/P/Ul1tLrXWD/qnLSNgbQAAAAAAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAAAJhMQkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAFAAAAB2FQdWJLZXkEAAAAAmEyCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAQUAAAAHYVB1YktleQQAAAACYjEJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAABQAAAAdiUHViS2V5BAAAAAJiMgkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAEFAAAAB2JQdWJLZXkEAAAABWFBbmRCAwMDAwUAAAACYTEFAAAAAmIxBwYDBQAAAAJhMQUAAAACYjIHBgMFAAAAAmEyBQAAAAJiMQcGAwUAAAACYTIFAAAAAmIyBwQAAAAHJG1hdGNoMAUAAAACdHgFAAAABWFBbmRCCZyrmA==",
"chainId": 84,
"height": 736148,
"spentComplexity": 0
}
View: original | compacted
Prev: 57KcHYQUuSmhM37dq5uDvRPRbQf3QCDGVVhwkzbBrxfR
Next: Bkp1LvPAzApusNiETzoGgDuUZDy4PShDeU8TbNfusDJd
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 3 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
| 4 | + | let aPubKey = base58'6WPou58ywAsW3bgC5yrCAPUbj7NbeogxH8cjJB6gRPDH' |
---|
4 | 5 | | |
---|
| 6 | + | let bPubKey = base58'6vvHscsLo3kap5Q2GDgkBUKrk8ToJaoj2shtCDoo22uz' |
---|
5 | 7 | | |
---|
6 | 8 | | |
---|
7 | 9 | | @Verifier(tx) |
---|
8 | | - | func verify () = match tx { |
---|
9 | | - | case d: SetScriptTransaction => |
---|
10 | | - | true |
---|
11 | | - | case d: DataTransaction => |
---|
12 | | - | true |
---|
13 | | - | case _ => |
---|
14 | | - | false |
---|
15 | | - | } |
---|
| 10 | + | func verify () = { |
---|
| 11 | + | let a1 = sigVerify(tx.bodyBytes, tx.proofs[0], aPubKey) |
---|
| 12 | + | let a2 = sigVerify(tx.bodyBytes, tx.proofs[1], aPubKey) |
---|
| 13 | + | let b1 = sigVerify(tx.bodyBytes, tx.proofs[0], bPubKey) |
---|
| 14 | + | let b2 = sigVerify(tx.bodyBytes, tx.proofs[1], bPubKey) |
---|
| 15 | + | let aAndB = if (if (if (if (a1) |
---|
| 16 | + | then b1 |
---|
| 17 | + | else false) |
---|
| 18 | + | then true |
---|
| 19 | + | else if (a1) |
---|
| 20 | + | then b2 |
---|
| 21 | + | else false) |
---|
| 22 | + | then true |
---|
| 23 | + | else if (a2) |
---|
| 24 | + | then b1 |
---|
| 25 | + | else false) |
---|
| 26 | + | then true |
---|
| 27 | + | else if (a2) |
---|
| 28 | + | then b2 |
---|
| 29 | + | else false |
---|
| 30 | + | match tx { |
---|
| 31 | + | case _ => |
---|
| 32 | + | aAndB |
---|
| 33 | + | } |
---|
| 34 | + | } |
---|
16 | 35 | | |
---|