tx · G9A3gkA3wMSCCBEdF7Jf8qAvUZLXxetvdAcQfrr9gTw

3N93XuDT7GvzMZdp8WGTbqYxiGY9JQmiWAG:  -0.00300000 Waves

2023.09.01 02:49 [2735540] smart account 3N93XuDT7GvzMZdp8WGTbqYxiGY9JQmiWAG > SELF 0.00000000 Waves

{ "type": 13, "id": "G9A3gkA3wMSCCBEdF7Jf8qAvUZLXxetvdAcQfrr9gTw", "fee": 300000, "feeAssetId": null, "timestamp": 1693525792029, "version": 2, "chainId": 84, "sender": "3N93XuDT7GvzMZdp8WGTbqYxiGY9JQmiWAG", "senderPublicKey": "3MV6QZNSjqH7Ctc3BGRQJJyZ3DJgCJ6Tqn7LXRgneZ5B", "proofs": [ "2cHfxDoD4XcZDL7fCzzjiEjqptD2E3otC88vA5gK3sK9rSa2MaZABMPzm7Mrv6n9TNiKazGv5qZYT4sLNKXefRN" ], "script": "base64:BgISCAISBAoCCAESABIGCgQIAQgICQAKbGltaXRSYXRpbwCgjQYAA2ZlZQBkAAZzY2FsZTUAoI0GAAxmZWVDb2xsZWN0b3ICIzNOMkZ1em9NMXg4aEpxU0RVVmlYdXZhdE5wOWlwN0dyS29CAQpnZXRBc3NldElkAQNhc3QEByRtYXRjaDAFA2FzdAMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAFwBQckbWF0Y2gwBQNhc3QFBHVuaXQBDmdldEFzc2V0U3RyaW5nAQdhc3NldElkBAckbWF0Y2gwBQdhc3NldElkAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAWIFByRtYXRjaDAJANgEAQUBYgIFV0FWRVMBDWdldEFzc2V0Qnl0ZXMBB2Fzc2V0SWQDCQAAAgUHYXNzZXRJZAIFV0FWRVMFBHVuaXQJANkEAQUHYXNzZXRJZAEKZ2V0QmFsYW5jZQEHYXNzZXRJZAQHJG1hdGNoMAUHYXNzZXRJZAMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAFiBQckbWF0Y2gwCQDwBwIFBHRoaXMFAWIICQDvBwEFBHRoaXMJYXZhaWxhYmxlAQ10cnlHZXRJbnRlZ2VyAgNrZXkHYWRkcmVzcwQHJG1hdGNoMAkAmggCBQdhZGRyZXNzBQNrZXkDCQABAgUHJG1hdGNoMAIDSW50BAFiBQckbWF0Y2gwBQFiAAADAWkBBmJvcnJvdwIHYXNzZXRJZAZhbW91bnQEDmN1cnJlbnRCYWxhbmNlCQEKZ2V0QmFsYW5jZQEJAQ1nZXRBc3NldEJ5dGVzAQUHYXNzZXRJZAMJAAACBQ5jdXJyZW50QmFsYW5jZQUOY3VycmVudEJhbGFuY2UEBWxpbWl0CQBrAwUOY3VycmVudEJhbGFuY2UFCmxpbWl0UmF0aW8FBnNjYWxlNQMJAGcCBQVsaW1pdAUGYW1vdW50BAhpbnRFbnRyeQkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICCQCsAgICCWJvcnJvd2VkXwkApQgBCAUBaQxvcmlnaW5DYWxsZXICAV8FB2Fzc2V0SWQFBmFtb3VudAQIdHJhbnNmZXIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpDG9yaWdpbkNhbGxlcgUGYW1vdW50CQENZ2V0QXNzZXRCeXRlcwEFB2Fzc2V0SWQDCQAAAggFAWkGY2FsbGVyBQR0aGlzCQDMCAIFCGludEVudHJ5BQNuaWwJAMwIAgUIaW50RW50cnkJAMwIAgUIdHJhbnNmZXIFA25pbAkAAgEJAKwCAgkArAICCQCsAgICEVJlcXVlc3RlZCBhbW91bnQgCQCkAwEFBmFtb3VudAIXIGlzIGJpZ2dlciB0aGFuIGxpbWl0OiAJAKQDAQUFbGltaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEFcmVwYXkABAZhbW91bnQJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BAdhc3NldElkCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQECGJvcnJvd2VkCQENdHJ5R2V0SW50ZWdlcgIJAKwCAgkArAICCQCsAgICCWJvcnJvd2VkXwkApQgBCAUBaQxvcmlnaW5DYWxsZXICAV8JAQ5nZXRBc3NldFN0cmluZwEFB2Fzc2V0SWQFBHRoaXMDCQBmAgUIYm9ycm93ZWQAAAQNdG9SZXBheUFtb3VudAkAlwMBCQDMCAIFBmFtb3VudAkAzAgCBQhib3Jyb3dlZAUDbmlsBA50b1JldHVybkFtb3VudAkAZQIFBmFtb3VudAUNdG9SZXBheUFtb3VudAQIaW50RW50cnkJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgkArAICAglib3Jyb3dlZF8JAKUIAQgFAWkMb3JpZ2luQ2FsbGVyAgFfCQEOZ2V0QXNzZXRTdHJpbmcBBQdhc3NldElkCQBlAgUIYm9ycm93ZWQFDXRvUmVwYXlBbW91bnQECHRyYW5zZmVyCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQxvcmlnaW5DYWxsZXIFDnRvUmV0dXJuQW1vdW50BQdhc3NldElkAwkAZgIFDnRvUmV0dXJuQW1vdW50AAAJAMwIAgUIaW50RW50cnkJAMwIAgUIdHJhbnNmZXIFA25pbAkAzAgCBQhpbnRFbnRyeQUDbmlsCQACAQITWW91IHNob3VsZG4ndCByZXBheQFpAQVmbGFzaAQHYXNzZXRJZAZhbW91bnQPY2FsbGJhY2tBZGRyZXNzEGNhbGxCYWNrRnVuY3Rpb24EC2NhbGxiYWNrQWRyCQEHQWRkcmVzcwEJANkEAQUPY2FsbGJhY2tBZGRyZXNzBA5jdXJyZW50QmFsYW5jZQkBCmdldEJhbGFuY2UBCQENZ2V0QXNzZXRCeXRlcwEFB2Fzc2V0SWQDCQAAAgUOY3VycmVudEJhbGFuY2UFDmN1cnJlbnRCYWxhbmNlBAZib3Jyb3cJAPwHBAUEdGhpcwIGYm9ycm93CQDMCAIFB2Fzc2V0SWQJAMwIAgUGYW1vdW50BQNuaWwFA25pbAMJAAACBQZib3Jyb3cFBmJvcnJvdwQIY2FsbGJhY2sJAPwHBAkBB0FkZHJlc3MBCQDZBAEFD2NhbGxiYWNrQWRkcmVzcwUQY2FsbEJhY2tGdW5jdGlvbgUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCCQENZ2V0QXNzZXRCeXRlcwEFB2Fzc2V0SWQFBmFtb3VudAUDbmlsAwkAAAIFCGNhbGxiYWNrBQhjYWxsYmFjawQJZmVlQW1vdW50CQBrAwUGYW1vdW50BQNmZWUFBnNjYWxlNQQNYW1vdW50VG9SZXBheQkAZAIFBmFtb3VudAUJZmVlQW1vdW50BApuZXdCYWxhbmNlCQEKZ2V0QmFsYW5jZQEJAQ1nZXRBc3NldEJ5dGVzAQUHYXNzZXRJZAMJAAACBQpuZXdCYWxhbmNlBQpuZXdCYWxhbmNlAwkAZwIFCm5ld0JhbGFuY2UFDmN1cnJlbnRCYWxhbmNlCQACAQkArAICCQCsAgIJAKwCAgIQY3VycmVudEJhbGFuY2U6IAkApAMBBQ5jdXJyZW50QmFsYW5jZQIOLCBuZXdCYWxhbmNlOiAJAKQDAQUKbmV3QmFsYW5jZQkAAgEJAKwCAgkArAICCQCsAgICKFJlamVjdGVkIGR1ZSB0byBsb3cgcmVwYXkgYW1vdW50LiBOZWVkOiAJAKQDAQUNYW1vdW50VG9SZXBheQIMLCBwcm92aWRlZDogCQCkAwEJAGUCBQpuZXdCYWxhbmNlBQ5jdXJyZW50QmFsYW5jZQkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgDw41F1", "height": 2735540, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2LGqgBzdBPdaEPYXnUq5JEExyVHPNeSELsZfUcfw2jKH Next: CQFn5V94xYDrowXD5JErCRUD84EthGZiVt2JdYbEX7RF Diff:
OldNewDifferences
6565 then {
6666 let t = fraction(s, a, c)
6767 if ((t >= r))
68- then [IntegerEntry(((("borrowed_" + toString(q.originCaller)) + "_") + j), r), ScriptTransfer(q.originCaller, r, l(j))]
68+ then {
69+ let u = IntegerEntry(((("borrowed_" + toString(q.originCaller)) + "_") + j), r)
70+ let v = ScriptTransfer(q.originCaller, r, l(j))
71+ if ((q.caller == this))
72+ then [u]
73+ else [u, v]
74+ }
6975 else throw(((("Requested amount " + toString(r)) + " is bigger than limit: ") + toString(t)))
7076 }
7177 else throw("Strict value is not equal to itself.")
7783 func repay () = {
7884 let r = value(q.payments[0].amount)
7985 let j = q.payments[0].assetId
80- let u = n(((("borrowed_" + toString(q.originCaller)) + "_") + i(j)), this)
81- if ((u > 0))
86+ let w = n(((("borrowed_" + toString(q.originCaller)) + "_") + i(j)), this)
87+ if ((w > 0))
8288 then {
83- let v = min([r, u])
84- let w = (r - v)
85- let x = if ((w > 0))
86- then ScriptTransfer(q.originCaller, w, j)
87- else unit
88-[IntegerEntry(((("borrowed_" + toString(q.originCaller)) + "_") + i(j)), (u - v))]
89+ let x = min([r, w])
90+ let y = (r - x)
91+ let u = IntegerEntry(((("borrowed_" + toString(q.originCaller)) + "_") + i(j)), (w - x))
92+ let v = ScriptTransfer(q.originCaller, y, j)
93+ if ((y > 0))
94+ then [u, v]
95+ else [u]
8996 }
9097 else throw("You shouldn't repay")
9198 }
93100
94101
95102 @Callable(q)
96-func flash (j,r,y,z) = {
97- let A = Address(fromBase58String(y))
103+func flash (j,r,z,A) = {
104+ let B = Address(fromBase58String(z))
98105 let s = m(l(j))
99106 if ((s == s))
100107 then {
101- let B = invoke(this, "borrow", [j, r], nil)
102- if ((B == B))
108+ let C = invoke(this, "borrow", [j, r], nil)
109+ if ((C == C))
103110 then {
104- let C = invoke(Address(fromBase58String(y)), z, nil, [AttachedPayment(l(j), r)])
105- if ((C == C))
111+ let D = invoke(Address(fromBase58String(z)), A, nil, [AttachedPayment(l(j), r)])
112+ if ((D == D))
106113 then {
107- let D = fraction(r, b, c)
108- let E = (r + D)
109- let F = m(l(j))
110- if ((F == F))
111- then if ((F >= s))
112- then throw(((("currentBalance: " + toString(s)) + ", newBalance: ") + toString(F)))
113- else throw(((("Rejected due to low repay amount. Need: " + toString(E)) + ", provided: ") + toString((F - s))))
114+ let E = fraction(r, b, c)
115+ let F = (r + E)
116+ let G = m(l(j))
117+ if ((G == G))
118+ then if ((G >= s))
119+ then throw(((("currentBalance: " + toString(s)) + ", newBalance: ") + toString(G)))
120+ else throw(((("Rejected due to low repay amount. Need: " + toString(F)) + ", provided: ") + toString((G - s))))
114121 else throw("Strict value is not equal to itself.")
115122 }
116123 else throw("Strict value is not equal to itself.")
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))
68- then [IntegerEntry(((("borrowed_" + toString(q.originCaller)) + "_") + j), r), ScriptTransfer(q.originCaller, r, l(j))]
68+ then {
69+ let u = IntegerEntry(((("borrowed_" + toString(q.originCaller)) + "_") + j), r)
70+ let v = ScriptTransfer(q.originCaller, r, l(j))
71+ if ((q.caller == this))
72+ then [u]
73+ else [u, v]
74+ }
6975 else throw(((("Requested amount " + toString(r)) + " is bigger than limit: ") + toString(t)))
7076 }
7177 else throw("Strict value is not equal to itself.")
7278 }
7379
7480
7581
7682 @Callable(q)
7783 func repay () = {
7884 let r = value(q.payments[0].amount)
7985 let j = q.payments[0].assetId
80- let u = n(((("borrowed_" + toString(q.originCaller)) + "_") + i(j)), this)
81- if ((u > 0))
86+ let w = n(((("borrowed_" + toString(q.originCaller)) + "_") + i(j)), this)
87+ if ((w > 0))
8288 then {
83- let v = min([r, u])
84- let w = (r - v)
85- let x = if ((w > 0))
86- then ScriptTransfer(q.originCaller, w, j)
87- else unit
88-[IntegerEntry(((("borrowed_" + toString(q.originCaller)) + "_") + i(j)), (u - v))]
89+ let x = min([r, w])
90+ let y = (r - x)
91+ let u = IntegerEntry(((("borrowed_" + toString(q.originCaller)) + "_") + i(j)), (w - x))
92+ let v = ScriptTransfer(q.originCaller, y, j)
93+ if ((y > 0))
94+ then [u, v]
95+ else [u]
8996 }
9097 else throw("You shouldn't repay")
9198 }
9299
93100
94101
95102 @Callable(q)
96-func flash (j,r,y,z) = {
97- let A = Address(fromBase58String(y))
103+func flash (j,r,z,A) = {
104+ let B = Address(fromBase58String(z))
98105 let s = m(l(j))
99106 if ((s == s))
100107 then {
101- let B = invoke(this, "borrow", [j, r], nil)
102- if ((B == B))
108+ let C = invoke(this, "borrow", [j, r], nil)
109+ if ((C == C))
103110 then {
104- let C = invoke(Address(fromBase58String(y)), z, nil, [AttachedPayment(l(j), r)])
105- if ((C == C))
111+ let D = invoke(Address(fromBase58String(z)), A, nil, [AttachedPayment(l(j), r)])
112+ if ((D == D))
106113 then {
107- let D = fraction(r, b, c)
108- let E = (r + D)
109- let F = m(l(j))
110- if ((F == F))
111- then if ((F >= s))
112- then throw(((("currentBalance: " + toString(s)) + ", newBalance: ") + toString(F)))
113- else throw(((("Rejected due to low repay amount. Need: " + toString(E)) + ", provided: ") + toString((F - s))))
114+ let E = fraction(r, b, c)
115+ let F = (r + E)
116+ let G = m(l(j))
117+ if ((G == G))
118+ then if ((G >= s))
119+ then throw(((("currentBalance: " + toString(s)) + ", newBalance: ") + toString(G)))
120+ else throw(((("Rejected due to low repay amount. Need: " + toString(F)) + ", provided: ") + toString((G - s))))
114121 else throw("Strict value is not equal to itself.")
115122 }
116123 else throw("Strict value is not equal to itself.")
117124 }
118125 else throw("Strict value is not equal to itself.")
119126 }
120127 else throw("Strict value is not equal to itself.")
121128 }
122129
123130

github/deemru/w8io/03bedc9 
31.77 ms