tx · hhwfmApTiwmoUYP1R2J4vyBHYecjoHZUQ1VznNzW9nY 3PH472nrAuJ2uAJ15NbTeBjg9yg8RMvekHo: -0.00300000 Waves 2022.08.02 10:05 [3232061] smart account 3PH472nrAuJ2uAJ15NbTeBjg9yg8RMvekHo > SELF 0.00000000 Waves
{ "type": 13, "id": "hhwfmApTiwmoUYP1R2J4vyBHYecjoHZUQ1VznNzW9nY", "fee": 300000, "feeAssetId": null, "timestamp": 1659423906140, "version": 2, "chainId": 87, "sender": "3PH472nrAuJ2uAJ15NbTeBjg9yg8RMvekHo", "senderPublicKey": "7VzqBmVAG13627ftxb1zVwUzorUojtA7Zv7Uq6Avtopr", "proofs": [ "3GnGRg755J2AjxDyZJSpTaUQtvLGjUCBdG3BKGY8AJByFGmHPUJLxWnnTjWxiti5x28Vq9YbHnrntm3nAfBiYhD2" ], "script": "base64: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", "height": 3232061, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: GjJ2UHqr9u5iJJie326GvxATUKUQJRvZG4MSKRv7t6Th Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 5 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let oracle = Address(base58'3PCZbz9o5YfWtK36j3tFcM8E1DUa9d7MyXS') | |
5 | + | ||
6 | + | let ENNO = base58'7LMV3s1J4dKpMQZqge5sKYoFkZRLojnnU49aerqos4yg' | |
7 | + | ||
8 | + | let WX = base58'Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on' | |
9 | + | ||
10 | + | let sender = Address(base58'3P27h7vAWPyP3Stzpeff1feg1YHqRjUShkj') | |
11 | + | ||
12 | + | let session = 1 | |
13 | + | ||
14 | + | @Callable(i) | |
15 | + | func claim () = { | |
16 | + | let enno_prize = 200000000000 | |
17 | + | let wx_prize = 200000000000 | |
18 | + | let currentKey = toBase58String(i.caller.bytes) | |
19 | + | let voteKey = ((("%s%s%s%s%d__vote__7LMV3s1J4dKpMQZqge5sKYoFkZRLojnnU49aerqos4yg__DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p__" + currentKey) + "__") + toString(session)) | |
20 | + | let totalVote = ("%s%s%s%d__votingResult__7LMV3s1J4dKpMQZqge5sKYoFkZRLojnnU49aerqos4yg__DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p__" + toString(session)) | |
21 | + | let amount = valueOrElse(getInteger(oracle, voteKey), 0) | |
22 | + | let totalAmount = valueOrElse(getInteger(oracle, totalVote), 0) | |
23 | + | let checkKey = ((currentKey + "_claimed_") + toString(session)) | |
24 | + | let check = valueOrElse(getBoolean(this, checkKey), false) | |
25 | + | let share = fraction(amount, 10000000000, totalAmount) | |
26 | + | let deserved = (20 * share) | |
27 | + | let ENNObalance = assetBalance(sender, ENNO) | |
28 | + | let WXbalance = assetBalance(sender, WX) | |
29 | + | if (if (if (if (if ((amount > 0)) | |
30 | + | then (totalAmount > 0) | |
31 | + | else false) | |
32 | + | then !(check) | |
33 | + | else false) | |
34 | + | then (ENNObalance > 0) | |
35 | + | else false) | |
36 | + | then (WXbalance > 0) | |
37 | + | else false) | |
38 | + | then [BooleanEntry(checkKey, true), ScriptTransfer(i.caller, deserved, ENNO), ScriptTransfer(i.caller, deserved, WX)] | |
39 | + | else throw("you are not able to claim") | |
40 | + | } | |
41 | + | ||
42 | + | ||
43 | + | ||
44 | + | @Callable(i) | |
45 | + | func claimArchive (session) = { | |
46 | + | let currentKey = toBase58String(i.caller.bytes) | |
47 | + | let voteKey = ((("%s%s%s%s%d__vote__7LMV3s1J4dKpMQZqge5sKYoFkZRLojnnU49aerqos4yg__DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p__" + currentKey) + "__") + toString(session)) | |
48 | + | let totalVote = ("%s%s%s%d__votingResult__7LMV3s1J4dKpMQZqge5sKYoFkZRLojnnU49aerqos4yg__DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p__" + toString(session)) | |
49 | + | let amount = valueOrElse(getInteger(oracle, voteKey), 0) | |
50 | + | let totalAmount = valueOrElse(getInteger(oracle, totalVote), 0) | |
51 | + | let checkKey = ((currentKey + "_claimed_") + toString(session)) | |
52 | + | let check = valueOrElse(getBoolean(this, checkKey), false) | |
53 | + | if ((session == 0)) | |
54 | + | then if (if (if ((amount > 0)) | |
55 | + | then (totalAmount > 0) | |
56 | + | else false) | |
57 | + | then !(check) | |
58 | + | else false) | |
59 | + | then { | |
60 | + | let share = fraction(amount, 10000000000, totalAmount) | |
61 | + | let deserved = (20 * share) | |
62 | + | [BooleanEntry(checkKey, true), ScriptTransfer(i.caller, deserved, ENNO)] | |
63 | + | } | |
64 | + | else throw("you are not able to claim") | |
65 | + | else throw("invalid session") | |
66 | + | } | |
67 | + | ||
68 | + |
github/deemru/w8io/6500d08 25.60 ms ◑