tx · EuSSwPKioMX8Tri7W5idNmTQoB5QjGy4qCzFEkLhXtHm

3NBbFNBed9tcU5AmsJAuExWvgJyNmJxqjWq:  -0.01000000 Waves

2023.09.09 23:46 [2748350] smart account 3NBbFNBed9tcU5AmsJAuExWvgJyNmJxqjWq > SELF 0.00000000 Waves

{ "type": 13, "id": "EuSSwPKioMX8Tri7W5idNmTQoB5QjGy4qCzFEkLhXtHm", "fee": 1000000, "feeAssetId": null, "timestamp": 1694292416220, "version": 2, "chainId": 84, "sender": "3NBbFNBed9tcU5AmsJAuExWvgJyNmJxqjWq", "senderPublicKey": "ERewvWFUFQfR1eCnipNAv9n7SdQhof2ESP6PGVjTueLd", "proofs": [ "5XeopnvXDQM6eCGuamZWuaCuTJpWcjxNpyHncwct2BhfdqXcndC87n7KkJVCmA7KjiA6xN8HaXqk68Qgx16vo1LN" ], "script": "base64:BgIJCAISABIDCgEBBwAGdXNkbklkASAP8hwSrOTEPJrsRhqrJaiw7LoHK0bMbYhy8LXikkkBtAAOd2F2ZXMyTFRva2VuSWQBIOTNKeq7wReVNlE2S+RpfYhOUVOtu4YUhfwJjtl3b86xAAxwdXp6bGVMZW5kU0MCIzNOM0RuVmZmblV5WnR6Mk1SYms1VTdnaU4xMTJXZW1wTU5kABBmYWtlUHV6emxlU3dhcFNDAiMzTXM4ZnFiWE00UmhtTTZDUFRyNDRoVXdIZTJDQ21WQ2ZWQQAOdXNkbkFkZHJlc3NTdHICLDI1RkVxRWpSa3FLNnlDa2lUN0x6NlNBWXo3Z1VGQ3R4ZkNDaG5yVkZENUFUAA93YXZlczJMVG9rZW5TdHICLEdROVFOVkxHZllTYk5aNGRTOE5SeXZHR0VMWkw0c1dQS2lWajg4Q1YxckpMAQ10cnlHZXRJbnRlZ2VyAQNrZXkEByRtYXRjaDAJAJoIAgUEdGhpcwUDa2V5AwkAAQIFByRtYXRjaDACA0ludAQBYgUHJG1hdGNoMAUBYgAAAgFpAQltaW50TG9uZzIAAwMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQYJAAACCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAAACQACAQIcMSBwYXltZW50IGhhcyB0byBiZSBhdHRhY2hlZAQNZmlyc3RBbW91bnRJbggJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQECGNhbGxlcklkCQClCAEIBQFpBmNhbGxlcgQXZmlyc3RTd2FwcGVkV2F2ZXNBbW91bnQJAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQUQZmFrZVB1enpsZVN3YXBTQwILc3dhcFRvV2F2ZXMJAMwIAgkApQgBCAUBaQZjYWxsZXIFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUGdXNkbklkBQ1maXJzdEFtb3VudEluBQNuaWwDCQAAAgUXZmlyc3RTd2FwcGVkV2F2ZXNBbW91bnQFF2ZpcnN0U3dhcHBlZFdhdmVzQW1vdW50BAckbWF0Y2gwBRdmaXJzdFN3YXBwZWRXYXZlc0Ftb3VudAMJAAECBQckbWF0Y2gwAgNJbnQEF2ZpcnN0U3dhcHBlZEFtb3VudFZhbHVlBQckbWF0Y2gwBBlmaXJzdERlcG9zaXRlZFdhdmVzQW1vdW50CQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQEFDHB1enpsZUxlbmRTQwIGc3VwcGx5BQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBHVuaXQFF2ZpcnN0U3dhcHBlZEFtb3VudFZhbHVlBQNuaWwDCQAAAgUZZmlyc3REZXBvc2l0ZWRXYXZlc0Ftb3VudAUZZmlyc3REZXBvc2l0ZWRXYXZlc0Ftb3VudAQObGlzdFBlcmNlbnRhZ2UJAMwIAgDwogQJAMwIAgDo/gIJAMwIAgD8iwIJAMwIAgDKuwEJAMwIAgCngwEFA25pbAoBCnJlcGVhdEZ1bmMCBWFjY3VtBG5leHQEDGJvcnJvd2VkVXNkbgkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBBQxwdXp6bGVMZW5kU0MCBmJvcnJvdwkAzAgCBQ51c2RuQWRkcmVzc1N0cgkAzAgCCQBpAgkAaAIFDWZpcnN0QW1vdW50SW4FBWFjY3VtAKCNBgUDbmlsBQNuaWwDCQAAAgUMYm9ycm93ZWRVc2RuBQxib3Jyb3dlZFVzZG4EDXN3YXBwZWRBbW91bnQJAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQUQZmFrZVB1enpsZVN3YXBTQwILc3dhcFRvV2F2ZXMJAMwIAgkApQgBCAUBaQZjYWxsZXIFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUGdXNkbklkCQBpAgkAaAIFF2ZpcnN0U3dhcHBlZEFtb3VudFZhbHVlBQVhY2N1bQCgjQYFA25pbAMJAAACBQ1zd2FwcGVkQW1vdW50BQ1zd2FwcGVkQW1vdW50BAckbWF0Y2gxBQ1zd2FwcGVkQW1vdW50AwkAAQIFByRtYXRjaDECA0ludAQSc3dhcHBlZEFtb3VudFZhbHVlBQckbWF0Y2gxBA5kZXBvc2l0ZWRXYXZlcwkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBBQxwdXp6bGVMZW5kU0MCBnN1cHBseQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQR1bml0BRJzd2FwcGVkQW1vdW50VmFsdWUFA25pbAMJAAACBQ5kZXBvc2l0ZWRXYXZlcwUOZGVwb3NpdGVkV2F2ZXMJAGQCCQBpAgkAaAIFF2ZpcnN0U3dhcHBlZEFtb3VudFZhbHVlBQVhY2N1bQCgjQYJAGkCCQBoAgUXZmlyc3RTd2FwcGVkQW1vdW50VmFsdWUFBG5leHQAoI0GCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIXSW5jb3JyZWN0IGludm9rZSByZXN1bHQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4EA3JlcwoAAiRsBQ5saXN0UGVyY2VudGFnZQoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEKcmVwZWF0RnVuYwIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgNQkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQNyZXMFDndhdmVzMkxUb2tlbklkBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAhdJbmNvcnJlY3QgaW52b2tlIHJlc3VsdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQZyZWRlZW0BC3dhdmVzQW1vdW50BAt1c2VyQWRkcmVzcwkApQgBCAUBaQZjYWxsZXIEEnJlZGVlbWVkVVNETkFtb3VudAkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBBRBmYWtlUHV6emxlU3dhcFNDAgpzd2FwVG9VU0ROCQDMCAIFC3dhdmVzQW1vdW50CQDMCAIFC3VzZXJBZGRyZXNzBQNuaWwFA25pbAMJAAACBRJyZWRlZW1lZFVTRE5BbW91bnQFEnJlZGVlbWVkVVNETkFtb3VudAQHJG1hdGNoMAUScmVkZWVtZWRVU0ROQW1vdW50AwkAAQIFByRtYXRjaDACA0ludAQTcmVkZWVtZWRBbW91bnRWYWx1ZQUHJG1hdGNoMAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICBQt1c2VyQWRkcmVzcwIJX3JlZGVlbWVkBRNyZWRlZW1lZEFtb3VudFZhbHVlBQNuaWwJAAIBAhdJbmNvcnJlY3QgaW52b2tlIHJlc3VsdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECdHgBBnZlcmlmeQAJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXm2kdJA", "height": 2748350, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2axgvjparvkHKf2zfrHS1MSim3fuasvTBpzk1gSz5LWd Next: dSjJVMRmd1r5FXLnNbt9m3ikBnauQym5AgyuKTtciq2 Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let waves1LId = Address(base58'CygdaJKZfxRrHyYMwkNdz9ZgSD5FpJLtk5s5B4q1DKV6')
5-
6-let waves3LId = Address(base58'92rW5ucGkH84YeXLnLs8dMN1P7RAFocmR8zfBqUy4gPM')
7-
8-let waves5LId = Address(base58'2qUH6Nh6cgC8dxj8fwH3bTJi261PNr5nMQKRbBXBuwmM')
9-
104 let usdnId = base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT'
115
12-let arr = [1, 2, 3, 4, 5]
6+let waves2LTokenId = base58'GQ9QNVLGfYSbNZ4dS8NRyvGGELZL4sWPKiVj88CV1rJL'
137
14-let arr2 = [1, 2]
8+let puzzleLendSC = "3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"
159
16-let arr3 = [1, 2, 3]
10+let fakePuzzleSwapSC = "3Ms8fqbXM4RhmM6CPTr44hUwHe2CCmVCfVA"
1711
18-func sum (a,b) = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", 1000000], nil)
12+let usdnAddressStr = "25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT"
1913
20-
21-func getBalance (assetIdStr,address) = if ((assetIdStr == "WAVES"))
22- then wavesBalance(address).available
23- else assetBalance(address, fromBase58String(assetIdStr))
24-
25-
26-func getCurrentPrice (assetIdStr) = if ((assetIdStr == "WAVES"))
27- then 2
28- else throw("Error")
29-
30-
31-func getWavesCurrentPrice () = 2000000
32-
33-
34-func getWavesNewPrice () = 3000000
35-
36-
37-func getWaves3LCurrentPrice () = 1200000
38-
39-
40-func getWaves3LNewPrice () = 2000000
41-
14+let waves2LTokenStr = "GQ9QNVLGfYSbNZ4dS8NRyvGGELZL4sWPKiVj88CV1rJL"
4215
4316 func tryGetInteger (key) = match getInteger(this, key) {
4417 case b: Int =>
4922
5023
5124 @Callable(i)
52-func mintWaves3L_v1 () = if (if ((size(i.payments) != 1))
53- then true
54- else (i.payments[0].amount == 0))
55- then throw("1 payment has to be attached")
56- else {
57- let address = toString(i.caller)
58- let stableCoinAmount = i.payments[0].amount
59- let convertedWavesAmount = ((stableCoinAmount / getWavesCurrentPrice()) * 100000000)
60- let userWavesAmount = getBalance("WAVES", i.caller)
61- if ((userWavesAmount > convertedWavesAmount))
62- then {
63- let depositResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "supply", nil, [AttachedPayment(unit, convertedWavesAmount)])
64- if ((depositResult == depositResult))
65- then {
66- func repeatFunc (accum,next) = {
67- let borrowResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", stableCoinAmount], nil)
68- if ((borrowResult == borrowResult))
69- then (accum + next)
70- else throw("Strict value is not equal to itself.")
71- }
72-
73- let array = [stableCoinAmount, stableCoinAmount, stableCoinAmount]
74- let res = {
75- let $l = array
76- let $s = size($l)
77- let $acc0 = 0
78- func $f0_1 ($a,$i) = if (($i >= $s))
79- then $a
80- else repeatFunc($a, $l[$i])
81-
82- func $f0_2 ($a,$i) = if (($i >= $s))
83- then $a
84- else throw("List size exceeds 3")
85-
86- $f0_2($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3)
87- }
88- let returnedTokenAmount = ((res / getWaves3LCurrentPrice()) * 1000000)
89-[IntegerEntry((address + "_gave_USDN"), stableCoinAmount), IntegerEntry((address + "_deposited_WAVES"), convertedWavesAmount), IntegerEntry(((address + "_borrowed_") + "25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT"), res), IntegerEntry((address + "_received_WAVES3L"), returnedTokenAmount), ScriptTransfer(i.caller, returnedTokenAmount, base58'92rW5ucGkH84YeXLnLs8dMN1P7RAFocmR8zfBqUy4gPM')]
90- }
91- else throw("Strict value is not equal to itself.")
92- }
93- else throw("Not enough WAVES to deposit!")
94- }
95-
96-
97-
98-@Callable(i)
99-func redeemWaves3L_v1 () = if (if ((size(i.payments) != 1))
100- then true
101- else (i.payments[0].amount == 0))
102- then throw("1 payment has to be attached")
103- else {
104- let address = toString(i.caller)
105- let tokenAmount = i.payments[0].amount
106- let returnedUSDNAmount = (tokenAmount * (getWaves3LNewPrice() / 1000000))
107-[IntegerEntry((address + "_redeemed_WAVES3L"), tokenAmount), IntegerEntry((address + "_received_USDN"), returnedUSDNAmount), ScriptTransfer(i.caller, returnedUSDNAmount, base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT')]
108- }
109-
110-
111-
112-@Callable(i)
113-func mintWaves3L_v2 () = if (if ((size(i.payments) != 1))
114- then true
115- else (i.payments[0].amount == 0))
116- then throw("1 payment has to be attached")
117- else {
118- let address = toString(i.caller)
119- let stableCoinAmount = i.payments[0].amount
120- let convertedWavesAmount = ((stableCoinAmount / 2000000) * 100000000)
121- let userWavesAmount = getBalance("WAVES", i.caller)
122- let bedingung = ((3 - 1) * getWavesCurrentPrice())
123- if ((stableCoinAmount >= bedingung))
124- then {
125- let depositResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "supply", nil, [AttachedPayment(unit, convertedWavesAmount)])
126- if ((depositResult == depositResult))
127- then {
128- func repeatFunc (accum,next) = {
129- let borrowResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", stableCoinAmount], nil)
130- if ((borrowResult == borrowResult))
131- then (accum + next)
132- else throw("Strict value is not equal to itself.")
133- }
134-
135- let array = [stableCoinAmount, stableCoinAmount, stableCoinAmount]
136- let res = {
137- let $l = array
138- let $s = size($l)
139- let $acc0 = 0
140- func $f0_1 ($a,$i) = if (($i >= $s))
141- then $a
142- else repeatFunc($a, $l[$i])
143-
144- func $f0_2 ($a,$i) = if (($i >= $s))
145- then $a
146- else throw("List size exceeds 3")
147-
148- $f0_2($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3)
149- }
150- let byWavesKaufen = ((res / getWavesCurrentPrice()) * 100000000)
151-[IntegerEntry((address + "_gave_USDN"), stableCoinAmount), IntegerEntry((address + "_deposited_WAVES"), convertedWavesAmount), IntegerEntry(((address + "_borrowed_") + "25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT"), res), IntegerEntry((address + "_received_WAVES3L"), 1000000), ScriptTransfer(i.caller, 1000000, base58'92rW5ucGkH84YeXLnLs8dMN1P7RAFocmR8zfBqUy4gPM')]
152- }
153- else throw("Strict value is not equal to itself.")
154- }
155- else throw("Not enough WAVES to deposit!")
156- }
157-
158-
159-
160-@Callable(i)
161-func redeemWaves3L_v2 () = if (if ((size(i.payments) != 1))
162- then true
163- else (i.payments[0].amount == 0))
164- then throw("1 payment has to be attached")
165- else {
166- let address = toString(i.caller)
167- let tokenAmount = 6
168- let returnedUSDNAmount = (((tokenAmount * (getWavesNewPrice() / 1000000)) - 4) * 1000000)
169-[IntegerEntry((address + "_redeemed_WAVES3L"), tokenAmount), IntegerEntry((address + "_received_USDN"), returnedUSDNAmount), ScriptTransfer(i.caller, returnedUSDNAmount, base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT')]
170- }
171-
172-
173-
174-@Callable(i)
175-func long2 () = if (if ((size(i.payments) != 1))
25+func mintLong2 () = if (if ((size(i.payments) != 1))
17626 then true
17727 else (i.payments[0].amount == 0))
17828 then throw("1 payment has to be attached")
17929 else {
18030 let firstAmountIn = i.payments[0].amount
181- let firstSwappedAmount = invoke(addressFromStringValue("3Ms8fqbXM4RhmM6CPTr44hUwHe2CCmVCfVA"), "swapToWaves", nil, [AttachedPayment(usdnId, firstAmountIn)])
182- if ((firstSwappedAmount == firstSwappedAmount))
183- then match firstSwappedAmount {
184- case r: Int =>
185- let fistDepositResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "supply", nil, [AttachedPayment(unit, r)])
186- if ((fistDepositResult == fistDepositResult))
31+ let callerId = toString(i.caller)
32+ let firstSwappedWavesAmount = invoke(addressFromStringValue(fakePuzzleSwapSC), "swapToWaves", [toString(i.caller)], [AttachedPayment(usdnId, firstAmountIn)])
33+ if ((firstSwappedWavesAmount == firstSwappedWavesAmount))
34+ then match firstSwappedWavesAmount {
35+ case firstSwappedAmountValue: Int =>
36+ let firstDepositedWavesAmount = invoke(addressFromStringValue(puzzleLendSC), "supply", nil, [AttachedPayment(unit, firstSwappedAmountValue)])
37+ if ((firstDepositedWavesAmount == firstDepositedWavesAmount))
18738 then {
188- let firstBorrowResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", ((firstAmountIn * 75) / 100)], nil)
189- if ((firstBorrowResult == firstBorrowResult))
190- then {
191- func repeatFunc (accum,next) = (accum + next)
39+ let listPercentage = [70000, 49000, 34300, 24010, 16807]
40+ func repeatFunc (accum,next) = {
41+ let borrowedUsdn = invoke(addressFromStringValue(puzzleLendSC), "borrow", [usdnAddressStr, ((firstAmountIn * accum) / 100000)], nil)
42+ if ((borrowedUsdn == borrowedUsdn))
43+ then {
44+ let swappedAmount = invoke(addressFromStringValue(fakePuzzleSwapSC), "swapToWaves", [toString(i.caller)], [AttachedPayment(usdnId, ((firstSwappedAmountValue * accum) / 100000))])
45+ if ((swappedAmount == swappedAmount))
46+ then match swappedAmount {
47+ case swappedAmountValue: Int =>
48+ let depositedWaves = invoke(addressFromStringValue(puzzleLendSC), "supply", nil, [AttachedPayment(unit, swappedAmountValue)])
49+ if ((depositedWaves == depositedWaves))
50+ then (((firstSwappedAmountValue * accum) / 100000) + ((firstSwappedAmountValue * next) / 100000))
51+ else throw("Strict value is not equal to itself.")
52+ case _ =>
53+ throw("Incorrect invoke result")
54+ }
55+ else throw("Strict value is not equal to itself.")
56+ }
57+ else throw("Strict value is not equal to itself.")
58+ }
19259
193- let array = [1, 1, 1, 1]
194- let res = {
195- let $l = array
196- let $s = size($l)
197- let $acc0 = 0
198- func $f0_1 ($a,$i) = if (($i >= $s))
199- then $a
200- else repeatFunc($a, $l[$i])
60+ let res = {
61+ let $l = listPercentage
62+ let $s = size($l)
63+ let $acc0 = 0
64+ func $f0_1 ($a,$i) = if (($i >= $s))
65+ then $a
66+ else repeatFunc($a, $l[$i])
20167
202- func $f0_2 ($a,$i) = if (($i >= $s))
203- then $a
204- else throw("List size exceeds 5")
68+ func $f0_2 ($a,$i) = if (($i >= $s))
69+ then $a
70+ else throw("List size exceeds 5")
20571
206- $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
207- }
208- nil
209- }
210- else throw("Strict value is not equal to itself.")
72+ $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
73+ }
74+[ScriptTransfer(i.caller, res, waves2LTokenId)]
21175 }
21276 else throw("Strict value is not equal to itself.")
21377 case _ =>
21983
22084
22185 @Callable(i)
222-func long2test () = if (if ((size(i.payments) != 1))
223- then true
224- else (i.payments[0].amount == 0))
225- then throw("1 payment has to be attached")
226- else {
227- let firstAmountIn = i.payments[0].amount
228- let callerId = toString(i.caller)
229- let firstSwappedAmount = invoke(addressFromStringValue("3Ms8fqbXM4RhmM6CPTr44hUwHe2CCmVCfVA"), "swapToWaves", [toString(i.caller)], [AttachedPayment(usdnId, firstAmountIn)])
230- if ((firstSwappedAmount == firstSwappedAmount))
231- then match firstSwappedAmount {
232- case r: Int =>
233- let initList = [r, 2000000, 2000000, 2000000]
234- func filterEven (accum,next) = if ((next != 2000000))
235- then (accum :+ next)
236- else {
237- let swappedAmount = invoke(addressFromStringValue("3Ms8fqbXM4RhmM6CPTr44hUwHe2CCmVCfVA"), "swapToWaves", [toString(i.caller)], [AttachedPayment(usdnId, next)])
238- if ((swappedAmount == swappedAmount))
239- then (accum :+ swappedAmount)
240- else throw("Strict value is not equal to itself.")
241- }
242-
243- let result = {
244- let $l = initList
245- let $s = size($l)
246- let $acc0 = nil
247- func $f0_1 ($a,$i) = if (($i >= $s))
248- then $a
249- else filterEven($a, $l[$i])
250-
251- func $f0_2 ($a,$i) = if (($i >= $s))
252- then $a
253- else throw("List size exceeds 4")
254-
255- $f0_2($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4)
256- }
257-[IntegerEntry("Returned_SwappedAmount", r), IntegerEntry("First_Borrow", ((firstAmountIn * 70) / 100)), StringEntry(toBase58String(i.caller.bytes), ((((((toString(result[0]) + "_") + toString(result[1])) + "_") + toString(result[2])) + "_") + toString(result[3])))]
258- case _ =>
259- throw("Incorrect invoke result")
260- }
261- else throw("Strict value is not equal to itself.")
86+func redeem (wavesAmount) = {
87+ let userAddress = toString(i.caller)
88+ let redeemedUSDNAmount = invoke(addressFromStringValue(fakePuzzleSwapSC), "swapToUSDN", [wavesAmount, userAddress], nil)
89+ if ((redeemedUSDNAmount == redeemedUSDNAmount))
90+ then match redeemedUSDNAmount {
91+ case redeemedAmountValue: Int =>
92+[IntegerEntry((userAddress + "_redeemed"), redeemedAmountValue)]
93+ case _ =>
94+ throw("Incorrect invoke result")
26295 }
263-
264-
265-
266-@Callable(i)
267-func long2test_v1 () = if (if ((size(i.payments) != 1))
268- then true
269- else (i.payments[0].amount == 0))
270- then throw("1 payment has to be attached")
271- else {
272- let firstAmountIn = i.payments[0].amount
273- let callerId = toString(i.caller)
274- let firstSwappedAmount = invoke(addressFromStringValue("3Ms8fqbXM4RhmM6CPTr44hUwHe2CCmVCfVA"), "swapToWaves", [toString(i.caller)], [AttachedPayment(usdnId, firstAmountIn)])
275- if ((firstSwappedAmount == firstSwappedAmount))
276- then match firstSwappedAmount {
277- case r: Int =>
278- let firstDepositedWaves = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "supply", nil, [AttachedPayment(unit, r)])
279- if ((firstDepositedWaves == firstDepositedWaves))
280- then {
281- let firstBorrowedUSDN = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", ((firstAmountIn * 70) / 100)], nil)
282- if ((firstBorrowedUSDN == firstBorrowedUSDN))
283- then {
284- let secondSwappedAmount = invoke(addressFromStringValue("3Ms8fqbXM4RhmM6CPTr44hUwHe2CCmVCfVA"), "swapToWaves", [toString(i.caller)], [AttachedPayment(usdnId, ((firstAmountIn * 70) / 100))])
285- if ((secondSwappedAmount == secondSwappedAmount))
286- then match secondSwappedAmount {
287- case secondSwap: Int =>
288- let secondDepositedWaves = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "supply", nil, [AttachedPayment(unit, secondSwap)])
289- if ((secondDepositedWaves == secondDepositedWaves))
290- then {
291- let secondBorrowedUSDN = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", ((((firstAmountIn * 70) / 100) * 70) / 100)], nil)
292- if ((secondBorrowedUSDN == secondBorrowedUSDN))
293- then {
294- let thirdSwappedAmount = invoke(addressFromStringValue("3Ms8fqbXM4RhmM6CPTr44hUwHe2CCmVCfVA"), "swapToWaves", [toString(i.caller)], [AttachedPayment(usdnId, ((((firstAmountIn * 70) / 100) * 70) / 100))])
295- if ((thirdSwappedAmount == thirdSwappedAmount))
296- then [IntegerEntry("Returned_Second_SwappedAmount", secondSwap), IntegerEntry("Second_Borrow", ((((firstAmountIn * 70) / 100) * 70) / 100))]
297- else throw("Strict value is not equal to itself.")
298- }
299- else throw("Strict value is not equal to itself.")
300- }
301- else throw("Strict value is not equal to itself.")
302- case _ =>
303- throw("Incorrect invoke result")
304- }
305- else throw("Strict value is not equal to itself.")
306- }
307- else throw("Strict value is not equal to itself.")
308- }
309- else throw("Strict value is not equal to itself.")
310- case _ =>
311- throw("Incorrect invoke result")
312- }
313- else throw("Strict value is not equal to itself.")
314- }
96+ else throw("Strict value is not equal to itself.")
97+ }
31598
31699
317100 @Verifier(tx)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let waves1LId = Address(base58'CygdaJKZfxRrHyYMwkNdz9ZgSD5FpJLtk5s5B4q1DKV6')
5-
6-let waves3LId = Address(base58'92rW5ucGkH84YeXLnLs8dMN1P7RAFocmR8zfBqUy4gPM')
7-
8-let waves5LId = Address(base58'2qUH6Nh6cgC8dxj8fwH3bTJi261PNr5nMQKRbBXBuwmM')
9-
104 let usdnId = base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT'
115
12-let arr = [1, 2, 3, 4, 5]
6+let waves2LTokenId = base58'GQ9QNVLGfYSbNZ4dS8NRyvGGELZL4sWPKiVj88CV1rJL'
137
14-let arr2 = [1, 2]
8+let puzzleLendSC = "3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"
159
16-let arr3 = [1, 2, 3]
10+let fakePuzzleSwapSC = "3Ms8fqbXM4RhmM6CPTr44hUwHe2CCmVCfVA"
1711
18-func sum (a,b) = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", 1000000], nil)
12+let usdnAddressStr = "25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT"
1913
20-
21-func getBalance (assetIdStr,address) = if ((assetIdStr == "WAVES"))
22- then wavesBalance(address).available
23- else assetBalance(address, fromBase58String(assetIdStr))
24-
25-
26-func getCurrentPrice (assetIdStr) = if ((assetIdStr == "WAVES"))
27- then 2
28- else throw("Error")
29-
30-
31-func getWavesCurrentPrice () = 2000000
32-
33-
34-func getWavesNewPrice () = 3000000
35-
36-
37-func getWaves3LCurrentPrice () = 1200000
38-
39-
40-func getWaves3LNewPrice () = 2000000
41-
14+let waves2LTokenStr = "GQ9QNVLGfYSbNZ4dS8NRyvGGELZL4sWPKiVj88CV1rJL"
4215
4316 func tryGetInteger (key) = match getInteger(this, key) {
4417 case b: Int =>
4518 b
4619 case _ =>
4720 0
4821 }
4922
5023
5124 @Callable(i)
52-func mintWaves3L_v1 () = if (if ((size(i.payments) != 1))
53- then true
54- else (i.payments[0].amount == 0))
55- then throw("1 payment has to be attached")
56- else {
57- let address = toString(i.caller)
58- let stableCoinAmount = i.payments[0].amount
59- let convertedWavesAmount = ((stableCoinAmount / getWavesCurrentPrice()) * 100000000)
60- let userWavesAmount = getBalance("WAVES", i.caller)
61- if ((userWavesAmount > convertedWavesAmount))
62- then {
63- let depositResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "supply", nil, [AttachedPayment(unit, convertedWavesAmount)])
64- if ((depositResult == depositResult))
65- then {
66- func repeatFunc (accum,next) = {
67- let borrowResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", stableCoinAmount], nil)
68- if ((borrowResult == borrowResult))
69- then (accum + next)
70- else throw("Strict value is not equal to itself.")
71- }
72-
73- let array = [stableCoinAmount, stableCoinAmount, stableCoinAmount]
74- let res = {
75- let $l = array
76- let $s = size($l)
77- let $acc0 = 0
78- func $f0_1 ($a,$i) = if (($i >= $s))
79- then $a
80- else repeatFunc($a, $l[$i])
81-
82- func $f0_2 ($a,$i) = if (($i >= $s))
83- then $a
84- else throw("List size exceeds 3")
85-
86- $f0_2($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3)
87- }
88- let returnedTokenAmount = ((res / getWaves3LCurrentPrice()) * 1000000)
89-[IntegerEntry((address + "_gave_USDN"), stableCoinAmount), IntegerEntry((address + "_deposited_WAVES"), convertedWavesAmount), IntegerEntry(((address + "_borrowed_") + "25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT"), res), IntegerEntry((address + "_received_WAVES3L"), returnedTokenAmount), ScriptTransfer(i.caller, returnedTokenAmount, base58'92rW5ucGkH84YeXLnLs8dMN1P7RAFocmR8zfBqUy4gPM')]
90- }
91- else throw("Strict value is not equal to itself.")
92- }
93- else throw("Not enough WAVES to deposit!")
94- }
95-
96-
97-
98-@Callable(i)
99-func redeemWaves3L_v1 () = if (if ((size(i.payments) != 1))
100- then true
101- else (i.payments[0].amount == 0))
102- then throw("1 payment has to be attached")
103- else {
104- let address = toString(i.caller)
105- let tokenAmount = i.payments[0].amount
106- let returnedUSDNAmount = (tokenAmount * (getWaves3LNewPrice() / 1000000))
107-[IntegerEntry((address + "_redeemed_WAVES3L"), tokenAmount), IntegerEntry((address + "_received_USDN"), returnedUSDNAmount), ScriptTransfer(i.caller, returnedUSDNAmount, base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT')]
108- }
109-
110-
111-
112-@Callable(i)
113-func mintWaves3L_v2 () = if (if ((size(i.payments) != 1))
114- then true
115- else (i.payments[0].amount == 0))
116- then throw("1 payment has to be attached")
117- else {
118- let address = toString(i.caller)
119- let stableCoinAmount = i.payments[0].amount
120- let convertedWavesAmount = ((stableCoinAmount / 2000000) * 100000000)
121- let userWavesAmount = getBalance("WAVES", i.caller)
122- let bedingung = ((3 - 1) * getWavesCurrentPrice())
123- if ((stableCoinAmount >= bedingung))
124- then {
125- let depositResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "supply", nil, [AttachedPayment(unit, convertedWavesAmount)])
126- if ((depositResult == depositResult))
127- then {
128- func repeatFunc (accum,next) = {
129- let borrowResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", stableCoinAmount], nil)
130- if ((borrowResult == borrowResult))
131- then (accum + next)
132- else throw("Strict value is not equal to itself.")
133- }
134-
135- let array = [stableCoinAmount, stableCoinAmount, stableCoinAmount]
136- let res = {
137- let $l = array
138- let $s = size($l)
139- let $acc0 = 0
140- func $f0_1 ($a,$i) = if (($i >= $s))
141- then $a
142- else repeatFunc($a, $l[$i])
143-
144- func $f0_2 ($a,$i) = if (($i >= $s))
145- then $a
146- else throw("List size exceeds 3")
147-
148- $f0_2($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3)
149- }
150- let byWavesKaufen = ((res / getWavesCurrentPrice()) * 100000000)
151-[IntegerEntry((address + "_gave_USDN"), stableCoinAmount), IntegerEntry((address + "_deposited_WAVES"), convertedWavesAmount), IntegerEntry(((address + "_borrowed_") + "25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT"), res), IntegerEntry((address + "_received_WAVES3L"), 1000000), ScriptTransfer(i.caller, 1000000, base58'92rW5ucGkH84YeXLnLs8dMN1P7RAFocmR8zfBqUy4gPM')]
152- }
153- else throw("Strict value is not equal to itself.")
154- }
155- else throw("Not enough WAVES to deposit!")
156- }
157-
158-
159-
160-@Callable(i)
161-func redeemWaves3L_v2 () = if (if ((size(i.payments) != 1))
162- then true
163- else (i.payments[0].amount == 0))
164- then throw("1 payment has to be attached")
165- else {
166- let address = toString(i.caller)
167- let tokenAmount = 6
168- let returnedUSDNAmount = (((tokenAmount * (getWavesNewPrice() / 1000000)) - 4) * 1000000)
169-[IntegerEntry((address + "_redeemed_WAVES3L"), tokenAmount), IntegerEntry((address + "_received_USDN"), returnedUSDNAmount), ScriptTransfer(i.caller, returnedUSDNAmount, base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT')]
170- }
171-
172-
173-
174-@Callable(i)
175-func long2 () = if (if ((size(i.payments) != 1))
25+func mintLong2 () = if (if ((size(i.payments) != 1))
17626 then true
17727 else (i.payments[0].amount == 0))
17828 then throw("1 payment has to be attached")
17929 else {
18030 let firstAmountIn = i.payments[0].amount
181- let firstSwappedAmount = invoke(addressFromStringValue("3Ms8fqbXM4RhmM6CPTr44hUwHe2CCmVCfVA"), "swapToWaves", nil, [AttachedPayment(usdnId, firstAmountIn)])
182- if ((firstSwappedAmount == firstSwappedAmount))
183- then match firstSwappedAmount {
184- case r: Int =>
185- let fistDepositResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "supply", nil, [AttachedPayment(unit, r)])
186- if ((fistDepositResult == fistDepositResult))
31+ let callerId = toString(i.caller)
32+ let firstSwappedWavesAmount = invoke(addressFromStringValue(fakePuzzleSwapSC), "swapToWaves", [toString(i.caller)], [AttachedPayment(usdnId, firstAmountIn)])
33+ if ((firstSwappedWavesAmount == firstSwappedWavesAmount))
34+ then match firstSwappedWavesAmount {
35+ case firstSwappedAmountValue: Int =>
36+ let firstDepositedWavesAmount = invoke(addressFromStringValue(puzzleLendSC), "supply", nil, [AttachedPayment(unit, firstSwappedAmountValue)])
37+ if ((firstDepositedWavesAmount == firstDepositedWavesAmount))
18738 then {
188- let firstBorrowResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", ((firstAmountIn * 75) / 100)], nil)
189- if ((firstBorrowResult == firstBorrowResult))
190- then {
191- func repeatFunc (accum,next) = (accum + next)
39+ let listPercentage = [70000, 49000, 34300, 24010, 16807]
40+ func repeatFunc (accum,next) = {
41+ let borrowedUsdn = invoke(addressFromStringValue(puzzleLendSC), "borrow", [usdnAddressStr, ((firstAmountIn * accum) / 100000)], nil)
42+ if ((borrowedUsdn == borrowedUsdn))
43+ then {
44+ let swappedAmount = invoke(addressFromStringValue(fakePuzzleSwapSC), "swapToWaves", [toString(i.caller)], [AttachedPayment(usdnId, ((firstSwappedAmountValue * accum) / 100000))])
45+ if ((swappedAmount == swappedAmount))
46+ then match swappedAmount {
47+ case swappedAmountValue: Int =>
48+ let depositedWaves = invoke(addressFromStringValue(puzzleLendSC), "supply", nil, [AttachedPayment(unit, swappedAmountValue)])
49+ if ((depositedWaves == depositedWaves))
50+ then (((firstSwappedAmountValue * accum) / 100000) + ((firstSwappedAmountValue * next) / 100000))
51+ else throw("Strict value is not equal to itself.")
52+ case _ =>
53+ throw("Incorrect invoke result")
54+ }
55+ else throw("Strict value is not equal to itself.")
56+ }
57+ else throw("Strict value is not equal to itself.")
58+ }
19259
193- let array = [1, 1, 1, 1]
194- let res = {
195- let $l = array
196- let $s = size($l)
197- let $acc0 = 0
198- func $f0_1 ($a,$i) = if (($i >= $s))
199- then $a
200- else repeatFunc($a, $l[$i])
60+ let res = {
61+ let $l = listPercentage
62+ let $s = size($l)
63+ let $acc0 = 0
64+ func $f0_1 ($a,$i) = if (($i >= $s))
65+ then $a
66+ else repeatFunc($a, $l[$i])
20167
202- func $f0_2 ($a,$i) = if (($i >= $s))
203- then $a
204- else throw("List size exceeds 5")
68+ func $f0_2 ($a,$i) = if (($i >= $s))
69+ then $a
70+ else throw("List size exceeds 5")
20571
206- $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
207- }
208- nil
209- }
210- else throw("Strict value is not equal to itself.")
72+ $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
73+ }
74+[ScriptTransfer(i.caller, res, waves2LTokenId)]
21175 }
21276 else throw("Strict value is not equal to itself.")
21377 case _ =>
21478 throw("Incorrect invoke result")
21579 }
21680 else throw("Strict value is not equal to itself.")
21781 }
21882
21983
22084
22185 @Callable(i)
222-func long2test () = if (if ((size(i.payments) != 1))
223- then true
224- else (i.payments[0].amount == 0))
225- then throw("1 payment has to be attached")
226- else {
227- let firstAmountIn = i.payments[0].amount
228- let callerId = toString(i.caller)
229- let firstSwappedAmount = invoke(addressFromStringValue("3Ms8fqbXM4RhmM6CPTr44hUwHe2CCmVCfVA"), "swapToWaves", [toString(i.caller)], [AttachedPayment(usdnId, firstAmountIn)])
230- if ((firstSwappedAmount == firstSwappedAmount))
231- then match firstSwappedAmount {
232- case r: Int =>
233- let initList = [r, 2000000, 2000000, 2000000]
234- func filterEven (accum,next) = if ((next != 2000000))
235- then (accum :+ next)
236- else {
237- let swappedAmount = invoke(addressFromStringValue("3Ms8fqbXM4RhmM6CPTr44hUwHe2CCmVCfVA"), "swapToWaves", [toString(i.caller)], [AttachedPayment(usdnId, next)])
238- if ((swappedAmount == swappedAmount))
239- then (accum :+ swappedAmount)
240- else throw("Strict value is not equal to itself.")
241- }
242-
243- let result = {
244- let $l = initList
245- let $s = size($l)
246- let $acc0 = nil
247- func $f0_1 ($a,$i) = if (($i >= $s))
248- then $a
249- else filterEven($a, $l[$i])
250-
251- func $f0_2 ($a,$i) = if (($i >= $s))
252- then $a
253- else throw("List size exceeds 4")
254-
255- $f0_2($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4)
256- }
257-[IntegerEntry("Returned_SwappedAmount", r), IntegerEntry("First_Borrow", ((firstAmountIn * 70) / 100)), StringEntry(toBase58String(i.caller.bytes), ((((((toString(result[0]) + "_") + toString(result[1])) + "_") + toString(result[2])) + "_") + toString(result[3])))]
258- case _ =>
259- throw("Incorrect invoke result")
260- }
261- else throw("Strict value is not equal to itself.")
86+func redeem (wavesAmount) = {
87+ let userAddress = toString(i.caller)
88+ let redeemedUSDNAmount = invoke(addressFromStringValue(fakePuzzleSwapSC), "swapToUSDN", [wavesAmount, userAddress], nil)
89+ if ((redeemedUSDNAmount == redeemedUSDNAmount))
90+ then match redeemedUSDNAmount {
91+ case redeemedAmountValue: Int =>
92+[IntegerEntry((userAddress + "_redeemed"), redeemedAmountValue)]
93+ case _ =>
94+ throw("Incorrect invoke result")
26295 }
263-
264-
265-
266-@Callable(i)
267-func long2test_v1 () = if (if ((size(i.payments) != 1))
268- then true
269- else (i.payments[0].amount == 0))
270- then throw("1 payment has to be attached")
271- else {
272- let firstAmountIn = i.payments[0].amount
273- let callerId = toString(i.caller)
274- let firstSwappedAmount = invoke(addressFromStringValue("3Ms8fqbXM4RhmM6CPTr44hUwHe2CCmVCfVA"), "swapToWaves", [toString(i.caller)], [AttachedPayment(usdnId, firstAmountIn)])
275- if ((firstSwappedAmount == firstSwappedAmount))
276- then match firstSwappedAmount {
277- case r: Int =>
278- let firstDepositedWaves = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "supply", nil, [AttachedPayment(unit, r)])
279- if ((firstDepositedWaves == firstDepositedWaves))
280- then {
281- let firstBorrowedUSDN = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", ((firstAmountIn * 70) / 100)], nil)
282- if ((firstBorrowedUSDN == firstBorrowedUSDN))
283- then {
284- let secondSwappedAmount = invoke(addressFromStringValue("3Ms8fqbXM4RhmM6CPTr44hUwHe2CCmVCfVA"), "swapToWaves", [toString(i.caller)], [AttachedPayment(usdnId, ((firstAmountIn * 70) / 100))])
285- if ((secondSwappedAmount == secondSwappedAmount))
286- then match secondSwappedAmount {
287- case secondSwap: Int =>
288- let secondDepositedWaves = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "supply", nil, [AttachedPayment(unit, secondSwap)])
289- if ((secondDepositedWaves == secondDepositedWaves))
290- then {
291- let secondBorrowedUSDN = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", ((((firstAmountIn * 70) / 100) * 70) / 100)], nil)
292- if ((secondBorrowedUSDN == secondBorrowedUSDN))
293- then {
294- let thirdSwappedAmount = invoke(addressFromStringValue("3Ms8fqbXM4RhmM6CPTr44hUwHe2CCmVCfVA"), "swapToWaves", [toString(i.caller)], [AttachedPayment(usdnId, ((((firstAmountIn * 70) / 100) * 70) / 100))])
295- if ((thirdSwappedAmount == thirdSwappedAmount))
296- then [IntegerEntry("Returned_Second_SwappedAmount", secondSwap), IntegerEntry("Second_Borrow", ((((firstAmountIn * 70) / 100) * 70) / 100))]
297- else throw("Strict value is not equal to itself.")
298- }
299- else throw("Strict value is not equal to itself.")
300- }
301- else throw("Strict value is not equal to itself.")
302- case _ =>
303- throw("Incorrect invoke result")
304- }
305- else throw("Strict value is not equal to itself.")
306- }
307- else throw("Strict value is not equal to itself.")
308- }
309- else throw("Strict value is not equal to itself.")
310- case _ =>
311- throw("Incorrect invoke result")
312- }
313- else throw("Strict value is not equal to itself.")
314- }
96+ else throw("Strict value is not equal to itself.")
97+ }
31598
31699
317100 @Verifier(tx)
318101 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
319102

github/deemru/w8io/169f3d6 
49.95 ms