tx · Cnqw6KL1q2gTmfzZ1cTUiLFwgM8dmRsr5sMpVNTniWkb 3P9VnVkjeHhLEJED6v6Zd4F7PkxH63hR6fh: -0.00200000 Waves 2024.01.02 15:53 [3979717] smart account 3P9VnVkjeHhLEJED6v6Zd4F7PkxH63hR6fh > SELF 0.00000000 Waves
{ "type": 13, "id": "Cnqw6KL1q2gTmfzZ1cTUiLFwgM8dmRsr5sMpVNTniWkb", "fee": 200000, "feeAssetId": null, "timestamp": 1704200078211, "version": 1, "sender": "3P9VnVkjeHhLEJED6v6Zd4F7PkxH63hR6fh", "senderPublicKey": "6MoqiQJLEqs3v8Wg2rahJvaKrJcwoCf2Y8r7QLUBcjcs", "proofs": [ "5pn99k3B6ZReM5G726HNBav2cTDbpFLqadLzLQcRksDHhsLk1YoCViBwAh13eKMLN8iSq9nm79rbthMk52MWdyE8" ], "script": "base64:BgIECAISAAcABWR1Y2tzCQDMCAICLEJ6cmE4Y1BIekVZa2JrMzdGM1RYVEtreEZwNVJSYUduaTRjUFlOY0pYc1FnCQDMCAICLEVqYkV4VDU2elc3WllHamZhcEFyVGNhZ3lqWE1xdnFDQ2NIZjQxZXdpOE1DCQDMCAICLEU4TnNkUGtuOVR3QjRUcFRqMkdLdTczdzFDb0NLQ3Y1dnZoZFV2WnlSd3p4CQDMCAICLEZIY29pazFKWnlVaXdDRnZrN1MxVkd2QXNDRk5MdEpLM0pqQU43blZNRmd3BQNuaWwACmVnZ0Fzc2V0SWQBIKOff08jclHRLOIhkmKITQwL8+oiboHVr/wLkxfObbHJAANyZWYJAKcIAQEg/jMoOTM2CIYC7UpKwHhMKVQRX1MFmZy8VSCrKNbAOQABBWNsYWltAQRkdWNrBARkQXBwAiMzUEFFVFR0dVc3YVNpeUt0bjlHdU1MM1JndFYxeGRxMW1RVwkA/AcECQEHQWRkcmVzcwEJANkEAQUEZEFwcAILY2xhaW1SZXdhcmQJAMwIAgUEZHVjawUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQR1bml0AMCEPQUDbmlsAQVjaGVjawEDcGJrBAZwYmtfc3QJANgEAQUDcGJrBAZwb2ludHMJARFAZXh0ck5hdGl2ZSgxMDU4KQECBnBvaW50cwkBCGNvbnRhaW5zAgUGcG9pbnRzBQZwYmtfc3QBCWl0ZXJDbGFpbQIDYWNjBGR1Y2sEA3JlegkBBWNsYWltAQUEZHVjawQHJG1hdGNoMAUDcmV6AwkAAQIFByRtYXRjaDACDlNjcmlwdFRyYW5zZmVyBAF0BQckbWF0Y2gwCQDOCAIFA2FjYwkAzAgCBQNyZXoFA25pbAUDYWNjAQpnZXRCYWxhbmNlAQdhc3NldElkBAckbWF0Y2gwBQdhc3NldElkAwkAAQIFByRtYXRjaDACBFVuaXQEAXgFByRtYXRjaDAICQDvBwEFBHRoaXMJYXZhaWxhYmxlCQDwBwIFBHRoaXMJAQV2YWx1ZQEFB2Fzc2V0SWQBAWkBC0V4dHJhY3RFR0dTAAMJAQVjaGVjawEIBQFpD2NhbGxlclB1YmxpY0tleQQHYmFsYW5jZQkBCmdldEJhbGFuY2UBBQplZ2dBc3NldElkCQDOCAIKAAIkbAUFZHVja3MKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBCWl0ZXJDbGFpbQIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgNAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAECQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFA3JlZgUHYmFsYW5jZQUKZWdnQXNzZXRJZAUDbmlsCQACAQIgUHJpdmF0ZSBGYXJtLiBBY2Nlc3MgcHJvaGliaXRlZCEBAnR4AQZ2ZXJpZnkACQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V5ni6X7Q==", "chainId": 87, "height": 3979717, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 6 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let ducks = ["Bzra8cPHzEYkbk37F3TXTKkxFp5RRaGni4cPYNcJXsQg", "EjbExT56zW7ZYGjfapArTcagyjXMqvqCCcHf41ewi8MC", "E8NsdPkn9TwB4TpTj2GKu73w1CoCKCv5vvhdUvZyRwzx", "FHcoik1JZyUiwCFvk7S1VGvAsCFNLtJK3JjAN7nVMFgw"] | |
5 | + | ||
6 | + | let eggAssetId = base58'C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS' | |
7 | + | ||
8 | + | let ref = addressFromPublicKey(base58'J7HoLLExGYaDAzvcuELhjosVcLXBTfCwrYgpPB9VwSDM') | |
9 | + | ||
10 | + | func claim (duck) = { | |
11 | + | let dApp = "3PAETTtuW7aSiyKtn9GuML3RgtV1xdq1mQW" | |
12 | + | invoke(Address(fromBase58String(dApp)), "claimReward", [duck], [AttachedPayment(unit, 1000000)]) | |
13 | + | } | |
14 | + | ||
15 | + | ||
16 | + | func check (pbk) = { | |
17 | + | let pbk_st = toBase58String(pbk) | |
18 | + | let points = getStringValue("points") | |
19 | + | contains(points, pbk_st) | |
20 | + | } | |
21 | + | ||
22 | + | ||
23 | + | func iterClaim (acc,duck) = { | |
24 | + | let rez = claim(duck) | |
25 | + | match rez { | |
26 | + | case t: ScriptTransfer => | |
27 | + | (acc ++ [rez]) | |
28 | + | case _ => | |
29 | + | acc | |
30 | + | } | |
31 | + | } | |
32 | + | ||
33 | + | ||
34 | + | func getBalance (assetId) = match assetId { | |
35 | + | case x: Unit => | |
36 | + | wavesBalance(this).available | |
37 | + | case _ => | |
38 | + | assetBalance(this, value(assetId)) | |
39 | + | } | |
40 | + | ||
41 | + | ||
42 | + | @Callable(i) | |
43 | + | func ExtractEGGS () = if (check(i.callerPublicKey)) | |
44 | + | then { | |
45 | + | let balance = getBalance(eggAssetId) | |
46 | + | ({ | |
47 | + | let $l = ducks | |
48 | + | let $s = size($l) | |
49 | + | let $acc0 = nil | |
50 | + | func $f0_1 ($a,$i) = if (($i >= $s)) | |
51 | + | then $a | |
52 | + | else iterClaim($a, $l[$i]) | |
53 | + | ||
54 | + | func $f0_2 ($a,$i) = if (($i >= $s)) | |
55 | + | then $a | |
56 | + | else throw("List size exceeds 4") | |
57 | + | ||
58 | + | $f0_2($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4) | |
59 | + | } ++ [ScriptTransfer(ref, balance, eggAssetId)]) | |
60 | + | } | |
61 | + | else throw("Private Farm. Access prohibited!") | |
62 | + | ||
63 | + | ||
64 | + | @Verifier(tx) | |
65 | + | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
66 | + |
github/deemru/w8io/3ef1775 13.88 ms ◑