tx · 4XVYUFYmSYnUPUG1Px4DGCrMgzRJGzc9oR8ytT93MJAk

3P27h7vAWPyP3Stzpeff1feg1YHqRjUShkj:  -0.00300000 Waves

2022.08.03 14:48 [3233781] smart account 3P27h7vAWPyP3Stzpeff1feg1YHqRjUShkj > SELF 0.00000000 Waves

{ "type": 13, "id": "4XVYUFYmSYnUPUG1Px4DGCrMgzRJGzc9oR8ytT93MJAk", "fee": 300000, "feeAssetId": null, "timestamp": 1659527377348, "version": 2, "chainId": 87, "sender": "3P27h7vAWPyP3Stzpeff1feg1YHqRjUShkj", "senderPublicKey": "6cYBat99ZdycuduLmHWzDy6s3qkKLiRsVypxjM33HW2e", "proofs": [ "4X8Rd9JiQa3WGFG4KmtYPJ7FDpmMBr6PF4UXd7yncnto5qR71sLXGecytidd3AdNtxsBYUAMXo8X3ECT1ei6Y4YF" ], "script": "base64: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", "height": 3233781, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3juJawDWmbjKBKdTbU23sqYkyYh6CSPxz14MFajdEYRX Next: J2T8mFCjVEsUn6jnirwFENgM9sdSj5CreZ4ucvgAPyCG Diff:
OldNewDifferences
55
66 let ENNO = base58'7LMV3s1J4dKpMQZqge5sKYoFkZRLojnnU49aerqos4yg'
77
8+let WX = base58'Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on'
9+
810 let sender = Address(base58'3P27h7vAWPyP3Stzpeff1feg1YHqRjUShkj')
9-
10-let enno_prize = 200000000000
11-
12-let session = 0
1311
1412 @Callable(i)
1513 func claim () = {
14+ let enno_prize = 200000000000
15+ let wx_prize = 200000000000
16+ let session = 1
1617 let currentKey = toBase58String(i.caller.bytes)
1718 let voteKey = ((("%s%s%s%s%d__vote__7LMV3s1J4dKpMQZqge5sKYoFkZRLojnnU49aerqos4yg__DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p__" + currentKey) + "__") + toString(session))
1819 let totalVote = ("%s%s%s%d__votingResult__7LMV3s1J4dKpMQZqge5sKYoFkZRLojnnU49aerqos4yg__DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p__" + toString(session))
2223 let check = valueOrElse(getBoolean(this, checkKey), false)
2324 let share = fraction(amount, 10000000000, totalAmount)
2425 let deserved = (20 * share)
25- let balance = assetBalance(sender, ENNO)
26- if (if (if (if ((amount > 0))
26+ let ENNObalance = assetBalance(sender, ENNO)
27+ let WXbalance = assetBalance(sender, WX)
28+ if (if (if (if (if ((amount > 0))
2729 then (totalAmount > 0)
2830 else false)
2931 then !(check)
3032 else false)
31- then (balance > 0)
33+ then (ENNObalance > 0)
3234 else false)
33- then [BooleanEntry(checkKey, true), ScriptTransfer(i.caller, deserved, ENNO)]
35+ then (WXbalance > 0)
36+ else false)
37+ then [BooleanEntry(checkKey, true), ScriptTransfer(i.caller, deserved, ENNO), ScriptTransfer(i.caller, deserved, WX)]
3438 else throw("you are not able to claim")
39+ }
40+
41+
42+
43+@Callable(i)
44+func claimPreviousCampaignRewards (session) = {
45+ let currentKey = toBase58String(i.caller.bytes)
46+ let voteKey = ((("%s%s%s%s%d__vote__7LMV3s1J4dKpMQZqge5sKYoFkZRLojnnU49aerqos4yg__DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p__" + currentKey) + "__") + toString(session))
47+ let totalVote = ("%s%s%s%d__votingResult__7LMV3s1J4dKpMQZqge5sKYoFkZRLojnnU49aerqos4yg__DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p__" + toString(session))
48+ let amount = valueOrElse(getInteger(oracle, voteKey), 0)
49+ let totalAmount = valueOrElse(getInteger(oracle, totalVote), 0)
50+ let checkKey = ((currentKey + "_claimed_") + toString(session))
51+ let check = valueOrElse(getBoolean(this, checkKey), false)
52+ if ((session == 0))
53+ then if (if (if ((amount > 0))
54+ then (totalAmount > 0)
55+ else false)
56+ then !(check)
57+ else false)
58+ then {
59+ let share = fraction(amount, 10000000000, totalAmount)
60+ let deserved = (20 * share)
61+[BooleanEntry(checkKey, true), ScriptTransfer(i.caller, deserved, ENNO)]
62+ }
63+ else throw("you are not able to claim")
64+ else throw("invalid session")
3565 }
3666
3767
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let oracle = Address(base58'3PCZbz9o5YfWtK36j3tFcM8E1DUa9d7MyXS')
55
66 let ENNO = base58'7LMV3s1J4dKpMQZqge5sKYoFkZRLojnnU49aerqos4yg'
77
8+let WX = base58'Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on'
9+
810 let sender = Address(base58'3P27h7vAWPyP3Stzpeff1feg1YHqRjUShkj')
9-
10-let enno_prize = 200000000000
11-
12-let session = 0
1311
1412 @Callable(i)
1513 func claim () = {
14+ let enno_prize = 200000000000
15+ let wx_prize = 200000000000
16+ let session = 1
1617 let currentKey = toBase58String(i.caller.bytes)
1718 let voteKey = ((("%s%s%s%s%d__vote__7LMV3s1J4dKpMQZqge5sKYoFkZRLojnnU49aerqos4yg__DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p__" + currentKey) + "__") + toString(session))
1819 let totalVote = ("%s%s%s%d__votingResult__7LMV3s1J4dKpMQZqge5sKYoFkZRLojnnU49aerqos4yg__DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p__" + toString(session))
1920 let amount = valueOrElse(getInteger(oracle, voteKey), 0)
2021 let totalAmount = valueOrElse(getInteger(oracle, totalVote), 0)
2122 let checkKey = ((currentKey + "_claimed_") + toString(session))
2223 let check = valueOrElse(getBoolean(this, checkKey), false)
2324 let share = fraction(amount, 10000000000, totalAmount)
2425 let deserved = (20 * share)
25- let balance = assetBalance(sender, ENNO)
26- if (if (if (if ((amount > 0))
26+ let ENNObalance = assetBalance(sender, ENNO)
27+ let WXbalance = assetBalance(sender, WX)
28+ if (if (if (if (if ((amount > 0))
2729 then (totalAmount > 0)
2830 else false)
2931 then !(check)
3032 else false)
31- then (balance > 0)
33+ then (ENNObalance > 0)
3234 else false)
33- then [BooleanEntry(checkKey, true), ScriptTransfer(i.caller, deserved, ENNO)]
35+ then (WXbalance > 0)
36+ else false)
37+ then [BooleanEntry(checkKey, true), ScriptTransfer(i.caller, deserved, ENNO), ScriptTransfer(i.caller, deserved, WX)]
3438 else throw("you are not able to claim")
39+ }
40+
41+
42+
43+@Callable(i)
44+func claimPreviousCampaignRewards (session) = {
45+ let currentKey = toBase58String(i.caller.bytes)
46+ let voteKey = ((("%s%s%s%s%d__vote__7LMV3s1J4dKpMQZqge5sKYoFkZRLojnnU49aerqos4yg__DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p__" + currentKey) + "__") + toString(session))
47+ let totalVote = ("%s%s%s%d__votingResult__7LMV3s1J4dKpMQZqge5sKYoFkZRLojnnU49aerqos4yg__DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p__" + toString(session))
48+ let amount = valueOrElse(getInteger(oracle, voteKey), 0)
49+ let totalAmount = valueOrElse(getInteger(oracle, totalVote), 0)
50+ let checkKey = ((currentKey + "_claimed_") + toString(session))
51+ let check = valueOrElse(getBoolean(this, checkKey), false)
52+ if ((session == 0))
53+ then if (if (if ((amount > 0))
54+ then (totalAmount > 0)
55+ else false)
56+ then !(check)
57+ else false)
58+ then {
59+ let share = fraction(amount, 10000000000, totalAmount)
60+ let deserved = (20 * share)
61+[BooleanEntry(checkKey, true), ScriptTransfer(i.caller, deserved, ENNO)]
62+ }
63+ else throw("you are not able to claim")
64+ else throw("invalid session")
3565 }
3666
3767

github/deemru/w8io/6500d08 
29.60 ms