tx · G6kVMsA5qBtvDJapoJjCqiCzoq4V1grMbnDaTdVsmrXo

3P2ZpdHdm8cpi7oS2dBPiLVo21ryZm6DDkH:  -0.01000000 Waves

2022.01.19 19:34 [2951122] smart account 3P2ZpdHdm8cpi7oS2dBPiLVo21ryZm6DDkH > SELF 0.00000000 Waves

{ "type": 13, "id": "G6kVMsA5qBtvDJapoJjCqiCzoq4V1grMbnDaTdVsmrXo", "fee": 1000000, "feeAssetId": null, "timestamp": 1642610123887, "version": 2, "chainId": 87, "sender": "3P2ZpdHdm8cpi7oS2dBPiLVo21ryZm6DDkH", "senderPublicKey": "Bb5dk4R8sczo5DEiiL3sk5CG35EZbNWQHX2tc7sx31P7", "proofs": [ "3sg3VDraYoXc6of5sNzXa57h3SXvwkydqdBeoLzF1AybK7io2BFKkThMw7dY1mJESauo4UHw33sWikxCP6Kp9Ltd" ], "script": "base64:AAIFAAAAAAAAA5sIAhIAEgMKAQESABIAEgMKAQESBQoDCAgBEgUKAwEICBIAEgMKAQEaDwoBQRIKd3hMb2NrQ2FsbBoSCgFCEg10b3RhbExvY2tlZFdYGhIKAUMSDXd4YkFsbG9jYXRpb24aGAoBRBITdG90YWxDbGFpbWVkV1hCUG9vbBoUCgFFEg90b3RhbENsYWltZWRXWEIaEAoBRhILaW5pdGlhbGl6ZWQaDgoBRxIJZmlyc3RMb2NrGhUKAUgSEHdoaXRlbGlzdEFkZHJlc3MaDAoBSRIHYXNzZXRJZBoPCgFKEgphbGxvY2F0aW9uGhQKAUsSD3RvdGFsR2l2ZWF3YXlXWBoNCgFMEghkdXJhdGlvbhodCgFNEhhpbmNyZWFzZUxvY2tEdXJhdGlvbkNhbGwaEQoBThIMbG9ja0R1cmF0aW9uGgcKAU8SAnR4GgsKAVASBnZlcmlmeRoXCgFREhJhZG1pblB1YktleTFTaWduZWQaFwoBUhISYWRtaW5QdWJLZXkyU2lnbmVkGhcKAVMSEmFkbWluUHViS2V5M1NpZ25lZBoXCgFUEhJhZG1pblB1YktleTRTaWduZWQaEAoBYRILZEFwcEFkZHJlc3MaDgoBYhIJd3hBc3NldElkGg8KAWMSCnd4YkFzc2V0SWQaFAoBZBIPZ2l2ZWF3YXlBc3NldElkGhIKAWUSDXd4TG9ja0FkZHJlc3MaEQoBZhIMYWRtaW5QdWJLZXkxGhEKAWcSDGFkbWluUHViS2V5MhoRCgFoEgxhZG1pblB1YktleTMaEQoBaRIMYWRtaW5QdWJLZXk0GgYKAWoSAWkaGAoBaxITY2FsbGVyQWRkcmVzc1N0cmluZxoSCgFsEg1pc1doaXRlbGlzdGVkGg4KAW0SCWxwQXNzZXRJZBoQCgFuEgtzdGFrZUxQQ2FsbBoMCgFvEgdiYWxhbmNlGgsKAXASBmFtb3VudBoSCgFxEg11bnN0YWtlTFBDYWxsGg4KAXISCXd4QmFsYW5jZRoQCgFzEgtjbGFpbVdYQ2FsbBoUCgF0Eg9jbGFpbWVkV1hBbW91bnQaFwoBdRISdG90YWxDbGFpbWVkV1hQb29sGhMKAXYSDnRvdGFsQ2xhaW1lZFdYGgwKAXcSB2ZlZVJhdGUaCAoBeBIDZmVlGhoKAXkSFXRvdGFsQ29sbGVj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", "height": 2951122, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: CN7vNQF15aMo3AVCcDXc9jFpVodJqJMHvvYAUkz5MCd1 Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let dAppAddress = Address(base58'3PPNhHYkkEy13gRWDCaruQyhNbX2GrjYSyV')
5+
6+let wxAssetId = base58'Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on'
7+
8+let wxbAssetId = base58'BbP9tmd5Zxk345y9zipXkYaqDfxDG1suTj64eJmy1BAT'
9+
10+let giveawayAssetId = base58'Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on'
11+
12+let wxLockAddress = Address(base58'3PJL8Hn8LACaSBWLQ3UVhctA5cTQLBFwBAP')
13+
14+let adminPubKey1 = base58'8CPfYYUFZvLwMYqdhtwKnrQMAAnWiVakm3mf8MRGKtzN'
15+
16+let adminPubKey2 = base58'Aa5tsh5uzQYAYpDYswmQko1c79PSYLrGbwRZ5sBViNx5'
17+
18+let adminPubKey3 = base58'mTQL3HhYMeLQCe34H45YtLjbQeg5QyZJ5EPyU8An8jj'
19+
20+let adminPubKey4 = base58'HrzjFpn3V1Y5bB8r3JKGgR6qWUixJxuvToFXGJ4WDQu9'
21+
22+@Callable(i)
23+func stakeLP () = {
24+ let callerAddressString = toString(i.caller)
25+ let isWhitelisted = valueOrElse(getBoolean((callerAddressString + "_whitelisted")), false)
26+ let lpAssetId = valueOrElse(getString((callerAddressString + "_assetId")), "")
27+ if (if (if (if (isWhitelisted)
28+ then (size(i.payments) == 1)
29+ else false)
30+ then (i.payments[0].amount > 0)
31+ else false)
32+ then (i.payments[0].assetId == fromBase58String(lpAssetId))
33+ else false)
34+ then {
35+ let stakeLPCall = invoke(dAppAddress, "stake", nil, [AttachedPayment(i.payments[0].assetId, i.payments[0].amount)])
36+ if ((stakeLPCall == stakeLPCall))
37+ then {
38+ let balance = (valueOrElse(getInteger((((callerAddressString + "_") + lpAssetId) + "_balance")), 0) + i.payments[0].amount)
39+ $Tuple2([IntegerEntry((((callerAddressString + "_") + lpAssetId) + "_balance"), balance)], unit)
40+ }
41+ else throw("Strict value is not equal to itself.")
42+ }
43+ else throw("")
44+ }
45+
46+
47+
48+@Callable(i)
49+func unstakeLP (amount) = {
50+ let callerAddressString = toString(i.caller)
51+ let isWhitelisted = valueOrElse(getBoolean((callerAddressString + "_whitelisted")), false)
52+ if (isWhitelisted)
53+ then {
54+ let lpAssetId = valueOrElse(getString((callerAddressString + "_assetId")), "")
55+ let unstakeLPCall = invoke(dAppAddress, "unstake", [lpAssetId, amount], nil)
56+ if ((unstakeLPCall == unstakeLPCall))
57+ then {
58+ let balance = (valueOrElse(getInteger((((callerAddressString + "_") + lpAssetId) + "_balance")), 0) - amount)
59+ $Tuple2([ScriptTransfer(i.caller, amount, fromBase58String(lpAssetId)), IntegerEntry((((callerAddressString + "_") + lpAssetId) + "_balance"), balance)], unit)
60+ }
61+ else throw("Strict value is not equal to itself.")
62+ }
63+ else throw("")
64+ }
65+
66+
67+
68+@Callable(i)
69+func claim () = {
70+ let callerAddressString = toString(i.caller)
71+ let isWhitelisted = valueOrElse(getBoolean((callerAddressString + "_whitelisted")), false)
72+ if (isWhitelisted)
73+ then {
74+ let lpAssetId = valueOrElse(getString((callerAddressString + "_assetId")), "")
75+ let wxBalance = assetBalance(this, wxAssetId)
76+ if ((wxBalance == wxBalance))
77+ then {
78+ let claimWXCall = invoke(dAppAddress, "claimWx", [lpAssetId], nil)
79+ if ((claimWXCall == claimWXCall))
80+ then {
81+ let claimedWXAmount = (assetBalance(this, wxAssetId) - wxBalance)
82+ if ((claimedWXAmount == claimedWXAmount))
83+ then {
84+ let totalClaimedWXPool = (valueOrElse(getInteger((((callerAddressString + "_") + lpAssetId) + "_total_claimed_wx")), 0) + claimedWXAmount)
85+ let totalClaimedWX = (valueOrElse(getInteger(this, "total_claimed_wx"), 0) + claimedWXAmount)
86+ let feeRate = getIntegerValue(this, "fee")
87+ let fee = fraction(claimedWXAmount, feeRate, 100)
88+ let totalCollectedFeePool = (valueOrElse(getInteger((((callerAddressString + "_") + lpAssetId) + "_total_collected_fee")), 0) + fee)
89+ let totalCollectedFee = (valueOrElse(getInteger("total_collected_fee"), 0) + fee)
90+ let wxLockCall = invoke(wxLockAddress, "increaseLock", [0], [AttachedPayment(wxAssetId, fee)])
91+ if ((wxLockCall == wxLockCall))
92+ then {
93+ let totalLockedWX = (valueOrElse(getInteger("total_locked_wx"), 0) + fee)
94+ let wxbAllocation = valueOrElse(getInteger((((callerAddressString + "_") + lpAssetId) + "_wxb_allocation")), 0)
95+ let totalClaimedWXBPool = (valueOrElse(getInteger((((callerAddressString + "_") + lpAssetId) + "_total_claimed_wxb")), 0) + wxbAllocation)
96+ let totalClaimedWXB = (valueOrElse(getInteger("total_claimed_wxb"), 0) + wxbAllocation)
97+ $Tuple2([ScriptTransfer(i.caller, (claimedWXAmount - fee), wxAssetId), ScriptTransfer(i.caller, wxbAllocation, wxbAssetId), IntegerEntry("total_locked_wx", totalLockedWX), IntegerEntry((((callerAddressString + "_") + lpAssetId) + "_total_claimed_wx"), totalClaimedWXPool), IntegerEntry("total_claimed_wx", totalClaimedWX), IntegerEntry((((callerAddressString + "_") + lpAssetId) + "_total_claimed_wxb"), totalClaimedWXPool), IntegerEntry("total_claimed_wxb", totalClaimedWXB), IntegerEntry((((callerAddressString + "_") + lpAssetId) + "_total_collected_fee"), totalCollectedFeePool), IntegerEntry("total_collected_fee", totalCollectedFee)], unit)
98+ }
99+ else throw("Strict value is not equal to itself.")
100+ }
101+ else throw("Strict value is not equal to itself.")
102+ }
103+ else throw("Strict value is not equal to itself.")
104+ }
105+ else throw("Strict value is not equal to itself.")
106+ }
107+ else throw("")
108+ }
109+
110+
111+
112+@Callable(i)
113+func init () = {
114+ let initialized = valueOrElse(getBoolean("initialized"), false)
115+ if (!(initialized))
116+ then {
117+ let firstLock = invoke(wxLockAddress, "lock", [2102400], [AttachedPayment(i.payments[0].assetId, i.payments[0].amount)])
118+ if ((firstLock == firstLock))
119+ then $Tuple2([BooleanEntry("initialized", true), IntegerEntry("it_all_started_in_this_block", height), IntegerEntry("total_locked_wx", i.payments[0].amount), IntegerEntry("lock_duration", (2102400 + height)), IntegerEntry("fee", 10)], unit)
120+ else throw("Strict value is not equal to itself.")
121+ }
122+ else throw("")
123+ }
124+
125+
126+
127+@Callable(i)
128+func setFee (fee) = if ((i.caller == this))
129+ then $Tuple2([IntegerEntry("fee", fee)], unit)
130+ else throw("")
131+
132+
133+
134+@Callable(i)
135+func whitelist (whitelistAddress,assetId,allocation) = if ((i.caller == this))
136+ then $Tuple2([BooleanEntry((whitelistAddress + "_whitelisted"), true), StringEntry((whitelistAddress + "_assetId"), assetId), IntegerEntry((((whitelistAddress + "_") + assetId) + "_wxb_allocation"), allocation)], unit)
137+ else throw("")
138+
139+
140+
141+@Callable(i)
142+func setAllocation (amount,whitelistAddress,assetId) = if (containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKey4], i.callerPublicKey))
143+ then [IntegerEntry((((whitelistAddress + "_") + assetId) + "_wxb_allocation"), amount)]
144+ else throw("")
145+
146+
147+
148+@Callable(i)
149+func giveaway () = {
150+ let callerAddressString = toString(i.caller)
151+ let isWhitelisted = valueOrElse(getBoolean((callerAddressString + "_whitelisted")), false)
152+ if (if (if (if (isWhitelisted)
153+ then (size(i.payments) == 1)
154+ else false)
155+ then (i.payments[0].assetId == giveawayAssetId)
156+ else false)
157+ then (i.payments[0].amount > 0)
158+ else false)
159+ then {
160+ let wxLockCall = invoke(wxLockAddress, "increaseLock", [0], [AttachedPayment(giveawayAssetId, i.payments[0].amount)])
161+ if ((wxLockCall == wxLockCall))
162+ then {
163+ let totalLockedWX = (valueOrElse(getInteger("total_locked_wx"), 0) + i.payments[0].amount)
164+ let totalGiveawayWX = (valueOrElse(getInteger("total_giveaway_wx"), 0) + i.payments[0].amount)
165+ $Tuple2([IntegerEntry("total_locked_wx", totalLockedWX), IntegerEntry("total_giveaway_wx", totalGiveawayWX)], unit)
166+ }
167+ else throw("Strict value is not equal to itself.")
168+ }
169+ else throw("")
170+ }
171+
172+
173+
174+@Callable(i)
175+func increaseLockDuration (duration) = if (containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKey4], i.callerPublicKey))
176+ then {
177+ let increaseLockDurationCall = invoke(wxLockAddress, "increaseLock", [duration], nil)
178+ if ((increaseLockDurationCall == increaseLockDurationCall))
179+ then {
180+ let lockDuration = (getIntegerValue("lock_duration") + duration)
181+ $Tuple2([IntegerEntry("lock_duration", lockDuration)], unit)
182+ }
183+ else throw("Strict value is not equal to itself.")
184+ }
185+ else throw("")
186+
187+
188+@Verifier(tx)
189+func verify () = {
190+ let adminPubKey1Signed = if (sigVerify(tx.bodyBytes, tx.proofs[0], adminPubKey1))
191+ then 1
192+ else 0
193+ let adminPubKey2Signed = if (sigVerify(tx.bodyBytes, tx.proofs[1], adminPubKey2))
194+ then 1
195+ else 0
196+ let adminPubKey3Signed = if (sigVerify(tx.bodyBytes, tx.proofs[2], adminPubKey3))
197+ then 1
198+ else 0
199+ let adminPubKey4Signed = if (sigVerify(tx.bodyBytes, tx.proofs[3], adminPubKey4))
200+ then 1
201+ else 0
202+ ((((adminPubKey1Signed + adminPubKey2Signed) + adminPubKey3Signed) + adminPubKey4Signed) >= 3)
203+ }
204+

github/deemru/w8io/3ef1775 
26.52 ms