tx · Gy8pHbC6HXFUvWnn7zysW9QnxCKkzKncDXortGZYSCMK

3N3LWiYdT9n8o6ecwFZGy6MCehhq6sLUFFL:  -0.01400000 Waves

2019.07.16 15:47 [588400] smart account 3N3LWiYdT9n8o6ecwFZGy6MCehhq6sLUFFL > SELF 0.00000000 Waves

{ "type": 13, "id": "Gy8pHbC6HXFUvWnn7zysW9QnxCKkzKncDXortGZYSCMK", "fee": 1400000, "feeAssetId": null, "timestamp": 1563281269296, "version": 1, "sender": "3N3LWiYdT9n8o6ecwFZGy6MCehhq6sLUFFL", "senderPublicKey": "3RTmBp69DqXiohzMXcmVU1pMFssmztWoibFARiKrgTr7", "proofs": [ "29VB6sSXzkJ7FADWUtwNGNU3YrQqVWjJUTDqEnY4yddPX69XvBW1pC88URhVQKcPcjmZUik38WTuTfiYePa9qjJY" ], "script": "base64:AAIDAAAAAAAAAAAAAAACAAAAAAhJZFRva2VuQQEAAAAg6Sj/x9+sQXsLyMd4sb3avDnHYqUuSNW1qsm9UzCcO+sAAAAACElkVG9rZW5CBQAAAAR1bml0AAAAAQAAAApjb250ZXh0T2JqAQAAAAhleGNoYW5nZQAAAAAEAAAAB2Ftb3VudEEJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAB2Ftb3VudEEEAAAAB2Ftb3VudEIJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAB2Ftb3VudEIEAAAAB3BheW1lbnQEAAAAByRtYXRjaDAIBQAAAApjb250ZXh0T2JqAAAAB3BheW1lbnQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAD0F0dGFjaGVkUGF5bWVudAQAAAABcAUAAAAHJG1hdGNoMAUAAAABcAkAAAIAAAABAgAAABRQYXltZW50IG5vdCBhdHRhY2hlZAQAAAAPYXNzZXRJZFJlY2VpdmVkCAUAAAAHcGF5bWVudAAAAAdhc3NldElkBAAAABJ0b2tlblJlY2VpdmVBbW91bnQIBQAAAAdwYXltZW50AAAABmFtb3VudAMJAAAAAAAAAgUAAAAPYXNzZXRJZFJlY2VpdmVkBQAAAAhJZFRva2VuQQQAAAAPdG9rZW5TZW5kQW1vdW50CQAAawAAAAMFAAAAB2Ftb3VudEEFAAAAEnRva2VuUmVjZWl2ZUFtb3VudAkAAGQAAAACBQAAABJ0b2tlblJlY2VpdmVBbW91bnQFAAAAB2Ftb3VudEIEAAAAC2Fzc2V0SWRTZW50BQAAAAR1bml0CQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAHYW1vdW50QgkAAGQAAAACBQAAAAdhbW91bnRCBQAAABJ0b2tlblJlY2VpdmVBbW91bnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAB2Ftb3VudEEJAABlAAAAAgUAAAAHYW1vdW50QQUAAAAPdG9rZW5TZW5kQW1vdW50BQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAACmNvbnRleHRPYmoAAAAGY2FsbGVyBQAAAA90b2tlblNlbmRBbW91bnQFAAAAC2Fzc2V0SWRTZW50BQAAAANuaWwDCQAAAAAAAAIFAAAAD2Fzc2V0SWRSZWNlaXZlZAUAAAAISWRUb2tlbkIEAAAAD3Rva2VuU2VuZEFtb3VudAkAAGsAAAADBQAAAAdhbW91bnRCBQAAABJ0b2tlblJlY2VpdmVBbW91bnQJAABkAAAAAgUAAAASdG9rZW5SZWNlaXZlQW1vdW50BQAAAAdhbW91bnRBBAAAAAthc3NldElkU2VudAUAAAAISWRUb2tlbkEJAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAAdhbW91bnRCCQAAZQAAAAIFAAAAB2Ftb3VudEIFAAAAD3Rva2VuU2VuZEFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAHYW1vdW50QQkAAGQAAAACBQAAAAdhbW91bnRBBQAAABJ0b2tlblJlY2VpdmVBbW91bnQFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAAKY29udGV4dE9iagAAAAZjYWxsZXIFAAAAD3Rva2VuU2VuZEFtb3VudAUAAAALYXNzZXRJZFNlbnQFAAAAA25pbAkAAAIAAAABAgAAABRBc3NldCBpcyBub3QgYWxsb3dlZAAAAAB6XSkO", "chainId": 84, "height": 588400, "spentComplexity": 0 } View: original | compacted Prev: none Next: HdfL7MTVpRJvRmQycAYyfmAKefZbQev4hPGvX4SvRMVM Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 3 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let IdTokenA = base58'GhAFhXzwCYfvcXQ3GHFaQFnCzAuYCT156qFqiYyzfkzv'
5+
6+let IdTokenB = unit
7+
8+@Callable(contextObj)
9+func exchange () = {
10+ let amountA = getIntegerValue(this, "amountA")
11+ let amountB = getIntegerValue(this, "amountB")
12+ let payment = match contextObj.payment {
13+ case p: AttachedPayment =>
14+ p
15+ case _ =>
16+ throw("Payment not attached")
17+ }
18+ let assetIdReceived = payment.assetId
19+ let tokenReceiveAmount = payment.amount
20+ if ((assetIdReceived == IdTokenA))
21+ then {
22+ let tokenSendAmount = fraction(amountA, tokenReceiveAmount, (tokenReceiveAmount + amountB))
23+ let assetIdSent = unit
24+ ScriptResult(WriteSet([DataEntry("amountB", (amountB + tokenReceiveAmount)), DataEntry("amountA", (amountA - tokenSendAmount))]), TransferSet([ScriptTransfer(contextObj.caller, tokenSendAmount, assetIdSent)]))
25+ }
26+ else if ((assetIdReceived == IdTokenB))
27+ then {
28+ let tokenSendAmount = fraction(amountB, tokenReceiveAmount, (tokenReceiveAmount + amountA))
29+ let assetIdSent = IdTokenA
30+ ScriptResult(WriteSet([DataEntry("amountB", (amountB - tokenSendAmount)), DataEntry("amountA", (amountA + tokenReceiveAmount))]), TransferSet([ScriptTransfer(contextObj.caller, tokenSendAmount, assetIdSent)]))
31+ }
32+ else throw("Asset is not allowed")
33+ }
34+
35+

github/deemru/w8io/026f985 
14.48 ms