tx · CQFn5V94xYDrowXD5JErCRUD84EthGZiVt2JdYbEX7RF

3N93XuDT7GvzMZdp8WGTbqYxiGY9JQmiWAG:  -0.00300000 Waves

2023.09.01 02:50 [2735541] smart account 3N93XuDT7GvzMZdp8WGTbqYxiGY9JQmiWAG > SELF 0.00000000 Waves

{ "type": 13, "id": "CQFn5V94xYDrowXD5JErCRUD84EthGZiVt2JdYbEX7RF", "fee": 300000, "feeAssetId": null, "timestamp": 1693525875800, "version": 2, "chainId": 84, "sender": "3N93XuDT7GvzMZdp8WGTbqYxiGY9JQmiWAG", "senderPublicKey": "3MV6QZNSjqH7Ctc3BGRQJJyZ3DJgCJ6Tqn7LXRgneZ5B", "proofs": [ "5sD9d6zfSCVbHfLV9hsRempoMt6D5XRThmrpnpuRA93Qr9MyctGpGWGKBKM22iUhFyEME2JmBncDND6MX2v8pNG2" ], "script": "base64:BgISCAISBAoCCAESABIGCgQIAQgICQAKbGltaXRSYXRpbwCgjQYAA2ZlZQBkAAZzY2FsZTUAoI0GAAxmZWVDb2xsZWN0b3ICIzNOMkZ1em9NMXg4aEpxU0RVVmlYdXZhdE5wOWlwN0dyS29CAQpnZXRBc3NldElkAQNhc3QEByRtYXRjaDAFA2FzdAMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAFwBQckbWF0Y2gwBQNhc3QFBHVuaXQBDmdldEFzc2V0U3RyaW5nAQdhc3NldElkBAckbWF0Y2gwBQdhc3NldElkAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAWIFByRtYXRjaDAJANgEAQUBYgIFV0FWRVMBDWdldEFzc2V0Qnl0ZXMBB2Fzc2V0SWQDCQAAAgUHYXNzZXRJZAIFV0FWRVMFBHVuaXQJANkEAQUHYXNzZXRJZAEKZ2V0QmFsYW5jZQEHYXNzZXRJZAQHJG1hdGNoMAUHYXNzZXRJZAMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAFiBQckbWF0Y2gwCQDwBwIFBHRoaXMFAWIICQDvBwEFBHRoaXMJYXZhaWxhYmxlAQ10cnlHZXRJbnRlZ2VyAgNrZXkHYWRkcmVzcwQHJG1hdGNoMAkAmggCBQdhZGRyZXNzBQNrZXkDCQABAgUHJG1hdGNoMAIDSW50BAFiBQckbWF0Y2gwBQFiAAADAWkBBmJvcnJvdwIHYXNzZXRJZAZhbW91bnQEDmN1cnJlbnRCYWxhbmNlCQEKZ2V0QmFsYW5jZQEJAQ1nZXRBc3NldEJ5dGVzAQUHYXNzZXRJZAMJAAACBQ5jdXJyZW50QmFsYW5jZQUOY3VycmVudEJhbGFuY2UEBWxpbWl0CQBrAwUOY3VycmVudEJhbGFuY2UFCmxpbWl0UmF0aW8FBnNjYWxlNQMJAGcCBQVsaW1pdAUGYW1vdW50BAhpbnRFbnRyeQkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICCQCsAgICCWJvcnJvd2VkXwkApQgBCAUBaQxvcmlnaW5DYWxsZXICAV8FB2Fzc2V0SWQFBmFtb3VudAQIdHJhbnNmZXIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpDG9yaWdpbkNhbGxlcgUGYW1vdW50CQENZ2V0QXNzZXRCeXRlcwEFB2Fzc2V0SWQDCQAAAggFAWkGY2FsbGVyBQR0aGlzCQDMCAIFCGludEVudHJ5BQNuaWwJAMwIAgUIaW50RW50cnkJAMwIAgUIdHJhbnNmZXIFA25pbAkAAgEJAKwCAgkArAICCQCsAgICEVJlcXVlc3RlZCBhbW91bnQgCQCkAwEFBmFtb3VudAIXIGlzIGJpZ2dlciB0aGFuIGxpbWl0OiAJAKQDAQUFbGltaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEFcmVwYXkABAZhbW91bnQJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BAdhc3NldElkCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQECGJvcnJvd2VkCQENdHJ5R2V0SW50ZWdlcgIJAKwCAgkArAICCQCsAgICCWJvcnJvd2VkXwkApQgBCAUBaQxvcmlnaW5DYWxsZXICAV8JAQ5nZXRBc3NldFN0cmluZwEFB2Fzc2V0SWQFBHRoaXMDCQBmAgUIYm9ycm93ZWQAAAQNdG9SZXBheUFtb3VudAkAlwMBCQDMCAIFBmFtb3VudAkAzAgCBQhib3Jyb3dlZAUDbmlsBA50b1JldHVybkFtb3VudAkAZQIFBmFtb3VudAUNdG9SZXBheUFtb3VudAQIaW50RW50cnkJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgkArAICAglib3Jyb3dlZF8JAKUIAQgFAWkMb3JpZ2luQ2FsbGVyAgFfCQEOZ2V0QXNzZXRTdHJpbmcBBQdhc3NldElkCQBlAgUIYm9ycm93ZWQFDXRvUmVwYXlBbW91bnQECHRyYW5zZmVyCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQxvcmlnaW5DYWxsZXIFDnRvUmV0dXJuQW1vdW50BQdhc3NldElkAwkAZgIFDnRvUmV0dXJuQW1vdW50AAAJAMwIAgUIaW50RW50cnkJAMwIAgUIdHJhbnNmZXIFA25pbAkAzAgCBQhpbnRFbnRyeQUDbmlsCQACAQITWW91IHNob3VsZG4ndCByZXBheQFpAQVmbGFzaAQHYXNzZXRJZAZhbW91bnQPY2FsbGJhY2tBZGRyZXNzEGNhbGxCYWNrRnVuY3Rpb24EC2NhbGxiYWNrQWRyCQEHQWRkcmVzcwEJANkEAQUPY2FsbGJhY2tBZGRyZXNzBA5jdXJyZW50QmFsYW5jZQkBCmdldEJhbGFuY2UBCQENZ2V0QXNzZXRCeXRlcwEFB2Fzc2V0SWQDCQAAAgUOY3VycmVudEJhbGFuY2UFDmN1cnJlbnRCYWxhbmNlBAZib3Jyb3cJAPwHBAUEdGhpcwIGYm9ycm93CQDMCAIFB2Fzc2V0SWQJAMwIAgUGYW1vdW50BQNuaWwFA25pbAMJAAACBQZib3Jyb3cFBmJvcnJvdwQIY2FsbGJhY2sJAPwHBAkBB0FkZHJlc3MBCQDZBAEFD2NhbGxiYWNrQWRkcmVzcwUQY2FsbEJhY2tGdW5jdGlvbgUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCCQENZ2V0QXNzZXRCeXRlcwEFB2Fzc2V0SWQFBmFtb3VudAUDbmlsAwkAAAIFCGNhbGxiYWNrBQhjYWxsYmFjawQJZmVlQW1vdW50CQBrAwUGYW1vdW50BQNmZWUFBnNjYWxlNQQNYW1vdW50VG9SZXBheQkAZAIFBmFtb3VudAUJZmVlQW1vdW50BApuZXdCYWxhbmNlCQEKZ2V0QmFsYW5jZQEJAQ1nZXRBc3NldEJ5dGVzAQUHYXNzZXRJZAMJAAACBQpuZXdCYWxhbmNlBQpuZXdCYWxhbmNlAwkAZwIFCm5ld0JhbGFuY2UFDmN1cnJlbnRCYWxhbmNlCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBBQxmZWVDb2xsZWN0b3IFCWZlZUFtb3VudAkBDWdldEFzc2V0Qnl0ZXMBBQdhc3NldElkBQNuaWwJAAIBCQCsAgIJAKwCAgkArAICAihSZWplY3RlZCBkdWUgdG8gbG93IHJlcGF5IGFtb3VudC4gTmVlZDogCQCkAwEFDWFtb3VudFRvUmVwYXkCDCwgcHJvdmlkZWQ6IAkApAMBCQBlAgUKbmV3QmFsYW5jZQUOY3VycmVudEJhbGFuY2UJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AweeM5g==", "height": 2735541, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: G9A3gkA3wMSCCBEdF7Jf8qAvUZLXxetvdAcQfrr9gTw Next: 13UsKqtm9NVMPFi6PZV15xmBWqiXupAZvP8RN6zxYkm6 Diff:
OldNewDifferences
116116 let G = m(l(j))
117117 if ((G == G))
118118 then if ((G >= s))
119- then throw(((("currentBalance: " + toString(s)) + ", newBalance: ") + toString(G)))
119+ then [ScriptTransfer(Address(fromBase58String(d)), E, l(j))]
120120 else throw(((("Rejected due to low repay amount. Need: " + toString(F)) + ", provided: ") + toString((G - s))))
121121 else throw("Strict value is not equal to itself.")
122122 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 100000
55
66 let b = 100
77
88 let c = 100000
99
1010 let d = "3N2FuzoM1x8hJqSDUViXuvatNp9ip7GrKoB"
1111
1212 func e (f) = {
1313 let g = f
1414 if ($isInstanceOf(g, "ByteVector"))
1515 then {
1616 let h = g
1717 f
1818 }
1919 else unit
2020 }
2121
2222
2323 func i (j) = {
2424 let g = j
2525 if ($isInstanceOf(g, "ByteVector"))
2626 then {
2727 let k = g
2828 toBase58String(k)
2929 }
3030 else "WAVES"
3131 }
3232
3333
3434 func l (j) = if ((j == "WAVES"))
3535 then unit
3636 else fromBase58String(j)
3737
3838
3939 func m (j) = {
4040 let g = j
4141 if ($isInstanceOf(g, "ByteVector"))
4242 then {
4343 let k = g
4444 assetBalance(this, k)
4545 }
4646 else wavesBalance(this).available
4747 }
4848
4949
5050 func n (o,p) = {
5151 let g = getInteger(p, o)
5252 if ($isInstanceOf(g, "Int"))
5353 then {
5454 let k = g
5555 k
5656 }
5757 else 0
5858 }
5959
6060
6161 @Callable(q)
6262 func borrow (j,r) = {
6363 let s = m(l(j))
6464 if ((s == s))
6565 then {
6666 let t = fraction(s, a, c)
6767 if ((t >= r))
6868 then {
6969 let u = IntegerEntry(((("borrowed_" + toString(q.originCaller)) + "_") + j), r)
7070 let v = ScriptTransfer(q.originCaller, r, l(j))
7171 if ((q.caller == this))
7272 then [u]
7373 else [u, v]
7474 }
7575 else throw(((("Requested amount " + toString(r)) + " is bigger than limit: ") + toString(t)))
7676 }
7777 else throw("Strict value is not equal to itself.")
7878 }
7979
8080
8181
8282 @Callable(q)
8383 func repay () = {
8484 let r = value(q.payments[0].amount)
8585 let j = q.payments[0].assetId
8686 let w = n(((("borrowed_" + toString(q.originCaller)) + "_") + i(j)), this)
8787 if ((w > 0))
8888 then {
8989 let x = min([r, w])
9090 let y = (r - x)
9191 let u = IntegerEntry(((("borrowed_" + toString(q.originCaller)) + "_") + i(j)), (w - x))
9292 let v = ScriptTransfer(q.originCaller, y, j)
9393 if ((y > 0))
9494 then [u, v]
9595 else [u]
9696 }
9797 else throw("You shouldn't repay")
9898 }
9999
100100
101101
102102 @Callable(q)
103103 func flash (j,r,z,A) = {
104104 let B = Address(fromBase58String(z))
105105 let s = m(l(j))
106106 if ((s == s))
107107 then {
108108 let C = invoke(this, "borrow", [j, r], nil)
109109 if ((C == C))
110110 then {
111111 let D = invoke(Address(fromBase58String(z)), A, nil, [AttachedPayment(l(j), r)])
112112 if ((D == D))
113113 then {
114114 let E = fraction(r, b, c)
115115 let F = (r + E)
116116 let G = m(l(j))
117117 if ((G == G))
118118 then if ((G >= s))
119- then throw(((("currentBalance: " + toString(s)) + ", newBalance: ") + toString(G)))
119+ then [ScriptTransfer(Address(fromBase58String(d)), E, l(j))]
120120 else throw(((("Rejected due to low repay amount. Need: " + toString(F)) + ", provided: ") + toString((G - s))))
121121 else throw("Strict value is not equal to itself.")
122122 }
123123 else throw("Strict value is not equal to itself.")
124124 }
125125 else throw("Strict value is not equal to itself.")
126126 }
127127 else throw("Strict value is not equal to itself.")
128128 }
129129
130130

github/deemru/w8io/03bedc9 
27.09 ms