tx · qUX1MWqLjAGRggQjEJTbxTZ6dHQZa9yFEmKex38K8sE 3PR9a3Tykk4MJvn6fxjqTkEU6nwL43qKRVw: -0.01000000 Waves 2019.12.19 15:57 [1846122] smart account 3PR9a3Tykk4MJvn6fxjqTkEU6nwL43qKRVw > SELF 0.00000000 Waves
{ "type": 13, "id": "qUX1MWqLjAGRggQjEJTbxTZ6dHQZa9yFEmKex38K8sE", "fee": 1000000, "feeAssetId": null, "timestamp": 1576760355824, "version": 1, "sender": "3PR9a3Tykk4MJvn6fxjqTkEU6nwL43qKRVw", "senderPublicKey": "2dPbt4CaBwDRteZaPU18CPdH1p2EDJaaM3ZCnRbFQT6K", "proofs": [ "4SvCmfVcfBZqfDLqee8b393CLUuWtqMpbumGyeQYXJkX7yr5nGsT6wBrvPjwkY21ymDSWDuevzTFN7wix2efNAWb" ], "script": "base64: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", "chainId": 87, "height": 1846122, "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("1zvXjzsu5vHivZiaFCcGND8hKVoYSytKNMja4LKzw5C") | |
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 (valid) | |
42 | + | then match tx { | |
43 | + | case invoke: InvokeScriptTransaction => | |
44 | + | ((h + 7) >= height) | |
45 | + | case data: TransferTransaction|MassTransferTransaction => | |
46 | + | if (((h + 7) >= height)) | |
47 | + | then !(isDefined(getBoolean(this, toString(h)))) | |
48 | + | else false | |
49 | + | case _ => | |
50 | + | false | |
51 | + | } | |
52 | + | else throw("F") | |
53 | + | } | |
54 | + |
github/deemru/w8io/0e76f2f 29.45 ms ◑