tx · FraCVGDsA1iMrrESAmCnDXpWoNwB1RAAaAkFviFUJ5sH

3MpVFGJWgiGyh5LmE1nxNLsjjtSL3Bgh9NV:  -0.01400000 Waves

2019.07.04 19:09 [570917] smart account 3MpVFGJWgiGyh5LmE1nxNLsjjtSL3Bgh9NV > SELF 0.00000000 Waves

{ "type": 13, "id": "FraCVGDsA1iMrrESAmCnDXpWoNwB1RAAaAkFviFUJ5sH", "fee": 1400000, "feeAssetId": null, "timestamp": 1562256549720, "version": 1, "sender": "3MpVFGJWgiGyh5LmE1nxNLsjjtSL3Bgh9NV", "senderPublicKey": "854p8BYzrj6yBPRPmfQur3oF1Rjc1AJ548qRp5FT5kDa", "proofs": [ "2twxNNtoA1u8bXBkmVJWakXiaQ1b3bGzfdy4imhs1AhBF7qnD5zvTnwWtEMaTgJk1Nt7QkBZfCcGeJwPNAZKqo48" ], "script": "base64:AAIDAAAAAAAAAAAAAAADAAAAAAVvd25lcgEAAAAaAVTvvhtsl5a8uJsx9lmVjj72aCuw5r86MC8AAAAADUxpcXVpZEFzc2V0SWQBAAAAIOko/8ffrEF7C8jHeLG92rw5x2KlLkjVtarJvVMwnDvrAAAAAAdXQVZFU0lEBQAAAAR1bml0AAAAAgAAAApjb250ZXh0T2JqAQAAAAd1bmlzd2FwAAAAAgAAAAljb21pc3Npb24AAAAPbWluVG9rZW5SZWNpZXZlAwMJAABmAAAAAgAAAAAAAAAAAAUAAAAJY29taXNzaW9uBgkAAGYAAAACBQAAAAljb21pc3Npb24AAAAAAAAAAGQJAAACAAAAAQIAAAAZaW5jb3JyZWN0IGNvbWlzc2lvbiB2YWx1ZQQAAAALd2F2ZXNBbW91bnQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAC3dhdmVzQW1vdW50BAAAAAxsaXF1aWRBbW91bnQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAADGxpcXVpZEFtb3VudAQAAAAHcGF5bWVudAQAAAAHJG1hdGNoMAgFAAAACmNvbnRleHRPYmoAAAAHcGF5bWVudAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAPQXR0YWNoZWRQYXltZW50BAAAAAFwBQAAAAckbWF0Y2gwBQAAAAFwCQAAAgAAAAECAAAAFFBheW1lbnQgbm90IGF0dGFjaGVkBAAAAA9hc3NldElkUmVjZWl2ZWQIBQAAAAdwYXltZW50AAAAB2Fzc2V0SWQEAAAAEnRva2VuUmVjZWl2ZUFtb3VudAgFAAAAB3BheW1lbnQAAAAGYW1vdW50AwkAAAAAAAACBQAAAA9hc3NldElkUmVjZWl2ZWQFAAAABHVuaXQEAAAAD3Rva2VuU2VuZEFtb3VudAkAAGkAAAACCQAAaAAAAAIJAABrAAAAAwUAAAAMbGlxdWlkQW1vdW50BQAAABJ0b2tlblJlY2VpdmVBbW91bnQJAABkAAAAAgUAAAASdG9rZW5SZWNlaXZlQW1vdW50BQAAAAt3YXZlc0Ftb3VudAkAAGUAAAACAAAAAAAAAABkBQAAAAljb21pc3Npb24AAAAAAAAAAGQDCQAAZgAAAAIFAAAAD21pblRva2VuUmVjaWV2ZQUAAAAPdG9rZW5TZW5kQW1vdW50CQAAAgAAAAECAAAAWVByaWNlIGhhcyBjaGFuZ2VkIGRyYW1hdGljYWx5LiBSZWNlaXZpbmcgdG9rZW4gYW1vdW50IGRvbid0IHNhdGlzZnkgc3BlY2lmaWVkIHByaWNlIGxldmVsBAAAAAthc3NldElkU2VudAUAAAANTGlxdWlkQXNzZXRJZAkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAADGxpcXVpZEFtb3VudAkAAGUAAAACBQAAAAxsaXF1aWRBbW91bnQFAAAAD3Rva2VuU2VuZEFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAALd2F2ZXNBbW91bnQJAABkAAAAAgUAAAALd2F2ZXNBbW91bnQFAAAAEnRva2VuUmVjZWl2ZUFtb3VudAUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAApjb250ZXh0T2JqAAAABmNhbGxlcgUAAAAPdG9rZW5TZW5kQW1vdW50BQAAAAthc3NldElkU2VudAUAAAADbmlsAwkAAAAAAAACBQAAAA9hc3NldElkUmVjZWl2ZWQFAAAADUxpcXVpZEFzc2V0SWQEAAAAD3Rva2VuU2VuZEFtb3VudAkAAGkAAAACCQAAaAAAAAIJAABrAAAAAwUAAAALd2F2ZXNBbW91bnQFAAAAEnRva2VuUmVjZWl2ZUFtb3VudAkAAGQAAAACBQAAABJ0b2tlblJlY2VpdmVBbW91bnQFAAAADGxpcXVpZEFtb3VudAkAAGUAAAACAAAAAAAAAABkBQAAAAljb21pc3Npb24AAAAAAAAAAGQDCQAAZgAAAAIFAAAAD21pblRva2VuUmVjaWV2ZQUAAAAPdG9rZW5TZW5kQW1vdW50CQAAAgAAAAECAAAAWVByaWNlIGhhcyBjaGFuZ2VkIGRyYW1hdGljYWx5LiBSZWNlaXZpbmcgdG9rZW4gYW1vdW50IGRvbid0IHNhdGlzZnkgc3BlY2lmaWVkIHByaWNlIGxldmVsBAAAAAthc3NldElkU2VudAUAAAAEdW5pdAkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAADGxpcXVpZEFtb3VudAkAAGQAAAACBQAAAAxsaXF1aWRBbW91bnQFAAAAEnRva2VuUmVjZWl2ZUFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAALd2F2ZXNBbW91bnQJAABlAAAAAgUAAAALd2F2ZXNBbW91bnQFAAAAD3Rva2VuU2VuZEFtb3VudAUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAApjb250ZXh0T2JqAAAABmNhbGxlcgUAAAAPdG9rZW5TZW5kQW1vdW50BQAAAAthc3NldElkU2VudAUAAAADbmlsCQAAAgAAAAECAAAAFEFzc2V0IGlzIG5vdCBhbGxvd2VkAAAACmNvbnRleHRPYmoBAAAACHdpdGhkcmF3AAAAAAQAAAANTGlxdWlkQmFsYW5jZQkAA+sAAAACBQAAAAR0aGlzBQAAAA1MaXF1aWRBc3NldElkBAAAAAxXYXZlc0JhbGFuY2UJAQAAAAx3YXZlc0JhbGFuY2UAAAABBQAAAAR0aGlzAwkAAAAAAAACCAgFAAAACmNvbnRleHRPYmoAAAAGY2FsbGVyAAAABWJ5dGVzBQAAAAVvd25lcgkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAADGxpcXVpZEFtb3VudAIAAAAJd2l0aGRyYXduCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAAt3YXZlc0Ftb3VudAIAAAAJd2l0aGRyYXduBQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAACmNvbnRleHRPYmoAAAAGY2FsbGVyBQAAAA1MaXF1aWRCYWxhbmNlBQAAAA1MaXF1aWRBc3NldElkCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAApjb250ZXh0T2JqAAAABmNhbGxlcgUAAAAMV2F2ZXNCYWxhbmNlBQAAAAR1bml0BQAAAANuaWwJAAACAAAAAQIAAAAdWW91IGFyZSBub3QgZXhjaGFuZ2VyJ3Mgb3duZXIAAAABAAAACmNvbnRleHRPYmoBAAAABnZlcmlmeQAAAAAG5dKJPw==", "chainId": 84, "height": 570917, "spentComplexity": 0 } View: original | compacted Prev: 4Ews9mKFeKby29MCBoA5fFBq59BR5b1LHauVe1AfYk4t Next: 6daFJQPGv7LXBviGTcsTbkg4SoKrW1ZdPd4URcbHg5vR Diff:
OldNewDifferences
88 let WAVESID = unit
99
1010 @Callable(contextObj)
11-func uniswap (comission,minPriceLevel) = if (if ((0 > comission))
11+func uniswap (comission,minTokenRecieve) = if (if ((0 > comission))
1212 then true
1313 else (comission > 100))
1414 then throw("incorrect comission value")
2626 if ((assetIdReceived == unit))
2727 then {
2828 let tokenSendAmount = ((fraction(liquidAmount, tokenReceiveAmount, (tokenReceiveAmount + wavesAmount)) * (100 - comission)) / 100)
29- if ((minPriceLevel > tokenSendAmount))
29+ if ((minTokenRecieve > tokenSendAmount))
3030 then throw("Price has changed dramaticaly. Receiving token amount don't satisfy specified price level")
3131 else {
3232 let assetIdSent = LiquidAssetId
3636 else if ((assetIdReceived == LiquidAssetId))
3737 then {
3838 let tokenSendAmount = ((fraction(wavesAmount, tokenReceiveAmount, (tokenReceiveAmount + liquidAmount)) * (100 - comission)) / 100)
39- if ((minPriceLevel > tokenSendAmount))
39+ if ((minTokenRecieve > tokenSendAmount))
4040 then throw("Price has changed dramaticaly. Receiving token amount don't satisfy specified price level")
4141 else {
4242 let assetIdSent = unit
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let owner = base58'3NBmj1eEDJmrQ16GJkmVU1p31MTURgoV38r'
55
66 let LiquidAssetId = base58'GhAFhXzwCYfvcXQ3GHFaQFnCzAuYCT156qFqiYyzfkzv'
77
88 let WAVESID = unit
99
1010 @Callable(contextObj)
11-func uniswap (comission,minPriceLevel) = if (if ((0 > comission))
11+func uniswap (comission,minTokenRecieve) = if (if ((0 > comission))
1212 then true
1313 else (comission > 100))
1414 then throw("incorrect comission value")
1515 else {
1616 let wavesAmount = getIntegerValue(this, "wavesAmount")
1717 let liquidAmount = getIntegerValue(this, "liquidAmount")
1818 let payment = match contextObj.payment {
1919 case p: AttachedPayment =>
2020 p
2121 case _ =>
2222 throw("Payment not attached")
2323 }
2424 let assetIdReceived = payment.assetId
2525 let tokenReceiveAmount = payment.amount
2626 if ((assetIdReceived == unit))
2727 then {
2828 let tokenSendAmount = ((fraction(liquidAmount, tokenReceiveAmount, (tokenReceiveAmount + wavesAmount)) * (100 - comission)) / 100)
29- if ((minPriceLevel > tokenSendAmount))
29+ if ((minTokenRecieve > tokenSendAmount))
3030 then throw("Price has changed dramaticaly. Receiving token amount don't satisfy specified price level")
3131 else {
3232 let assetIdSent = LiquidAssetId
3333 ScriptResult(WriteSet([DataEntry("liquidAmount", (liquidAmount - tokenSendAmount)), DataEntry("wavesAmount", (wavesAmount + tokenReceiveAmount))]), TransferSet([ScriptTransfer(contextObj.caller, tokenSendAmount, assetIdSent)]))
3434 }
3535 }
3636 else if ((assetIdReceived == LiquidAssetId))
3737 then {
3838 let tokenSendAmount = ((fraction(wavesAmount, tokenReceiveAmount, (tokenReceiveAmount + liquidAmount)) * (100 - comission)) / 100)
39- if ((minPriceLevel > tokenSendAmount))
39+ if ((minTokenRecieve > tokenSendAmount))
4040 then throw("Price has changed dramaticaly. Receiving token amount don't satisfy specified price level")
4141 else {
4242 let assetIdSent = unit
4343 ScriptResult(WriteSet([DataEntry("liquidAmount", (liquidAmount + tokenReceiveAmount)), DataEntry("wavesAmount", (wavesAmount - tokenSendAmount))]), TransferSet([ScriptTransfer(contextObj.caller, tokenSendAmount, assetIdSent)]))
4444 }
4545 }
4646 else throw("Asset is not allowed")
4747 }
4848
4949
5050
5151 @Callable(contextObj)
5252 func withdraw () = {
5353 let LiquidBalance = assetBalance(this, LiquidAssetId)
5454 let WavesBalance = wavesBalance(this)
5555 if ((contextObj.caller.bytes == owner))
5656 then ScriptResult(WriteSet([DataEntry("liquidAmount", "withdrawn"), DataEntry("wavesAmount", "withdrawn")]), TransferSet([ScriptTransfer(contextObj.caller, LiquidBalance, LiquidAssetId), ScriptTransfer(contextObj.caller, WavesBalance, unit)]))
5757 else throw("You are not exchanger's owner")
5858 }
5959
6060
6161 @Verifier(contextObj)
6262 func verify () = true
6363

github/deemru/w8io/c3f4982 
37.04 ms