tx · 4tKaDNATKDSrbFSRjQMRDV5TF4TwFVi6CoFmcssbgKS3 3PGaqLAaMsgFPsPKuff8FGpyK9keNSJJk31: -0.01000000 Waves 2019.12.19 11:38 [1845852] smart account 3PGaqLAaMsgFPsPKuff8FGpyK9keNSJJk31 > SELF 0.00000000 Waves
{ "type": 13, "id": "4tKaDNATKDSrbFSRjQMRDV5TF4TwFVi6CoFmcssbgKS3", "fee": 1000000, "feeAssetId": null, "timestamp": 1576744681854, "version": 1, "sender": "3PGaqLAaMsgFPsPKuff8FGpyK9keNSJJk31", "senderPublicKey": "2hK4aX3Him6X9DRHfmC26S7hh2YGR7fNnzncDD36zkpU", "proofs": [ "YXv4vsXq2ETi5GLzHmnaLr8PfxquTZcoPvCmL7jShaSB1PUDsEBLnxU5bpJr8U4CjXPrPmCVw4PeMghuSmdAYw9" ], "script": "base64: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", "chainId": 87, "height": 1845852, "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,r) = if (((h + 10) >= height)) | |
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 (((h + 10) >= height)) | |
43 | + | then !(valid) | |
44 | + | else false) | |
45 | + | then throw("F") | |
46 | + | else if (isDefined(getInteger(this, toString(r)))) | |
47 | + | then throw("F") | |
48 | + | else ScriptResult(WriteSet([DataEntry(toString(r), r)]), 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/6500d08 188.73 ms ◑