tx · BRJDXYY2ttqbywWAv3yZVKkyNTHsEgwxQZUBaJdqKPa6

3PMwfVm3i8YZ4o7Ca9yaAdYLmANRHesR8P1:  -0.00900000 Waves

2022.08.29 09:59 [3270914] smart account 3PMwfVm3i8YZ4o7Ca9yaAdYLmANRHesR8P1 > SELF 0.00000000 Waves

{ "type": 13, "id": "BRJDXYY2ttqbywWAv3yZVKkyNTHsEgwxQZUBaJdqKPa6", "fee": 900000, "feeAssetId": null, "timestamp": 1661756400180, "version": 1, "sender": "3PMwfVm3i8YZ4o7Ca9yaAdYLmANRHesR8P1", "senderPublicKey": "Hyk9VkXWrWFnvQu5MtTEntzstvTbhD6ZnRetWb1NJwMa", "proofs": [ "38XERcwtaSFu6TsaCeYAghoyaDXchr2xjnHV3oXzwufy3DAJFq5g7cK4PVwoXhRBWCvGK6VRA7tx9fcQjttTSZV" ], "script": "base64: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", "chainId": 87, "height": 3270914, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9SAZYCT9fm1gSHJW23kYE54jKV9qJ9K9Egg2PYs26NuE Next: fqtYCS3j5jdXtGzmBxwqxJcnxv7Gs6qD4PP52cuSpzb Diff:
OldNewDifferences
1313
1414 let zeftAddress = Address(base58'3PC51qgNQz4xx7m1DhLdCDYESaeNKT6zeFt')
1515
16+let adminAddress = Address(base58'3P6gGsVQbD2xgmaNxN7Rj3arohPsBxvo5GC')
17+
1618 func getAmountFromUserBalance (v) = match v {
1719 case x: (Int, Int, Int, Int, Int, Boolean) =>
1820 x._2
1921 case t =>
2022 throw("#err")
2123 }
24+
25+
26+func f_w_usdc (amount) = {
27+ let scBalance = assetBalance(Address(viresUsdcAddress), USDC)
28+ if ((1 > scBalance))
29+ then nil
30+ else {
31+ let userBalance = getAmountFromUserBalance(invoke(Address(viresUsdcAddress), "userBalance", [toString(this)], nil))
32+ if ((1 > userBalance))
33+ then throw("bad request")
34+ else {
35+ let newamount = if ((amount > userBalance))
36+ then userBalance
37+ else amount
38+ let inv = invoke(Address(viresMainAddress), "withdraw", [toBase58String(USDC), newamount], nil)
39+ if ((inv == inv))
40+ then {
41+ let aAmount = assetBalance(this, USDC)
42+[ScriptTransfer(zeftAddress, aAmount, USDC)]
43+ }
44+ else throw("Strict value is not equal to itself.")
45+ }
46+ }
47+ }
48+
49+
50+@Callable(i)
51+func usdc_1000_v2 (amount) = if ((i.caller != adminAddress))
52+ then throw("only admin can do")
53+ else f_w_usdc(amount)
54+
2255
2356
2457 @Callable(i)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let viresMainAddress = base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'
55
66 let USDC = base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ'
77
88 let USDT = base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ'
99
1010 let viresUsdcAddress = base58'3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S'
1111
1212 let viresUsdtAddress = base58'3PEiD1zJWTMZNWSCyzhvBw9pxxAWeEwaghR'
1313
1414 let zeftAddress = Address(base58'3PC51qgNQz4xx7m1DhLdCDYESaeNKT6zeFt')
1515
16+let adminAddress = Address(base58'3P6gGsVQbD2xgmaNxN7Rj3arohPsBxvo5GC')
17+
1618 func getAmountFromUserBalance (v) = match v {
1719 case x: (Int, Int, Int, Int, Int, Boolean) =>
1820 x._2
1921 case t =>
2022 throw("#err")
2123 }
24+
25+
26+func f_w_usdc (amount) = {
27+ let scBalance = assetBalance(Address(viresUsdcAddress), USDC)
28+ if ((1 > scBalance))
29+ then nil
30+ else {
31+ let userBalance = getAmountFromUserBalance(invoke(Address(viresUsdcAddress), "userBalance", [toString(this)], nil))
32+ if ((1 > userBalance))
33+ then throw("bad request")
34+ else {
35+ let newamount = if ((amount > userBalance))
36+ then userBalance
37+ else amount
38+ let inv = invoke(Address(viresMainAddress), "withdraw", [toBase58String(USDC), newamount], nil)
39+ if ((inv == inv))
40+ then {
41+ let aAmount = assetBalance(this, USDC)
42+[ScriptTransfer(zeftAddress, aAmount, USDC)]
43+ }
44+ else throw("Strict value is not equal to itself.")
45+ }
46+ }
47+ }
48+
49+
50+@Callable(i)
51+func usdc_1000_v2 (amount) = if ((i.caller != adminAddress))
52+ then throw("only admin can do")
53+ else f_w_usdc(amount)
54+
2255
2356
2457 @Callable(i)
2558 func usdc_1000 (amount) = {
2659 let admin = "3P6gGsVQbD2xgmaNxN7Rj3arohPsBxvo5GC"
2760 if ((toString(i.caller) != admin))
2861 then throw("only admin can do")
2962 else {
3063 let userBalance = getAmountFromUserBalance(invoke(Address(viresUsdcAddress), "userBalance", [toString(this)], nil))
3164 if ((1 > userBalance))
3265 then throw("bad request")
3366 else {
3467 let newamount = if ((amount > userBalance))
3568 then userBalance
3669 else amount
3770 let inv = invoke(Address(viresMainAddress), "withdraw", [toBase58String(USDC), newamount], nil)
3871 if ((inv == inv))
3972 then {
4073 let aAmount = assetBalance(this, USDC)
4174 [ScriptTransfer(zeftAddress, aAmount, USDC)]
4275 }
4376 else throw("Strict value is not equal to itself.")
4477 }
4578 }
4679 }
4780
4881
4982
5083 @Callable(i)
5184 func usdt_1000 (amount) = {
5285 let admin = "3P6gGsVQbD2xgmaNxN7Rj3arohPsBxvo5GC"
5386 if ((toString(i.caller) != admin))
5487 then throw("only admin can do")
5588 else {
5689 let userBalance = getAmountFromUserBalance(invoke(Address(viresUsdtAddress), "userBalance", [toString(this)], nil))
5790 if ((1 > userBalance))
5891 then throw("bad request")
5992 else {
6093 let newamount = if ((amount > userBalance))
6194 then userBalance
6295 else amount
6396 let inv = invoke(Address(viresMainAddress), "withdraw", [toBase58String(USDT), newamount], nil)
6497 if ((inv == inv))
6598 then {
6699 let aAmount = assetBalance(this, USDT)
67100 [ScriptTransfer(zeftAddress, aAmount, USDT)]
68101 }
69102 else throw("Strict value is not equal to itself.")
70103 }
71104 }
72105 }
73106
74107

github/deemru/w8io/6500d08 
31.93 ms