tx · 7nYMo8T3Mhh6KKBU7Er8eNhhmrECeJk2ZaRQu4S9NHuH 3PQ3iCEmJ5hadDsU3tCc16ucZymLREgD5uY: -0.01000000 Waves 2019.12.18 18:45 [1844861] smart account 3PQ3iCEmJ5hadDsU3tCc16ucZymLREgD5uY > SELF 0.00000000 Waves
{ "type": 13, "id": "7nYMo8T3Mhh6KKBU7Er8eNhhmrECeJk2ZaRQu4S9NHuH", "fee": 1000000, "feeAssetId": null, "timestamp": 1576683967737, "version": 1, "sender": "3PQ3iCEmJ5hadDsU3tCc16ucZymLREgD5uY", "senderPublicKey": "BPRoVg1Ux7582PNjyw3k8vubBgWnzNrw6vgXWkWSdLEk", "proofs": [ "398nRYcMfDFT8e3paEYkyqmHab99z1ABdYu95F7fYwb4zpNyJFigwgsR81QFu7yyA8JbpTBSSLvrXyvD6S7C1VJB" ], "script": "base64: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", "chainId": 87, "height": 1844861, "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 3 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let RSA = addressFromStringValue("3PNAtqNLxH4S3yqogn4uY7s6biFTqBAXnZc") | |
5 | + | ||
6 | + | let keeper = RSA | |
7 | + | ||
8 | + | let assetId = fromBase58String("6nyZC6MU9pjoSGGGjsfxfCChPjYSRjVG1MUrcHc2pisW") | |
9 | + | ||
10 | + | let pub = getBinaryValue(keeper, "pub") | |
11 | + | ||
12 | + | ||
13 | + | @Verifier(tx) | |
14 | + | func verify () = { | |
15 | + | let msg0 = getBinaryValue(keeper, "msg_0") | |
16 | + | let msg1 = getBinaryValue(keeper, "msg_1") | |
17 | + | let sig1 = getBinaryValue(keeper, "sig_1") | |
18 | + | let msg2 = getBinaryValue(keeper, "msg_2") | |
19 | + | let sig2 = getBinaryValue(keeper, "sig_2") | |
20 | + | let msg3 = getBinaryValue(keeper, "msg_3") | |
21 | + | let sig3 = getBinaryValue(keeper, "sig_3") | |
22 | + | let msg4 = getBinaryValue(keeper, "msg_4") | |
23 | + | let sig4 = getBinaryValue(keeper, "sig_4") | |
24 | + | let msg5 = getBinaryValue(keeper, "msg_5") | |
25 | + | let sig5 = getBinaryValue(keeper, "sig_5") | |
26 | + | let msg6 = getBinaryValue(keeper, "msg_6") | |
27 | + | let sig6 = getBinaryValue(keeper, "sig_6") | |
28 | + | let sig0 = (((tx.proofs[0] + tx.proofs[1]) + tx.proofs[2]) + tx.proofs[3]) | |
29 | + | let valid = if (if (if (if (if (rsaVerify(SHA512, msg0, sig0, pub)) | |
30 | + | then rsaVerify(SHA512, msg1, sig1, pub) | |
31 | + | else false) | |
32 | + | then rsaVerify(SHA512, msg2, sig2, pub) | |
33 | + | else false) | |
34 | + | then rsaVerify(SHA512, msg3, sig3, pub) | |
35 | + | else false) | |
36 | + | then rsaVerify(SHA512, msg4, sig4, pub) | |
37 | + | else false) | |
38 | + | then rsaVerify(SHA512, msg5, sig5, pub) | |
39 | + | else false | |
40 | + | let h = valueOrErrorMessage(toInt(tx.proofs[4]), "H Convert Error") | |
41 | + | if (if ((height == h)) | |
42 | + | then valid | |
43 | + | else false) | |
44 | + | then match tx { | |
45 | + | case invoke: InvokeScriptTransaction => | |
46 | + | true | |
47 | + | case data: TransferTransaction|MassTransferTransaction|DataTransaction => | |
48 | + | !(isDefined(getBoolean(this, toString(h)))) | |
49 | + | case _ => | |
50 | + | false | |
51 | + | } | |
52 | + | else throw("F") | |
53 | + | } | |
54 | + |
github/deemru/w8io/6500d08 23.35 ms ◑