tx · 3C1c2PSvPCznRVnaYua73DCUnwZ6U2fpRQdkEDSLCj6D

3PCBL2vbjAVFbiCwmGsPmT6QdATutQnM8ov:  -0.00500000 Waves

2024.03.12 16:21 [4080692] smart account 3PCBL2vbjAVFbiCwmGsPmT6QdATutQnM8ov > SELF 0.00000000 Waves

{ "type": 13, "id": "3C1c2PSvPCznRVnaYua73DCUnwZ6U2fpRQdkEDSLCj6D", "fee": 500000, "feeAssetId": null, "timestamp": 1710249724453, "version": 2, "chainId": 87, "sender": "3PCBL2vbjAVFbiCwmGsPmT6QdATutQnM8ov", "senderPublicKey": "5BKRz3VCmywzUUoj3kTwCzrCiP8waYbkaymD8B1kdRH2", "proofs": [ "4KVrtHYFKZQsPeStGxv2F3j3tXm6ZMLZtj19ryAxemqtb3s5fqcbu5oC4jHdNaKTZAaK75XsFGoPUEQ3usMoXiPw" ], "script": "base64:BgISCAISABIAEgASABIAEgASABIAGwACZDYAwIQ9AAJkOACAwtcvAAdpbnZva2VyCQEHQWRkcmVzcwEBGgFXGIkbJG0v4kSlsrku0GQjUC4p33Iw2jJZAAZwb29sSWQBGgFXhZ0sMNX8Az5hxa3ekr/FKpHzma4aQUAKAApwb29sU3RyaW5nCQDYBAEFBnBvb2xJZAAGcG9vbExQARoBV/rVs69JTbhS1HYqsBxjXic5Vwgrqxr5+wAJcHpCdXJueHRuASDoT9tlJluEnbfFZ5ANN2u2Lf9FGUJm6df/9txN/BNOTgAFeHRuSWQBILYmKcME9c5TkaQOS3UkL2SMUbH6369UKb1I0h0qsqrRAAlidXJueHRuSWQBICRPdXlqfjM5uPsM/4SpcVxeyi3eM6DEXWn56kQR7ExUAAZ3ZXN0SWQBIDGDhG9Fn923HVoeF/1BfkTYN9kHk9fk5XuKZyRf48D5AAd2aXJlc0lkASC42uI3AWJwX5qoW7IZDL0Pw2WvdQa2WC3dB5NWqd2plwAFZWdnSWQBIKOff08jclHRLOIhkmKITQwL8+oiboHVr/wLkxfObbHJAAZuc2J0SWQBIFXuw76qC/BQ6HHIG6pucJ6kscj+Si65wfHMxWsPeJdLAAZzd2F2ZXMBIAgfyPcWMO1Rwikb7Kwaj/yQcRxZOC3rIYGwN0HwRdFKAAxTV0FWRVNfc3Rha2UJAQdBZGRyZXNzAQEaAVd9yXuTFHn/51HxsUrHb/lqHYCVR89YI34BCF9sb2FkSW50AgRrZXlfCGRlZmF1bHRfBAckbWF0Y2gwCQCaCAIFDFNXQVZFU19zdGFrZQUEa2V5XwMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEFCGRlZmF1bHRfAQtfbG9hZEJpZ0ludAIEa2V5XwhkZWZhdWx0XwQHJG1hdGNoMAkAnAgCBQxTV0FWRVNfc3Rha2UFBGtleV8DCQABAgUHJG1hdGNoMAIKQnl0ZVZlY3RvcgQBYQUHJG1hdGNoMAkAngMBBQFhBQhkZWZhdWx0XwAQV1hfQlVSTlhUTl9XQVZFUwkBB0FkZHJlc3MBARoBVyvirnF7fckwtSB55xbFa21XQIGlOBY9PgAIbGFzdFJhdGUJAQtfbG9hZEJpZ0ludAICCUxBU1RfUkFURQkAtgIBAICglKWNHQALY3VycmVudFJhdGUJAQtfbG9hZEJpZ0ludAICDENVUlJFTlRfUkFURQkAtgIBAAAACmxhc3RIZWlnaHQJAQhfbG9hZEludAICC0xBU1RfSEVJR0hUAAAADHRhcmdldEhlaWdodAkAlwMBCQDMCAIJAQhfbG9hZEludAICDVRBUkdFVF9IRUlHSFQAAAkAzAgCBQZoZWlnaHQFA25pbAAPbGFzdFJhdGVVcGRhdGVkCQC3AgIFCGxhc3RSYXRlCQC5AgIFC2N1cnJlbnRSYXRlCQC2AgEJAGUCBQx0YXJnZXRIZWlnaHQFCmxhc3RIZWlnaHQACmJhc2VBbW91bnQJAKADAQkAvQIECQC2AgEJAPAHAgUQV1hfQlVSTlhUTl9XQVZFUwUGc3dhdmVzBQ9sYXN0UmF0ZVVwZGF0ZWQJALYCAQCAoJSljR0FBUZMT09SAAl3YXZlc0luV1gJAGQCCAkA7wcBBRBXWF9CVVJOWFROX1dBVkVTB3JlZ3VsYXIFCmJhc2VBbW91bnQAC2J1cm54dG5JbldYCQDwBwIFEFdYX0JVUk5YVE5fV0FWRVMFCWJ1cm54dG5JZAARYnVybnh0bndhdmVzcHJpY2UJAGsDBQJkOAUJd2F2ZXNJbldYBQtidXJueHRuSW5XWAgBaQELRmlyc3RJbnZva2UAAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIcYWNjZXNzIG9ubHkgYnkgcHJvamVjdCBvd25lcgQBYgkA/AcEBQR0aGlzAgdidXJuWFROBQNuaWwFA25pbAMJAAACBQFiBQFiBAhjbGFpbUludgkA/AcECQEHQWRkcmVzcwEBGgFXhZ0sMNX8Az5hxa3ekr/FKpHzma4aQUAKAhFjbGFpbUluZGV4UmV3YXJkcwUDbmlsBQNuaWwDCQAAAgUIY2xhaW1JbnYFCGNsYWltSW52BARwdW1wAwkAZgIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCD0FUSCBpbiB3YXZlbGV0cwURYnVybnh0bndhdmVzcHJpY2UJAPwHBAUEdGhpcwIEcHVtcAUDbmlsBQNuaWwFBHVuaXQDCQAAAgUEcHVtcAUEcHVtcAQGZEVudHJ5CQD8BwQFBHRoaXMCBmRFbnRyeQUDbmlsBQNuaWwDCQAAAgUGZEVudHJ5BQZkRW50cnkJAMwIAgkBBEJ1cm4CBQlidXJueHRuSWQJAPAHAgUEdGhpcwUJYnVybnh0bklkBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEHYnVyblhUTgADCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhxhY2Nlc3Mgb25seSBieSBwcm9qZWN0IG93bmVyBA14dG5idXJuYW1vdW50CQDwBwIFBHRoaXMFBXh0bklkBAd4dG5CdXJuCQEEQnVybgIFBXh0bklkBQ14dG5idXJuYW1vdW50CQDMCAIFB3h0bkJ1cm4JAMwIAgkBDEludGVnZXJFbnRyeQICEFhUTiB0b3RhbCBidXJuZWQJAGQCCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAhBYVE4gdG90YWwgYnVybmVkBQ14dG5idXJuYW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCAgpYVE4gc3VwcGx5BAckbWF0Y2gwCQDsBwEFBXh0bklkAwkAAQIFByRtYXRjaDACBUFzc2V0BAVhc3NldAUHJG1hdGNoMAkAaQIJAGUCCAUFYXNzZXQIcXVhbnRpdHkJAPAHAgkBB0FkZHJlc3MBARoBV3AEYqZHm+mtVmiUy++FjDCCICiaCBSWsgUFeHRuSWQFAmQ2CQACAQIQQ2FuJ3QgZmluZCBhc3NldAUDbmlsAWkBBWdyb3cxAAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECHGFjY2VzcyBvbmx5IGJ5IHByb2plY3Qgb3duZXIEBXN3ZXN0CQD8BwQJAQdBZGRyZXNzAQUGcG9vbExQAhRnZW5lcmF0ZVdpdGhPbmVUb2tlbgkAzAgCBQpwb29sU3RyaW5nBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBndlc3RJZAkA8AcCBQR0aGlzBQZ3ZXN0SWQFA25pbAMJAAACBQVzd2VzdAUFc3dlc3QFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQVncm93MgADCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhxhY2Nlc3Mgb25seSBieSBwcm9qZWN0IG93bmVyBAZzdmlyZXMJAPwHBAkBB0FkZHJlc3MBBQZwb29sTFACFGdlbmVyYXRlV2l0aE9uZVRva2VuCQDMCAIFCnBvb2xTdHJpbmcFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUHdmlyZXNJZAkA8AcCBQR0aGlzBQd2aXJlc0lkBQNuaWwDCQAAAgUGc3ZpcmVzBQZzdmlyZXMFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQVncm93MwADAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQECIT0CCAUBaQZjYWxsZXIFB2ludm9rZXIHCQACAQIcYWNjZXNzIG9ubHkgYnkgcHJvamVjdCBvd25lcgQEc2VnZwkA/AcECQEHQWRkcmVzcwEFBnBvb2xMUAIUZ2VuZXJhdGVXaXRoT25lVG9rZW4JAMwIAgUKcG9vbFN0cmluZwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQVlZ2dJZAkA8AcCBQR0aGlzBQVlZ2dJZAUDbmlsAwkAAAIFBHNlZ2cFBHNlZ2cFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQVncm93NAADCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhxhY2Nlc3Mgb25seSBieSBwcm9qZWN0IG93bmVyBAVzbnNidAkA/AcECQEHQWRkcmVzcwEFBnBvb2xMUAIUZ2VuZXJhdGVXaXRoT25lVG9rZW4JAMwIAgUKcG9vbFN0cmluZwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQZuc2J0SWQJAPAHAgUEdGhpcwUGbnNidElkBQNuaWwDCQAAAgUFc25zYnQFBXNuc2J0BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEFZ3JvdzUAAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIcYWNjZXNzIG9ubHkgYnkgcHJvamVjdCBvd25lcgQJc3dhcHdhdmVzCQD8BwQJAQdBZGRyZXNzAQUGcG9vbExQAhRnZW5lcmF0ZVdpdGhPbmVUb2tlbgkAzAgCBQpwb29sU3RyaW5nBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBHVuaXQDCQBmAgkAZQIICQDvBwEFBHRoaXMJYXZhaWxhYmxlBQJkOAAACQBlAggJAO8HAQUEdGhpcwlhdmFpbGFibGUFAmQ4AAAFA25pbAMJAAACBQlzd2Fwd2F2ZXMFCXN3YXB3YXZlcwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBBWdyb3c2AAMDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAQIhPQIIBQFpBmNhbGxlcgUHaW52b2tlcgcJAAIBAhxhY2Nlc3Mgb25seSBieSBwcm9qZWN0IG93bmVyBAdzdGFrZVBaCQD8BwQJAQdBZGRyZXNzAQEaAVeFnSww1fwDPmHFrd6Sv8UqkfOZrhpBQAoCDXN0YWtlSW5kZXhGb3IJAMwIAgkApQgBBQR0aGlzBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFCXB6QnVybnh0bgkA8AcCBQR0aGlzBQlwekJ1cm54dG4FA25pbAMJAAACBQdzdGFrZVBaBQdzdGFrZVBaBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4A/ANNMQ==", "height": 4080692, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 676Bf7QvuNKqGwb3wGvsXbLy43Hkh7EX6hPKAU2qKdFf Next: A6aR88VBC5wucwHY6pxeG57YoL2yUrre7WXVpCVvX3qZ Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-func tryGetInteger (address,key) = match getInteger(address, key) {
5- case b: Int =>
6- b
7- case _ =>
8- 0
9-}
10-
11-
124 let d6 = 1000000
135
146 let d8 = 100000000
157
8+let invoker = Address(base58'3P4AdC9J6MzTEi2LL9xgQN8EimMnbk4d6Nt')
9+
1610 let poolId = base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'
1711
1812 let poolString = toBase58String(poolId)
19-
20-let pool2 = base58'3PQHndCUVrv3wBuQjbvVP9SnGmfbfitGxfx'
21-
22-let poolMega = base58'3PBiMQLnX8wd4bssXCgF8KuUqHv1H4zWHGi'
23-
24-let poolBBB = base58'3P9VPwVfNj3dDevQZt1Z951A4K57cmQmCgk'
2513
2614 let poolLP = base58'3PQoBfUKHkJAeGWhooLP7WS8ovb54av9Jp2'
2715
3119
3220 let burnxtnId = base58'3SjxA2YLdfF9fTRbzLm9xFn27C6MW34W1YsdJ6Axefns'
3321
34-let burnxtnString = toBase58String(burnxtnId)
35-
3622 let westId = base58'4LHHvYGNKJUg5hj65aGD5vgScvCBmLpdRFtjokvCjSL8'
3723
3824 let viresId = base58'DSbbhLsSTeDg5Lsiufk2Aneh3DjVqJuPr2M9uU1gwy5p'
3925
4026 let eggId = base58'C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS'
4127
42-let surfId = base58'At8D6NFFpheCbvKVnjVoeLL84Eo8NZn6ovManxfLaFWL'
43-
4428 let nsbtId = base58'6nSpVyNH7yM69eg446wrQR94ipbbcmZMU1ENPwanC97g'
4529
46-let wxId = base58'Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on'
47-
48-let swopId = base58'Ehie5xYpeN8op1Cctc6aGUrqx8jq3jtf1DSjXDbfm7aT'
49-
50-let wavesId = base58'WAVES'
51-
52-let usdterc = base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi'
53-
54-let usdcerc = base58'HGgabTqUS8WtVFUJzfmrTDMgEccJuZLBPhFgQFxvnsoW'
55-
56-let usdtbsc = base58'A81p1LTRyoq2rDR2TNxB2dWYxsiNwCSSi8sXef2SEkwb'
57-
58-let usdcbsc = base58'4BKKSp6NoNcrFHyorZogDyctq1fq6w7114Ym1pw6HUtC'
59-
6030 let swaves = base58'YiNbofFzC17jEHHCMwrRcpy9MrrjabMMLZxg8g5xmf7'
61-
62-let puzzle = base58'HEB8Qaw9xrWpWs8tHsiATYGBWDBtP2S7kcPALrMu43AS'
63-
64-let whirlpool = base58'73tY3E6Gd5AWYmsuq8m8Kek7KnJNAYyS3GoveTbc6jCi'
65-
66-let rome = base58'AP4Cb5xLYGH6ZigHreCZHoXpQTWDkPsG2BHqfDUx6taJ'
6731
6832 let SWAVES_stake = Address(base58'3PDPzZVLhN1EuzGy4xAxjjTVkawKDLEaHiV')
6933
10367
10468 let burnxtnwavesprice = fraction(d8, wavesInWX, burnxtnInWX)
10569
106-let burnxtnbalance2 = assetBalance(Address(pool2), burnxtnId)
107-
108-let usdbalance = ((((assetBalance(Address(pool2), usdterc) + assetBalance(Address(pool2), usdcerc)) + assetBalance(Address(pool2), usdtbsc)) + assetBalance(Address(pool2), usdcbsc)) / 4)
109-
110-let burnxtnusdprice = fraction(d8, usdbalance, burnxtnbalance2)
111-
112-let ATH = if ((burnxtnwavesprice > getIntegerValue("ATH in wavelets")))
113- then burnxtnwavesprice
114- else getIntegerValue(this, "ATH in wavelets")
115-
116-let ATHusd = if ((burnxtnusdprice > getIntegerValue("ATH in centlets")))
117- then burnxtnusdprice
118- else getIntegerValue(this, "ATH in centlets")
119-
120-let wavesinpool = getIntegerValue(Address(poolId), (("global_" + toBase58String(wavesId)) + "_balance"))
121-
122-let projectstake = getIntegerValue(Address(poolId), ("3PAucbbumdUXmhzcR421zGiayphEdo2tRoz" + "_indexStaked"))
123-
124-let totalstake = getIntegerValue(Address(poolId), "global_poolToken_amount")
125-
126-let tvlinwaves = fraction(fraction(wavesinpool, projectstake, totalstake), 9, d8)
127-
128-let tvlpool = fraction(wavesinpool, 9, d8)
129-
130-let pricegrowth = ((fraction(d8, burnxtnwavesprice, getIntegerValue(this, "intial price BURN-XTN in wavelets")) - d8) / 1000000)
131-
13270 @Callable(i)
13371 func FirstInvoke () = if ((i.caller != this))
13472 then throw("access only by project owner")
13977 let claimInv = invoke(Address(base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'), "claimIndexRewards", nil, nil)
14078 if ((claimInv == claimInv))
14179 then {
142- let grow = if ((burnxtnwavesprice >= getIntegerValue(this, "ATH in wavelets")))
143- then invoke(this, "grow", nil, nil)
80+ let pump = if ((getIntegerValue(this, "ATH in wavelets") > burnxtnwavesprice))
81+ then invoke(this, "pump", nil, nil)
14482 else unit
145- if ((grow == grow))
83+ if ((pump == pump))
14684 then {
147- let pump = if ((getIntegerValue(this, "ATH in wavelets") > burnxtnwavesprice))
148- then invoke(this, "pump", nil, nil)
149- else unit
150- if ((pump == pump))
151- then {
152- let dEntry = invoke(this, "dEntry", nil, nil)
153- if ((dEntry == dEntry))
154- then [Burn(burnxtnId, assetBalance(this, burnxtnId))]
155- else throw("Strict value is not equal to itself.")
156- }
85+ let dEntry = invoke(this, "dEntry", nil, nil)
86+ if ((dEntry == dEntry))
87+ then [Burn(burnxtnId, assetBalance(this, burnxtnId))]
15788 else throw("Strict value is not equal to itself.")
15889 }
15990 else throw("Strict value is not equal to itself.")
206137
207138
208139 @Callable(i)
209-func grow3 () = if ((i.caller != this))
140+func grow3 () = if (if ((i.caller != this))
141+ then (i.caller != invoker)
142+ else false)
210143 then throw("access only by project owner")
211144 else {
212145 let segg = invoke(Address(poolLP), "generateWithOneToken", [poolString], [AttachedPayment(eggId, assetBalance(this, eggId))])
244177
245178
246179 @Callable(i)
247-func grow6 () = if ((i.caller != this))
180+func grow6 () = if (if ((i.caller != this))
181+ then (i.caller != invoker)
182+ else false)
248183 then throw("access only by project owner")
249184 else {
250185 let stakePZ = invoke(Address(base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'), "stakeIndexFor", [toString(this)], [AttachedPayment(pzBurnxtn, assetBalance(this, pzBurnxtn))])
254189 }
255190
256191
257-
258-@Callable(i)
259-func pump () = if ((i.caller != this))
260- then throw("access only by project owner")
261- else {
262- let swest = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(westId, assetBalance(this, westId))])
263- if ((swest == swest))
264- then {
265- let svires = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(viresId, assetBalance(this, viresId))])
266- if ((svires == svires))
267- then {
268- let segg = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(eggId, assetBalance(this, eggId))])
269- if ((segg == segg))
270- then {
271- let snsbt = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(nsbtId, assetBalance(this, nsbtId))])
272- if ((snsbt == snsbt))
273- then {
274- let swapwaves = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(unit, if (((wavesBalance(this).available - d8) > 0))
275- then (wavesBalance(this).available - d8)
276- else 0)])
277- if ((swapwaves == swapwaves))
278- then nil
279- else throw("Strict value is not equal to itself.")
280- }
281- else throw("Strict value is not equal to itself.")
282- }
283- else throw("Strict value is not equal to itself.")
284- }
285- else throw("Strict value is not equal to itself.")
286- }
287- else throw("Strict value is not equal to itself.")
288- }
289-
290-
291-
292-@Callable(i)
293-func dEntry () = if ((i.caller != this))
294- then throw("access only by project owner")
295- else [IntegerEntry("BURN-XTN / WAVES price in wavelets", burnxtnwavesprice), IntegerEntry("Price growth %", pricegrowth), IntegerEntry("ATH in wavelets", ATH), IntegerEntry("BURN-XTN / USD price in centlets", burnxtnusdprice), IntegerEntry("ATH in centlets", ATHusd), IntegerEntry("TVL project in WAVES excluding BURN-XTN", tvlinwaves), IntegerEntry("TVL pool in WAVES excluding BURN-XTN", tvlpool), IntegerEntry("Activated blockheight", height), IntegerEntry("BURN-XTN supply", match assetInfo(burnxtnId) {
296- case asset: Asset =>
297- (asset.quantity / d8)
298- case _ =>
299- throw("Can't find asset")
300- }), IntegerEntry("BURN-XTN total burned", (1000000000 - match assetInfo(burnxtnId) {
301- case asset: Asset =>
302- (asset.quantity / d8)
303- case _ =>
304- throw("Can't find asset")
305- })), IntegerEntry("SURF supply", match assetInfo(surfId) {
306- case asset: Asset =>
307- (asset.quantity / d6)
308- case _ =>
309- throw("Can't find asset")
310- })]
311-
312-
313-
314-@Callable(i)
315-func secondInvoke () = if ((i.caller != this))
316- then throw("access only by project owner")
317- else {
318- let wavesBalanceBefore = wavesBalance(this).available
319- if ((wavesBalanceBefore == wavesBalanceBefore))
320- then {
321- let burnxtnBalanceBefore = assetBalance(this, burnxtnId)
322- if ((burnxtnBalanceBefore == burnxtnBalanceBefore))
323- then {
324- let stakeSurf = invoke(Address(base58'3P4DK5VzDwL3vfc5ahUEhtoe5ByZNyacJ3X'), "supply", nil, [AttachedPayment(surfId, assetBalance(this, surfId))])
325- if ((stakeSurf == stakeSurf))
326- then {
327- let swapSwop = invoke(Address(poolMega), "swap", [toBase58String(puzzle), 0], [AttachedPayment(swopId, assetBalance(this, swopId))])
328- if ((swapSwop == swapSwop))
329- then {
330- let poolOneTokenInv = invoke(Address(base58'3PR1Qvi9mHT35SwWEkLSqqE2L8thiPLdVWU'), "generateIndexWithOneTokenAndStake", [toBase58String(poolBBB)], [AttachedPayment(puzzle, assetBalance(this, puzzle))])
331- if ((poolOneTokenInv == poolOneTokenInv))
332- then {
333- let swapWhirl = invoke(Address(poolBBB), "swap", [toBase58String(burnxtnId), 0], [AttachedPayment(whirlpool, assetBalance(this, whirlpool))])
334- if ((swapWhirl == swapWhirl))
335- then {
336- let swapRome = invoke(Address(poolBBB), "swap", [toBase58String(burnxtnId), 0], [AttachedPayment(rome, assetBalance(this, rome))])
337- if ((swapRome == swapRome))
338- then {
339- let burnxtnDifference = (assetBalance(this, burnxtnId) - burnxtnBalanceBefore)
340- let swapBurnxtn = invoke(Address(poolId), "swap", [toBase58String(surfId), 0], [AttachedPayment(burnxtnId, burnxtnDifference)])
341- if ((swapBurnxtn == swapBurnxtn))
342- then {
343- let wavesDifference = (wavesBalance(this).available - wavesBalanceBefore)
344- let swapWaves = invoke(Address(poolId), "swap", [toBase58String(surfId), 0], [AttachedPayment(unit, wavesDifference)])
345- if ((swapWaves == swapWaves))
346- then {
347- let surfBurnAmount = assetBalance(this, surfId)
348- let surfBurn = Burn(surfId, surfBurnAmount)
349-[surfBurn, IntegerEntry("SURF total burned", (tryGetInteger(this, "SURF total burned") + surfBurnAmount))]
350- }
351- else throw("Strict value is not equal to itself.")
352- }
353- else throw("Strict value is not equal to itself.")
354- }
355- else throw("Strict value is not equal to itself.")
356- }
357- else throw("Strict value is not equal to itself.")
358- }
359- else throw("Strict value is not equal to itself.")
360- }
361- else throw("Strict value is not equal to itself.")
362- }
363- else throw("Strict value is not equal to itself.")
364- }
365- else throw("Strict value is not equal to itself.")
366- }
367- else throw("Strict value is not equal to itself.")
368- }
369-
370-
371-
372-@Callable(i)
373-func PumpByAnybody () = if (((getIntegerValue(this, "Activated blockheight") + (8 * 1440)) > height))
374- then throw(("Wait till blockheight:" + toString((getIntegerValue(this, "Activated blockheight") + (8 * 1440)))))
375- else {
376- let claimInv = invoke(Address(base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'), "claimIndexRewards", nil, nil)
377- if ((claimInv == claimInv))
378- then {
379- let swest = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(westId, assetBalance(this, westId))])
380- if ((swest == swest))
381- then {
382- let svires = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(viresId, assetBalance(this, viresId))])
383- if ((svires == svires))
384- then {
385- let segg = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(eggId, assetBalance(this, eggId))])
386- if ((segg == segg))
387- then {
388- let ssurf = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(surfId, assetBalance(this, surfId))])
389- if ((ssurf == ssurf))
390- then {
391- let snsbt = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(nsbtId, assetBalance(this, nsbtId))])
392- if ((snsbt == snsbt))
393- then {
394- let swx = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(wxId, assetBalance(this, wxId))])
395- if ((swx == swx))
396- then {
397- let sswop = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(swopId, assetBalance(this, swopId))])
398- if ((sswop == sswop))
399- then {
400- let swapwaves = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(unit, if (((wavesBalance(this).available - d8) > 0))
401- then (wavesBalance(this).available - d8)
402- else 0)])
403- if ((swapwaves == swapwaves))
404- then {
405- let xtnburnamount = assetBalance(this, xtnId)
406- let xtnBurn = Burn(xtnId, xtnburnamount)
407- let burnxtnBurn = Burn(burnxtnId, assetBalance(this, burnxtnId))
408-[xtnBurn, burnxtnBurn, IntegerEntry("BURN-XTN supply", match assetInfo(burnxtnId) {
409- case asset: Asset =>
410- (asset.quantity / d8)
411- case _ =>
412- throw("Can't find asset")
413- }), IntegerEntry("BURN-XTN total burned", (1000000000 - match assetInfo(burnxtnId) {
414- case asset: Asset =>
415- (asset.quantity / d8)
416- case _ =>
417- throw("Can't find asset")
418- })), IntegerEntry("XTN total burned", (getIntegerValue(this, "XTN total burned") + xtnburnamount))]
419- }
420- else throw("Strict value is not equal to itself.")
421- }
422- else throw("Strict value is not equal to itself.")
423- }
424- else throw("Strict value is not equal to itself.")
425- }
426- else throw("Strict value is not equal to itself.")
427- }
428- else throw("Strict value is not equal to itself.")
429- }
430- else throw("Strict value is not equal to itself.")
431- }
432- else throw("Strict value is not equal to itself.")
433- }
434- else throw("Strict value is not equal to itself.")
435- }
436- else throw("Strict value is not equal to itself.")
437- }
438-
439-
440-
441-@Callable(i)
442-func withdraw () = if ((i.caller != Address(base58'3P4AdC9J6MzTEi2LL9xgQN8EimMnbk4d6Nt')))
443- then throw("no access")
444- else {
445- let withdraw = invoke(Address(base58'3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk'), "withdrawVestedAllUSDN", [false, true], nil)
446- if ((withdraw == withdraw))
447- then nil
448- else throw("Strict value is not equal to itself.")
449- }
450-
451-
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-func tryGetInteger (address,key) = match getInteger(address, key) {
5- case b: Int =>
6- b
7- case _ =>
8- 0
9-}
10-
11-
124 let d6 = 1000000
135
146 let d8 = 100000000
157
8+let invoker = Address(base58'3P4AdC9J6MzTEi2LL9xgQN8EimMnbk4d6Nt')
9+
1610 let poolId = base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'
1711
1812 let poolString = toBase58String(poolId)
19-
20-let pool2 = base58'3PQHndCUVrv3wBuQjbvVP9SnGmfbfitGxfx'
21-
22-let poolMega = base58'3PBiMQLnX8wd4bssXCgF8KuUqHv1H4zWHGi'
23-
24-let poolBBB = base58'3P9VPwVfNj3dDevQZt1Z951A4K57cmQmCgk'
2513
2614 let poolLP = base58'3PQoBfUKHkJAeGWhooLP7WS8ovb54av9Jp2'
2715
2816 let pzBurnxtn = base58'GdrDHazRGcCYeCgDEZzLpsZ3E7jmrxYB7EDUiGfiVAr1'
2917
3018 let xtnId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
3119
3220 let burnxtnId = base58'3SjxA2YLdfF9fTRbzLm9xFn27C6MW34W1YsdJ6Axefns'
3321
34-let burnxtnString = toBase58String(burnxtnId)
35-
3622 let westId = base58'4LHHvYGNKJUg5hj65aGD5vgScvCBmLpdRFtjokvCjSL8'
3723
3824 let viresId = base58'DSbbhLsSTeDg5Lsiufk2Aneh3DjVqJuPr2M9uU1gwy5p'
3925
4026 let eggId = base58'C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS'
4127
42-let surfId = base58'At8D6NFFpheCbvKVnjVoeLL84Eo8NZn6ovManxfLaFWL'
43-
4428 let nsbtId = base58'6nSpVyNH7yM69eg446wrQR94ipbbcmZMU1ENPwanC97g'
4529
46-let wxId = base58'Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on'
47-
48-let swopId = base58'Ehie5xYpeN8op1Cctc6aGUrqx8jq3jtf1DSjXDbfm7aT'
49-
50-let wavesId = base58'WAVES'
51-
52-let usdterc = base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi'
53-
54-let usdcerc = base58'HGgabTqUS8WtVFUJzfmrTDMgEccJuZLBPhFgQFxvnsoW'
55-
56-let usdtbsc = base58'A81p1LTRyoq2rDR2TNxB2dWYxsiNwCSSi8sXef2SEkwb'
57-
58-let usdcbsc = base58'4BKKSp6NoNcrFHyorZogDyctq1fq6w7114Ym1pw6HUtC'
59-
6030 let swaves = base58'YiNbofFzC17jEHHCMwrRcpy9MrrjabMMLZxg8g5xmf7'
61-
62-let puzzle = base58'HEB8Qaw9xrWpWs8tHsiATYGBWDBtP2S7kcPALrMu43AS'
63-
64-let whirlpool = base58'73tY3E6Gd5AWYmsuq8m8Kek7KnJNAYyS3GoveTbc6jCi'
65-
66-let rome = base58'AP4Cb5xLYGH6ZigHreCZHoXpQTWDkPsG2BHqfDUx6taJ'
6731
6832 let SWAVES_stake = Address(base58'3PDPzZVLhN1EuzGy4xAxjjTVkawKDLEaHiV')
6933
7034 func _loadInt (key_,default_) = match getInteger(SWAVES_stake, key_) {
7135 case a: Int =>
7236 a
7337 case _ =>
7438 default_
7539 }
7640
7741
7842 func _loadBigInt (key_,default_) = match getBinary(SWAVES_stake, key_) {
7943 case a: ByteVector =>
8044 toBigInt(a)
8145 case _ =>
8246 default_
8347 }
8448
8549
8650 let WX_BURNXTN_WAVES = Address(base58'3P5vwLbXddLWpsRspftMxLuzfsjk3dLT3n5')
8751
8852 let lastRate = _loadBigInt("LAST_RATE", toBigInt(1000000000000))
8953
9054 let currentRate = _loadBigInt("CURRENT_RATE", toBigInt(0))
9155
9256 let lastHeight = _loadInt("LAST_HEIGHT", 0)
9357
9458 let targetHeight = min([_loadInt("TARGET_HEIGHT", 0), height])
9559
9660 let lastRateUpdated = (lastRate + (currentRate * toBigInt((targetHeight - lastHeight))))
9761
9862 let baseAmount = toInt(fraction(toBigInt(assetBalance(WX_BURNXTN_WAVES, swaves)), lastRateUpdated, toBigInt(1000000000000), FLOOR))
9963
10064 let wavesInWX = (wavesBalance(WX_BURNXTN_WAVES).regular + baseAmount)
10165
10266 let burnxtnInWX = assetBalance(WX_BURNXTN_WAVES, burnxtnId)
10367
10468 let burnxtnwavesprice = fraction(d8, wavesInWX, burnxtnInWX)
10569
106-let burnxtnbalance2 = assetBalance(Address(pool2), burnxtnId)
107-
108-let usdbalance = ((((assetBalance(Address(pool2), usdterc) + assetBalance(Address(pool2), usdcerc)) + assetBalance(Address(pool2), usdtbsc)) + assetBalance(Address(pool2), usdcbsc)) / 4)
109-
110-let burnxtnusdprice = fraction(d8, usdbalance, burnxtnbalance2)
111-
112-let ATH = if ((burnxtnwavesprice > getIntegerValue("ATH in wavelets")))
113- then burnxtnwavesprice
114- else getIntegerValue(this, "ATH in wavelets")
115-
116-let ATHusd = if ((burnxtnusdprice > getIntegerValue("ATH in centlets")))
117- then burnxtnusdprice
118- else getIntegerValue(this, "ATH in centlets")
119-
120-let wavesinpool = getIntegerValue(Address(poolId), (("global_" + toBase58String(wavesId)) + "_balance"))
121-
122-let projectstake = getIntegerValue(Address(poolId), ("3PAucbbumdUXmhzcR421zGiayphEdo2tRoz" + "_indexStaked"))
123-
124-let totalstake = getIntegerValue(Address(poolId), "global_poolToken_amount")
125-
126-let tvlinwaves = fraction(fraction(wavesinpool, projectstake, totalstake), 9, d8)
127-
128-let tvlpool = fraction(wavesinpool, 9, d8)
129-
130-let pricegrowth = ((fraction(d8, burnxtnwavesprice, getIntegerValue(this, "intial price BURN-XTN in wavelets")) - d8) / 1000000)
131-
13270 @Callable(i)
13371 func FirstInvoke () = if ((i.caller != this))
13472 then throw("access only by project owner")
13573 else {
13674 let b = invoke(this, "burnXTN", nil, nil)
13775 if ((b == b))
13876 then {
13977 let claimInv = invoke(Address(base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'), "claimIndexRewards", nil, nil)
14078 if ((claimInv == claimInv))
14179 then {
142- let grow = if ((burnxtnwavesprice >= getIntegerValue(this, "ATH in wavelets")))
143- then invoke(this, "grow", nil, nil)
80+ let pump = if ((getIntegerValue(this, "ATH in wavelets") > burnxtnwavesprice))
81+ then invoke(this, "pump", nil, nil)
14482 else unit
145- if ((grow == grow))
83+ if ((pump == pump))
14684 then {
147- let pump = if ((getIntegerValue(this, "ATH in wavelets") > burnxtnwavesprice))
148- then invoke(this, "pump", nil, nil)
149- else unit
150- if ((pump == pump))
151- then {
152- let dEntry = invoke(this, "dEntry", nil, nil)
153- if ((dEntry == dEntry))
154- then [Burn(burnxtnId, assetBalance(this, burnxtnId))]
155- else throw("Strict value is not equal to itself.")
156- }
85+ let dEntry = invoke(this, "dEntry", nil, nil)
86+ if ((dEntry == dEntry))
87+ then [Burn(burnxtnId, assetBalance(this, burnxtnId))]
15788 else throw("Strict value is not equal to itself.")
15889 }
15990 else throw("Strict value is not equal to itself.")
16091 }
16192 else throw("Strict value is not equal to itself.")
16293 }
16394 else throw("Strict value is not equal to itself.")
16495 }
16596
16697
16798
16899 @Callable(i)
169100 func burnXTN () = if ((i.caller != this))
170101 then throw("access only by project owner")
171102 else {
172103 let xtnburnamount = assetBalance(this, xtnId)
173104 let xtnBurn = Burn(xtnId, xtnburnamount)
174105 [xtnBurn, IntegerEntry("XTN total burned", (getIntegerValue(this, "XTN total burned") + xtnburnamount)), IntegerEntry("XTN supply", match assetInfo(xtnId) {
175106 case asset: Asset =>
176107 ((asset.quantity - assetBalance(Address(base58'3PC9BfRwJWWiw9AREE2B3eWzCks3CYtg4yo'), xtnId)) / d6)
177108 case _ =>
178109 throw("Can't find asset")
179110 })]
180111 }
181112
182113
183114
184115 @Callable(i)
185116 func grow1 () = if ((i.caller != this))
186117 then throw("access only by project owner")
187118 else {
188119 let swest = invoke(Address(poolLP), "generateWithOneToken", [poolString], [AttachedPayment(westId, assetBalance(this, westId))])
189120 if ((swest == swest))
190121 then nil
191122 else throw("Strict value is not equal to itself.")
192123 }
193124
194125
195126
196127 @Callable(i)
197128 func grow2 () = if ((i.caller != this))
198129 then throw("access only by project owner")
199130 else {
200131 let svires = invoke(Address(poolLP), "generateWithOneToken", [poolString], [AttachedPayment(viresId, assetBalance(this, viresId))])
201132 if ((svires == svires))
202133 then nil
203134 else throw("Strict value is not equal to itself.")
204135 }
205136
206137
207138
208139 @Callable(i)
209-func grow3 () = if ((i.caller != this))
140+func grow3 () = if (if ((i.caller != this))
141+ then (i.caller != invoker)
142+ else false)
210143 then throw("access only by project owner")
211144 else {
212145 let segg = invoke(Address(poolLP), "generateWithOneToken", [poolString], [AttachedPayment(eggId, assetBalance(this, eggId))])
213146 if ((segg == segg))
214147 then nil
215148 else throw("Strict value is not equal to itself.")
216149 }
217150
218151
219152
220153 @Callable(i)
221154 func grow4 () = if ((i.caller != this))
222155 then throw("access only by project owner")
223156 else {
224157 let snsbt = invoke(Address(poolLP), "generateWithOneToken", [poolString], [AttachedPayment(nsbtId, assetBalance(this, nsbtId))])
225158 if ((snsbt == snsbt))
226159 then nil
227160 else throw("Strict value is not equal to itself.")
228161 }
229162
230163
231164
232165 @Callable(i)
233166 func grow5 () = if ((i.caller != this))
234167 then throw("access only by project owner")
235168 else {
236169 let swapwaves = invoke(Address(poolLP), "generateWithOneToken", [poolString], [AttachedPayment(unit, if (((wavesBalance(this).available - d8) > 0))
237170 then (wavesBalance(this).available - d8)
238171 else 0)])
239172 if ((swapwaves == swapwaves))
240173 then nil
241174 else throw("Strict value is not equal to itself.")
242175 }
243176
244177
245178
246179 @Callable(i)
247-func grow6 () = if ((i.caller != this))
180+func grow6 () = if (if ((i.caller != this))
181+ then (i.caller != invoker)
182+ else false)
248183 then throw("access only by project owner")
249184 else {
250185 let stakePZ = invoke(Address(base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'), "stakeIndexFor", [toString(this)], [AttachedPayment(pzBurnxtn, assetBalance(this, pzBurnxtn))])
251186 if ((stakePZ == stakePZ))
252187 then nil
253188 else throw("Strict value is not equal to itself.")
254189 }
255190
256191
257-
258-@Callable(i)
259-func pump () = if ((i.caller != this))
260- then throw("access only by project owner")
261- else {
262- let swest = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(westId, assetBalance(this, westId))])
263- if ((swest == swest))
264- then {
265- let svires = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(viresId, assetBalance(this, viresId))])
266- if ((svires == svires))
267- then {
268- let segg = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(eggId, assetBalance(this, eggId))])
269- if ((segg == segg))
270- then {
271- let snsbt = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(nsbtId, assetBalance(this, nsbtId))])
272- if ((snsbt == snsbt))
273- then {
274- let swapwaves = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(unit, if (((wavesBalance(this).available - d8) > 0))
275- then (wavesBalance(this).available - d8)
276- else 0)])
277- if ((swapwaves == swapwaves))
278- then nil
279- else throw("Strict value is not equal to itself.")
280- }
281- else throw("Strict value is not equal to itself.")
282- }
283- else throw("Strict value is not equal to itself.")
284- }
285- else throw("Strict value is not equal to itself.")
286- }
287- else throw("Strict value is not equal to itself.")
288- }
289-
290-
291-
292-@Callable(i)
293-func dEntry () = if ((i.caller != this))
294- then throw("access only by project owner")
295- else [IntegerEntry("BURN-XTN / WAVES price in wavelets", burnxtnwavesprice), IntegerEntry("Price growth %", pricegrowth), IntegerEntry("ATH in wavelets", ATH), IntegerEntry("BURN-XTN / USD price in centlets", burnxtnusdprice), IntegerEntry("ATH in centlets", ATHusd), IntegerEntry("TVL project in WAVES excluding BURN-XTN", tvlinwaves), IntegerEntry("TVL pool in WAVES excluding BURN-XTN", tvlpool), IntegerEntry("Activated blockheight", height), IntegerEntry("BURN-XTN supply", match assetInfo(burnxtnId) {
296- case asset: Asset =>
297- (asset.quantity / d8)
298- case _ =>
299- throw("Can't find asset")
300- }), IntegerEntry("BURN-XTN total burned", (1000000000 - match assetInfo(burnxtnId) {
301- case asset: Asset =>
302- (asset.quantity / d8)
303- case _ =>
304- throw("Can't find asset")
305- })), IntegerEntry("SURF supply", match assetInfo(surfId) {
306- case asset: Asset =>
307- (asset.quantity / d6)
308- case _ =>
309- throw("Can't find asset")
310- })]
311-
312-
313-
314-@Callable(i)
315-func secondInvoke () = if ((i.caller != this))
316- then throw("access only by project owner")
317- else {
318- let wavesBalanceBefore = wavesBalance(this).available
319- if ((wavesBalanceBefore == wavesBalanceBefore))
320- then {
321- let burnxtnBalanceBefore = assetBalance(this, burnxtnId)
322- if ((burnxtnBalanceBefore == burnxtnBalanceBefore))
323- then {
324- let stakeSurf = invoke(Address(base58'3P4DK5VzDwL3vfc5ahUEhtoe5ByZNyacJ3X'), "supply", nil, [AttachedPayment(surfId, assetBalance(this, surfId))])
325- if ((stakeSurf == stakeSurf))
326- then {
327- let swapSwop = invoke(Address(poolMega), "swap", [toBase58String(puzzle), 0], [AttachedPayment(swopId, assetBalance(this, swopId))])
328- if ((swapSwop == swapSwop))
329- then {
330- let poolOneTokenInv = invoke(Address(base58'3PR1Qvi9mHT35SwWEkLSqqE2L8thiPLdVWU'), "generateIndexWithOneTokenAndStake", [toBase58String(poolBBB)], [AttachedPayment(puzzle, assetBalance(this, puzzle))])
331- if ((poolOneTokenInv == poolOneTokenInv))
332- then {
333- let swapWhirl = invoke(Address(poolBBB), "swap", [toBase58String(burnxtnId), 0], [AttachedPayment(whirlpool, assetBalance(this, whirlpool))])
334- if ((swapWhirl == swapWhirl))
335- then {
336- let swapRome = invoke(Address(poolBBB), "swap", [toBase58String(burnxtnId), 0], [AttachedPayment(rome, assetBalance(this, rome))])
337- if ((swapRome == swapRome))
338- then {
339- let burnxtnDifference = (assetBalance(this, burnxtnId) - burnxtnBalanceBefore)
340- let swapBurnxtn = invoke(Address(poolId), "swap", [toBase58String(surfId), 0], [AttachedPayment(burnxtnId, burnxtnDifference)])
341- if ((swapBurnxtn == swapBurnxtn))
342- then {
343- let wavesDifference = (wavesBalance(this).available - wavesBalanceBefore)
344- let swapWaves = invoke(Address(poolId), "swap", [toBase58String(surfId), 0], [AttachedPayment(unit, wavesDifference)])
345- if ((swapWaves == swapWaves))
346- then {
347- let surfBurnAmount = assetBalance(this, surfId)
348- let surfBurn = Burn(surfId, surfBurnAmount)
349-[surfBurn, IntegerEntry("SURF total burned", (tryGetInteger(this, "SURF total burned") + surfBurnAmount))]
350- }
351- else throw("Strict value is not equal to itself.")
352- }
353- else throw("Strict value is not equal to itself.")
354- }
355- else throw("Strict value is not equal to itself.")
356- }
357- else throw("Strict value is not equal to itself.")
358- }
359- else throw("Strict value is not equal to itself.")
360- }
361- else throw("Strict value is not equal to itself.")
362- }
363- else throw("Strict value is not equal to itself.")
364- }
365- else throw("Strict value is not equal to itself.")
366- }
367- else throw("Strict value is not equal to itself.")
368- }
369-
370-
371-
372-@Callable(i)
373-func PumpByAnybody () = if (((getIntegerValue(this, "Activated blockheight") + (8 * 1440)) > height))
374- then throw(("Wait till blockheight:" + toString((getIntegerValue(this, "Activated blockheight") + (8 * 1440)))))
375- else {
376- let claimInv = invoke(Address(base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'), "claimIndexRewards", nil, nil)
377- if ((claimInv == claimInv))
378- then {
379- let swest = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(westId, assetBalance(this, westId))])
380- if ((swest == swest))
381- then {
382- let svires = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(viresId, assetBalance(this, viresId))])
383- if ((svires == svires))
384- then {
385- let segg = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(eggId, assetBalance(this, eggId))])
386- if ((segg == segg))
387- then {
388- let ssurf = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(surfId, assetBalance(this, surfId))])
389- if ((ssurf == ssurf))
390- then {
391- let snsbt = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(nsbtId, assetBalance(this, nsbtId))])
392- if ((snsbt == snsbt))
393- then {
394- let swx = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(wxId, assetBalance(this, wxId))])
395- if ((swx == swx))
396- then {
397- let sswop = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(swopId, assetBalance(this, swopId))])
398- if ((sswop == sswop))
399- then {
400- let swapwaves = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(unit, if (((wavesBalance(this).available - d8) > 0))
401- then (wavesBalance(this).available - d8)
402- else 0)])
403- if ((swapwaves == swapwaves))
404- then {
405- let xtnburnamount = assetBalance(this, xtnId)
406- let xtnBurn = Burn(xtnId, xtnburnamount)
407- let burnxtnBurn = Burn(burnxtnId, assetBalance(this, burnxtnId))
408-[xtnBurn, burnxtnBurn, IntegerEntry("BURN-XTN supply", match assetInfo(burnxtnId) {
409- case asset: Asset =>
410- (asset.quantity / d8)
411- case _ =>
412- throw("Can't find asset")
413- }), IntegerEntry("BURN-XTN total burned", (1000000000 - match assetInfo(burnxtnId) {
414- case asset: Asset =>
415- (asset.quantity / d8)
416- case _ =>
417- throw("Can't find asset")
418- })), IntegerEntry("XTN total burned", (getIntegerValue(this, "XTN total burned") + xtnburnamount))]
419- }
420- else throw("Strict value is not equal to itself.")
421- }
422- else throw("Strict value is not equal to itself.")
423- }
424- else throw("Strict value is not equal to itself.")
425- }
426- else throw("Strict value is not equal to itself.")
427- }
428- else throw("Strict value is not equal to itself.")
429- }
430- else throw("Strict value is not equal to itself.")
431- }
432- else throw("Strict value is not equal to itself.")
433- }
434- else throw("Strict value is not equal to itself.")
435- }
436- else throw("Strict value is not equal to itself.")
437- }
438-
439-
440-
441-@Callable(i)
442-func withdraw () = if ((i.caller != Address(base58'3P4AdC9J6MzTEi2LL9xgQN8EimMnbk4d6Nt')))
443- then throw("no access")
444- else {
445- let withdraw = invoke(Address(base58'3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk'), "withdrawVestedAllUSDN", [false, true], nil)
446- if ((withdraw == withdraw))
447- then nil
448- else throw("Strict value is not equal to itself.")
449- }
450-
451-

github/deemru/w8io/6500d08 
69.67 ms