2019.12.18 18:52 [1844868] smart account 3PBwWprLAtABfEzVRr7EJSPHTCfKvMiyaoR > SELF 0.00000000 Waves
{ "type": 13, "id": "CUugUeyimv4yXARuuBW66rkzJ9q2dnSrtBTrFUvA5YpU", "fee": 1000000, "feeAssetId": null, "timestamp": 1576684327140, "version": 1, "sender": "3PBwWprLAtABfEzVRr7EJSPHTCfKvMiyaoR", "senderPublicKey": "2uUzTcRdK1Qfd86cLU7RRMMtpMf1CFFvpaNsoeB2WDwS", "proofs": [ "623q7agCFX4b43Dfkx7o8s6YoNfb5XT7qyPgTYiNctmuiBGjJSvxKYSs5bqBdfKQPAr1muWrsbhrqLZoAH87Syuu" ], "script": "base64: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", "chainId": 87, "height": 1844868, "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 | + | @Callable(i) | |
13 | + | func f (h) = if ((height == h)) | |
14 | + | then { | |
15 | + | let msg0 = getBinaryValue(keeper, "msg_0") | |
16 | + | let sig0 = getBinaryValue(keeper, "sig_0") | |
17 | + | let add0 = addressFromPublicKey(take(msg0, 32)) | |
18 | + | let msg1 = getBinaryValue(keeper, "msg_1") | |
19 | + | let sig1 = getBinaryValue(keeper, "sig_1") | |
20 | + | let add1 = addressFromPublicKey(take(msg1, 32)) | |
21 | + | let msg2 = getBinaryValue(keeper, "msg_2") | |
22 | + | let sig2 = getBinaryValue(keeper, "sig_2") | |
23 | + | let add2 = addressFromPublicKey(take(msg2, 32)) | |
24 | + | let msg3 = getBinaryValue(keeper, "msg_3") | |
25 | + | let sig3 = getBinaryValue(keeper, "sig_3") | |
26 | + | let add3 = addressFromPublicKey(take(msg3, 32)) | |
27 | + | let msg4 = getBinaryValue(keeper, "msg_4") | |
28 | + | let sig4 = getBinaryValue(keeper, "sig_4") | |
29 | + | let add4 = addressFromPublicKey(take(msg4, 32)) | |
30 | + | let add5 = addressFromPublicKey(take(drop(msg4, 32), 32)) | |
31 | + | let add6 = addressFromPublicKey(take(drop(drop(msg4, 32), 32), 32)) | |
32 | + | let add7 = addressFromPublicKey(take(drop(drop(drop(msg4, 32), 32), 32), 32)) | |
33 | + | let add8 = addressFromPublicKey(take(drop(drop(drop(drop(msg4, 32), 32), 32), 32), 32)) | |
34 | + | let add9 = addressFromPublicKey(take(drop(drop(drop(drop(drop(msg4, 32), 32), 32), 32), 32), 32)) | |
35 | + | let valid = if (if (if (rsaVerify(SHA512, msg0, sig0, pub)) | |
36 | + | then rsaVerify(SHA512, msg1, sig1, pub) | |
37 | + | else false) | |
38 | + | then rsaVerify(SHA512, msg2, sig2, pub) | |
39 | + | else false) | |
40 | + | then rsaVerify(SHA512, msg3, sig3, pub) | |
41 | + | else false | |
42 | + | if (if ((height == h)) | |
43 | + | then !(valid) | |
44 | + | else false) | |
45 | + | then throw("F") | |
46 | + | else if (isDefined(getInteger(this, toString(h)))) | |
47 | + | then throw("F") | |
48 | + | else ScriptResult(WriteSet([DataEntry(toString(h), h)]), TransferSet([ScriptTransfer(add0, 1, assetId), ScriptTransfer(add1, 1, assetId), ScriptTransfer(add2, 1, assetId), ScriptTransfer(add3, 1, assetId), ScriptTransfer(add4, 1, assetId), ScriptTransfer(add5, 1, assetId), ScriptTransfer(add6, 1, assetId), ScriptTransfer(add7, 1, assetId), ScriptTransfer(add8, 1, assetId), ScriptTransfer(add9, 1, assetId)])) | |
49 | + | } | |
50 | + | else { | |
51 | + | let msg0 = getBinaryValue(keeper, "msg_0") | |
52 | + | let sig0 = getBinaryValue(keeper, "sig_0") | |
53 | + | let add0 = addressFromPublicKey(take(msg0, 32)) | |
54 | + | let msg1 = getBinaryValue(keeper, "msg_1") | |
55 | + | let sig1 = getBinaryValue(keeper, "sig_1") | |
56 | + | let add1 = addressFromPublicKey(take(msg1, 32)) | |
57 | + | let msg2 = getBinaryValue(keeper, "msg_2") | |
58 | + | let sig2 = getBinaryValue(keeper, "sig_2") | |
59 | + | let add2 = addressFromPublicKey(take(msg2, 32)) | |
60 | + | let msg3 = getBinaryValue(keeper, "msg_3") | |
61 | + | let sig3 = getBinaryValue(keeper, "sig_3") | |
62 | + | let add3 = addressFromPublicKey(take(msg3, 32)) | |
63 | + | let msg4 = getBinaryValue(keeper, "msg_4") | |
64 | + | let sig4 = getBinaryValue(keeper, "sig_4") | |
65 | + | let add4 = addressFromPublicKey(take(msg4, 32)) | |
66 | + | let add5 = addressFromPublicKey(take(drop(msg4, 32), 32)) | |
67 | + | let add6 = addressFromPublicKey(take(drop(drop(msg4, 32), 32), 32)) | |
68 | + | let add7 = addressFromPublicKey(take(drop(drop(drop(msg4, 32), 32), 32), 32)) | |
69 | + | let add8 = addressFromPublicKey(take(drop(drop(drop(drop(msg4, 32), 32), 32), 32), 32)) | |
70 | + | let add9 = addressFromPublicKey(take(drop(drop(drop(drop(drop(msg4, 32), 32), 32), 32), 32), 32)) | |
71 | + | let valid = if (if (if (rsaVerify(SHA512, msg0, sig0, pub)) | |
72 | + | then rsaVerify(SHA512, msg1, sig1, pub) | |
73 | + | else false) | |
74 | + | then rsaVerify(SHA512, msg2, sig2, pub) | |
75 | + | else false) | |
76 | + | then rsaVerify(SHA512, msg3, sig3, pub) | |
77 | + | else false | |
78 | + | if (valid) | |
79 | + | then throw("F") | |
80 | + | else TransferSet([ScriptTransfer(add0, 1, assetId), ScriptTransfer(add1, 1, assetId), ScriptTransfer(add2, 1, assetId), ScriptTransfer(add3, 1, assetId), ScriptTransfer(add4, 1, assetId), ScriptTransfer(add5, 1, assetId), ScriptTransfer(add6, 1, assetId), ScriptTransfer(add7, 1, assetId), ScriptTransfer(add8, 1, assetId), ScriptTransfer(add9, 1, assetId)]) | |
81 | + | } | |
82 | + | ||
83 | + |
github/deemru/w8io/786bc32 30.58 ms ◑