2022.06.18 13:35 [3167316] smart account 3P85xv6F1hkbD9L8aPEEedKeYezS7s8ReLi > SELF 0.00000000 Waves

{ "type": 13, "id": "H9bTD6oerUfMzsXDsms38VRAGd4eNB8tLwyCRq9Ua4Fe", "fee": 1400000, "feeAssetId": null, "timestamp": 1655548575393, "version": 2, "chainId": 87, "sender": "3P85xv6F1hkbD9L8aPEEedKeYezS7s8ReLi", "senderPublicKey": "DeiaRivNsWw5sAvAAho1GNN3u4EHHxfKYTMk95x8MmAw", "proofs": [ "33qP99gJR6FjCjKqeKbWkU28J5YXrjvCRTSUBZEYCnf4URFQHkiGB9RcpM7chhhZtCw17Z9ED1TEzzjSNXfvL6yb" ], "script": "base64:AAIFAAAAAAAAAAcIAhIDCgEBAAAABAAAAAAQdmlyZXNNYWluQWRkcmVzcwEAAAAaAVdewZYZMMmiQ3hGadYm1vHmuEPQvfZMHrgAAAAABFVTREMBAAAAIFIz2eGXiCbl4h/C/eqINLiHdqOMsYPvyGAcfgoSVCYlAAAAABB2aXJlc1VzZGNBZGRyZXNzAQAAABoBV5yR1utW32Oxv3/kjTMk5Byo4/hA5zvtAwEAAAAYZ2V0QW1vdW50RnJvbVVzZXJCYWxhbmNlAAAAAQAAAAF2BAAAAAckbWF0Y2gwBQAAAAF2AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAACIoSW50LCBJbnQsIEludCwgSW50LCBJbnQsIEJvb2xlYW4pBAAAAAF4BQAAAAckbWF0Y2gwCAUAAAABeAAAAAJfMgQAAAABdAUAAAAHJG1hdGNoMAkAAAIAAAABAgAAAAQjZXJyAAAAAQAAAAFpAQAAAAl1c2RjXzEwMDAAAAABAAAABmFtb3VudAQAAAAFYWRtaW4CAAAAIzNQNmdHc1ZRYkQyeGdtYU54TjdSajNhcm9oUHNCeHZvNUdDAwkBAAAAAiE9AAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAABWFkbWluCQAAAgAAAAECAAAAEW9ubHkgYWRtaW4gY2FuIGRvBAAAAAt1c2VyQmFsYW5jZQkBAAAAGGdldEFtb3VudEZyb21Vc2VyQmFsYW5jZQAAAAEJAAP8AAAABAkBAAAAB0FkZHJlc3MAAAABBQAAABB2aXJlc1VzZGNBZGRyZXNzAgAAAAt1c2VyQmFsYW5jZQkABEwAAAACCQAEJQAAAAEFAAAABHRoaXMFAAAAA25pbAUAAAADbmlsAwkAAGYAAAACAAAAAAAAAAABBQAAAAt1c2VyQmFsYW5jZQkAAAIAAAABAgAAAAtiYWQgcmVxdWVzdAQAAAAJbmV3YW1vdW50AwkAAGYAAAACBQAAAAZhbW91bnQFAAAAC3VzZXJCYWxhbmNlBQAAAAt1c2VyQmFsYW5jZQUAAAAGYW1vdW50BAAAAANpbnYJAAP8AAAABAkBAAAAB0FkZHJlc3MAAAABBQAAABB2aXJlc01haW5BZGRyZXNzAgAAAAh3aXRoZHJhdwkABEwAAAACCQACWAAAAAEFAAAABFVTREMJAARMAAAAAgUAAAAJbmV3YW1vdW50BQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAADaW52BQAAAANpbnYFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAAAgrmJyw==", "height": 3167316, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8kGvKQ8bv7s9HMMG8KdB42jNoEsMiG7jt4GZL9LS85TK Next: FXp6C4F46VSdMLMopBgFo1YyJCAYJaPNcobber8jipry Diff:
OldNewDifferences
55
66 let USDC = base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ'
77
8+let viresUsdcAddress = base58'3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S'
9+
10+func getAmountFromUserBalance (v) = match v {
11+ case x: (Int, Int, Int, Int, Int, Boolean) =>
12+ x._2
13+ case t =>
14+ throw("#err")
15+}
16+
17+
818 @Callable(i)
919 func usdc_1000 (amount) = {
1020 let admin = "3P6gGsVQbD2xgmaNxN7Rj3arohPsBxvo5GC"
1121 if ((toString(i.caller) != admin))
1222 then throw("only admin can do")
1323 else {
14- let inv = invoke(Address(viresMainAddress), "withdraw", [toBase58String(USDC), amount], nil)
15- if ((inv == inv))
16- then nil
17- else throw("Strict value is not equal to itself.")
24+ let userBalance = getAmountFromUserBalance(invoke(Address(viresUsdcAddress), "userBalance", [toString(this)], nil))
25+ if ((1 > userBalance))
26+ then throw("bad request")
27+ else {
28+ let newamount = if ((amount > userBalance))
29+ then userBalance
30+ else amount
31+ let inv = invoke(Address(viresMainAddress), "withdraw", [toBase58String(USDC), newamount], nil)
32+ if ((inv == inv))
33+ then nil
34+ else throw("Strict value is not equal to itself.")
35+ }
1836 }
1937 }
2038
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
8+let viresUsdcAddress = base58'3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S'
9+
10+func getAmountFromUserBalance (v) = match v {
11+ case x: (Int, Int, Int, Int, Int, Boolean) =>
12+ x._2
13+ case t =>
14+ throw("#err")
15+}
16+
17+
818 @Callable(i)
919 func usdc_1000 (amount) = {
1020 let admin = "3P6gGsVQbD2xgmaNxN7Rj3arohPsBxvo5GC"
1121 if ((toString(i.caller) != admin))
1222 then throw("only admin can do")
1323 else {
14- let inv = invoke(Address(viresMainAddress), "withdraw", [toBase58String(USDC), amount], nil)
15- if ((inv == inv))
16- then nil
17- else throw("Strict value is not equal to itself.")
24+ let userBalance = getAmountFromUserBalance(invoke(Address(viresUsdcAddress), "userBalance", [toString(this)], nil))
25+ if ((1 > userBalance))
26+ then throw("bad request")
27+ else {
28+ let newamount = if ((amount > userBalance))
29+ then userBalance
30+ else amount
31+ let inv = invoke(Address(viresMainAddress), "withdraw", [toBase58String(USDC), newamount], nil)
32+ if ((inv == inv))
33+ then nil
34+ else throw("Strict value is not equal to itself.")
35+ }
1836 }
1937 }
2038
2139

github/deemru/w8io/786bc32 
22.59 ms