2023.04.17 05:39 [3603547] smart account 3P3qCUfvbDUjRnjrfM5XFMrXrzxxiad94Ez > SELF 0.00000000 Waves

{ "type": 13, "id": "BNRbu57NZDhYvStwy8kZGKj72nxZpVMgScEaiTRdAUPN", "fee": 1000000, "feeAssetId": null, "timestamp": 1681699211695, "version": 2, "chainId": 87, "sender": "3P3qCUfvbDUjRnjrfM5XFMrXrzxxiad94Ez", "senderPublicKey": "3zaQerEjh4SK1xhin9zzs5qr337aLRFhz7z1ckjFGhMz", "proofs": [ "3saXf66poT3ckP3XDHfbzKxmx2LbR8kJEGx9n9hhz7p6rkGgJckSVH7a4Cr5qj3sYTgxNdTBtELgp1J9EXUk1cst" ], "script": "base64:BgKTBAgCEgMKAQESAwoBARIDCgEIIg5mcmVlX3RvX2JvcnJvbSINVVNETl9BU1NFVF9JRCIEYm9zcyIOYWRtaW5QdWJsaWNLZXkiDFdYX1NXQVBfREFQUCIKZ2V0QmFsYW5jZSIHYXNzZXRJZCIHJG1hdGNoMCIBYiIIZ2V0QmFzZTEiBGRhdGEiBnBfZGF0YSIBYSICYTIiB2Fzc2V0SW4iCGFtb3VudEluIghnZXRCYXNlMiICcDEiAXQiDWdldEFzc2V0Qnl0ZXMiB3N3YXBfd3giAXAiBWFzc2V0IgZhbW91bnQiACIEY2FsbCIJc3dhcF9zd29wIgRzd2FwIgtzd2FwX3B1enpsZSIIYXNzZXRPdXQiAWkiBGFtbnQiCmN1cnJlbnRCYWwiCmRhdGFfYXJyYXkiCyR0MDI0NjIyNTE4IgskdDAyNTIzMjU2MSICdDEiCyR0MDI1NjYyNjA0IgJwMiICdDIiCyR0MDI2MDkyNjQ3IgJwMyICdDMiEmFtb3VudF9iZWZfYXNzZXRJbiIMbmV3X2Ftb3VudEluIhFhbW91bnRfYmVmX2Fzc2V0MSIFc3dhcDEiAm5iIhFhbW91bnRfYmVmX2Fzc2V0MiIFc3dhcDIiA25iMiIVYW1vdW50X2JlZl9iYXNlX2Fzc2V0IgVzd2FwMyIDbmIzIgh0cmVzaG9sZCICdHgiBnZlcmlmeQwAAWEJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNQRzdDSHZCYXRIcENod204cmVINzR3ZkV3azFQSGM4UnF5AAFiASC2JinDBPXOU5GkDkt1JC9kjFGx+t+vVCm9SNIdKrKq0QABYwkBEUBleHRyTmF0aXZlKDEwNjIpAQIjM1BSRTVLSDlvUEdmRlBzN2ZHblFjSjR3TnNoRURVUEdqMXQAAWQBIK//Hnx2h59d/B6vn7HsXOeOPeI+WyGy4AZxTRb/mxVtAAFlCQEHQWRkcmVzcwEBGgFXLio1NbENt/F5PuG3RtCedFJNezHQg64GAQFmAQFnBAFoBQFnAwkAAQIFAWgCCkJ5dGVWZWN0b3IEAWkFAWgJAPAHAgUEdGhpcwUBaQgJAO8HAQUEdGhpcwlhdmFpbGFibGUBAWoBAWsEAWwJALUJAgUBawIBXwQBbQkAkQMCBQFsAAAEAW4JAJEDAgUBbAABBAFvCQCRAwIFAWwAAgQBcAkAkQMCBQFsAAMJAJYKBAUBbQUBbgUBbwUBcAEBcQEBawQBbAkAtQkCBQFrAgFfBAFyCQCRAwIFAWwAAAQBcwkAkQMCBQFsAAEJAJQKAgUBcgUBcwEBdAEBZwMJAAACBQFnAgVXQVZFUwUEdW5pdAkA2QQBBQFnAQF1BAF2AXcBeAFtBAF6CQD8BwQFAWUCBHN3YXAJAMwIAgABCQDMCAIFAW0JAMwIAgkApQgBBQR0aGlzBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIJAQF0AQUBdwUBeAUDbmlsAwkAAAIFAXoFAXoFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgEBQQMBdgF3AXgEAUIJAPwHBAkBB0FkZHJlc3MBCQDZBAEFAXYCCGV4Y2hhbmdlCQDMCAIAAQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCCQEBdAEFAXcFAXgFA25pbAMJAAACBQFCBQFCBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAUMEAXYBdwF4AUQEAUIJAPwHBAkBB0FkZHJlc3MBCQDZBAEFAXYCBHN3YXAJAMwIAgUBRAkAzAgCAAEFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgkBAXQBBQF3BQF4BQNuaWwDCQAAAgUBQgUBQgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAwFFAQZib3Jyb3cBAUYDCQEBIQEJAQ9jb250YWluc0VsZW1lbnQCCQDMCAIFAWEJAMwIAgUBYwkAzAgCBQR0aGlzBQNuaWwIBQFFBmNhbGxlcgkAAgECHnlvdSBhcmUgbm90IGFsbG93ZWQgdG8gYm9ycm93IQQBRwkBAWYBBQFiAwkAZgIFAUYFAUcJAAIBAhxZb3UgY2Fubm5vdCBib3Jyb3cgdGhhdCBtdWNoCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFFBmNhbGxlcgUBRgUBYgUDbmlsAUUBC3NldFRyZXNob2xkAQFGAwkBASEBCQEPY29udGFpbnNFbGVtZW50AgkAzAgCBQFhCQDMCAIFAWMJAMwIAgUEdGhpcwUDbmlsCAUBRQZjYWxsZXIJAAIBAh95b3UgYXJlIG5vdCBhbGxvd2VkIHRvIGRvIHRoYXQhCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgh0cmVzaG9sZAUBRgUDbmlsAUUBAXkBAWsDAwkBAiE9AggFAUUGY2FsbGVyBQR0aGlzCQECIT0CCAUBRQZjYWxsZXIFAWMHCQACAQIbeW91IGFyZSBub3QgYWxsb3dlZCB0byBhcmIhBAFICQC8CQIFAWsCAXwEAUkJAQFqAQkAkQMCBQFIAAAEAW0IBQFJAl8xBAFuCAUBSQJfMgQBbwgFAUkCXzMEAXAIBQFJAl80BAFKCQEBcQEJAJEDAgUBSAABBAFyCAUBSgJfMQQBSwgFAUoCXzIEAUwJAQFxAQkAkQMCBQFIAAIEAU0IBQFMAl8xBAFOCAUBTAJfMgQBTwkBAXEBCQCRAwIFAUgAAwQBUAgFAU8CXzEEAVEIBQFPAl8yBAFSCQEBZgEJAQF0AQUBbwMJAAACBQFSBQFSBAFTAwkAZgIJAQV2YWx1ZQEJALYJAQUBcAUBUgUBUgkBBXZhbHVlAQkAtgkBBQFwAwkAAAIFAVMFAVMEAVQJAQFmAQkBAXQBBQFtAwkAAAIFAVQFAVQEAVUDCQAAAgUBSwIBVwkBAXUEBQFyBQFvBQFTBQFtAwkAAAIFAUsCAVMJAQFBAwUBcgUBbwUBUwkBAUMEBQFyBQFvBQFTBQFtAwkAAAIFAVUFAVUEAVYJAGUCCQEBZgEJAQF0AQUBbQUBVAMJAAACBQFWBQFWBAFXCQEBZgEJAQF0AQUBbgMJAAACBQFXBQFXBAFYAwkAAAIFAU4CAVcJAQF1BAUBTQUBbQUBVgUBbgMJAAACBQFOAgFTCQEBQQMFAU0FAW0FAVYJAQFDBAUBTQUBbQUBVgUBbgMJAAACBQFYBQFYBAFZCQBlAgkBAWYBCQEBdAEFAW4FAVcDCQAAAgUBWQUBWQQBWgkBAWYBCQEBdAEFAW8DCQAAAgUBWgUBWgQCYWEDCQAAAgUBUQIBVwkBAXUEBQFQBQFuBQFZBQFvAwkAAAIFAVECAVMJAQFBAwUBUAUBbgUBWQkBAUMEBQFQBQFuBQFZBQFvAwkAAAIFAmFhBQJhYQQCYWIJAGUCCQEBZgEJAQF0AQUBbwUBWgMJAAACBQJhYgUCYWIEAmFjCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMCCHRyZXNob2xkAPCTCQMJAGYCBQJhYgkAZAIFAVMFAmFjCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFFBmNhbGxlcgkAZQIFAmFiBQFTCQEBdAEFAW8FA25pbAkAAgEJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICEm9yaWdpbiBhbW91bnRJbiA9IAUBcAIRLCBuZXdfYW1vdW50SW4gPSAJAKQDAQUBUwIMLCBuZXdCYWxfMTogCQCkAwEFAVYCDCwgbmV3QmFsXzI6IAkApAMBBQFZAgwsIG5ld0JhbF8zOiAJAKQDAQUCYWIJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAmFkAQJhZQADCQDIEwMIBQJhZAlib2R5Qnl0ZXMJAJEDAggFAmFkBnByb29mcwAACAUCYWQPc2VuZGVyUHVibGljS2V5BgkAyBMDCAUCYWQJYm9keUJ5dGVzCQCRAwIIBQJhZAZwcm9vZnMAAAUBZFsTaFk=", "height": 3603547, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: EfqAvzJD6gvQa6vqES2afu2XHDgheh5c5ZZXXDqegiAW Next: Fu5xRrsrNyKZp4HjU3yNx828rpTJK2Wqjanbs53BbuiS Diff:
OldNewDifferences
99
1010 let adminPublicKey = base58'Cr1ybL2JGg9GwJHA2JwqxBPfSW6Q7Jg4HvNrsEiCsHu6'
1111
12-func getPutGet (is_stable) = {
13- let putFunc = if ((is_stable == 1))
14- then "putOneTknV2"
15- else "putOneTkn"
16- let getFunc = if ((is_stable == 1))
17- then "getOneTknV2"
18- else "getOneTkn"
19- $Tuple2(putFunc, getFunc)
20- }
21-
12+let WX_SWAP_DAPP = Address(base58'3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93')
2213
2314 func getBalance (assetId) = match assetId {
2415 case b: ByteVector =>
4132 func getBase2 (data) = {
4233 let p_data = split(data, "_")
4334 let p1 = p_data[0]
44- let lp1 = p_data[1]
45- let is_stable_1 = p_data[2]
46- let t = p_data[3]
47- $Tuple4(p1, lp1, is_stable_1, t)
35+ let t = p_data[1]
36+ $Tuple2(p1, t)
4837 }
4938
5039
5342 else fromBase58String(assetId)
5443
5544
56-func swap_wx (p,lp,asset,amount,putFunc1,getFunc1,a) = {
57- let put1 = invoke(Address(fromBase58String(p)), putFunc1, [1, false], [AttachedPayment(getAssetBytes(asset), amount)])
58- if ((put1 == put1))
59- then {
60- let lp1_assetid = fromBase58String(lp)
61- let lpBalance_1 = getBalance(lp1_assetid)
62- if ((lpBalance_1 == lpBalance_1))
63- then {
64- let get1 = invoke(Address(fromBase58String(p)), getFunc1, [a, 1], [AttachedPayment(lp1_assetid, lpBalance_1)])
65- if ((get1 == get1))
66- then nil
67- else throw("Strict value is not equal to itself.")
68- }
69- else throw("Strict value is not equal to itself.")
70- }
45+func swap_wx (p,asset,amount,a) = {
46+ let call = invoke(WX_SWAP_DAPP, "swap", [1, a, toString(this)], [AttachedPayment(getAssetBytes(asset), amount)])
47+ if ((call == call))
48+ then nil
7149 else throw("Strict value is not equal to itself.")
7250 }
7351
7452
7553 func swap_swop (p,asset,amount) = {
76- let swap2 = invoke(Address(fromBase58String(p)), "exchange", [1], [AttachedPayment(getAssetBytes(asset), amount)])
77- if ((swap2 == swap2))
54+ let swap = invoke(Address(fromBase58String(p)), "exchange", [1], [AttachedPayment(getAssetBytes(asset), amount)])
55+ if ((swap == swap))
7856 then nil
7957 else throw("Strict value is not equal to itself.")
8058 }
11492 then throw("you are not allowed to arb!")
11593 else {
11694 let data_array = split_4C(data, "|")
117- let $t035633619 = getBase1(data_array[0])
118- let a = $t035633619._1
119- let a2 = $t035633619._2
120- let assetIn = $t035633619._3
121- let amountIn = $t035633619._4
122- let $t036243680 = getBase2(data_array[1])
123- let p1 = $t036243680._1
124- let lp1 = $t036243680._2
125- let is_stable_1 = $t036243680._3
126- let t1 = $t036243680._4
127- let $t036853741 = getBase2(data_array[2])
128- let p2 = $t036853741._1
129- let lp2 = $t036853741._2
130- let is_stable_2 = $t036853741._3
131- let t2 = $t036853741._4
132- let $t037463802 = getBase2(data_array[3])
133- let p3 = $t037463802._1
134- let lp3 = $t037463802._2
135- let is_stable_3 = $t037463802._3
136- let t3 = $t037463802._4
137- let $t038083874 = getPutGet(value(parseInt(is_stable_1)))
138- let putFunc1 = $t038083874._1
139- let getFunc1 = $t038083874._2
140- let $t038793945 = getPutGet(value(parseInt(is_stable_2)))
141- let putFunc2 = $t038793945._1
142- let getFunc2 = $t038793945._2
143- let $t039504016 = getPutGet(value(parseInt(is_stable_3)))
144- let putFunc3 = $t039504016._1
145- let getFunc3 = $t039504016._2
95+ let $t024622518 = getBase1(data_array[0])
96+ let a = $t024622518._1
97+ let a2 = $t024622518._2
98+ let assetIn = $t024622518._3
99+ let amountIn = $t024622518._4
100+ let $t025232561 = getBase2(data_array[1])
101+ let p1 = $t025232561._1
102+ let t1 = $t025232561._2
103+ let $t025662604 = getBase2(data_array[2])
104+ let p2 = $t025662604._1
105+ let t2 = $t025662604._2
106+ let $t026092647 = getBase2(data_array[3])
107+ let p3 = $t026092647._1
108+ let t3 = $t026092647._2
146109 let amount_bef_assetIn = getBalance(getAssetBytes(assetIn))
147110 if ((amount_bef_assetIn == amount_bef_assetIn))
148111 then {
155118 if ((amount_bef_asset1 == amount_bef_asset1))
156119 then {
157120 let swap1 = if ((t1 == "W"))
158- then swap_wx(p1, lp1, assetIn, new_amountIn, putFunc1, getFunc1, a)
121+ then swap_wx(p1, assetIn, new_amountIn, a)
159122 else if ((t1 == "S"))
160123 then swap_swop(p1, assetIn, new_amountIn)
161124 else swap_puzzle(p1, assetIn, new_amountIn, a)
168131 if ((amount_bef_asset2 == amount_bef_asset2))
169132 then {
170133 let swap2 = if ((t2 == "W"))
171- then swap_wx(p2, lp2, a, nb, putFunc2, getFunc2, a2)
134+ then swap_wx(p2, a, nb, a2)
172135 else if ((t2 == "S"))
173136 then swap_swop(p2, a, nb)
174137 else swap_puzzle(p2, a, nb, a2)
181144 if ((amount_bef_base_asset == amount_bef_base_asset))
182145 then {
183146 let swap3 = if ((t3 == "W"))
184- then swap_wx(p3, lp3, a2, nb2, putFunc3, getFunc3, assetIn)
147+ then swap_wx(p3, a2, nb2, assetIn)
185148 else if ((t3 == "S"))
186149 then swap_swop(p3, a2, nb2)
187150 else swap_puzzle(p3, a2, nb2, assetIn)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let free_to_borrom = addressFromStringValue("3PG7CHvBatHpChwm8reH74wfEwk1PHc8Rqy")
55
66 let USDN_ASSET_ID = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
77
88 let boss = addressFromStringValue("3PRE5KH9oPGfFPs7fGnQcJ4wNshEDUPGj1t")
99
1010 let adminPublicKey = base58'Cr1ybL2JGg9GwJHA2JwqxBPfSW6Q7Jg4HvNrsEiCsHu6'
1111
12-func getPutGet (is_stable) = {
13- let putFunc = if ((is_stable == 1))
14- then "putOneTknV2"
15- else "putOneTkn"
16- let getFunc = if ((is_stable == 1))
17- then "getOneTknV2"
18- else "getOneTkn"
19- $Tuple2(putFunc, getFunc)
20- }
21-
12+let WX_SWAP_DAPP = Address(base58'3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93')
2213
2314 func getBalance (assetId) = match assetId {
2415 case b: ByteVector =>
2516 assetBalance(this, b)
2617 case _ =>
2718 wavesBalance(this).available
2819 }
2920
3021
3122 func getBase1 (data) = {
3223 let p_data = split(data, "_")
3324 let a = p_data[0]
3425 let a2 = p_data[1]
3526 let assetIn = p_data[2]
3627 let amountIn = p_data[3]
3728 $Tuple4(a, a2, assetIn, amountIn)
3829 }
3930
4031
4132 func getBase2 (data) = {
4233 let p_data = split(data, "_")
4334 let p1 = p_data[0]
44- let lp1 = p_data[1]
45- let is_stable_1 = p_data[2]
46- let t = p_data[3]
47- $Tuple4(p1, lp1, is_stable_1, t)
35+ let t = p_data[1]
36+ $Tuple2(p1, t)
4837 }
4938
5039
5140 func getAssetBytes (assetId) = if ((assetId == "WAVES"))
5241 then unit
5342 else fromBase58String(assetId)
5443
5544
56-func swap_wx (p,lp,asset,amount,putFunc1,getFunc1,a) = {
57- let put1 = invoke(Address(fromBase58String(p)), putFunc1, [1, false], [AttachedPayment(getAssetBytes(asset), amount)])
58- if ((put1 == put1))
59- then {
60- let lp1_assetid = fromBase58String(lp)
61- let lpBalance_1 = getBalance(lp1_assetid)
62- if ((lpBalance_1 == lpBalance_1))
63- then {
64- let get1 = invoke(Address(fromBase58String(p)), getFunc1, [a, 1], [AttachedPayment(lp1_assetid, lpBalance_1)])
65- if ((get1 == get1))
66- then nil
67- else throw("Strict value is not equal to itself.")
68- }
69- else throw("Strict value is not equal to itself.")
70- }
45+func swap_wx (p,asset,amount,a) = {
46+ let call = invoke(WX_SWAP_DAPP, "swap", [1, a, toString(this)], [AttachedPayment(getAssetBytes(asset), amount)])
47+ if ((call == call))
48+ then nil
7149 else throw("Strict value is not equal to itself.")
7250 }
7351
7452
7553 func swap_swop (p,asset,amount) = {
76- let swap2 = invoke(Address(fromBase58String(p)), "exchange", [1], [AttachedPayment(getAssetBytes(asset), amount)])
77- if ((swap2 == swap2))
54+ let swap = invoke(Address(fromBase58String(p)), "exchange", [1], [AttachedPayment(getAssetBytes(asset), amount)])
55+ if ((swap == swap))
7856 then nil
7957 else throw("Strict value is not equal to itself.")
8058 }
8159
8260
8361 func swap_puzzle (p,asset,amount,assetOut) = {
8462 let swap = invoke(Address(fromBase58String(p)), "swap", [assetOut, 1], [AttachedPayment(getAssetBytes(asset), amount)])
8563 if ((swap == swap))
8664 then nil
8765 else throw("Strict value is not equal to itself.")
8866 }
8967
9068
9169 @Callable(i)
9270 func borrow (amnt) = if (!(containsElement([free_to_borrom, boss, this], i.caller)))
9371 then throw("you are not allowed to borrow!")
9472 else {
9573 let currentBal = getBalance(USDN_ASSET_ID)
9674 if ((amnt > currentBal))
9775 then throw("You cannnot borrow that much")
9876 else [ScriptTransfer(i.caller, amnt, USDN_ASSET_ID)]
9977 }
10078
10179
10280
10381 @Callable(i)
10482 func setTreshold (amnt) = if (!(containsElement([free_to_borrom, boss, this], i.caller)))
10583 then throw("you are not allowed to do that!")
10684 else [IntegerEntry("treshold", amnt)]
10785
10886
10987
11088 @Callable(i)
11189 func y (data) = if (if ((i.caller != this))
11290 then (i.caller != boss)
11391 else false)
11492 then throw("you are not allowed to arb!")
11593 else {
11694 let data_array = split_4C(data, "|")
117- let $t035633619 = getBase1(data_array[0])
118- let a = $t035633619._1
119- let a2 = $t035633619._2
120- let assetIn = $t035633619._3
121- let amountIn = $t035633619._4
122- let $t036243680 = getBase2(data_array[1])
123- let p1 = $t036243680._1
124- let lp1 = $t036243680._2
125- let is_stable_1 = $t036243680._3
126- let t1 = $t036243680._4
127- let $t036853741 = getBase2(data_array[2])
128- let p2 = $t036853741._1
129- let lp2 = $t036853741._2
130- let is_stable_2 = $t036853741._3
131- let t2 = $t036853741._4
132- let $t037463802 = getBase2(data_array[3])
133- let p3 = $t037463802._1
134- let lp3 = $t037463802._2
135- let is_stable_3 = $t037463802._3
136- let t3 = $t037463802._4
137- let $t038083874 = getPutGet(value(parseInt(is_stable_1)))
138- let putFunc1 = $t038083874._1
139- let getFunc1 = $t038083874._2
140- let $t038793945 = getPutGet(value(parseInt(is_stable_2)))
141- let putFunc2 = $t038793945._1
142- let getFunc2 = $t038793945._2
143- let $t039504016 = getPutGet(value(parseInt(is_stable_3)))
144- let putFunc3 = $t039504016._1
145- let getFunc3 = $t039504016._2
95+ let $t024622518 = getBase1(data_array[0])
96+ let a = $t024622518._1
97+ let a2 = $t024622518._2
98+ let assetIn = $t024622518._3
99+ let amountIn = $t024622518._4
100+ let $t025232561 = getBase2(data_array[1])
101+ let p1 = $t025232561._1
102+ let t1 = $t025232561._2
103+ let $t025662604 = getBase2(data_array[2])
104+ let p2 = $t025662604._1
105+ let t2 = $t025662604._2
106+ let $t026092647 = getBase2(data_array[3])
107+ let p3 = $t026092647._1
108+ let t3 = $t026092647._2
146109 let amount_bef_assetIn = getBalance(getAssetBytes(assetIn))
147110 if ((amount_bef_assetIn == amount_bef_assetIn))
148111 then {
149112 let new_amountIn = if ((value(parseInt(amountIn)) > amount_bef_assetIn))
150113 then amount_bef_assetIn
151114 else value(parseInt(amountIn))
152115 if ((new_amountIn == new_amountIn))
153116 then {
154117 let amount_bef_asset1 = getBalance(getAssetBytes(a))
155118 if ((amount_bef_asset1 == amount_bef_asset1))
156119 then {
157120 let swap1 = if ((t1 == "W"))
158- then swap_wx(p1, lp1, assetIn, new_amountIn, putFunc1, getFunc1, a)
121+ then swap_wx(p1, assetIn, new_amountIn, a)
159122 else if ((t1 == "S"))
160123 then swap_swop(p1, assetIn, new_amountIn)
161124 else swap_puzzle(p1, assetIn, new_amountIn, a)
162125 if ((swap1 == swap1))
163126 then {
164127 let nb = (getBalance(getAssetBytes(a)) - amount_bef_asset1)
165128 if ((nb == nb))
166129 then {
167130 let amount_bef_asset2 = getBalance(getAssetBytes(a2))
168131 if ((amount_bef_asset2 == amount_bef_asset2))
169132 then {
170133 let swap2 = if ((t2 == "W"))
171- then swap_wx(p2, lp2, a, nb, putFunc2, getFunc2, a2)
134+ then swap_wx(p2, a, nb, a2)
172135 else if ((t2 == "S"))
173136 then swap_swop(p2, a, nb)
174137 else swap_puzzle(p2, a, nb, a2)
175138 if ((swap2 == swap2))
176139 then {
177140 let nb2 = (getBalance(getAssetBytes(a2)) - amount_bef_asset2)
178141 if ((nb2 == nb2))
179142 then {
180143 let amount_bef_base_asset = getBalance(getAssetBytes(assetIn))
181144 if ((amount_bef_base_asset == amount_bef_base_asset))
182145 then {
183146 let swap3 = if ((t3 == "W"))
184- then swap_wx(p3, lp3, a2, nb2, putFunc3, getFunc3, assetIn)
147+ then swap_wx(p3, a2, nb2, assetIn)
185148 else if ((t3 == "S"))
186149 then swap_swop(p3, a2, nb2)
187150 else swap_puzzle(p3, a2, nb2, assetIn)
188151 if ((swap3 == swap3))
189152 then {
190153 let nb3 = (getBalance(getAssetBytes(assetIn)) - amount_bef_base_asset)
191154 if ((nb3 == nb3))
192155 then {
193156 let treshold = valueOrElse(getInteger(this, "treshold"), 150000)
194157 if ((nb3 > (new_amountIn + treshold)))
195158 then [ScriptTransfer(i.caller, (nb3 - new_amountIn), getAssetBytes(assetIn))]
196159 else throw(((((((((("origin amountIn = " + amountIn) + ", new_amountIn = ") + toString(new_amountIn)) + ", newBal_1: ") + toString(nb)) + ", newBal_2: ") + toString(nb2)) + ", newBal_3: ") + toString(nb3)))
197160 }
198161 else throw("Strict value is not equal to itself.")
199162 }
200163 else throw("Strict value is not equal to itself.")
201164 }
202165 else throw("Strict value is not equal to itself.")
203166 }
204167 else throw("Strict value is not equal to itself.")
205168 }
206169 else throw("Strict value is not equal to itself.")
207170 }
208171 else throw("Strict value is not equal to itself.")
209172 }
210173 else throw("Strict value is not equal to itself.")
211174 }
212175 else throw("Strict value is not equal to itself.")
213176 }
214177 else throw("Strict value is not equal to itself.")
215178 }
216179 else throw("Strict value is not equal to itself.")
217180 }
218181 else throw("Strict value is not equal to itself.")
219182 }
220183
221184
222185 @Verifier(tx)
223186 func verify () = if (sigVerify_128Kb(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey))
224187 then true
225188 else sigVerify_128Kb(tx.bodyBytes, tx.proofs[0], adminPublicKey)
226189

github/deemru/w8io/786bc32 
63.20 ms