tx · HsfMZ4ogWJRaSdFbJjw3GQh4MYRBfrkqposqH1JjuDd8

3PR66hDNWcszgP7u3Bqw8Yp3fJ9qzupj6Q8:  -0.00300000 Waves

2022.11.04 15:40 [3367761] smart account 3PR66hDNWcszgP7u3Bqw8Yp3fJ9qzupj6Q8 > SELF 0.00000000 Waves

{ "type": 13, "id": "HsfMZ4ogWJRaSdFbJjw3GQh4MYRBfrkqposqH1JjuDd8", "fee": 300000, "feeAssetId": null, "timestamp": 1667565664630, "version": 2, "chainId": 87, "sender": "3PR66hDNWcszgP7u3Bqw8Yp3fJ9qzupj6Q8", "senderPublicKey": "B5bDwAWAxe3eW8Q6mk5Bkwhy9a3djUN3XLh1n2DyJea5", "proofs": [ "4VhPNPjV9m8zoNABPX2YbFxhJssMEBp4tY9q63S4hmXXodhue935wbfyQZSQJVGkh3WwDc8va3EDK4ujbJRWVSjM" ], "script": "base64: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AAACAP//////////BQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAADaW52BQAAAANpbnYEAAAAF3VzZGNBbW91bnRBZnRlcldpdGhkcmF3CQAD8AAAAAIFAAAABHRoaXMFAAAABFVTREMDCQAAAAAAAAIFAAAAF3VzZGNBbW91bnRBZnRlcldpdGhkcmF3BQAAABd1c2RjQW1vdW50QWZ0ZXJXaXRoZHJhdwkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAAltZUFkZHJlc3MFAAAAF3VzZGNBbW91bnRBZnRlcldpdGhkcmF3BQAAAARVU0RDBQAAAANuaWwJAAACAAAAAQIAAAAVdHJhbnNmZXIgdXNkYyAtIGVycm9yCQAAAgAAAAECAAAAEHdpdGhkcmF3IC0gZXJyb3IEAAAAD2ludm9rZVRvVmVzdGluZwkAA/wAAAAEBQAAABt2aXJlc1Zlc3RpbmdVc2RuTWFpbkFkZHJlc3MCAAAADWNvbnZlcnRUb1VTRE4FAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAA9pbnZva2VUb1Zlc3RpbmcFAAAAD2ludm9rZVRvVmVzdGluZwQAAAADaW52CQAD/AAAAAQFAAAAG3ZpcmVzVmVzdGluZ1VzZG5NYWluQWRkcmVzcwIAAAAVd2l0aGRyYXdWZXN0ZWRBbGxVU0ROCQAETAAAAAIHCQAETAAAAAIGBQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAADaW52BQAAAANpbnYEAAAAF3VzZG5BbW91bnRBZnRlcldpdGhkcmF3CQAD8AAAAAIFAAAABHRoaXMFAAAABFVTRE4DCQAAAAAAAAIFAAAAF3VzZG5BbW91bnRBZnRlcldpdGhkcmF3BQAAABd1c2RuQW1vdW50QWZ0ZXJXaXRoZHJhdwkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAAltZUFkZHJlc3MFAAAAF3VzZG5BbW91bnRBZnRlcldpdGhkcmF3BQAAAARVU0ROBQAAAANuaWwJAAACAAAAAQIAAAAVdHJhbnNmZXIgdXNkbiAtIGVycm9yCQAAAgAAAAECAAAAHXdpdGhkcmF3VmVzdGVkQWxsVVNETiAtIGVycm9yCQAAAgAAAAECAAAAFWNvbnZlcnRUb1VTRE4gLSBlcnJvcgkAAAIAAAABAgAAABlyZXBsZW5pc2hXaXRoQXRva2VuIGVycm9yAAAAAHKx/4w=", "height": 3367761, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BCB1wcgetU9z1Xg2kj5TAeiu5qsRtJehYe5ufwj3jyKc Next: DuZTXkxMcBj4j4jcxWki5rJi6FR21NhFBFi1UN3BR5Vi Diff:
OldNewDifferences
1414 let viresUsdcAddress = Address(base58'3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S')
1515
1616 let viresVestingUsdnMainAddress = Address(base58'3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk')
17+
18+func getAmountFromUserBalance (v) = match v {
19+ case x: (Int, Int, Int, Int, Int, Boolean) =>
20+ x._2
21+ case t =>
22+ throw("#err")
23+}
24+
1725
1826 @Callable(i)
1927 func test () = if ((i.caller != adminAddress))
3341
3442
3543 @Callable(i)
36-func usdn_100_with_import () = if ((i.caller != adminAddress))
44+func dddd_with_import () = if ((i.caller != adminAddress))
3745 then throw("only admin can do")
3846 else {
39- let invokeImportUsdcLp = invoke(viresMainAddress, "replenishWithAtoken", nil, i.payments)
47+ let userBalance = getAmountFromUserBalance(invoke(viresUsdcAddress, "userBalance", [toString(this)], nil))
48+ let invokeImportUsdcLp = if ((1 > userBalance))
49+ then invoke(viresMainAddress, "replenishWithAtoken", nil, i.payments)
50+ else true
4051 if ((invokeImportUsdcLp == invokeImportUsdcLp))
4152 then {
42- let invokeToVesting = invoke(viresVestingUsdnMainAddress, "convertToUSDN", nil, nil)
43- if ((invokeToVesting == invokeToVesting))
44- then {
45- let inv = invoke(viresVestingUsdnMainAddress, "withdrawVestedAllUSDN", [false, true], nil)
46- if ((inv == inv))
47- then {
48- let usdnAmountAfterWithdraw = assetBalance(this, USDN)
49- if ((usdnAmountAfterWithdraw == usdnAmountAfterWithdraw))
50- then [ScriptTransfer(meAddress, usdnAmountAfterWithdraw, USDN)]
51- else throw("Strict value is not equal to itself. - 5")
52- }
53- else throw("Strict value is not equal to itself. - 4")
54- }
55- else throw("Strict value is not equal to itself. - 3")
56- }
57- else throw("Strict value is not equal to itself. - 2")
58- }
59-
60-
61-
62-@Callable(i)
63-func usdc_100_with_import () = if ((i.caller != adminAddress))
64- then throw("only admin can do")
65- else {
66- let scBalance = assetBalance(viresUsdcAddress, USDC)
67- if ((100000000 > scBalance))
68- then throw("no usdc in pool")
69- else {
70- let invokeImportUsdcLp = invoke(viresMainAddress, "replenishWithAtoken", nil, i.payments)
71- if ((invokeImportUsdcLp == invokeImportUsdcLp))
53+ let scBalance = assetBalance(viresUsdcAddress, USDC)
54+ if ((100000000 > scBalance))
7255 then {
7356 let inv = invoke(viresMainAddress, "withdraw", [toBase58String(USDC), -1], nil)
7457 if ((inv == inv))
7659 let usdcAmountAfterWithdraw = assetBalance(this, USDC)
7760 if ((usdcAmountAfterWithdraw == usdcAmountAfterWithdraw))
7861 then [ScriptTransfer(meAddress, usdcAmountAfterWithdraw, USDC)]
79- else throw("Strict value is not equal to itself. - 7")
62+ else throw("transfer usdc - error")
8063 }
81- else throw("Strict value is not equal to itself. - 8")
64+ else throw("withdraw - error")
8265 }
83- else throw("Strict value is not equal to itself. - 6")
84- }
85- }
86-
87-
88-
89-@Callable(i)
90-func dddd_with_import () = if ((i.caller != adminAddress))
91- then throw("only admin can do")
92- else {
93- let scBalance = assetBalance(viresUsdcAddress, USDC)
94- if ((100000000 > scBalance))
95- then {
96- let invokeImportUsdcLp = invoke(viresMainAddress, "replenishWithAtoken", nil, i.payments)
97- if ((invokeImportUsdcLp == invokeImportUsdcLp))
98- then {
66+ else {
9967 let invokeToVesting = invoke(viresVestingUsdnMainAddress, "convertToUSDN", nil, nil)
10068 if ((invokeToVesting == invokeToVesting))
10169 then {
10573 let usdnAmountAfterWithdraw = assetBalance(this, USDN)
10674 if ((usdnAmountAfterWithdraw == usdnAmountAfterWithdraw))
10775 then [ScriptTransfer(meAddress, usdnAmountAfterWithdraw, USDN)]
108- else throw("Strict value is not equal to itself. - 5")
76+ else throw("transfer usdn - error")
10977 }
110- else throw("Strict value is not equal to itself. - 4")
78+ else throw("withdrawVestedAllUSDN - error")
11179 }
112- else throw("Strict value is not equal to itself. - 3")
80+ else throw("convertToUSDN - error")
11381 }
114- else throw("Strict value is not equal to itself. - 2")
11582 }
116- else {
117- let invokeImportUsdcLp = invoke(viresMainAddress, "replenishWithAtoken", nil, i.payments)
118- if ((invokeImportUsdcLp == invokeImportUsdcLp))
119- then {
120- let inv = invoke(viresMainAddress, "withdraw", [toBase58String(USDC), -1], nil)
121- if ((inv == inv))
122- then {
123- let usdcAmountAfterWithdraw = assetBalance(this, USDC)
124- if ((usdcAmountAfterWithdraw == usdcAmountAfterWithdraw))
125- then [ScriptTransfer(meAddress, usdcAmountAfterWithdraw, USDC)]
126- else throw("Strict value is not equal to itself. - 7")
127- }
128- else throw("Strict value is not equal to itself. - 8")
129- }
130- else throw("Strict value is not equal to itself. - 6")
131- }
83+ else throw("replenishWithAtoken error")
13284 }
13385
13486
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let USDN = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
55
66 let USDC = base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ'
77
88 let meAddress = Address(base58'3P339sQ6rBBSUxAJheEvpEm77htQCsJBnzy')
99
1010 let adminAddress = Address(base58'3PKG6HpECVsPpGHoQyyE66wdEKfZLpbHxpn')
1111
1212 let viresMainAddress = Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT')
1313
1414 let viresUsdcAddress = Address(base58'3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S')
1515
1616 let viresVestingUsdnMainAddress = Address(base58'3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk')
17+
18+func getAmountFromUserBalance (v) = match v {
19+ case x: (Int, Int, Int, Int, Int, Boolean) =>
20+ x._2
21+ case t =>
22+ throw("#err")
23+}
24+
1725
1826 @Callable(i)
1927 func test () = if ((i.caller != adminAddress))
2028 then throw("only admin can do")
2129 else {
2230 let invokeImportUsdcLp = invoke(viresMainAddress, "replenishWithAtoken", nil, i.payments)
2331 if ((invokeImportUsdcLp == invokeImportUsdcLp))
2432 then {
2533 let invokeToVesting = invoke(viresVestingUsdnMainAddress, "convertToUSDN", nil, nil)
2634 if ((invokeToVesting == invokeToVesting))
2735 then [IntegerEntry("zz", 0)]
2836 else throw("Strict value is not equal to itself. - 3")
2937 }
3038 else throw("Strict value is not equal to itself. - 2")
3139 }
3240
3341
3442
3543 @Callable(i)
36-func usdn_100_with_import () = if ((i.caller != adminAddress))
44+func dddd_with_import () = if ((i.caller != adminAddress))
3745 then throw("only admin can do")
3846 else {
39- let invokeImportUsdcLp = invoke(viresMainAddress, "replenishWithAtoken", nil, i.payments)
47+ let userBalance = getAmountFromUserBalance(invoke(viresUsdcAddress, "userBalance", [toString(this)], nil))
48+ let invokeImportUsdcLp = if ((1 > userBalance))
49+ then invoke(viresMainAddress, "replenishWithAtoken", nil, i.payments)
50+ else true
4051 if ((invokeImportUsdcLp == invokeImportUsdcLp))
4152 then {
42- let invokeToVesting = invoke(viresVestingUsdnMainAddress, "convertToUSDN", nil, nil)
43- if ((invokeToVesting == invokeToVesting))
44- then {
45- let inv = invoke(viresVestingUsdnMainAddress, "withdrawVestedAllUSDN", [false, true], nil)
46- if ((inv == inv))
47- then {
48- let usdnAmountAfterWithdraw = assetBalance(this, USDN)
49- if ((usdnAmountAfterWithdraw == usdnAmountAfterWithdraw))
50- then [ScriptTransfer(meAddress, usdnAmountAfterWithdraw, USDN)]
51- else throw("Strict value is not equal to itself. - 5")
52- }
53- else throw("Strict value is not equal to itself. - 4")
54- }
55- else throw("Strict value is not equal to itself. - 3")
56- }
57- else throw("Strict value is not equal to itself. - 2")
58- }
59-
60-
61-
62-@Callable(i)
63-func usdc_100_with_import () = if ((i.caller != adminAddress))
64- then throw("only admin can do")
65- else {
66- let scBalance = assetBalance(viresUsdcAddress, USDC)
67- if ((100000000 > scBalance))
68- then throw("no usdc in pool")
69- else {
70- let invokeImportUsdcLp = invoke(viresMainAddress, "replenishWithAtoken", nil, i.payments)
71- if ((invokeImportUsdcLp == invokeImportUsdcLp))
53+ let scBalance = assetBalance(viresUsdcAddress, USDC)
54+ if ((100000000 > scBalance))
7255 then {
7356 let inv = invoke(viresMainAddress, "withdraw", [toBase58String(USDC), -1], nil)
7457 if ((inv == inv))
7558 then {
7659 let usdcAmountAfterWithdraw = assetBalance(this, USDC)
7760 if ((usdcAmountAfterWithdraw == usdcAmountAfterWithdraw))
7861 then [ScriptTransfer(meAddress, usdcAmountAfterWithdraw, USDC)]
79- else throw("Strict value is not equal to itself. - 7")
62+ else throw("transfer usdc - error")
8063 }
81- else throw("Strict value is not equal to itself. - 8")
64+ else throw("withdraw - error")
8265 }
83- else throw("Strict value is not equal to itself. - 6")
84- }
85- }
86-
87-
88-
89-@Callable(i)
90-func dddd_with_import () = if ((i.caller != adminAddress))
91- then throw("only admin can do")
92- else {
93- let scBalance = assetBalance(viresUsdcAddress, USDC)
94- if ((100000000 > scBalance))
95- then {
96- let invokeImportUsdcLp = invoke(viresMainAddress, "replenishWithAtoken", nil, i.payments)
97- if ((invokeImportUsdcLp == invokeImportUsdcLp))
98- then {
66+ else {
9967 let invokeToVesting = invoke(viresVestingUsdnMainAddress, "convertToUSDN", nil, nil)
10068 if ((invokeToVesting == invokeToVesting))
10169 then {
10270 let inv = invoke(viresVestingUsdnMainAddress, "withdrawVestedAllUSDN", [false, true], nil)
10371 if ((inv == inv))
10472 then {
10573 let usdnAmountAfterWithdraw = assetBalance(this, USDN)
10674 if ((usdnAmountAfterWithdraw == usdnAmountAfterWithdraw))
10775 then [ScriptTransfer(meAddress, usdnAmountAfterWithdraw, USDN)]
108- else throw("Strict value is not equal to itself. - 5")
76+ else throw("transfer usdn - error")
10977 }
110- else throw("Strict value is not equal to itself. - 4")
78+ else throw("withdrawVestedAllUSDN - error")
11179 }
112- else throw("Strict value is not equal to itself. - 3")
80+ else throw("convertToUSDN - error")
11381 }
114- else throw("Strict value is not equal to itself. - 2")
11582 }
116- else {
117- let invokeImportUsdcLp = invoke(viresMainAddress, "replenishWithAtoken", nil, i.payments)
118- if ((invokeImportUsdcLp == invokeImportUsdcLp))
119- then {
120- let inv = invoke(viresMainAddress, "withdraw", [toBase58String(USDC), -1], nil)
121- if ((inv == inv))
122- then {
123- let usdcAmountAfterWithdraw = assetBalance(this, USDC)
124- if ((usdcAmountAfterWithdraw == usdcAmountAfterWithdraw))
125- then [ScriptTransfer(meAddress, usdcAmountAfterWithdraw, USDC)]
126- else throw("Strict value is not equal to itself. - 7")
127- }
128- else throw("Strict value is not equal to itself. - 8")
129- }
130- else throw("Strict value is not equal to itself. - 6")
131- }
83+ else throw("replenishWithAtoken error")
13284 }
13385
13486

github/deemru/w8io/6500d08 
28.11 ms