tx · 9DRZPFsZ7GfcZvAzBQoLRTk3Q3YHDf6Zs4dSiYu6o5dw

3P4AdC9J6MzTEi2LL9xgQN8EimMnbk4d6Nt:  -0.00700000 Waves

2024.03.26 11:36 [4100698] smart account 3P4AdC9J6MzTEi2LL9xgQN8EimMnbk4d6Nt > SELF 0.00000000 Waves

{ "type": 13, "id": "9DRZPFsZ7GfcZvAzBQoLRTk3Q3YHDf6Zs4dSiYu6o5dw", "fee": 700000, "feeAssetId": null, "timestamp": 1711442182840, "version": 2, "chainId": 87, "sender": "3P4AdC9J6MzTEi2LL9xgQN8EimMnbk4d6Nt", "senderPublicKey": "33BMe2b9KpjJyCQXAKa3DKHqSBjB7q2mEJoiP17cRLAN", "proofs": [ "2ruBAXmXUKVmJQ5SS9LmstzHHNWNMyXr8muf27uPJBxCUeEeQrP1xWJXkBBJjY7LxvJieEHYgcCwUh6w9VDT2qxE" ], "script": "base64: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ss0CCHdpdGhkcmF3BQNuaWwFA25pbAMJAAACBQRpbnY0BQRpbnY0BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEIc2VsZWN0b3IAAwMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkBAiE9AggFAWkGY2FsbGVyBQpzdGFibGVzd2FwBwkAAgECCW5vIGFjY2VzcwQFaW52MDADCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAAACQD8BwQFCHByb2plY3RCAg9idXJuWFROYW5kQ2xhaW0FA25pbAUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgUNa2V5SW52b2tlTmV4dAABBQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAABCQD8BwQFCHByb2plY3RCAg5TVVJGYW5kVlZYVE5MUAUDbmlsBQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAABCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ1rZXlJbnZva2VOZXh0AwkAZwIFEWJ1cm54dG53YXZlc3ByaWNlCQERQGV4dHJOYXRpdmUoMTA1MCkCBQhwcm9qZWN0QgIPQVRIIGluIHdhdmVsZXRzAAoAFAUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQACgkA/AcEBQhwcm9qZWN0QgILYnVybkJVUk5YVE4FA25pbAUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQACgkAzAgCCQEMSW50ZWdlckVudHJ5AgUNa2V5SW52b2tlTmV4dAALBQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAALCQD8BwQFCHByb2plY3RCAgVncm93MQUDbmlsBQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAALCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ1rZXlJbnZva2VOZXh0AAwFA25pbAMJAAACCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzBQ1rZXlJbnZva2VOZXh0AAwJAPwHBAUIcHJvamVjdEICBWdyb3cyBQNuaWwFA25pbAMJAAACCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzBQ1rZXlJbnZva2VOZXh0AAwJAMwIAgkBDEludGVnZXJFbnRyeQIFDWtleUludm9rZU5leHQADQUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQADQkA/AcEBQhwcm9qZWN0QgIFZ3JvdzMFA25pbAUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQADQkAzAgCCQEMSW50ZWdlckVudHJ5AgUNa2V5SW52b2tlTmV4dAAOBQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAAOCQD8BwQFCHByb2plY3RCAgVncm93NAUDbmlsBQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAAOCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ1rZXlJbnZva2VOZXh0AA8FA25pbAMJAAACCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzBQ1rZXlJbnZva2VOZXh0AA8JAPwHBAUIcHJvamVjdEICBWdyb3c1BQNuaWwFA25pbAMJAAACCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzBQ1rZXlJbnZva2VOZXh0AA8JAMwIAgkBDEludGVnZXJFbnRyeQIFDWtleUludm9rZU5leHQAEAUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQAEAkA/AcEBQhwcm9qZWN0QgIFZ3JvdzYFA25pbAUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQAEAkAzAgCCQEMSW50ZWdlckVudHJ5AgUNa2V5SW52b2tlTmV4dAAeBQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAAUCQD8BwQFCHByb2plY3RCAgRwdW1wBQNuaWwFA25pbAMJAAACCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzBQ1rZXlJbnZva2VOZXh0ABQJAMwIAgkBDEludGVnZXJFbnRyeQIFDWtleUludm9rZU5leHQAHgUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQAHgkA/AcEBQhwcm9qZWN0QgIFUFpiYmIFA25pbAUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQAHgkAzAgCCQEMSW50ZWdlckVudHJ5AgUNa2V5SW52b2tlTmV4dAAfBQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAAfCQD8BwQFCHByb2plY3RCAghjbGFpbUJCQgUDbmlsBQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAAfCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ1rZXlJbnZva2VOZXh0ACAFA25pbAMJAAACCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzBQ1rZXlJbnZva2VOZXh0ACAJAPwHBAUIcHJvamVjdEICCGJ1cm5TVVJGBQNuaWwFA25pbAMJAAACCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzBQ1rZXlJbnZva2VOZXh0ACAJAMwIAgkBDEludGVnZXJFbnRyeQIFDWtleUludm9rZU5leHQAIQUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQAIQkA/AcEBQhwcm9qZWN0QgILcHV6emxlUFpiYmIFA25pbAUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQAIQkAzAgCCQEMSW50ZWdlckVudHJ5AgUNa2V5SW52b2tlTmV4dAAoBQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAAiCQD8BwQFCHByb2plY3RCAgpzdGFrZVBaYmJiBQNuaWwFA25pbAMJAAACCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzBQ1rZXlJbnZva2VOZXh0ACIJAMwIAgkBDEludGVnZXJFbnRyeQIFDWtleUludm9rZU5leHQAIwUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQAKAkA/AcEBQhwcm9qZWN0QgIGZEVudHJ5BQNuaWwFA25pbAMJAAACCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzBQ1rZXlJbnZva2VOZXh0ACgJAMwIAgkBDEludGVnZXJFbnRyeQIFDWtleUludm9rZU5leHQAMgUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQAMgkA/AcEBQdyZXdhcmRzAgxjbGFpbVJld2FyZHMFA25pbAUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQAMgkAzAgCCQEMSW50ZWdlckVudHJ5AgUNa2V5SW52b2tlTmV4dAAzBQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAAzCQD8BwQFB3Jld2FyZHMCDnNoaWxsZXJSZXdhcmRzBQNuaWwFA25pbAMJAAACCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzBQ1rZXlJbnZva2VOZXh0ADMJAMwIAgkBDEludGVnZXJFbnRyeQIFDWtleUludm9rZU5leHQANAUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQANAkA/AcEBQdyZXdhcmRzAgxhZG1pblJld2FyZHMFA25pbAUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQANAkAzAgCCQEMSW50ZWdlckVudHJ5AgUNa2V5SW52b2tlTmV4dAA8BQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAA8CQD8BwQFBmJvdW50eQISdXBkYXRlQmFsYW5jZUVudHJ5BQNuaWwFA25pbAMJAAACCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzBQ1rZXlJbnZva2VOZXh0ADwJAMwIAgkBDEludGVnZXJFbnRyeQIFDWtleUludm9rZU5leHQAPQUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQAPQkA/AcEBQZib3VudHkCBWNsYWltBQNuaWwFA25pbAMJAAACCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzBQ1rZXlJbnZva2VOZXh0AD0JAMwIAgkBDEludGVnZXJFbnRyeQIFDWtleUludm9rZU5leHQAPgUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQAPgkA/AcEBQZib3VudHkCBHN3YXAFA25pbAUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQAPgkAzAgCCQEMSW50ZWdlckVudHJ5AgUNa2V5SW52b2tlTmV4dAA/BQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAA/CQD8BwQFBmJvdW50eQIPdG90YWxCYWxhbmNlQWxsBQNuaWwFA25pbAMJAAACCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzBQ1rZXlJbnZva2VOZXh0AD8JAMwIAgkBDEludGVnZXJFbnRyeQIFDWtleUludm9rZU5leHQAQAUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQAQAkA/AcEBQZib3VudHkCCnBheVJld2FyZHMFA25pbAUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQAQAkAzAgCCQEMSW50ZWdlckVudHJ5AgUNa2V5SW52b2tlTmV4dABGBQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dABGCQD8BwQFCFVTRENkYXBwAgljbGFpbUFsbCAJAMwIAgkApQgBBQR0aGlzBQNuaWwFA25pbAMJAAACCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzBQ1rZXlJbnZva2VOZXh0AEYJAPwHBAUIVVNEVGRhcHACCWNsYWltQWxsIAkAzAgCCQClCAEFBHRoaXMFA25pbAUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQARgkAzAgCCQEMSW50ZWdlckVudHJ5AgUNa2V5SW52b2tlTmV4dAAABQNuaWwFBHVuaXQDCQAAAgUFaW52MDAFBWludjAwBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQELY2hhbmdlRW50cnkBCkludm9rZU5leHQDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhxhY2Nlc3Mgb25seSBieSBwcm9qZWN0IG93bmVyCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ1rZXlJbnZva2VOZXh0BQpJbnZva2VOZXh0BQNuaWwADsrOpA==", "height": 4100698, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: svqG5bkjW2fiqCx7VqUZftKrb3SLcs2GmCBrCgi2fQJ Next: 4ZHp9CBbVZH7xRhC8AwCGsRzfgLQYiZYT3kwSf8o8ffK Diff:
OldNewDifferences
1111
1212 let bounty = Address(base58'3PJXxPS9FxZsSLyP9gA47dSLwMinoFyfYFC')
1313
14+let stableswap = Address(base58'3PCxF4JryswYYp9mpUtE725wjTgvpBmp3M9')
15+
16+let USDTdapp = Address(base58'3PQtT2o7g8HmcZLGodx4L7YDe7ngb26wjYk')
17+
18+let USDCdapp = Address(base58'3PLrr8LpfYjUadnEQ1ov61uMWHdMopUCNAm')
19+
1420 let vvxtnlp = base58'8KEtor9aSsSj38MknyAE7k1uRThHY9prAXgiE4D7WpyL'
1521
1622 let swaves = base58'YiNbofFzC17jEHHCMwrRcpy9MrrjabMMLZxg8g5xmf7'
1723
1824 let burnxtnId = base58'3SjxA2YLdfF9fTRbzLm9xFn27C6MW34W1YsdJ6Axefns'
19-
20-let USDTdapp = Address(base58'3PQtT2o7g8HmcZLGodx4L7YDe7ngb26wjYk')
21-
22-let USDCdapp = Address(base58'3PLrr8LpfYjUadnEQ1ov61uMWHdMopUCNAm')
23-
24-let zeroBigInt = toBigInt(0)
25-
26-let big0 = toBigInt(0)
27-
28-let big1 = toBigInt(1)
29-
30-let big2 = toBigInt(2)
31-
32-let big3 = toBigInt(3)
33-
34-let big4 = toBigInt(4)
35-
36-let wavesString = "WAVES"
37-
38-let Amult = "100"
39-
40-func assetIdToString (input) = if ((input == unit))
41- then wavesString
42- else toBase58String(value(input))
43-
44-
45-func absBigInt (val) = if ((zeroBigInt > val))
46- then -(val)
47- else val
48-
49-
50-let amId = "3ayH3PhWMkhFsySsUVcC8BvFf1QyxGB5BZuTPyVtmP4v"
51-
52-let prId = "G5WWWzzVsWRyzGf32xojbnfp7gXbWrgqJT8RcVWEfLmC"
53-
54-let A = "2000"
55-
56-let fee = 1
57-
58-let feeScale = 10000
59-
60-func getAccBalance (assetId) = if ((assetId == amId))
61- then (assetBalance(this, fromBase58String(assetId)) + getIntegerValue(USDCdapp, ("USER_LP__" + toString(this))))
62- else (assetBalance(this, fromBase58String(assetId)) + getIntegerValue(USDTdapp, ("USER_LP__" + toString(this))))
63-
64-
65-func parseAssetId (input) = if ((input == wavesString))
66- then unit
67- else fromBase58String(input)
68-
69-
70-func getD (xp) = {
71- let xp0 = xp[0]
72- let xp1 = xp[1]
73- let s = (xp0 + xp1)
74- if ((s == big0))
75- then big0
76- else {
77- let a = parseIntValue(A)
78- let ann = (a * 2)
79- let p = fraction(xp0, xp1, big1)
80- let xp0_xp1_n_n = fraction(p, big4, big1)
81- let ann_s = fraction(toBigInt(ann), s, big1)
82- let ann_1 = toBigInt((ann - 1))
83- func calcDNext (d) = {
84- let dd = fraction(d, d, big1)
85- let ddd = fraction(dd, d, big1)
86- let dp = fraction(ddd, big1, xp0_xp1_n_n)
87- fraction((ann_s + fraction(dp, big2, big1)), d, (fraction(ann_1, d, big1) + fraction(big3, dp, big1)))
88- }
89-
90- func calc (acc,i) = if (acc._2)
91- then acc
92- else {
93- let d = acc._1
94- let dNext = calcDNext(d)
95- let dDiffRaw = (dNext - value(d))
96- let dDiff = if ((big0 > dDiffRaw))
97- then -(dDiffRaw)
98- else dDiffRaw
99- if ((big1 >= dDiff))
100- then $Tuple2(dNext, true)
101- else $Tuple2(dNext, false)
102- }
103-
104- let arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
105- let $t034793527 = {
106- let $l = arr
107- let $s = size($l)
108- let $acc0 = $Tuple2(s, false)
109- func $f0_1 ($a,$i) = if (($i >= $s))
110- then $a
111- else calc($a, $l[$i])
112-
113- func $f0_2 ($a,$i) = if (($i >= $s))
114- then $a
115- else throw("List size exceeds 17")
116-
117- $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17)
118- }
119- let d = $t034793527._1
120- let found = $t034793527._2
121- if (found)
122- then d
123- else throw(("D calculation error, D = " + toString(d)))
124- }
125- }
126-
127-
128-func getY (isReverse,D,poolAmountInBalance) = {
129- let n = big2
130- let aPrecision = parseBigIntValue(Amult)
131- let a = (parseBigIntValue(A) * aPrecision)
132- let xp = if ((isReverse == false))
133- then [(toBigInt(getAccBalance(amId)) + poolAmountInBalance), toBigInt(getAccBalance(prId))]
134- else [(toBigInt(getAccBalance(prId)) + poolAmountInBalance), toBigInt(getAccBalance(amId))]
135- let x = xp[0]
136- let s = x
137- let ann = (a * n)
138- let c = (((((D * D) / (x * n)) * D) * aPrecision) / (ann * n))
139- let b = ((s + ((D * aPrecision) / ann)) - D)
140- func calc (acc,cur) = {
141- let $t051255145 = acc
142- let y = $t051255145._1
143- let found = $t051255145._2
144- if ((found != unit))
145- then acc
146- else {
147- let yNext = (((y * y) + c) / ((big2 * y) + b))
148- let yDiff = absBigInt((yNext - value(y)))
149- if ((big1 >= yDiff))
150- then $Tuple2(yNext, cur)
151- else $Tuple2(yNext, unit)
152- }
153- }
154-
155- let arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
156- let $t054765523 = {
157- let $l = arr
158- let $s = size($l)
159- let $acc0 = $Tuple2(D, unit)
160- func $f0_1 ($a,$i) = if (($i >= $s))
161- then $a
162- else calc($a, $l[$i])
163-
164- func $f0_2 ($a,$i) = if (($i >= $s))
165- then $a
166- else throw("List size exceeds 15")
167-
168- $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
169- }
170- let y = $t054765523._1
171- let found = $t054765523._2
172- if ((found != unit))
173- then y
174- else throw(("Y calculation error, Y = " + toString(y)))
175- }
176-
17725
17826 let SWAVES_stake = Address(base58'3PDPzZVLhN1EuzGy4xAxjjTVkawKDLEaHiV')
17927
21361
21462 let burnxtnwavesprice = fraction(d8, wavesInWX, burnxtnInWX)
21563
216-func isShutdown () = match getBoolean(this, "is_shutdown") {
217- case x: Boolean =>
218- x
219- case _ =>
220- false
221-}
222-
223-
224-@Callable(i)
225-func shutdown (shutdown) = if ((i.caller == this))
226- then [BooleanEntry("is_shutdown", shutdown)]
227- else throw("admin only")
228-
229-
230-
231-@Callable(i)
232-func swap (amountOutMin,AssetOut) = if (if ((isShutdown() == true))
233- then (i.caller != Address(base58'3PEtLVxDT8mxAh1SDAn8m7JTGNkdpkaFxBk'))
234- else false)
235- then throw("contract is shutdown")
236- else {
237- let pmt = value(i.payments[0])
238- let amountIn = value(i.payments[0].amount)
239- let feePoolAmount = fraction(amountIn, fee, feeScale)
240- let cleanAmountIn = (amountIn - feePoolAmount)
241- let assetIn = assetIdToString(pmt.assetId)
242- let isReverse = if ((assetIn == amId))
243- then false
244- else true
245- let $t075647944 = if ((isReverse == false))
246- then {
247- let assetOut = prId
248- let poolAmountInBalance = (toBigInt(getAccBalance(amId)) + toBigInt(cleanAmountIn))
249- $Tuple2(assetOut, poolAmountInBalance)
250- }
251- else {
252- let assetOut = amId
253- let poolAmountInBalance = (toBigInt(getAccBalance(prId)) + toBigInt(cleanAmountIn))
254- $Tuple2(assetOut, poolAmountInBalance)
255- }
256- let assetOut = $t075647944._1
257- let poolAmountInBalance = $t075647944._2
258- let xp = if ((isReverse == false))
259- then [(toBigInt(getAccBalance(amId)) - toBigInt(value(i.payments[0]).amount)), toBigInt(getAccBalance(prId))]
260- else [toBigInt(getAccBalance(amId)), (toBigInt(getAccBalance(prId)) - toBigInt(value(i.payments[0]).amount))]
261- let D = getD(xp)
262- let y = getY(isReverse, D, toBigInt(0))
263- let dy = ((toBigInt(getAccBalance(AssetOut)) - y) - toBigInt(1))
264- let totalGetRaw = max([0, toInt(dy)])
265- let checkMin = if ((totalGetRaw >= amountOutMin))
266- then true
267- else throw("Exchange result is fewer coins than expected")
268- if ((checkMin == checkMin))
269- then {
270- let newXp = if ((isReverse == false))
271- then [(toBigInt(getAccBalance(amId)) + toBigInt(feePoolAmount)), (toBigInt(getAccBalance(prId)) - dy)]
272- else [(toBigInt(getAccBalance(amId)) - dy), (toBigInt(getAccBalance(prId)) + toBigInt(feePoolAmount))]
273- let newD = getD(newXp)
274- let checkD = if ((newD >= D))
275- then true
276- else throw("new D is fewer error")
277- if ((checkD == checkD))
278- then {
279- let unstake = if ((AssetOut == amId))
280- then invoke(USDCdapp, "unstake", [totalGetRaw], nil)
281- else invoke(USDTdapp, "unstake", [totalGetRaw], nil)
282- if ((unstake == unstake))
283- then {
284- let stake = if ((AssetOut == amId))
285- then invoke(USDTdapp, "stake", nil, [AttachedPayment(fromBase58String(prId), assetBalance(this, fromBase58String(prId)))])
286- else invoke(USDCdapp, "stake", nil, [AttachedPayment(fromBase58String(amId), assetBalance(this, fromBase58String(amId)))])
287- if ((stake == stake))
288- then {
289- let selector = invoke(this, "selector", nil, nil)
290- if ((selector == selector))
291- then [ScriptTransfer(i.caller, totalGetRaw, parseAssetId(assetOut))]
292- else throw("Strict value is not equal to itself.")
293- }
294- else throw("Strict value is not equal to itself.")
295- }
296- else throw("Strict value is not equal to itself.")
297- }
298- else throw("Strict value is not equal to itself.")
299- }
300- else throw("Strict value is not equal to itself.")
301- }
302-
303-
304-
30564 @Callable(i)
30665 func invoker () = {
30766 let inv1 = invoke(Address(base58'3PAucbbumdUXmhzcR421zGiayphEdo2tRoz'), "withdraw", nil, nil)
33089
33190
33291 @Callable(i)
333-func selector () = if ((i.caller != this))
92+func selector () = if (if ((i.caller != this))
93+ then (i.caller != stableswap)
94+ else false)
33495 then throw("no access")
33596 else {
33697 let inv00 = if ((getIntegerValue(this, keyInvokeNext) == 0))
340101 else if ((getIntegerValue(this, keyInvokeNext) == 1))
341102 then invoke(projectB, "SURFandVVXTNLP", nil, nil)
342103 else if ((getIntegerValue(this, keyInvokeNext) == 1))
343- then [IntegerEntry(keyInvokeNext, if ((burnxtnwavesprice >= getIntegerValue(this, "ATH in wavelets")))
104+ then [IntegerEntry(keyInvokeNext, if ((burnxtnwavesprice >= getIntegerValue(projectB, "ATH in wavelets")))
344105 then 10
345106 else 20)]
346107 else if ((getIntegerValue(this, keyInvokeNext) == 10))
386147 else if ((getIntegerValue(this, keyInvokeNext) == 32))
387148 then invoke(projectB, "burnSURF", nil, nil)
388149 else if ((getIntegerValue(this, keyInvokeNext) == 32))
389- then [IntegerEntry(keyInvokeNext, 40)]
150+ then [IntegerEntry(keyInvokeNext, 33)]
390151 else if ((getIntegerValue(this, keyInvokeNext) == 33))
391152 then invoke(projectB, "puzzlePZbbb", nil, nil)
392153 else if ((getIntegerValue(this, keyInvokeNext) == 33))
393- then [IntegerEntry(keyInvokeNext, 34)]
154+ then [IntegerEntry(keyInvokeNext, 40)]
394155 else if ((getIntegerValue(this, keyInvokeNext) == 34))
395156 then invoke(projectB, "stakePZbbb", nil, nil)
396157 else if ((getIntegerValue(this, keyInvokeNext) == 34))
431192 then invoke(bounty, "payRewards", nil, nil)
432193 else if ((getIntegerValue(this, keyInvokeNext) == 64))
433194 then [IntegerEntry(keyInvokeNext, 70)]
434- else unit
195+ else if ((getIntegerValue(this, keyInvokeNext) == 70))
196+ then invoke(USDCdapp, "claimAll ", [toString(this)], nil)
197+ else if ((getIntegerValue(this, keyInvokeNext) == 70))
198+ then invoke(USDTdapp, "claimAll ", [toString(this)], nil)
199+ else if ((getIntegerValue(this, keyInvokeNext) == 70))
200+ then [IntegerEntry(keyInvokeNext, 0)]
201+ else unit
435202 if ((inv00 == inv00))
436203 then nil
437204 else throw("Strict value is not equal to itself.")
438205 }
439-
440-
441-
442-@Callable(i)
443-func balance_info () = [IntegerEntry("USDC", getAccBalance(amId)), IntegerEntry("USDT", getAccBalance(prId)), IntegerEntry("USD total", (getAccBalance(amId) + getAccBalance(prId)))]
444206
445207
446208
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let keyInvokeNext = "invoke next"
55
66 let d8 = 100000000
77
88 let projectB = Address(base58'3PCBL2vbjAVFbiCwmGsPmT6QdATutQnM8ov')
99
1010 let rewards = Address(base58'3P6H24XKLyRX8RKwyA5ARsChE6WhjDcVBiZ')
1111
1212 let bounty = Address(base58'3PJXxPS9FxZsSLyP9gA47dSLwMinoFyfYFC')
1313
14+let stableswap = Address(base58'3PCxF4JryswYYp9mpUtE725wjTgvpBmp3M9')
15+
16+let USDTdapp = Address(base58'3PQtT2o7g8HmcZLGodx4L7YDe7ngb26wjYk')
17+
18+let USDCdapp = Address(base58'3PLrr8LpfYjUadnEQ1ov61uMWHdMopUCNAm')
19+
1420 let vvxtnlp = base58'8KEtor9aSsSj38MknyAE7k1uRThHY9prAXgiE4D7WpyL'
1521
1622 let swaves = base58'YiNbofFzC17jEHHCMwrRcpy9MrrjabMMLZxg8g5xmf7'
1723
1824 let burnxtnId = base58'3SjxA2YLdfF9fTRbzLm9xFn27C6MW34W1YsdJ6Axefns'
19-
20-let USDTdapp = Address(base58'3PQtT2o7g8HmcZLGodx4L7YDe7ngb26wjYk')
21-
22-let USDCdapp = Address(base58'3PLrr8LpfYjUadnEQ1ov61uMWHdMopUCNAm')
23-
24-let zeroBigInt = toBigInt(0)
25-
26-let big0 = toBigInt(0)
27-
28-let big1 = toBigInt(1)
29-
30-let big2 = toBigInt(2)
31-
32-let big3 = toBigInt(3)
33-
34-let big4 = toBigInt(4)
35-
36-let wavesString = "WAVES"
37-
38-let Amult = "100"
39-
40-func assetIdToString (input) = if ((input == unit))
41- then wavesString
42- else toBase58String(value(input))
43-
44-
45-func absBigInt (val) = if ((zeroBigInt > val))
46- then -(val)
47- else val
48-
49-
50-let amId = "3ayH3PhWMkhFsySsUVcC8BvFf1QyxGB5BZuTPyVtmP4v"
51-
52-let prId = "G5WWWzzVsWRyzGf32xojbnfp7gXbWrgqJT8RcVWEfLmC"
53-
54-let A = "2000"
55-
56-let fee = 1
57-
58-let feeScale = 10000
59-
60-func getAccBalance (assetId) = if ((assetId == amId))
61- then (assetBalance(this, fromBase58String(assetId)) + getIntegerValue(USDCdapp, ("USER_LP__" + toString(this))))
62- else (assetBalance(this, fromBase58String(assetId)) + getIntegerValue(USDTdapp, ("USER_LP__" + toString(this))))
63-
64-
65-func parseAssetId (input) = if ((input == wavesString))
66- then unit
67- else fromBase58String(input)
68-
69-
70-func getD (xp) = {
71- let xp0 = xp[0]
72- let xp1 = xp[1]
73- let s = (xp0 + xp1)
74- if ((s == big0))
75- then big0
76- else {
77- let a = parseIntValue(A)
78- let ann = (a * 2)
79- let p = fraction(xp0, xp1, big1)
80- let xp0_xp1_n_n = fraction(p, big4, big1)
81- let ann_s = fraction(toBigInt(ann), s, big1)
82- let ann_1 = toBigInt((ann - 1))
83- func calcDNext (d) = {
84- let dd = fraction(d, d, big1)
85- let ddd = fraction(dd, d, big1)
86- let dp = fraction(ddd, big1, xp0_xp1_n_n)
87- fraction((ann_s + fraction(dp, big2, big1)), d, (fraction(ann_1, d, big1) + fraction(big3, dp, big1)))
88- }
89-
90- func calc (acc,i) = if (acc._2)
91- then acc
92- else {
93- let d = acc._1
94- let dNext = calcDNext(d)
95- let dDiffRaw = (dNext - value(d))
96- let dDiff = if ((big0 > dDiffRaw))
97- then -(dDiffRaw)
98- else dDiffRaw
99- if ((big1 >= dDiff))
100- then $Tuple2(dNext, true)
101- else $Tuple2(dNext, false)
102- }
103-
104- let arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
105- let $t034793527 = {
106- let $l = arr
107- let $s = size($l)
108- let $acc0 = $Tuple2(s, false)
109- func $f0_1 ($a,$i) = if (($i >= $s))
110- then $a
111- else calc($a, $l[$i])
112-
113- func $f0_2 ($a,$i) = if (($i >= $s))
114- then $a
115- else throw("List size exceeds 17")
116-
117- $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17)
118- }
119- let d = $t034793527._1
120- let found = $t034793527._2
121- if (found)
122- then d
123- else throw(("D calculation error, D = " + toString(d)))
124- }
125- }
126-
127-
128-func getY (isReverse,D,poolAmountInBalance) = {
129- let n = big2
130- let aPrecision = parseBigIntValue(Amult)
131- let a = (parseBigIntValue(A) * aPrecision)
132- let xp = if ((isReverse == false))
133- then [(toBigInt(getAccBalance(amId)) + poolAmountInBalance), toBigInt(getAccBalance(prId))]
134- else [(toBigInt(getAccBalance(prId)) + poolAmountInBalance), toBigInt(getAccBalance(amId))]
135- let x = xp[0]
136- let s = x
137- let ann = (a * n)
138- let c = (((((D * D) / (x * n)) * D) * aPrecision) / (ann * n))
139- let b = ((s + ((D * aPrecision) / ann)) - D)
140- func calc (acc,cur) = {
141- let $t051255145 = acc
142- let y = $t051255145._1
143- let found = $t051255145._2
144- if ((found != unit))
145- then acc
146- else {
147- let yNext = (((y * y) + c) / ((big2 * y) + b))
148- let yDiff = absBigInt((yNext - value(y)))
149- if ((big1 >= yDiff))
150- then $Tuple2(yNext, cur)
151- else $Tuple2(yNext, unit)
152- }
153- }
154-
155- let arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
156- let $t054765523 = {
157- let $l = arr
158- let $s = size($l)
159- let $acc0 = $Tuple2(D, unit)
160- func $f0_1 ($a,$i) = if (($i >= $s))
161- then $a
162- else calc($a, $l[$i])
163-
164- func $f0_2 ($a,$i) = if (($i >= $s))
165- then $a
166- else throw("List size exceeds 15")
167-
168- $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
169- }
170- let y = $t054765523._1
171- let found = $t054765523._2
172- if ((found != unit))
173- then y
174- else throw(("Y calculation error, Y = " + toString(y)))
175- }
176-
17725
17826 let SWAVES_stake = Address(base58'3PDPzZVLhN1EuzGy4xAxjjTVkawKDLEaHiV')
17927
18028 func _loadInt (key_,default_) = match getInteger(SWAVES_stake, key_) {
18129 case a: Int =>
18230 a
18331 case _ =>
18432 default_
18533 }
18634
18735
18836 func _loadBigInt (key_,default_) = match getBinary(SWAVES_stake, key_) {
18937 case a: ByteVector =>
19038 toBigInt(a)
19139 case _ =>
19240 default_
19341 }
19442
19543
19644 let WX_BURNXTN_WAVES = Address(base58'3P5vwLbXddLWpsRspftMxLuzfsjk3dLT3n5')
19745
19846 let lastRate = _loadBigInt("LAST_RATE", toBigInt(1000000000000))
19947
20048 let currentRate = _loadBigInt("CURRENT_RATE", toBigInt(0))
20149
20250 let lastHeight = _loadInt("LAST_HEIGHT", 0)
20351
20452 let targetHeight = min([_loadInt("TARGET_HEIGHT", 0), height])
20553
20654 let lastRateUpdated = (lastRate + (currentRate * toBigInt((targetHeight - lastHeight))))
20755
20856 let baseAmount = toInt(fraction(toBigInt(assetBalance(WX_BURNXTN_WAVES, swaves)), lastRateUpdated, toBigInt(1000000000000), FLOOR))
20957
21058 let wavesInWX = (wavesBalance(WX_BURNXTN_WAVES).regular + baseAmount)
21159
21260 let burnxtnInWX = assetBalance(WX_BURNXTN_WAVES, burnxtnId)
21361
21462 let burnxtnwavesprice = fraction(d8, wavesInWX, burnxtnInWX)
21563
216-func isShutdown () = match getBoolean(this, "is_shutdown") {
217- case x: Boolean =>
218- x
219- case _ =>
220- false
221-}
222-
223-
224-@Callable(i)
225-func shutdown (shutdown) = if ((i.caller == this))
226- then [BooleanEntry("is_shutdown", shutdown)]
227- else throw("admin only")
228-
229-
230-
231-@Callable(i)
232-func swap (amountOutMin,AssetOut) = if (if ((isShutdown() == true))
233- then (i.caller != Address(base58'3PEtLVxDT8mxAh1SDAn8m7JTGNkdpkaFxBk'))
234- else false)
235- then throw("contract is shutdown")
236- else {
237- let pmt = value(i.payments[0])
238- let amountIn = value(i.payments[0].amount)
239- let feePoolAmount = fraction(amountIn, fee, feeScale)
240- let cleanAmountIn = (amountIn - feePoolAmount)
241- let assetIn = assetIdToString(pmt.assetId)
242- let isReverse = if ((assetIn == amId))
243- then false
244- else true
245- let $t075647944 = if ((isReverse == false))
246- then {
247- let assetOut = prId
248- let poolAmountInBalance = (toBigInt(getAccBalance(amId)) + toBigInt(cleanAmountIn))
249- $Tuple2(assetOut, poolAmountInBalance)
250- }
251- else {
252- let assetOut = amId
253- let poolAmountInBalance = (toBigInt(getAccBalance(prId)) + toBigInt(cleanAmountIn))
254- $Tuple2(assetOut, poolAmountInBalance)
255- }
256- let assetOut = $t075647944._1
257- let poolAmountInBalance = $t075647944._2
258- let xp = if ((isReverse == false))
259- then [(toBigInt(getAccBalance(amId)) - toBigInt(value(i.payments[0]).amount)), toBigInt(getAccBalance(prId))]
260- else [toBigInt(getAccBalance(amId)), (toBigInt(getAccBalance(prId)) - toBigInt(value(i.payments[0]).amount))]
261- let D = getD(xp)
262- let y = getY(isReverse, D, toBigInt(0))
263- let dy = ((toBigInt(getAccBalance(AssetOut)) - y) - toBigInt(1))
264- let totalGetRaw = max([0, toInt(dy)])
265- let checkMin = if ((totalGetRaw >= amountOutMin))
266- then true
267- else throw("Exchange result is fewer coins than expected")
268- if ((checkMin == checkMin))
269- then {
270- let newXp = if ((isReverse == false))
271- then [(toBigInt(getAccBalance(amId)) + toBigInt(feePoolAmount)), (toBigInt(getAccBalance(prId)) - dy)]
272- else [(toBigInt(getAccBalance(amId)) - dy), (toBigInt(getAccBalance(prId)) + toBigInt(feePoolAmount))]
273- let newD = getD(newXp)
274- let checkD = if ((newD >= D))
275- then true
276- else throw("new D is fewer error")
277- if ((checkD == checkD))
278- then {
279- let unstake = if ((AssetOut == amId))
280- then invoke(USDCdapp, "unstake", [totalGetRaw], nil)
281- else invoke(USDTdapp, "unstake", [totalGetRaw], nil)
282- if ((unstake == unstake))
283- then {
284- let stake = if ((AssetOut == amId))
285- then invoke(USDTdapp, "stake", nil, [AttachedPayment(fromBase58String(prId), assetBalance(this, fromBase58String(prId)))])
286- else invoke(USDCdapp, "stake", nil, [AttachedPayment(fromBase58String(amId), assetBalance(this, fromBase58String(amId)))])
287- if ((stake == stake))
288- then {
289- let selector = invoke(this, "selector", nil, nil)
290- if ((selector == selector))
291- then [ScriptTransfer(i.caller, totalGetRaw, parseAssetId(assetOut))]
292- else throw("Strict value is not equal to itself.")
293- }
294- else throw("Strict value is not equal to itself.")
295- }
296- else throw("Strict value is not equal to itself.")
297- }
298- else throw("Strict value is not equal to itself.")
299- }
300- else throw("Strict value is not equal to itself.")
301- }
302-
303-
304-
30564 @Callable(i)
30665 func invoker () = {
30766 let inv1 = invoke(Address(base58'3PAucbbumdUXmhzcR421zGiayphEdo2tRoz'), "withdraw", nil, nil)
30867 if ((inv1 == inv1))
30968 then {
31069 let inv2 = if ((50 > assetBalance(Address(base58'3PAucbbumdUXmhzcR421zGiayphEdo2tRoz'), vvxtnlp)))
31170 then invoke(Address(base58'3PAkmJniMgnnAej5pYf2jFYkCbZow5pt9tr'), "withdraw", nil, nil)
31271 else invoke(Address(base58'3PAucbbumdUXmhzcR421zGiayphEdo2tRoz'), "importVVXTNLP", nil, nil)
31372 if ((inv2 == inv2))
31473 then {
31574 let inv3 = invoke(Address(base58'3PPCzX2doZ7agBNuGSKqjrbdXgGEtE7CpQ3'), "withdraw", nil, nil)
31675 if ((inv3 == inv3))
31776 then {
31877 let inv4 = invoke(Address(base58'3PHLhWPrs1mrpM1ZDUv1VmUnZRwchADJELc'), "withdraw", nil, nil)
31978 if ((inv4 == inv4))
32079 then nil
32180 else throw("Strict value is not equal to itself.")
32281 }
32382 else throw("Strict value is not equal to itself.")
32483 }
32584 else throw("Strict value is not equal to itself.")
32685 }
32786 else throw("Strict value is not equal to itself.")
32887 }
32988
33089
33190
33291 @Callable(i)
333-func selector () = if ((i.caller != this))
92+func selector () = if (if ((i.caller != this))
93+ then (i.caller != stableswap)
94+ else false)
33495 then throw("no access")
33596 else {
33697 let inv00 = if ((getIntegerValue(this, keyInvokeNext) == 0))
33798 then invoke(projectB, "burnXTNandClaim", nil, nil)
33899 else if ((getIntegerValue(this, keyInvokeNext) == 0))
339100 then [IntegerEntry(keyInvokeNext, 1)]
340101 else if ((getIntegerValue(this, keyInvokeNext) == 1))
341102 then invoke(projectB, "SURFandVVXTNLP", nil, nil)
342103 else if ((getIntegerValue(this, keyInvokeNext) == 1))
343- then [IntegerEntry(keyInvokeNext, if ((burnxtnwavesprice >= getIntegerValue(this, "ATH in wavelets")))
104+ then [IntegerEntry(keyInvokeNext, if ((burnxtnwavesprice >= getIntegerValue(projectB, "ATH in wavelets")))
344105 then 10
345106 else 20)]
346107 else if ((getIntegerValue(this, keyInvokeNext) == 10))
347108 then invoke(projectB, "burnBURNXTN", nil, nil)
348109 else if ((getIntegerValue(this, keyInvokeNext) == 10))
349110 then [IntegerEntry(keyInvokeNext, 11)]
350111 else if ((getIntegerValue(this, keyInvokeNext) == 11))
351112 then invoke(projectB, "grow1", nil, nil)
352113 else if ((getIntegerValue(this, keyInvokeNext) == 11))
353114 then [IntegerEntry(keyInvokeNext, 12)]
354115 else if ((getIntegerValue(this, keyInvokeNext) == 12))
355116 then invoke(projectB, "grow2", nil, nil)
356117 else if ((getIntegerValue(this, keyInvokeNext) == 12))
357118 then [IntegerEntry(keyInvokeNext, 13)]
358119 else if ((getIntegerValue(this, keyInvokeNext) == 13))
359120 then invoke(projectB, "grow3", nil, nil)
360121 else if ((getIntegerValue(this, keyInvokeNext) == 13))
361122 then [IntegerEntry(keyInvokeNext, 14)]
362123 else if ((getIntegerValue(this, keyInvokeNext) == 14))
363124 then invoke(projectB, "grow4", nil, nil)
364125 else if ((getIntegerValue(this, keyInvokeNext) == 14))
365126 then [IntegerEntry(keyInvokeNext, 15)]
366127 else if ((getIntegerValue(this, keyInvokeNext) == 15))
367128 then invoke(projectB, "grow5", nil, nil)
368129 else if ((getIntegerValue(this, keyInvokeNext) == 15))
369130 then [IntegerEntry(keyInvokeNext, 16)]
370131 else if ((getIntegerValue(this, keyInvokeNext) == 16))
371132 then invoke(projectB, "grow6", nil, nil)
372133 else if ((getIntegerValue(this, keyInvokeNext) == 16))
373134 then [IntegerEntry(keyInvokeNext, 30)]
374135 else if ((getIntegerValue(this, keyInvokeNext) == 20))
375136 then invoke(projectB, "pump", nil, nil)
376137 else if ((getIntegerValue(this, keyInvokeNext) == 20))
377138 then [IntegerEntry(keyInvokeNext, 30)]
378139 else if ((getIntegerValue(this, keyInvokeNext) == 30))
379140 then invoke(projectB, "PZbbb", nil, nil)
380141 else if ((getIntegerValue(this, keyInvokeNext) == 30))
381142 then [IntegerEntry(keyInvokeNext, 31)]
382143 else if ((getIntegerValue(this, keyInvokeNext) == 31))
383144 then invoke(projectB, "claimBBB", nil, nil)
384145 else if ((getIntegerValue(this, keyInvokeNext) == 31))
385146 then [IntegerEntry(keyInvokeNext, 32)]
386147 else if ((getIntegerValue(this, keyInvokeNext) == 32))
387148 then invoke(projectB, "burnSURF", nil, nil)
388149 else if ((getIntegerValue(this, keyInvokeNext) == 32))
389- then [IntegerEntry(keyInvokeNext, 40)]
150+ then [IntegerEntry(keyInvokeNext, 33)]
390151 else if ((getIntegerValue(this, keyInvokeNext) == 33))
391152 then invoke(projectB, "puzzlePZbbb", nil, nil)
392153 else if ((getIntegerValue(this, keyInvokeNext) == 33))
393- then [IntegerEntry(keyInvokeNext, 34)]
154+ then [IntegerEntry(keyInvokeNext, 40)]
394155 else if ((getIntegerValue(this, keyInvokeNext) == 34))
395156 then invoke(projectB, "stakePZbbb", nil, nil)
396157 else if ((getIntegerValue(this, keyInvokeNext) == 34))
397158 then [IntegerEntry(keyInvokeNext, 35)]
398159 else if ((getIntegerValue(this, keyInvokeNext) == 40))
399160 then invoke(projectB, "dEntry", nil, nil)
400161 else if ((getIntegerValue(this, keyInvokeNext) == 40))
401162 then [IntegerEntry(keyInvokeNext, 50)]
402163 else if ((getIntegerValue(this, keyInvokeNext) == 50))
403164 then invoke(rewards, "claimRewards", nil, nil)
404165 else if ((getIntegerValue(this, keyInvokeNext) == 50))
405166 then [IntegerEntry(keyInvokeNext, 51)]
406167 else if ((getIntegerValue(this, keyInvokeNext) == 51))
407168 then invoke(rewards, "shillerRewards", nil, nil)
408169 else if ((getIntegerValue(this, keyInvokeNext) == 51))
409170 then [IntegerEntry(keyInvokeNext, 52)]
410171 else if ((getIntegerValue(this, keyInvokeNext) == 52))
411172 then invoke(rewards, "adminRewards", nil, nil)
412173 else if ((getIntegerValue(this, keyInvokeNext) == 52))
413174 then [IntegerEntry(keyInvokeNext, 60)]
414175 else if ((getIntegerValue(this, keyInvokeNext) == 60))
415176 then invoke(bounty, "updateBalanceEntry", nil, nil)
416177 else if ((getIntegerValue(this, keyInvokeNext) == 60))
417178 then [IntegerEntry(keyInvokeNext, 61)]
418179 else if ((getIntegerValue(this, keyInvokeNext) == 61))
419180 then invoke(bounty, "claim", nil, nil)
420181 else if ((getIntegerValue(this, keyInvokeNext) == 61))
421182 then [IntegerEntry(keyInvokeNext, 62)]
422183 else if ((getIntegerValue(this, keyInvokeNext) == 62))
423184 then invoke(bounty, "swap", nil, nil)
424185 else if ((getIntegerValue(this, keyInvokeNext) == 62))
425186 then [IntegerEntry(keyInvokeNext, 63)]
426187 else if ((getIntegerValue(this, keyInvokeNext) == 63))
427188 then invoke(bounty, "totalBalanceAll", nil, nil)
428189 else if ((getIntegerValue(this, keyInvokeNext) == 63))
429190 then [IntegerEntry(keyInvokeNext, 64)]
430191 else if ((getIntegerValue(this, keyInvokeNext) == 64))
431192 then invoke(bounty, "payRewards", nil, nil)
432193 else if ((getIntegerValue(this, keyInvokeNext) == 64))
433194 then [IntegerEntry(keyInvokeNext, 70)]
434- else unit
195+ else if ((getIntegerValue(this, keyInvokeNext) == 70))
196+ then invoke(USDCdapp, "claimAll ", [toString(this)], nil)
197+ else if ((getIntegerValue(this, keyInvokeNext) == 70))
198+ then invoke(USDTdapp, "claimAll ", [toString(this)], nil)
199+ else if ((getIntegerValue(this, keyInvokeNext) == 70))
200+ then [IntegerEntry(keyInvokeNext, 0)]
201+ else unit
435202 if ((inv00 == inv00))
436203 then nil
437204 else throw("Strict value is not equal to itself.")
438205 }
439-
440-
441-
442-@Callable(i)
443-func balance_info () = [IntegerEntry("USDC", getAccBalance(amId)), IntegerEntry("USDT", getAccBalance(prId)), IntegerEntry("USD total", (getAccBalance(amId) + getAccBalance(prId)))]
444206
445207
446208
447209 @Callable(i)
448210 func changeEntry (InvokeNext) = if ((i.caller != this))
449211 then throw("access only by project owner")
450212 else [IntegerEntry(keyInvokeNext, InvokeNext)]
451213
452214

github/deemru/w8io/3ef1775 
70.82 ms