tx · 619mTNxUP8EngJdzyUt4T7BfqGaZyJWYVEwDjZWrQGjP

3NBmj1eEDJmrQ16GJkmVU1p31MTURgoV38r:  -0.01400000 Waves

2019.07.04 19:08 [570916] smart account 3NBmj1eEDJmrQ16GJkmVU1p31MTURgoV38r > SELF 0.00000000 Waves

{ "type": 13, "id": "619mTNxUP8EngJdzyUt4T7BfqGaZyJWYVEwDjZWrQGjP", "fee": 1400000, "feeAssetId": null, "timestamp": 1562256543912, "version": 1, "sender": "3NBmj1eEDJmrQ16GJkmVU1p31MTURgoV38r", "senderPublicKey": "DKGFPozLrsiR8NM4NJzqQaBYC8NyGYjuw2hDYicQVjco", "proofs": [ "3G27Dk1yFMgwmzvy2QyMkwgiL7NNawMrFL6rDzJAUGeTYqfA3cmdTgxRssUgH2mDNVKJYbn2gnJhEgyU7KynYNwt" ], "script": "base64:AAIDAAAAAAAAAAAAAAADAAAAAAVvd25lcgEAAAAaAVTvvhtsl5a8uJsx9lmVjj72aCuw5r86MC8AAAAADUxpcXVpZEFzc2V0SWQBAAAAIOko/8ffrEF7C8jHeLG92rw5x2KlLkjVtarJvVMwnDvrAAAAAAdXQVZFU0lEBQAAAAR1bml0AAAAAgAAAApjb250ZXh0T2JqAQAAAAd1bmlzd2FwAAAAAgAAAAljb21pc3Npb24AAAAPbWluVG9rZW5SZWNpZXZlAwMJAABmAAAAAgAAAAAAAAAAAAUAAAAJY29taXNzaW9uBgkAAGYAAAACBQAAAAljb21pc3Npb24AAAAAAAAAAGQJAAACAAAAAQIAAAAZaW5jb3JyZWN0IGNvbWlzc2lvbiB2YWx1ZQQAAAALd2F2ZXNBbW91bnQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAC3dhdmVzQW1vdW50BAAAAAxsaXF1aWRBbW91bnQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAADGxpcXVpZEFtb3VudAQAAAAHcGF5bWVudAQAAAAHJG1hdGNoMAgFAAAACmNvbnRleHRPYmoAAAAHcGF5bWVudAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAPQXR0YWNoZWRQYXltZW50BAAAAAFwBQAAAAckbWF0Y2gwBQAAAAFwCQAAAgAAAAECAAAAFFBheW1lbnQgbm90IGF0dGFjaGVkBAAAAA9hc3NldElkUmVjZWl2ZWQIBQAAAAdwYXltZW50AAAAB2Fzc2V0SWQEAAAAEnRva2VuUmVjZWl2ZUFtb3VudAgFAAAAB3BheW1lbnQAAAAGYW1vdW50AwkAAAAAAAACBQAAAA9hc3NldElkUmVjZWl2ZWQFAAAABHVuaXQEAAAAD3Rva2VuU2VuZEFtb3VudAkAAGkAAAACCQAAaAAAAAIJAABrAAAAAwUAAAAMbGlxdWlkQW1vdW50BQAAABJ0b2tlblJlY2VpdmVBbW91bnQJAABkAAAAAgUAAAASdG9rZW5SZWNlaXZlQW1vdW50BQAAAAt3YXZlc0Ftb3VudAkAAGUAAAACAAAAAAAAAABkBQAAAAljb21pc3Npb24AAAAAAAAAAGQDCQAAZgAAAAIFAAAAD21pblRva2VuUmVjaWV2ZQUAAAAPdG9rZW5TZW5kQW1vdW50CQAAAgAAAAECAAAAWVByaWNlIGhhcyBjaGFuZ2VkIGRyYW1hdGljYWx5LiBSZWNlaXZpbmcgdG9rZW4gYW1vdW50IGRvbid0IHNhdGlzZnkgc3BlY2lmaWVkIHByaWNlIGxldmVsBAAAAAthc3NldElkU2VudAUAAAANTGlxdWlkQXNzZXRJZAkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAADGxpcXVpZEFtb3VudAkAAGUAAAACBQAAAAxsaXF1aWRBbW91bnQFAAAAD3Rva2VuU2VuZEFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAALd2F2ZXNBbW91bnQJAABkAAAAAgUAAAALd2F2ZXNBbW91bnQFAAAAEnRva2VuUmVjZWl2ZUFtb3VudAUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAApjb250ZXh0T2JqAAAABmNhbGxlcgUAAAAPdG9rZW5TZW5kQW1vdW50BQAAAAthc3NldElkU2VudAUAAAADbmlsAwkAAAAAAAACBQAAAA9hc3NldElkUmVjZWl2ZWQFAAAADUxpcXVpZEFzc2V0SWQEAAAAD3Rva2VuU2VuZEFtb3VudAkAAGkAAAACCQAAaAAAAAIJAABrAAAAAwUAAAALd2F2ZXNBbW91bnQFAAAAEnRva2VuUmVjZWl2ZUFtb3VudAkAAGQAAAACBQAAABJ0b2tlblJlY2VpdmVBbW91bnQFAAAADGxpcXVpZEFtb3VudAkAAGUAAAACAAAAAAAAAABkBQAAAAljb21pc3Npb24AAAAAAAAAAGQDCQAAZgAAAAIFAAAAD21pblRva2VuUmVjaWV2ZQUAAAAPdG9rZW5TZW5kQW1vdW50CQAAAgAAAAECAAAAWVByaWNlIGhhcyBjaGFuZ2VkIGRyYW1hdGljYWx5LiBSZWNlaXZpbmcgdG9rZW4gYW1vdW50IGRvbid0IHNhdGlzZnkgc3BlY2lmaWVkIHByaWNlIGxldmVsBAAAAAthc3NldElkU2VudAUAAAAEdW5pdAkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAADGxpcXVpZEFtb3VudAkAAGQAAAACBQAAAAxsaXF1aWRBbW91bnQFAAAAEnRva2VuUmVjZWl2ZUFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAALd2F2ZXNBbW91bnQJAABlAAAAAgUAAAALd2F2ZXNBbW91bnQFAAAAD3Rva2VuU2VuZEFtb3VudAUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAApjb250ZXh0T2JqAAAABmNhbGxlcgUAAAAPdG9rZW5TZW5kQW1vdW50BQAAAAthc3NldElkU2VudAUAAAADbmlsCQAAAgAAAAECAAAAFEFzc2V0IGlzIG5vdCBhbGxvd2VkAAAACmNvbnRleHRPYmoBAAAACHdpdGhkcmF3AAAAAAQAAAANTGlxdWlkQmFsYW5jZQkAA+sAAAACBQAAAAR0aGlzBQAAAA1MaXF1aWRBc3NldElkBAAAAAxXYXZlc0JhbGFuY2UJAQAAAAx3YXZlc0JhbGFuY2UAAAABBQAAAAR0aGlzAwkAAAAAAAACCAgFAAAACmNvbnRleHRPYmoAAAAGY2FsbGVyAAAABWJ5dGVzBQAAAAVvd25lcgkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAADGxpcXVpZEFtb3VudAIAAAAJd2l0aGRyYXduCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAAt3YXZlc0Ftb3VudAIAAAAJd2l0aGRyYXduBQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAACmNvbnRleHRPYmoAAAAGY2FsbGVyBQAAAA1MaXF1aWRCYWxhbmNlBQAAAA1MaXF1aWRBc3NldElkCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAApjb250ZXh0T2JqAAAABmNhbGxlcgUAAAAMV2F2ZXNCYWxhbmNlBQAAAAR1bml0BQAAAANuaWwJAAACAAAAAQIAAAAdWW91IGFyZSBub3QgZXhjaGFuZ2VyJ3Mgb3duZXIAAAABAAAACmNvbnRleHRPYmoBAAAABnZlcmlmeQAAAAAG5dKJPw==", "chainId": 84, "height": 570916, "spentComplexity": 0 } View: original | compacted Prev: none Next: DkrKPqYaFFC7zUqZfT5HtXrw9w38as7xXkaYS2xuepVY Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 3 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let a = base58'3NBmj1eEDJmrQ16GJkmVU1p31MTURgoV38r'
5+
6+let b = base58'GhAFhXzwCYfvcXQ3GHFaQFnCzAuYCT156qFqiYyzfkzv'
7+
8+let c = unit
9+
10+@Callable(d)
11+func uniswap (e,f) = if (if ((0 > e))
12+ then true
13+ else (e > 100))
14+ then throw("incorrect comission value")
15+ else {
16+ let g = getIntegerValue(this, "wavesAmount")
17+ let h = getIntegerValue(this, "liquidAmount")
18+ let i = {
19+ let j = d.payment
20+ if ($isInstanceOf(j, "AttachedPayment"))
21+ then {
22+ let k = j
23+ k
24+ }
25+ else throw("Payment not attached")
26+ }
27+ let l = i.assetId
28+ let m = i.amount
29+ if ((l == unit))
30+ then {
31+ let n = ((fraction(h, m, (m + g)) * (100 - e)) / 100)
32+ if ((f > n))
33+ then throw("Price has changed dramaticaly. Receiving token amount don't satisfy specified price level")
34+ else {
35+ let o = b
36+ ScriptResult(WriteSet([DataEntry("liquidAmount", (h - n)), DataEntry("wavesAmount", (g + m))]), TransferSet([ScriptTransfer(d.caller, n, o)]))
37+ }
38+ }
39+ else if ((l == b))
40+ then {
41+ let n = ((fraction(g, m, (m + h)) * (100 - e)) / 100)
42+ if ((f > n))
43+ then throw("Price has changed dramaticaly. Receiving token amount don't satisfy specified price level")
44+ else {
45+ let o = unit
46+ ScriptResult(WriteSet([DataEntry("liquidAmount", (h + m)), DataEntry("wavesAmount", (g - n))]), TransferSet([ScriptTransfer(d.caller, n, o)]))
47+ }
48+ }
49+ else throw("Asset is not allowed")
50+ }
51+
52+
53+
54+@Callable(d)
55+func withdraw () = {
56+ let p = assetBalance(this, b)
57+ let q = wavesBalance(this)
58+ if ((d.caller.bytes == a))
59+ then ScriptResult(WriteSet([DataEntry("liquidAmount", "withdrawn"), DataEntry("wavesAmount", "withdrawn")]), TransferSet([ScriptTransfer(d.caller, p, b), ScriptTransfer(d.caller, q, unit)]))
60+ else throw("You are not exchanger's owner")
61+ }
62+
63+
64+@Verifier(d)
65+func r () = true
66+

github/deemru/w8io/873ac7e 
16.42 ms