tx · 6iyzQDqrx4Yqoq9Jp7s5bRVvsKtNHMYAQ7YLhHJMQ2fy

3P3jbpfBQ95gwKga8Nk4GbCB21R3Z66gHJc:  -0.01000000 Waves

2022.04.24 06:51 [3087443] smart account 3P3jbpfBQ95gwKga8Nk4GbCB21R3Z66gHJc > SELF 0.00000000 Waves

{ "type": 13, "id": "6iyzQDqrx4Yqoq9Jp7s5bRVvsKtNHMYAQ7YLhHJMQ2fy", "fee": 1000000, "feeAssetId": null, "timestamp": 1650772258094, "version": 2, "chainId": 87, "sender": "3P3jbpfBQ95gwKga8Nk4GbCB21R3Z66gHJc", "senderPublicKey": "BtEpTJKCNdpyvw4hDiXTx6VFSKKkFp5phwbfxtek1KRm", "proofs": [ "5LVvmQzXm64krnqgSQGTv7h2yUTU3TLqoHvKNCaamCUhKQG86J9DWQoQHvGaRPznYQgDhG8RzgKjZqqc6wYd9ukV" ], "script": "base64:AAIFAAAAAAAAAAgIAhIECgIBAQAAAAkBAAAABWFzSW50AAAAAQAAAAV2YWx1ZQQAAAAHJG1hdGNoMAUAAAAFdmFsdWUDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAADaW50BQAAAAckbWF0Y2gwBQAAAANpbnQJAAACAAAAAQIAAAANZXhwZWN0ZWQ6IEludAEAAAARYXNVc2VyQmFsYW5jZURhdGEAAAABAAAABXZhbHVlBAAAAAckbWF0Y2gwBQAAAAV2YWx1ZQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAiKEludCwgSW50LCBJbnQsIEludCwgSW50LCBCb29sZWFuKQQAAAABeAUAAAAHJG1hdGNoMAUAAAABeAQAAAABdAUAAAAHJG1hdGNoMAkAAAIAAAABAgAAACJ3cm9uZyB0eXBlLCBleHBlY3RlZDogSW50NSZCb29sZWFuAAAAAARtYWluCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzUEFadjl0Z0sxUFg3ZEtSN2I0a2NocTVxZHBVUzNHNXNZVAAAAAAPYXNzZXRTdHJpbmdVc2RjAgAAACw2WHRIanBYYnM5UlJKUDJTcjlHVXlWcXpBQ2NieTlUa1RoSFhualZDNUNESgAAAAALcmVzZXJ2ZVVzZGMJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAECAAAAIzNQR0NrckhCeEZNaTd0ejF4cW54Z0JwZU52bjVFNE00ZzhTAAAAAA9hc3NldFN0cmluZ1VzZHQCAAAALDM0TjlZY0VFVExXbjkzcVlRNjRFc1AxeDg5dFNydUpVNDRSckVNU1hYRVBKAAAAAAtyZXNlcnZlVXNkdAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQIAAAAjM1BFaUQxekpXVE1aTldTQ3l6aHZCdzlweHhBV2VFd2FnaFIAAAAADGFzc2V0U3RyaW5ncwkABEwAAAACAgAAACw2WHRIanBYYnM5UlJKUDJTcjlHVXlWcXpBQ2NieTlUa1RoSFhualZDNUNESgkABEwAAAACAgAAACwzNE45WWNFRVRMV245M3FZUTY0RXNQMXg4OXRTcnVKVTQ0UnJFTVNYWEVQSgUAAAADbmlsAAAAAAhyZXNlcnZlcwkABEwAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzUEdDa3JIQnhGTWk3dHoxeHFueGdCcGVOdm41RTRNNGc4UwkABEwAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzUEVpRDF6SldUTVpOV1NDeXpodkJ3OXB4eEFXZUV3YWdoUgUAAAADbmlsAAAAAQAAAAFpAQAAAAh3aXRoZHJhdwAAAAIAAAAGY29pbmlkAAAACm1pbl9hbW91bnQEAAAADWFzc2V0SWRTdHJpbmcJAAGRAAAAAgUAAAAMYXNzZXRTdHJpbmdzBQAAAAZjb2luaWQEAAAAB3Jlc2VydmUJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAADWFzc2V0SWRTdHJpbmcEAAAACWF2YWlsYWJsZQkAA/AAAAACBQAAAAdyZXNlcnZlCQABmwAAAAEFAAAADWFzc2V0SWRTdHJpbmcEAAAAD3VzZXJiYWxhbmNlZGF0YQkBAAAAEWFzVXNlckJhbGFuY2VEYXRhAAAAAQkAA/wAAAAEBQAAAAdyZXNlcnZlAgAAAAt1c2VyQmFsYW5jZQkABEwAAAACCQAEJQAAAAEFAAAABHRoaXMFAAAAA25pbAUAAAADbmlsBAAAAApkZXBvc2l0VXNkCAUAAAAPdXNlcmJhbGFuY2VkYXRhAAAAAl8zAwkAAGYAAAACBQAAAAptaW5fYW1vdW50BQAAAAlhdmFpbGFibGUJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAV0aGlzOgkABCUAAAABBQAAAAR0aGlzAgAAAAhhc3NldElkOgUAAAANYXNzZXRJZFN0cmluZwIAAAAJcmVzZXJ2ZTogCQAEJQAAAAEFAAAAB3Jlc2VydmUCAAAADSx1c2VyQWRkcmVzczoJAAQlAAAAAQUAAAAEdGhpcwIAAAANLCBkZXBvc2l0VXNkOgkAAaQAAAABBQAAAApkZXBvc2l0VXNkAgAAABJjdXJyZW50QXZhaWxhYmxlOiAJAAGkAAAAAQUAAAAJYXZhaWxhYmxlAgAAAA4sIG1pbl9hbW91bnQ6IAkAAaQAAAABBQAAAAptaW5fYW1vdW50BAAAAAF2AwkAAGYAAAACBQAAAAlhdmFpbGFibGUFAAAACmRlcG9zaXRVc2QFAAAACmRlcG9zaXRVc2QFAAAACWF2YWlsYWJsZQMJAABmAAAAAgUAAAAKbWluX2Ftb3VudAUAAAABdgkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAxtaW4gYW1vdW50OiAJAAGkAAAAAQUAAAAKbWluX2Ftb3VudAIAAAAELCB2OgkAAaQAAAABBQAAAAF2BAAAAAZhbW91bnQJAQAAAAVhc0ludAAAAAEJAAP8AAAABAUAAAAEbWFpbgIAAAAId2l0aGRyYXcJAARMAAAAAgUAAAANYXNzZXRJZFN0cmluZwkABEwAAAACBQAAAAF2BQAAAANuaWwFAAAAA25pbAkABRQAAAACBQAAAANuaWwFAAAABmFtb3VudAAAAABCRfIA", "height": 3087443, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: C3K1QmU4eNmqdcnYn3YJQwMwN3EqxtWv3ta9QwL1HJcF Next: J8xHnK5zWS2URbR7SpM8EMhkJNrT9anpz7wFZhCdpzpA Diff:
OldNewDifferences
3434 @Callable(i)
3535 func withdraw (coinid,min_amount) = {
3636 let assetIdString = assetStrings[coinid]
37- let reserve = addressFromStringValue("3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ")
37+ let reserve = addressFromStringValue(assetIdString)
3838 let available = assetBalance(reserve, toBytes(assetIdString))
3939 let userbalancedata = asUserBalanceData(invoke(reserve, "userBalance", [toString(this)], nil))
4040 let depositUsd = userbalancedata._3
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func asInt (value) = match value {
55 case int: Int =>
66 int
77 case _ =>
88 throw("expected: Int")
99 }
1010
1111
1212 func asUserBalanceData (value) = match value {
1313 case x: (Int, Int, Int, Int, Int, Boolean) =>
1414 x
1515 case t =>
1616 throw("wrong type, expected: Int5&Boolean")
1717 }
1818
1919
2020 let main = addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT")
2121
2222 let assetStringUsdc = "6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ"
2323
2424 let reserveUsdc = addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S")
2525
2626 let assetStringUsdt = "34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ"
2727
2828 let reserveUsdt = addressFromStringValue("3PEiD1zJWTMZNWSCyzhvBw9pxxAWeEwaghR")
2929
3030 let assetStrings = ["6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ", "34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ"]
3131
3232 let reserves = [addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S"), addressFromStringValue("3PEiD1zJWTMZNWSCyzhvBw9pxxAWeEwaghR")]
3333
3434 @Callable(i)
3535 func withdraw (coinid,min_amount) = {
3636 let assetIdString = assetStrings[coinid]
37- let reserve = addressFromStringValue("3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ")
37+ let reserve = addressFromStringValue(assetIdString)
3838 let available = assetBalance(reserve, toBytes(assetIdString))
3939 let userbalancedata = asUserBalanceData(invoke(reserve, "userBalance", [toString(this)], nil))
4040 let depositUsd = userbalancedata._3
4141 if ((min_amount > available))
4242 then throw(((((((((((((("this:" + toString(this)) + "assetId:") + assetIdString) + "reserve: ") + toString(reserve)) + ",userAddress:") + toString(this)) + ", depositUsd:") + toString(depositUsd)) + "currentAvailable: ") + toString(available)) + ", min_amount: ") + toString(min_amount)))
4343 else {
4444 let v = if ((available > depositUsd))
4545 then depositUsd
4646 else available
4747 if ((min_amount > v))
4848 then throw(((("min amount: " + toString(min_amount)) + ", v:") + toString(v)))
4949 else {
5050 let amount = asInt(invoke(main, "withdraw", [assetIdString, v], nil))
5151 $Tuple2(nil, amount)
5252 }
5353 }
5454 }
5555
5656

github/deemru/w8io/6500d08 
32.54 ms