tx · 6zCetuLs7EqsN5fmnNWNUHQVwtVgtW2yZZ9pWLPufTex

3P7VznyyJc91e2SXpWTgc9Zp2d9XWHdwLJ1:  -0.00500000 Waves

2023.09.27 01:46 [3838798] smart account 3P7VznyyJc91e2SXpWTgc9Zp2d9XWHdwLJ1 > SELF 0.00000000 Waves

{ "type": 13, "id": "6zCetuLs7EqsN5fmnNWNUHQVwtVgtW2yZZ9pWLPufTex", "fee": 500000, "feeAssetId": null, "timestamp": 1695768380807, "version": 2, "chainId": 87, "sender": "3P7VznyyJc91e2SXpWTgc9Zp2d9XWHdwLJ1", "senderPublicKey": "DiCe6VGgddpG7YfGhT4XXsPuQtiyzaV68EZUB8GNT3hs", "proofs": [ "3rJPkSafM2K5Y73Nj38TicczKa6jJ5zakyvnRzhxxrB21AF7EvVUHicH13nvuBx8q4Eovy1gSCR6pbRMjuUeRRHQ" ], "script": "base64:BgIJCAISABIDCgEBCQAGcHJwcnByAiMzUEpFU1ZEVEhSdjhpODNYYm1IclJHUWhEYzVyZ1IzYXpRcwACbXACIzNQNHVBNWV0blppNEFtQmFiS2lucTJiTWlXVThLY25IWmRIAAdzY2FsZTE2AICAhP6m3uERAQx0cnlHZXRTdHJpbmcCA2tleQdhZGRyZXNzBAckbWF0Y2gwCQCdCAIFB2FkZHJlc3MFA2tleQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWIFByRtYXRjaDAFAWICAAENdHJ5R2V0SW50ZWdlcgIDa2V5B2FkZHJlc3MEByRtYXRjaDAJAJoIAgUHYWRkcmVzcwUDa2V5AwkAAQIFByRtYXRjaDACA0ludAQBYgUHJG1hdGNoMAUBYgAAAQ5nZXRBc3NldFN0cmluZwEHYXNzZXRJZAQHJG1hdGNoMAUHYXNzZXRJZAMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAFiBQckbWF0Y2gwCQDYBAEFAWICBVdBVkVTAQ1nZXRBY2NCYWxhbmNlAQdhc3NldElkAwkAAAIFB2Fzc2V0SWQCBVdBVkVTCAkA7wcBBQR0aGlzCWF2YWlsYWJsZQkA8AcCBQR0aGlzCQDZBAEFB2Fzc2V0SWQBCWdldF9zcmF0ZQILcG9vbEFkZHJlc3MHYXNzZXRJZAkBDXRyeUdldEludGVnZXICCQCsAgIFB2Fzc2V0SWQCBl9zUmF0ZQkBB0FkZHJlc3MBCQDZBAEFC3Bvb2xBZGRyZXNzARBnZXRfcGFyYW1zX2J5X1BMAQlwbEFzc2V0SWQECXByQWRkcmVzcwkBB0FkZHJlc3MBCQDZBAEFBnBycHJwcgQHYXNzZXRJZAkBDHRyeUdldFN0cmluZwIJAKwCAgkArAICAgZzZXR1cF8FCXBsQXNzZXRJZAIIX2Fzc2V0SWQFCXByQWRkcmVzcwQLcG9vbEFkZHJlc3MJAQx0cnlHZXRTdHJpbmcCCQCsAgIJAKwCAgIGc2V0dXBfBQlwbEFzc2V0SWQCDF9wb29sQWRkcmVzcwUJcHJBZGRyZXNzBApwb29sRG9tYWluCQEMdHJ5R2V0U3RyaW5nAgkArAICCQCsAgICBnNldHVwXwUJcGxBc3NldElkAgtfcG9vbERvbWFpbgUJcHJBZGRyZXNzCQCVCgMFB2Fzc2V0SWQFC3Bvb2xBZGRyZXNzBQpwb29sRG9tYWluAgFpAQNwdHcABApwYXlBc3NldElkCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQECXBheUFtb3VudAkBBXZhbHVlAQgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQECyR0MDE0ODQxNTcwCQEQZ2V0X3BhcmFtc19ieV9QTAEJAQ5nZXRBc3NldFN0cmluZwEFCnBheUFzc2V0SWQEB2Fzc2V0SWQIBQskdDAxNDg0MTU3MAJfMQQLcG9vbEFkZHJlc3MIBQskdDAxNDg0MTU3MAJfMgQKcG9vbERvbWFpbggFCyR0MDE0ODQxNTcwAl8zBAdwb29sQWRyCQEHQWRkcmVzcwEJANkEAQULcG9vbEFkZHJlc3MECHN1cHBsQmVmCQENdHJ5R2V0SW50ZWdlcgIJAKwCAgkArAICCQClCAEFBHRoaXMCCl9zdXBwbGllZF8FB2Fzc2V0SWQFB3Bvb2xBZHIDCQAAAgUIc3VwcGxCZWYFCHN1cHBsQmVmBAZiYWxCZWYJAQ1nZXRBY2NCYWxhbmNlAQUHYXNzZXRJZAMJAAACBQZiYWxCZWYFBmJhbEJlZgQIaW1wb3J0UEwJAPwHBAkBB0FkZHJlc3MBCQDZBAEFBnBycHJwcgIIaW1wb3J0UEwJAMwIAgUKcG9vbERvbWFpbgkAzAgCCQClCAEFBHRoaXMFA25pbAgFAWkIcGF5bWVudHMDCQAAAgUIaW1wb3J0UEwFCGltcG9ydFBMBApzdXBwbEFmdGVyCQENdHJ5R2V0SW50ZWdlcgIJAKwCAgkArAICCQClCAEFBHRoaXMCCl9zdXBwbGllZF8FB2Fzc2V0SWQFB3Bvb2xBZHIDCQAAAgUKc3VwcGxBZnRlcgUKc3VwcGxBZnRlcgQQYW1vdW50VG9XaXRoZHJhdwkAawMJAGUCBQpzdXBwbEFmdGVyBQhzdXBwbEJlZgkBCWdldF9zcmF0ZQIFC3Bvb2xBZGRyZXNzBQdhc3NldElkBQdzY2FsZTE2AwkAAAIFEGFtb3VudFRvV2l0aGRyYXcFEGFtb3VudFRvV2l0aGRyYXcEB3dpdGRyYXcJAPwHBAUHcG9vbEFkcgIId2l0aGRyYXcJAMwIAgUHYXNzZXRJZAkAzAgCBRBhbW91bnRUb1dpdGhkcmF3BQNuaWwFA25pbAMJAAACBQd3aXRkcmF3BQd3aXRkcmF3BAhiYWxBZnRlcgkBDWdldEFjY0JhbGFuY2UBBQdhc3NldElkAwkAAAIFCGJhbEFmdGVyBQhiYWxBZnRlcgQKd2l0aGRyYXdlZAkAZQIFCGJhbEFmdGVyBQZiYWxCZWYDCQAAAgUKd2l0aGRyYXdlZAUKd2l0aGRyYXdlZAMGCQACAQkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIDMTogCQCkAwEFCXBheUFtb3VudAIFLCAyOiAJAKQDAQUKd2l0aGRyYXdlZAIOLCBzdXBwbEFmdGVyOiAJAKQDAQUKc3VwcGxBZnRlcgIKLCBiYWxiZWY6IAkApAMBBQZiYWxCZWYCDCwgYmFsQWZ0ZXI6IAkApAMBBQhiYWxBZnRlcgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBA3d0cAEGZG9tYWluBApwYXlBc3NldElkCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQECXBheUFtb3VudAkBBXZhbHVlAQgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQECXBsQXNzZXRJZAkBDHRyeUdldFN0cmluZwIJAKwCAgkArAICCQCsAgICCXNldHVwX3BsXwkBDmdldEFzc2V0U3RyaW5nAQUKcGF5QXNzZXRJZAIBXwkApAMBBQZkb21haW4JAQdBZGRyZXNzAQkA2QQBBQZwcnBycHIECyR0MDI3OTUyODU2CQEQZ2V0X3BhcmFtc19ieV9QTAEFCXBsQXNzZXRJZAQFemFnbDEIBQskdDAyNzk1Mjg1NgJfMQQLcG9vbEFkZHJlc3MIBQskdDAyNzk1Mjg1NgJfMgQFemFnbDIIBQskdDAyNzk1Mjg1NgJfMwQHcG9vbEFkcgkBB0FkZHJlc3MBCQDZBAEFC3Bvb2xBZGRyZXNzBAhzdXBwbEJlZgkBDXRyeUdldEludGVnZXICCQCsAgIJAKwCAgkApQgBBQR0aGlzAgpfc3VwcGxpZWRfCQEOZ2V0QXNzZXRTdHJpbmcBBQpwYXlBc3NldElkBQdwb29sQWRyAwkAAAIFCHN1cHBsQmVmBQhzdXBwbEJlZgQGYmFsQmVmCQENZ2V0QWNjQmFsYW5jZQEFCXBsQXNzZXRJZAMJAAACBQZiYWxCZWYFBmJhbEJlZgQHZGVwb3NpdAkA/AcEBQdwb29sQWRyAgZzdXBwbHkFA25pbAgFAWkIcGF5bWVudHMDCQAAAgUHZGVwb3NpdAUHZGVwb3NpdAQKc3VwcGxBZnRlcgkBDXRyeUdldEludGVnZXICCQCsAgIJAKwCAgkApQgBBQR0aGlzAgpfc3VwcGxpZWRfCQEOZ2V0QXNzZXRTdHJpbmcBBQpwYXlBc3NldElkBQdwb29sQWRyAwkAAAIFCnN1cHBsQWZ0ZXIFCnN1cHBsQWZ0ZXIECXRvX2V4cG9ydAkAZQIFCnN1cHBsQWZ0ZXIFCHN1cHBsQmVmAwkAAAIFCXRvX2V4cG9ydAUJdG9fZXhwb3J0BAZleHBvcnQJAPwHBAkBB0FkZHJlc3MBCQDZBAEFBnBycHJwcgIIZXhwb3J0UEwJAMwIAgUGZG9tYWluCQDMCAIFCnBheUFzc2V0SWQJAMwIAgUJdG9fZXhwb3J0BQNuaWwFA25pbAMJAAACBQZleHBvcnQFBmV4cG9ydAQIYmFsQWZ0ZXIJAQ1nZXRBY2NCYWxhbmNlAQUJcGxBc3NldElkAwkAAAIFCGJhbEFmdGVyBQhiYWxBZnRlcgQIZXhwb3J0ZWQJAGUCBQhiYWxBZnRlcgUGYmFsQmVmAwkAAAIFCGV4cG9ydGVkBQhleHBvcnRlZAMGCQACAQkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIDMTogCQCkAwEFCXBheUFtb3VudAIFLCAyOiAJAKQDAQUIZXhwb3J0ZWQCDiwgc3VwcGxBZnRlcjogCQCkAwEFCnN1cHBsQWZ0ZXICCiwgYmFsYmVmOiAJAKQDAQUGYmFsQmVmAgwsIGJhbEFmdGVyOiAJAKQDAQUIYmFsQWZ0ZXIFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgCjYMzH", "height": 3838798, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BLvpCB8sYfstfWgG5N8f7sfTBQHhyCFrGXhyrtgvuViA Next: HkUitDMCRK6nPGXeNopUzfR8SJRc31vcRDxUNugTrULn Diff:
OldNewDifferences
7272 let amountToWithdraw = fraction((supplAfter - supplBef), get_srate(poolAddress, assetId), scale16)
7373 if ((amountToWithdraw == amountToWithdraw))
7474 then {
75- let witdraw = invoke(Address(fromBase58String(poolAddress)), "withdraw", [assetId, amountToWithdraw], nil)
75+ let witdraw = invoke(poolAdr, "withdraw", [assetId, amountToWithdraw], nil)
7676 if ((witdraw == witdraw))
7777 then {
7878 let balAfter = getAccBalance(assetId)
101101 }
102102
103103
104+
105+@Callable(i)
106+func wtp (domain) = {
107+ let payAssetId = i.payments[0].assetId
108+ let payAmount = value(i.payments[0].amount)
109+ let plAssetId = tryGetString(((("setup_pl_" + getAssetString(payAssetId)) + "_") + toString(domain)), Address(fromBase58String(prprpr)))
110+ let $t027952856 = get_params_by_PL(plAssetId)
111+ let zagl1 = $t027952856._1
112+ let poolAddress = $t027952856._2
113+ let zagl2 = $t027952856._3
114+ let poolAdr = Address(fromBase58String(poolAddress))
115+ let supplBef = tryGetInteger(((toString(this) + "_supplied_") + getAssetString(payAssetId)), poolAdr)
116+ if ((supplBef == supplBef))
117+ then {
118+ let balBef = getAccBalance(plAssetId)
119+ if ((balBef == balBef))
120+ then {
121+ let deposit = invoke(poolAdr, "supply", nil, i.payments)
122+ if ((deposit == deposit))
123+ then {
124+ let supplAfter = tryGetInteger(((toString(this) + "_supplied_") + getAssetString(payAssetId)), poolAdr)
125+ if ((supplAfter == supplAfter))
126+ then {
127+ let to_export = (supplAfter - supplBef)
128+ if ((to_export == to_export))
129+ then {
130+ let export = invoke(Address(fromBase58String(prprpr)), "exportPL", [domain, payAssetId, to_export], nil)
131+ if ((export == export))
132+ then {
133+ let balAfter = getAccBalance(plAssetId)
134+ if ((balAfter == balAfter))
135+ then {
136+ let exported = (balAfter - balBef)
137+ if ((exported == exported))
138+ then if (true)
139+ then throw(((((((((("1: " + toString(payAmount)) + ", 2: ") + toString(exported)) + ", supplAfter: ") + toString(supplAfter)) + ", balbef: ") + toString(balBef)) + ", balAfter: ") + toString(balAfter)))
140+ else nil
141+ else throw("Strict value is not equal to itself.")
142+ }
143+ else throw("Strict value is not equal to itself.")
144+ }
145+ else throw("Strict value is not equal to itself.")
146+ }
147+ else throw("Strict value is not equal to itself.")
148+ }
149+ else throw("Strict value is not equal to itself.")
150+ }
151+ else throw("Strict value is not equal to itself.")
152+ }
153+ else throw("Strict value is not equal to itself.")
154+ }
155+ else throw("Strict value is not equal to itself.")
156+ }
157+
158+
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let prprpr = "3PJESVDTHRv8i83XbmHrRGQhDc5rgR3azQs"
55
66 let mp = "3P4uA5etnZi4AmBabKinq2bMiWU8KcnHZdH"
77
88 let scale16 = 10000000000000000
99
1010 func tryGetString (key,address) = match getString(address, key) {
1111 case b: String =>
1212 b
1313 case _ =>
1414 ""
1515 }
1616
1717
1818 func tryGetInteger (key,address) = match getInteger(address, key) {
1919 case b: Int =>
2020 b
2121 case _ =>
2222 0
2323 }
2424
2525
2626 func getAssetString (assetId) = match assetId {
2727 case b: ByteVector =>
2828 toBase58String(b)
2929 case _ =>
3030 "WAVES"
3131 }
3232
3333
3434 func getAccBalance (assetId) = if ((assetId == "WAVES"))
3535 then wavesBalance(this).available
3636 else assetBalance(this, fromBase58String(assetId))
3737
3838
3939 func get_srate (poolAddress,assetId) = tryGetInteger((assetId + "_sRate"), Address(fromBase58String(poolAddress)))
4040
4141
4242 func get_params_by_PL (plAssetId) = {
4343 let prAddress = Address(fromBase58String(prprpr))
4444 let assetId = tryGetString((("setup_" + plAssetId) + "_assetId"), prAddress)
4545 let poolAddress = tryGetString((("setup_" + plAssetId) + "_poolAddress"), prAddress)
4646 let poolDomain = tryGetString((("setup_" + plAssetId) + "_poolDomain"), prAddress)
4747 $Tuple3(assetId, poolAddress, poolDomain)
4848 }
4949
5050
5151 @Callable(i)
5252 func ptw () = {
5353 let payAssetId = i.payments[0].assetId
5454 let payAmount = value(i.payments[0].amount)
5555 let $t014841570 = get_params_by_PL(getAssetString(payAssetId))
5656 let assetId = $t014841570._1
5757 let poolAddress = $t014841570._2
5858 let poolDomain = $t014841570._3
5959 let poolAdr = Address(fromBase58String(poolAddress))
6060 let supplBef = tryGetInteger(((toString(this) + "_supplied_") + assetId), poolAdr)
6161 if ((supplBef == supplBef))
6262 then {
6363 let balBef = getAccBalance(assetId)
6464 if ((balBef == balBef))
6565 then {
6666 let importPL = invoke(Address(fromBase58String(prprpr)), "importPL", [poolDomain, toString(this)], i.payments)
6767 if ((importPL == importPL))
6868 then {
6969 let supplAfter = tryGetInteger(((toString(this) + "_supplied_") + assetId), poolAdr)
7070 if ((supplAfter == supplAfter))
7171 then {
7272 let amountToWithdraw = fraction((supplAfter - supplBef), get_srate(poolAddress, assetId), scale16)
7373 if ((amountToWithdraw == amountToWithdraw))
7474 then {
75- let witdraw = invoke(Address(fromBase58String(poolAddress)), "withdraw", [assetId, amountToWithdraw], nil)
75+ let witdraw = invoke(poolAdr, "withdraw", [assetId, amountToWithdraw], nil)
7676 if ((witdraw == witdraw))
7777 then {
7878 let balAfter = getAccBalance(assetId)
7979 if ((balAfter == balAfter))
8080 then {
8181 let withdrawed = (balAfter - balBef)
8282 if ((withdrawed == withdrawed))
8383 then if (true)
8484 then throw(((((((((("1: " + toString(payAmount)) + ", 2: ") + toString(withdrawed)) + ", supplAfter: ") + toString(supplAfter)) + ", balbef: ") + toString(balBef)) + ", balAfter: ") + toString(balAfter)))
8585 else nil
8686 else throw("Strict value is not equal to itself.")
8787 }
8888 else throw("Strict value is not equal to itself.")
8989 }
9090 else throw("Strict value is not equal to itself.")
9191 }
9292 else throw("Strict value is not equal to itself.")
9393 }
9494 else throw("Strict value is not equal to itself.")
9595 }
9696 else throw("Strict value is not equal to itself.")
9797 }
9898 else throw("Strict value is not equal to itself.")
9999 }
100100 else throw("Strict value is not equal to itself.")
101101 }
102102
103103
104+
105+@Callable(i)
106+func wtp (domain) = {
107+ let payAssetId = i.payments[0].assetId
108+ let payAmount = value(i.payments[0].amount)
109+ let plAssetId = tryGetString(((("setup_pl_" + getAssetString(payAssetId)) + "_") + toString(domain)), Address(fromBase58String(prprpr)))
110+ let $t027952856 = get_params_by_PL(plAssetId)
111+ let zagl1 = $t027952856._1
112+ let poolAddress = $t027952856._2
113+ let zagl2 = $t027952856._3
114+ let poolAdr = Address(fromBase58String(poolAddress))
115+ let supplBef = tryGetInteger(((toString(this) + "_supplied_") + getAssetString(payAssetId)), poolAdr)
116+ if ((supplBef == supplBef))
117+ then {
118+ let balBef = getAccBalance(plAssetId)
119+ if ((balBef == balBef))
120+ then {
121+ let deposit = invoke(poolAdr, "supply", nil, i.payments)
122+ if ((deposit == deposit))
123+ then {
124+ let supplAfter = tryGetInteger(((toString(this) + "_supplied_") + getAssetString(payAssetId)), poolAdr)
125+ if ((supplAfter == supplAfter))
126+ then {
127+ let to_export = (supplAfter - supplBef)
128+ if ((to_export == to_export))
129+ then {
130+ let export = invoke(Address(fromBase58String(prprpr)), "exportPL", [domain, payAssetId, to_export], nil)
131+ if ((export == export))
132+ then {
133+ let balAfter = getAccBalance(plAssetId)
134+ if ((balAfter == balAfter))
135+ then {
136+ let exported = (balAfter - balBef)
137+ if ((exported == exported))
138+ then if (true)
139+ then throw(((((((((("1: " + toString(payAmount)) + ", 2: ") + toString(exported)) + ", supplAfter: ") + toString(supplAfter)) + ", balbef: ") + toString(balBef)) + ", balAfter: ") + toString(balAfter)))
140+ else nil
141+ else throw("Strict value is not equal to itself.")
142+ }
143+ else throw("Strict value is not equal to itself.")
144+ }
145+ else throw("Strict value is not equal to itself.")
146+ }
147+ else throw("Strict value is not equal to itself.")
148+ }
149+ else throw("Strict value is not equal to itself.")
150+ }
151+ else throw("Strict value is not equal to itself.")
152+ }
153+ else throw("Strict value is not equal to itself.")
154+ }
155+ else throw("Strict value is not equal to itself.")
156+ }
157+
158+

github/deemru/w8io/3ef1775 
36.14 ms