tx · GYUQfz86LU4G5ZmEe8k6jVMAE2jKs7yk6vhXuVVGCWLx

3P4YjN8nzgNTQXivKuiiZQRDyScbx5gM5pQ:  -0.01400000 Waves

2022.01.10 16:13 [2937946] smart account 3P4YjN8nzgNTQXivKuiiZQRDyScbx5gM5pQ > SELF 0.00000000 Waves

{ "type": 13, "id": "GYUQfz86LU4G5ZmEe8k6jVMAE2jKs7yk6vhXuVVGCWLx", "fee": 1400000, "feeAssetId": null, "timestamp": 1641820469506, "version": 2, "chainId": 87, "sender": "3P4YjN8nzgNTQXivKuiiZQRDyScbx5gM5pQ", "senderPublicKey": "Aa5tsh5uzQYAYpDYswmQko1c79PSYLrGbwRZ5sBViNx5", "proofs": [ "3a3hMaZHN1HAMEAaxetFxhfhNAD8CgGs7UEP1xj8pYtVgnJ9iexgqRvLkybJLx23g6fACdnFzFPbTeQnfcCuw7NX" ], "script": "base64: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", "height": 2937946, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: A8DznYdD2YCa3HZsWyg8T7UaFWBoXfpDfMpU6fXgNUAV Next: C98WdTAVixuw2KviH1xQqsD4VBtfQDg2mXrxrxrDvtH2 Diff:
OldNewDifferences
158158 case _ =>
159159 throw("Match error")
160160 }
161- if (if ((i.callerPublicKey == publicKey))
162- then !(started)
163- else false)
161+ if (!(started))
164162 then {
165- let firstLock = invoke(wxLockAddress, "lock", [2102400], [AttachedPayment(rewardAssetId, assetBalance(this, rewardAssetId))])
163+ let firstLock = invoke(wxLockAddress, "lock", [2102400], [AttachedPayment(i.payments[0].assetId, i.payments[0].amount)])
166164 if ((firstLock == firstLock))
167- then $Tuple2([IntegerEntry("it_all_started_in_this_block", height), IntegerEntry("total_locked_wx", i.payments[0].amount), IntegerEntry("lock_duration", 2102400)], unit)
165+ then $Tuple2([IntegerEntry("it_all_started_in_this_block", height), IntegerEntry("total_locked_wx", i.payments[0].amount), IntegerEntry("lock_duration", 2102400), DeleteEntry("3PHi8kX9EqfvRwgzHWcpjLKQt1zBAH1bX7M_assetId"), DeleteEntry("3PHi8kX9EqfvRwgzHWcpjLKQt1zBAH1bX7M_whitelisted"), DeleteEntry("fee")], unit)
168166 else throw("Strict value is not equal to itself.")
169167 }
170168 else throw("")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let publicKey = base58'Aa5tsh5uzQYAYpDYswmQko1c79PSYLrGbwRZ5sBViNx5'
55
66 let dAppAddress = Address(base58'3PPNhHYkkEy13gRWDCaruQyhNbX2GrjYSyV')
77
88 let rewardAssetId = base58'Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on'
99
1010 let giveawayAssetId = base58'Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on'
1111
1212 let wxLockAddress = Address(base58'3PJL8Hn8LACaSBWLQ3UVhctA5cTQLBFwBAP')
1313
1414 let feeAddress = Address(base58'3PH8NXNHpYR5gLn3cwtqnvmKVwQQWb7FrwY')
1515
1616 @Callable(i)
1717 func stakeLP () = {
1818 let callerAddressString = toString(i.caller)
1919 let isWhitelisted = valueOrElse(getBoolean((callerAddressString + "_whitelisted")), false)
2020 let lpAssetId = valueOrElse(getString((callerAddressString + "_assetId")), "")
2121 if (if (if (if (isWhitelisted)
2222 then (size(i.payments) == 1)
2323 else false)
2424 then (i.payments[0].amount > 0)
2525 else false)
2626 then (i.payments[0].assetId == fromBase58String(lpAssetId))
2727 else false)
2828 then {
2929 let stakeLPCall = invoke(dAppAddress, "stake", nil, [AttachedPayment(i.payments[0].assetId, i.payments[0].amount)])
3030 if ((stakeLPCall == stakeLPCall))
3131 then {
3232 let balance = (valueOrElse(getInteger((((callerAddressString + "_") + lpAssetId) + "_balance")), 0) + i.payments[0].amount)
3333 $Tuple2([IntegerEntry((((callerAddressString + "_") + lpAssetId) + "_balance"), balance)], unit)
3434 }
3535 else throw("Strict value is not equal to itself.")
3636 }
3737 else throw("")
3838 }
3939
4040
4141
4242 @Callable(i)
4343 func unstakeLP (amount) = {
4444 let callerAddressString = toString(i.caller)
4545 let isWhitelisted = valueOrElse(getBoolean((callerAddressString + "_whitelisted")), false)
4646 if (isWhitelisted)
4747 then {
4848 let lpAssetId = valueOrElse(getString((callerAddressString + "_assetId")), "")
4949 let unstakeLPCall = invoke(dAppAddress, "unstake", [lpAssetId, amount], nil)
5050 if ((unstakeLPCall == unstakeLPCall))
5151 then {
5252 let balance = (valueOrElse(getInteger((((callerAddressString + "_") + lpAssetId) + "_balance")), 0) - amount)
5353 $Tuple2([ScriptTransfer(i.caller, amount, fromBase58String(lpAssetId)), IntegerEntry((((callerAddressString + "_") + lpAssetId) + "_balance"), balance)], unit)
5454 }
5555 else throw("Strict value is not equal to itself.")
5656 }
5757 else throw("")
5858 }
5959
6060
6161
6262 @Callable(i)
6363 func claim () = {
6464 let callerAddressString = toString(i.caller)
6565 let isWhitelisted = valueOrElse(getBoolean((callerAddressString + "_whitelisted")), false)
6666 if (isWhitelisted)
6767 then {
6868 let lpAssetId = valueOrElse(getString((callerAddressString + "_assetId")), "")
6969 let wxBalance = assetBalance(this, rewardAssetId)
7070 if ((wxBalance == wxBalance))
7171 then {
7272 let claimWXCall = invoke(dAppAddress, "claimWx", [lpAssetId], nil)
7373 if ((claimWXCall == claimWXCall))
7474 then {
7575 let claimedWXAmount = (assetBalance(this, rewardAssetId) - wxBalance)
7676 if ((claimedWXAmount == claimedWXAmount))
7777 then {
7878 let totalClaimedWXPool = (valueOrElse(getInteger((lpAssetId + "_total_claimed_wx")), 0) + claimedWXAmount)
7979 let totalClaimedWX = (valueOrElse(getInteger(this, "total_claimed_wx"), 0) + claimedWXAmount)
8080 let feeRate = getIntegerValue(this, "fee")
8181 let fee = fraction(claimedWXAmount, feeRate, 100)
8282 let totalCollectedFeePool = (valueOrElse(getInteger((lpAssetId + "_total_collected_fee")), 0) + fee)
8383 let totalCollectedFee = (valueOrElse(getInteger("total_collected_fee"), 0) + fee)
8484 $Tuple2([ScriptTransfer(i.caller, (claimedWXAmount - fee), rewardAssetId), ScriptTransfer(feeAddress, fee, rewardAssetId), IntegerEntry((lpAssetId + "_total_claimed_wx"), totalClaimedWXPool), IntegerEntry("total_claimed_wx", totalClaimedWX), IntegerEntry((lpAssetId + "_total_collected_fee"), totalCollectedFeePool), IntegerEntry("total_collected_fee", totalCollectedFee)], unit)
8585 }
8686 else throw("Strict value is not equal to itself.")
8787 }
8888 else throw("Strict value is not equal to itself.")
8989 }
9090 else throw("Strict value is not equal to itself.")
9191 }
9292 else throw("")
9393 }
9494
9595
9696
9797 @Callable(i)
9898 func whitelist (whitelistAddress,assetId) = if ((i.callerPublicKey == publicKey))
9999 then $Tuple2([BooleanEntry((whitelistAddress + "_whitelisted"), true), StringEntry((whitelistAddress + "_assetId"), assetId)], unit)
100100 else throw("")
101101
102102
103103
104104 @Callable(i)
105105 func setFee (fee) = if ((i.callerPublicKey == publicKey))
106106 then $Tuple2([IntegerEntry("fee", fee)], unit)
107107 else throw("")
108108
109109
110110
111111 @Callable(i)
112112 func giveaway () = {
113113 let callerAddressString = toString(i.caller)
114114 let isWhitelisted = valueOrElse(getBoolean((callerAddressString + "_whitelisted")), false)
115115 if (if (if (if (isWhitelisted)
116116 then (size(i.payments) == 1)
117117 else false)
118118 then (i.payments[0].assetId == giveawayAssetId)
119119 else false)
120120 then (i.payments[0].amount > 0)
121121 else false)
122122 then {
123123 let wxLockCall = invoke(wxLockAddress, "increaseLock", [0], [AttachedPayment(giveawayAssetId, i.payments[0].amount)])
124124 if ((wxLockCall == wxLockCall))
125125 then {
126126 let totalLockedWX = (valueOrElse(getInteger("total_locked_wx"), 0) + i.payments[0].amount)
127127 $Tuple2([IntegerEntry("total_locked_wx", totalLockedWX)], unit)
128128 }
129129 else throw("Strict value is not equal to itself.")
130130 }
131131 else throw("")
132132 }
133133
134134
135135
136136 @Callable(i)
137137 func increaseLockDuration (duration) = if ((i.callerPublicKey == publicKey))
138138 then {
139139 let increaseLockDurationCall = invoke(wxLockAddress, "increaseLock", [duration], nil)
140140 if ((increaseLockDurationCall == increaseLockDurationCall))
141141 then {
142142 let lockDuration = (valueOrElse(getInteger("lock_duration"), 0) + duration)
143143 $Tuple2([IntegerEntry("lock_duration", lockDuration)], unit)
144144 }
145145 else throw("Strict value is not equal to itself.")
146146 }
147147 else throw("")
148148
149149
150150
151151 @Callable(i)
152152 func forYou () = {
153153 let started = match getInteger(this, "it_all_started_in_this_block") {
154154 case yep: Int =>
155155 true
156156 case nope: Unit =>
157157 false
158158 case _ =>
159159 throw("Match error")
160160 }
161- if (if ((i.callerPublicKey == publicKey))
162- then !(started)
163- else false)
161+ if (!(started))
164162 then {
165- let firstLock = invoke(wxLockAddress, "lock", [2102400], [AttachedPayment(rewardAssetId, assetBalance(this, rewardAssetId))])
163+ let firstLock = invoke(wxLockAddress, "lock", [2102400], [AttachedPayment(i.payments[0].assetId, i.payments[0].amount)])
166164 if ((firstLock == firstLock))
167- then $Tuple2([IntegerEntry("it_all_started_in_this_block", height), IntegerEntry("total_locked_wx", i.payments[0].amount), IntegerEntry("lock_duration", 2102400)], unit)
165+ then $Tuple2([IntegerEntry("it_all_started_in_this_block", height), IntegerEntry("total_locked_wx", i.payments[0].amount), IntegerEntry("lock_duration", 2102400), DeleteEntry("3PHi8kX9EqfvRwgzHWcpjLKQt1zBAH1bX7M_assetId"), DeleteEntry("3PHi8kX9EqfvRwgzHWcpjLKQt1zBAH1bX7M_whitelisted"), DeleteEntry("fee")], unit)
168166 else throw("Strict value is not equal to itself.")
169167 }
170168 else throw("")
171169 }
172170
173171
174172 @Verifier(tx)
175173 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
176174

github/deemru/w8io/6500d08 
36.13 ms