tx · DZir4QPMzTsnknedvq6VHKfKfcYFBim7Uzx5ruV5WyqZ

3N3LWiYdT9n8o6ecwFZGy6MCehhq6sLUFFL:  -0.01400000 Waves

2019.07.16 15:49 [588401] smart account 3N3LWiYdT9n8o6ecwFZGy6MCehhq6sLUFFL > SELF 0.00000000 Waves

{ "type": 13, "id": "DZir4QPMzTsnknedvq6VHKfKfcYFBim7Uzx5ruV5WyqZ", "fee": 1400000, "feeAssetId": null, "timestamp": 1563281395226, "version": 1, "sender": "3N3LWiYdT9n8o6ecwFZGy6MCehhq6sLUFFL", "senderPublicKey": "3RTmBp69DqXiohzMXcmVU1pMFssmztWoibFARiKrgTr7", "proofs": [ "58hy3VDzYy7wV7BDD3WVyQtXd3NMgAMPac1QYk6qucHuSqE41zrGgd2MfBzjDZuCaRVWNhPdkq3tMAsgWuV7fzvo" ], "script": "base64:AAIDAAAAAAAAAAAAAAACAAAAAAhJZFRva2VuQQEAAAAgnRVvdKvGL2hq2sNhnu09hyaOGV75Lrx4DW47syLUT28AAAAACElkVG9rZW5CBQAAAAR1bml0AAAAAQAAAApjb250ZXh0T2JqAQAAAAhleGNoYW5nZQAAAAAEAAAAB2Ftb3VudEEJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAB2Ftb3VudEEEAAAAB2Ftb3VudEIJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAB2Ftb3VudEIEAAAAB3BheW1lbnQEAAAAByRtYXRjaDAIBQAAAApjb250ZXh0T2JqAAAAB3BheW1lbnQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAD0F0dGFjaGVkUGF5bWVudAQAAAABcAUAAAAHJG1hdGNoMAUAAAABcAkAAAIAAAABAgAAABRQYXltZW50IG5vdCBhdHRhY2hlZAQAAAAPYXNzZXRJZFJlY2VpdmVkCAUAAAAHcGF5bWVudAAAAAdhc3NldElkBAAAABJ0b2tlblJlY2VpdmVBbW91bnQIBQAAAAdwYXltZW50AAAABmFtb3VudAMJAAAAAAAAAgUAAAAPYXNzZXRJZFJlY2VpdmVkBQAAAAhJZFRva2VuQQQAAAAPdG9rZW5TZW5kQW1vdW50CQAAawAAAAMFAAAAB2Ftb3VudEEFAAAAEnRva2VuUmVjZWl2ZUFtb3VudAkAAGQAAAACBQAAABJ0b2tlblJlY2VpdmVBbW91bnQFAAAAB2Ftb3VudEIEAAAAC2Fzc2V0SWRTZW50BQAAAAR1bml0CQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAHYW1vdW50QgkAAGQAAAACBQAAAAdhbW91bnRCBQAAABJ0b2tlblJlY2VpdmVBbW91bnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAB2Ftb3VudEEJAABlAAAAAgUAAAAHYW1vdW50QQUAAAAPdG9rZW5TZW5kQW1vdW50BQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAACmNvbnRleHRPYmoAAAAGY2FsbGVyBQAAAA90b2tlblNlbmRBbW91bnQFAAAAC2Fzc2V0SWRTZW50BQAAAANuaWwDCQAAAAAAAAIFAAAAD2Fzc2V0SWRSZWNlaXZlZAUAAAAISWRUb2tlbkIEAAAAD3Rva2VuU2VuZEFtb3VudAkAAGsAAAADBQAAAAdhbW91bnRCBQAAABJ0b2tlblJlY2VpdmVBbW91bnQJAABkAAAAAgUAAAASdG9rZW5SZWNlaXZlQW1vdW50BQAAAAdhbW91bnRBBAAAAAthc3NldElkU2VudAUAAAAISWRUb2tlbkEJAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAAdhbW91bnRCCQAAZQAAAAIFAAAAB2Ftb3VudEIFAAAAD3Rva2VuU2VuZEFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAHYW1vdW50QQkAAGQAAAACBQAAAAdhbW91bnRBBQAAABJ0b2tlblJlY2VpdmVBbW91bnQFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAAKY29udGV4dE9iagAAAAZjYWxsZXIFAAAAD3Rva2VuU2VuZEFtb3VudAUAAAALYXNzZXRJZFNlbnQFAAAAA25pbAkAAAIAAAABAgAAABRBc3NldCBpcyBub3QgYWxsb3dlZAAAAABBFPfg", "chainId": 84, "height": 588401, "spentComplexity": 0 } View: original | compacted Prev: HdfL7MTVpRJvRmQycAYyfmAKefZbQev4hPGvX4SvRMVM Next: 2Zi8bASgFzqwvmfNYcaxN51B1JhskY1PwBKiAwAZX2D2 Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let IdTokenA = base58'BaBy2y5tGsuQZPMM7JHU89zmahR7yybXaVMXpnZ589An'
55
66 let IdTokenB = unit
77
88 @Callable(contextObj)
99 func exchange () = {
1010 let amountA = getIntegerValue(this, "amountA")
1111 let amountB = getIntegerValue(this, "amountB")
1212 let payment = match contextObj.payment {
1313 case p: AttachedPayment =>
1414 p
1515 case _ =>
1616 throw("Payment not attached")
1717 }
1818 let assetIdReceived = payment.assetId
1919 let tokenReceiveAmount = payment.amount
2020 if ((assetIdReceived == IdTokenA))
2121 then {
2222 let tokenSendAmount = fraction(amountA, tokenReceiveAmount, (tokenReceiveAmount + amountB))
2323 let assetIdSent = unit
2424 ScriptResult(WriteSet([DataEntry("amountB", (amountB + tokenReceiveAmount)), DataEntry("amountA", (amountA - tokenSendAmount))]), TransferSet([ScriptTransfer(contextObj.caller, tokenSendAmount, assetIdSent)]))
2525 }
2626 else if ((assetIdReceived == IdTokenB))
2727 then {
2828 let tokenSendAmount = fraction(amountB, tokenReceiveAmount, (tokenReceiveAmount + amountA))
2929 let assetIdSent = IdTokenA
3030 ScriptResult(WriteSet([DataEntry("amountB", (amountB - tokenSendAmount)), DataEntry("amountA", (amountA + tokenReceiveAmount))]), TransferSet([ScriptTransfer(contextObj.caller, tokenSendAmount, assetIdSent)]))
3131 }
3232 else throw("Asset is not allowed")
3333 }
3434
3535

github/deemru/w8io/873ac7e 
16.90 ms