tx · BsR9ZSBgJNaZmKXQ9PgVsWHQuPyKRMNmsw3GYdeQNNQE

3Mz5qxscwT3kzK583xgdKMd3ybXDpdiE8hS:  -0.01400000 Waves

2022.04.16 01:46 [2010288] smart account 3Mz5qxscwT3kzK583xgdKMd3ybXDpdiE8hS > SELF 0.00000000 Waves

{ "type": 13, "id": "BsR9ZSBgJNaZmKXQ9PgVsWHQuPyKRMNmsw3GYdeQNNQE", "fee": 1400000, "feeAssetId": null, "timestamp": 1650062818670, "version": 2, "chainId": 84, "sender": "3Mz5qxscwT3kzK583xgdKMd3ybXDpdiE8hS", "senderPublicKey": "Ht93Ui8JHRe9xVeWo1orLMaBC9XgTePSW3qeP6cGAfjW", "proofs": [ "5v2dbjwTufYr7XYLy99sbJ7yZoHPgpt8SSLR2RutkTmh6ozB8uwad2tifu897XdMTKEjGc6psKyfT1WiZWSAwSEk" ], "script": "base64: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OAkAATYAAAABCQAAZAAAAAIFAAAACUJhbGFuY2VJbgUAAAAIQW1vdW50SW4FAAAABkhBTEZVUAAAAAAAAAAAEAkAATYAAAABCQAAawAAAAMJAAGRAAAAAgUAAAANQXNzZXRzV2VpZ2h0cwUAAAAHSW5kZXhJbgAAAAAAAAAnEAkAAZEAAAACBQAAAA1Bc3NldHNXZWlnaHRzBQAAAAhJbmRleE91dAAAAAAAAAAABAAAAAAAAAAAEAUAAAAHQ0VJTElORwkAAGgAAAACBQAAAAZTY2FsZTgFAAAABlNjYWxlOAUAAAAERE9XTgEAAAAPZ2V0VG9rZW5CYWxhbmNlAAAAAQAAAAdhc3NldElkBAAAAAckbWF0Y2gwBQAAAAdhc3NldElkAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAApCeXRlVmVjdG9yBAAAAAF0BQAAAAckbWF0Y2gwCQAD8AAAAAIFAAAABHRoaXMFAAAAAXQICQAD7wAAAAEFAAAABHRoaXMAAAAJYXZhaWxhYmxlAQAAAB1jYWxjdWxhdGVDdXJyZW50QXNzZXRJbnRlcmVzdAAAAAQAAAAHYXNzZXRJZAAAAAphc3NldElkU3RyAAAACGFCYWxhbmNlAAAAFnRva2VuRWFybmluZ3NMYXN0Q2hlY2sEAAAAC3RvdGFsU3Rha2VkCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAECAAAAEmdsb2JhbF9pbmRleFN0YWtlZAQAAAAVdG9rZW5CYWxhbmNlTGFzdENoZWNrBQAAABZ0b2tlbkVhcm5pbmdzTGFzdENoZWNrBAAAABNjdXJyZW50QmFsYW5jZURlbHRhCQAAZQAAAAIJAQAAAA9nZXRUb2tlbkJhbGFuY2UAAAABBQAAAAdhc3NldElkBQAAAAhhQmFsYW5jZQQAAAAUY3VycmVudFRva2VuRWFybmluZ3MDCQAAZgAAAAIFAAAAE2N1cnJlbnRCYWxhbmNlRGVsdGEFAAAAFXRva2VuQmFsYW5jZUxhc3RDaGVjawUAAAATY3VycmVudEJhbGFuY2VEZWx0YQUAAAAVdG9rZW5CYWxhbmNlTGFzdENoZWNrBAAAAAtuZXdFYXJuaW5ncwkAAGUAAAACBQAAABRjdXJyZW50VG9rZW5FYXJuaW5ncwUAAAAVdG9rZW5CYWxhbmNlTGFzdENoZWNrBAAAAAtuZXdJbnRlcmVzdAMJAAAAAAAAAgUAAAALdG90YWxTdGFrZWQAAAAAAAAAAAAAAAAAAAAAAAAJAABrAAAAAwUAAAALbmV3RWFybmluZ3MFAAAABlNjYWxlOAUAAAALdG90YWxTdGFrZWQEAAAAEWxhc3RDaGVja0ludGVyZXN0CQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgkAASwAAAACAgAAABFnbG9iYWxfbGFzdENoZWNrXwUAAAAKYXNzZXRJZFN0cgIAAAAJX2ludGVyZXN0CQAAZAAAAAIFAAAAEWxhc3RDaGVja0ludGVyZXN0BQAAAAtuZXdJbnRlcmVzdAEAAAALY2xhaW1SZXN1bHQAAAABAAAAB2FkZHJlc3MEAAAACmFkZHJlc3NTdHIJAAQlAAAAAQUAAAAHYWRkcmVzcwQAAAAMcHV6emxlQW1vdW50CQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgUAAAAKYWRkcmVzc1N0cgIAAAAMX2luZGV4U3Rha2VkCgEAAAAHaGFuZGxlcgAAAAIAAAAFYWNjdW0AAAAHYXNzZXRJZAQAAAAKYXNzZXRJZFN0cgkBAAAADmdldEFzc2V0U3RyaW5nAAAAAQUAAAAHYXNzZXRJZAQAAAAIYUJhbGFuY2UJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkAASwAAAACCQABLAAAAAICAAAAB2dsb2JhbF8JAQAAAA5nZXRBc3NldFN0cmluZwAAAAEFAAAAB2Fzc2V0SWQCAAAACF9iYWxhbmNlBAAAABZ0b2tlbkVhcm5pbmdzTGFzdENoZWNrCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgkAASwAAAACAgAAABFnbG9iYWxfbGFzdENoZWNrXwUAAAAKYXNzZXRJZFN0cgIAAAAJX2Vhcm5pbmdzBAAAABRjdXJyZW50VG9rZW5JbnRlcmVzdAkBAAAAHWNhbGN1bGF0ZUN1cnJlbnRBc3NldEludGVyZXN0AAAABAUAAAAHYXNzZXRJZAUAAAAKYXNzZXRJZFN0cgUAAAAIYUJhbGFuY2UFAAAAFnRva2VuRWFybmluZ3NMYXN0Q2hlY2sEAAAAFGN1cnJlbnRUb2tlbkVhcm5pbmdzCQAB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FnN0YXRpY19wb29sVG9rZW5faWRTdHIJAQAAAA5nZXRBc3NldFN0cmluZwAAAAEFAAAAC3Bvb2xUb2tlbklkCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAARaW5pdGlhbFBvb2xUb2tlbnMFAAAAC3Bvb2xUb2tlbklkBQAAAANuaWwAAAABaQEAAAANZ2VuZXJhdGVJbmRleAAAAAEAAAAKbmVlZENoYW5nZQMJAQAAAAIhPQAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMFAAAAAVQJAAACAAAAAQkAASwAAAACAgAAADt5b3UgbmVlZCB0byBhdHRhY2ggYWxsIHBvb2wgdG9rZW5zLiBhbW91bnQgb2YgcG9vbCB0b2tlbnM6IAkAAaQAAAABBQAAAAFUAwkBAAAAASEAAAABCQEAAAATY2hlY2tUb2tlbnNWYWxpZGl0eQAAAAEIBQAAAAFpAAAACHBheW1lbnRzCQAAAgAAAAECAAAAFXdyb25nIGFzc2V0cyBhdHRhY2hlZAQAAAAHUElzc3VlZAkBAAAADWdldE1pblBJc3N1ZWQAAAABCAUAAAABaQAAAAhwYXltZW50cwQAAAAHcmVpc3N1ZQkBAAAAB1JlaXNzdWUAAAADCQEAAAARQGV4dHJOYXRpdmUoMTA1NykAAAABAgAAABNnbG9iYWxfcG9vbFRva2VuX2lkBQAAAAdQSXNzdWVkBgQAAAAGcmVzdWx0CQEAAAATaGFuZGxlUG9vbFRva2Vuc0FkZAAAAAQFAAAAB1BJc3N1ZWQIBQAAAAFpAAAACHBheW1lbnRzCAUAAAABaQAAAAxvcmlnaW5DYWxsZXIFAAAACm5lZWRDaGFuZ2UJAAUUAAAAAgkABE4AAAACBQAAAAZyZXN1bHQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAdQSXNzdWVkCQEAAAAMdHJ5R2V0QmluYXJ5AAAAAQIAAAATZ2xvYmFsX3Bvb2xUb2tlbl9pZAkABEwAAAACBQAAAAdyZWlzc3VlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABdnbG9iYWxfcG9vbFRva2VuX2Ftb3VudAkAAGQAAAACCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAECAAAAF2dsb2JhbF9wb29sVG9rZW5fYW1vdW50BQAAAAdQSXNzdWVkBQAAAANuaWwFAAAAB1BJc3N1ZWQAAAABaQEAAAAKc3Rha2VJbmRleAAAAAAEAAAACmFkZHJlc3NTdHIJAAQlAAAAAQgFAAAAAWkAAAAMb3JpZ2luQ2FsbGVyBAAAAANwbXQJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAADCQEAAAACIT0AAAACCQEAAAAFdmFsdWUAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQJAQAAAAx0cnlHZXRCaW5hcnkAAAABAgAAABNnbG9iYWxfcG9vbFRva2VuX2lkCQAAAgAAAAECAAAAFHdyb25nIGFzc2V0IGF0dGFjaGVkCQEAAAAQaW5kZXhTdGFrZVJlc3VsdAAAAAIFAAAACmFkZHJlc3NTdHIIBQAAAANwbXQAAAAGYW1vdW50AAAAAWkBAAAADHVuc3Rha2VJbmRleAAAAAEAAAAMcHV6emxlQW1vdW50BAAAAAphZGRyZXNzU3RyCQAEJQAAAAEIBQAAAAFpAAAADG9yaWdpbkNhbGxlcgQAAAAPcHV6emxlQXZhaWxhYmxlCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgUAAAAKYWRkcmVzc1N0cgIAAAAMX2luZGV4U3Rha2VkAwkAAGYAAAACBQAAAAxwdXp6bGVBbW91bnQFAAAAD3B1enpsZUF2YWlsYWJsZQkAAAIAAAABAgAAACV5b3UgZG9uJ3QgaGF2ZSBpbmRleCB0b2tlbnMgYXZhaWxhYmxlCQAETgAAAAIJAQAAAAtjbGFpbVJlc3VsdAAAAAEIBQAAAAFpAAAADG9yaWdpbkNhbGxlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAAphZGRyZXNzU3RyAgAAAAxfaW5kZXhTdGFrZWQJAABlAAAAAgUAAAAPcHV6emxlQXZhaWxhYmxlBQAAAAxwdXp6bGVBbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAEmdsb2JhbF9pbmRleFN0YWtlZAkAAGUAAAACCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAECAAAAEmdsb2JhbF9pbmRleFN0YWtlZAUAAAAMcHV6emxlQW1vdW50CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAMcHV6emxlQW1vdW50CQEAAAARQGV4dHJOYXRpdmUoMTA1NykAAAABAgAAABNnbG9iYWxfcG9vbFRva2VuX2lkBQAAAANuaWwAAAABaQEAAAARY2xhaW1JbmRleFJld2FyZHMAAAAACQEAAAALY2xhaW1SZXN1bHQAAAABCAUAAAABaQAAAAZjYWxsZXIAAAABaQEAAAALcmVkZWVtSW5kZXgAAAABAAAADHNlbmRUb09yaWdpbgQAAAADcG10CQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkCQEAAAAMdHJ5R2V0QmluYXJ5AAAAAQIAAAATZ2xvYmFsX3Bvb2xUb2tlbl9pZAkAAAIAAAABAgAAAB5wbGVhc2UgYXR0YWNoIHBvb2wgc2hhcmUgdG9rZW4EAAAACVBSZWRlZW1lZAgFAAAAA3BtdAAAAAZhbW91bnQEAAAABnJlc3VsdAkBAAAAFmhhbmRsZVBvb2xUb2tlbnNSZWRlZW0AAAACBQAAAAlQUmVkZWVtZWQDBQAAAAxzZW5kVG9PcmlnaW4IBQAAAAFpAAAADG9yaWdpbkNhbGxlcggFAAAAAWkAAAAGY2FsbGVyCQAETgAAAAIFAAAABnJlc3VsdAkABEwAAAACCQEAAAAEQnVybgAAAAIJAQAAAAx0cnlHZXRCaW5hcnkAAAABAgAAABNnbG9iYWxfcG9vbFRva2VuX2lkBQAAAAlQUmVkZWVtZWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAF2dsb2JhbF9wb29sVG9rZW5fYW1vdW50CQAAZQAAAAIJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQIAAAAXZ2xvYmFsX3Bvb2xUb2tlbl9hbW91bnQFAAAACVBSZWRlZW1lZAUAAAADbmlsAAAAAWkBAAAABHN3YXAAAAACAAAACGFzc2V0T3V0AAAAB21pbmltdW0EAAAAA3BtdAkBAAAABXZhbHVl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X3ZvbHVtZQkBAAAAEmNhbGN1bGF0ZVVzZG5WYWx1ZQAAAAMFAAAAB0Fzc2V0SW4FAAAACEFtb3VudEluBQAAAA5Bc3NldEluQmFsYW5jZQUAAAADbmlsBQAAAA5jbGVhbkFtb3VudE91dAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4EAAAAC3VzZG5CYWxhbmNlAwkAAAAAAAACBQAAAAdBc3NldEluBQAAAAt1c2RuQXNzZXRJZAUAAAAMbmV3QmFsYW5jZUluCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAdnbG9iYWxfCQEAAAAOZ2V0QXNzZXRTdHJpbmcAAAABBQAAAAt1c2RuQXNzZXRJZAIAAAAIX2JhbGFuY2UEAAAADXVzZG5GZWVBbW91bnQJAQAAABJjYWxjdWxhdGVPdXRBbW91bnQAAAAFBQAAAAlmZWVBbW91bnQFAAAACEFzc2V0T3V0BQAAAAt1c2RuQXNzZXRJZAUAAAANbmV3QmFsYW5jZU91dAUAAAALdXNkbkJhbGFuY2UEAAAAD3Byb3RvY29sVXNkbkZlZQkAAGsAAAADBQAAAA11c2RuRmVlQW1vdW50AAAAAAAAAAAEAAAAAAAAAAAKBAAAAAxzdGFraW5nVG9wVXAJAAP9AAAABAkBAAAAB0FkZHJlc3MAAAABAQAAABoBV5RojPnuormqn9b1jrypj2canAb0FimJuwIAAAALdG9wVXBSZXdhcmQFAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgUAAAALdXNkbkFzc2V0SWQFAAAAD3Byb3RvY29sVXNkbkZlZQUAAAADbmlsAwkAAAAAAAACBQAAAAxzdGFraW5nVG9wVXAFAAAADHN0YWtpbmdUb3BVcAQAAAAWdXNkbkJhbGFuY2VDaGFuZ2VFbnRyeQkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAdnbG9iYWxfCQACWAAAAAEFAAAAC3VzZG5Bc3NldElkAgAAAAhfYmFsYW5jZQkAAGUAAAACBQAAAAt1c2RuQmFsYW5jZQUAAAANdXNkbkZlZUFtb3VudAQAAAAOYmFsYW5jZUNoYW5nZXMDCQAAAAAAAAIFAAAAB0Fzc2V0SW4FAAAAC3VzZG5Bc3NldElkCQAETAAAAAIFAAAAFnVzZG5CYWxhbmNlQ2hhbmdlRW50cnkFAAAAA25pbAkABEwAAAACBQAAABZ1c2RuQmFsYW5jZUNoYW5nZUVudHJ5CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAHZ2xvYmFsXwkBAAAADmdldEFzc2V0U3RyaW5nAAAAAQUAAAAHQXNzZXRJbgIAAAAIX2JhbGFuY2UFAAAADG5ld0JhbGFuY2VJbgUAAAADbmlsCQAFFAAAAAIJAAROAAAAAgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAAB2dsb2JhbF8FAAAACGFzc2V0T3V0AgAAAAhfYmFsYW5jZQkAAGQAAAACBQAAAA1uZXdCYWxhbmNlT3V0BQAAAAlmZWVBbW91bnQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAA5jbGVhbkFtb3VudE91dAUAAAAIQXNzZXRPdXQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAADWdsb2JhbF92b2x1bWUJAABkAAAAAgkBAAAADXRyeUdldEludGVnZXIAAAABAgAAAA1nbG9iYWxfdm9sdW1lCQEAAAASY2FsY3VsYXRlVXNkblZhbHVlAAAAAwUAAAAHQXNzZXRJbgUAAAAIQW1vdW50SW4FAAAADkFzc2V0SW5CYWxhbmNlBQAAAANuaWwFAAAADmJhbGFuY2VDaGFuZ2VzBQAAAA5jbGVhbkFtb3VudE91dAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAJZmxhc2hMb2FuAAAAAwAAAAphc3NldElkU3RyAAAABmFtb3VudAAAAAphY3Rpb25zU3RyBAAAAAdhY3Rpb25zCQAEtQAAAAIFAAAACmFjdGlvbnNTdHICAAAAAXwFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAADCQEAAAAKaXNTaHV0ZG93bgAAAAAHCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tled7Kq+U=", "height": 2010288, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7jweZhqwHV2Z7a4aEqAfCtbP9tATbzYuVyH3CVmau1gj Next: none Diff:
OldNewDifferences
170170 func aa (ab) = {
171171 func ac (l,ad) = {
172172 let ae = W(ad.amount, ad.assetId)
173- if (if ((l == 0))
174- then true
175- else (l > ae))
176- then ae
177- else l
173+ if ((ae == 0))
174+ then throw("one of the tokens amounts is too low")
175+ else if (if ((l == 0))
176+ then true
177+ else (l > ae))
178+ then ae
179+ else l
178180 }
179181
180182 let af = {
273275 let aB = a((("global_" + g(V)) + "_balance"))
274276 let aC = a("global_poolToken_amount")
275277 let aD = a((("static_" + g(V)) + "_scale"))
276- let aE = fraction((fraction((aC + ae), aD, aC, DOWN) - aD), aB, aD, DOWN)
278+ let aE = fraction((fraction((aC + ae), aD, aC, CEILING) - aD), aB, aD, CEILING)
277279 let aF = az(V)
278280 let aG = ((if ((aF != 0))
279281 then aF
280282 else 0) - aE)
281- let aH = if (ay)
283+ let aH = if (if (ay)
284+ then (aG > 0)
285+ else false)
282286 then [ScriptTransfer(ax, aG, V)]
283287 else nil
284288 ((l ++ aH) ++ [IntegerEntry((("global_" + g(V)) + "_balance"), (aB + aE))])
441445 func bx (l,by) = if ((by >= size(bu)))
442446 then l
443447 else {
444- let bz = value(assetInfo(bu[by])).decimals
448+ let bz = {
449+ let c = bu[by]
450+ if ($isInstanceOf(c, "ByteVector"))
451+ then {
452+ let S = c
453+ value(assetInfo(S)).decimals
454+ }
455+ else 8
456+ }
445457 (l ++ [IntegerEntry((("static_" + bt[by]) + "_scale"), pow(10, 0, bz, 0, 0, DOWN)), IntegerEntry((("static_" + bt[by]) + "_decimals"), bz), IntegerEntry((("static_" + bt[by]) + "_weight"), value(parseInt(bv[by])))])
446458 }
447459
651663 }
652664
653665
654-@Verifier(cd)
655-func ce () = if (R())
666+
667+@Callable(bo)
668+func flashLoan (j,X,cd) = {
669+ let ce = split(cd, "|")
670+ nil
671+ }
672+
673+
674+@Verifier(cf)
675+func cg () = if (R())
656676 then false
657- else sigVerify(cd.bodyBytes, cd.proofs[0], cd.senderPublicKey)
677+ else sigVerify(cf.bodyBytes, cf.proofs[0], cf.senderPublicKey)
658678
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b) = {
55 let c = getInteger(this, b)
66 if ($isInstanceOf(c, "Int"))
77 then {
88 let d = c
99 d
1010 }
1111 else 0
1212 }
1313
1414
1515 func e (b) = {
1616 let c = getBinary(this, b)
1717 if ($isInstanceOf(c, "ByteVector"))
1818 then {
1919 let d = c
2020 d
2121 }
2222 else base58''
2323 }
2424
2525
2626 func f (b) = {
2727 let c = getString(this, b)
2828 if ($isInstanceOf(c, "String"))
2929 then {
3030 let d = c
3131 d
3232 }
3333 else ""
3434 }
3535
3636
3737 func g (h) = {
3838 let c = h
3939 if ($isInstanceOf(c, "ByteVector"))
4040 then {
4141 let d = c
4242 toBase58String(d)
4343 }
4444 else "WAVES"
4545 }
4646
4747
4848 func i (j) = if ((j == "WAVES"))
4949 then unit
5050 else fromBase58String(j)
5151
5252
5353 func k (l,m) = (l ++ [i(m)])
5454
5555
5656 func n (l,m) = (l ++ [a((("static_" + g(m)) + "_weight"))])
5757
5858
5959 func o (l,m) = (l ++ [a((("static_" + g(m)) + "_decimals"))])
6060
6161
6262 func p (l,m) = (l ++ [a((("static_" + g(m)) + "_scale"))])
6363
6464
6565 func q (l,m) = (l ++ [parseIntValue(m)])
6666
6767
6868 let r = a("static_tokensAmount")
6969
7070 let s = {
7171 let t = split(f("static_tokenIds"), ",")
7272 let u = size(t)
7373 let v = nil
7474 func w (x,y) = if ((y >= u))
7575 then x
7676 else k(x, t[y])
7777
7878 func z (x,y) = if ((y >= u))
7979 then x
8080 else throw("List size exceeds 10")
8181
8282 z(w(w(w(w(w(w(w(w(w(w(v, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
8383 }
8484
8585 let A = {
8686 let t = s
8787 let u = size(t)
8888 let v = nil
8989 func B (x,y) = if ((y >= u))
9090 then x
9191 else n(x, t[y])
9292
9393 func C (x,y) = if ((y >= u))
9494 then x
9595 else throw("List size exceeds 10")
9696
9797 C(B(B(B(B(B(B(B(B(B(B(v, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
9898 }
9999
100100 let D = {
101101 let t = s
102102 let u = size(t)
103103 let v = nil
104104 func E (x,y) = if ((y >= u))
105105 then x
106106 else o(x, t[y])
107107
108108 func F (x,y) = if ((y >= u))
109109 then x
110110 else throw("List size exceeds 10")
111111
112112 F(E(E(E(E(E(E(E(E(E(E(v, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
113113 }
114114
115115 let G = {
116116 let t = s
117117 let u = size(t)
118118 let v = nil
119119 func H (x,y) = if ((y >= u))
120120 then x
121121 else p(x, t[y])
122122
123123 func I (x,y) = if ((y >= u))
124124 then x
125125 else throw("List size exceeds 10")
126126
127127 I(H(H(H(H(H(H(H(H(H(H(v, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
128128 }
129129
130130 let J = a("static_fee")
131131
132132 let K = 2
133133
134134 let L = 10000
135135
136136 let M = 100000000
137137
138138 let N = 10000
139139
140140 let O = 8
141141
142142 let P = pow(10, 0, O, 0, 0, HALFUP)
143143
144144 let Q = s
145145
146146 func R () = {
147147 let c = getBoolean(Address(base58'3PEpv9hRFWEEBU22WRnLsw1bH4YGtcU728o'), "is_shutdown")
148148 if ($isInstanceOf(c, "Boolean"))
149149 then {
150150 let S = c
151151 S
152152 }
153153 else false
154154 }
155155
156156
157157 func T (U) = {
158158 let V = g(s[U])
159159 a((("global_" + V) + "_balance"))
160160 }
161161
162162
163163 func W (X,V) = {
164164 let Y = a("global_poolToken_amount")
165165 let Z = a((("global_" + g(V)) + "_balance"))
166166 fraction(X, Y, Z, DOWN)
167167 }
168168
169169
170170 func aa (ab) = {
171171 func ac (l,ad) = {
172172 let ae = W(ad.amount, ad.assetId)
173- if (if ((l == 0))
174- then true
175- else (l > ae))
176- then ae
177- else l
173+ if ((ae == 0))
174+ then throw("one of the tokens amounts is too low")
175+ else if (if ((l == 0))
176+ then true
177+ else (l > ae))
178+ then ae
179+ else l
178180 }
179181
180182 let af = {
181183 let t = ab
182184 let u = size(t)
183185 let v = 0
184186 func ag (x,y) = if ((y >= u))
185187 then x
186188 else ac(x, t[y])
187189
188190 func ah (x,y) = if ((y >= u))
189191 then x
190192 else throw("List size exceeds 10")
191193
192194 ah(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(v, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
193195 }
194196 af
195197 }
196198
197199
198200 func ai (h,X,aj) = {
199201 let ak = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
200202 let al = A[value(indexOf(s, ak))]
201203 let am = A[value(indexOf(s, h))]
202204 let an = a((("global_" + g(ak)) + "_balance"))
203205 fraction(X, (an / al), (aj / am))
204206 }
205207
206208
207209 func ao (ab) = {
208210 func ap (l,aq) = (l ++ [aq.assetId])
209211
210212 let ar = {
211213 let t = ab
212214 let u = size(t)
213215 let v = nil
214216 func ag (x,y) = if ((y >= u))
215217 then x
216218 else ap(x, t[y])
217219
218220 func ah (x,y) = if ((y >= u))
219221 then x
220222 else throw("List size exceeds 10")
221223
222224 ah(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(v, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
223225 }
224226 if ((ar == ar))
225227 then {
226228 func as (l,h) = if ((indexOf(ar, h) != unit))
227229 then (l + 1)
228230 else throw(("asset not attached: " + g(h)))
229231
230232 let at = {
231233 let t = s
232234 let u = size(t)
233235 let v = 0
234236 func au (x,y) = if ((y >= u))
235237 then x
236238 else as(x, t[y])
237239
238240 func av (x,y) = if ((y >= u))
239241 then x
240242 else throw("List size exceeds 10")
241243
242244 av(au(au(au(au(au(au(au(au(au(au(v, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
243245 }
244246 if ((at == at))
245247 then true
246248 else throw("Strict value is not equal to itself.")
247249 }
248250 else throw("Strict value is not equal to itself.")
249251 }
250252
251253
252254 func aw (ae,ab,ax,ay) = {
253255 func az (V) = {
254256 func ac (l,aq) = if ((aq.assetId == V))
255257 then aq.amount
256258 else l
257259
258260 let t = ab
259261 let u = size(t)
260262 let v = 0
261263 func ag (x,y) = if ((y >= u))
262264 then x
263265 else ac(x, t[y])
264266
265267 func ah (x,y) = if ((y >= u))
266268 then x
267269 else throw("List size exceeds 10")
268270
269271 ah(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(v, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
270272 }
271273
272274 func aA (l,V) = {
273275 let aB = a((("global_" + g(V)) + "_balance"))
274276 let aC = a("global_poolToken_amount")
275277 let aD = a((("static_" + g(V)) + "_scale"))
276- let aE = fraction((fraction((aC + ae), aD, aC, DOWN) - aD), aB, aD, DOWN)
278+ let aE = fraction((fraction((aC + ae), aD, aC, CEILING) - aD), aB, aD, CEILING)
277279 let aF = az(V)
278280 let aG = ((if ((aF != 0))
279281 then aF
280282 else 0) - aE)
281- let aH = if (ay)
283+ let aH = if (if (ay)
284+ then (aG > 0)
285+ else false)
282286 then [ScriptTransfer(ax, aG, V)]
283287 else nil
284288 ((l ++ aH) ++ [IntegerEntry((("global_" + g(V)) + "_balance"), (aB + aE))])
285289 }
286290
287291 let t = s
288292 let u = size(t)
289293 let v = nil
290294 func ag (x,y) = if ((y >= u))
291295 then x
292296 else aA(x, t[y])
293297
294298 func ah (x,y) = if ((y >= u))
295299 then x
296300 else throw("List size exceeds 10")
297301
298302 ah(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(v, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
299303 }
300304
301305
302306 func aI (aJ,ax) = {
303307 func aK (l,V) = {
304308 let aB = a((("global_" + g(V)) + "_balance"))
305309 let aC = a("global_poolToken_amount")
306310 let aD = a((("static_" + g(V)) + "_scale"))
307311 let X = toInt(fraction((toBigInt(M) - fraction(toBigInt((aC - aJ)), toBigInt(M), toBigInt(aC), CEILING)), toBigInt(aB), toBigInt(M), DOWN))
308312 (l ++ [IntegerEntry((("global_" + g(V)) + "_balance"), (aB - X)), ScriptTransfer(ax, X, V)])
309313 }
310314
311315 let t = s
312316 let u = size(t)
313317 let v = nil
314318 func ag (x,y) = if ((y >= u))
315319 then x
316320 else aK(x, t[y])
317321
318322 func ah (x,y) = if ((y >= u))
319323 then x
320324 else throw("List size exceeds 10")
321325
322326 ah(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(v, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
323327 }
324328
325329
326330 func aL (aM,aN,aO,aP,aQ) = {
327331 let aR = value(indexOf(s, aN))
328332 let aS = value(indexOf(s, aO))
329333 if ((aR == aS))
330334 then throw("wrong tokens pair")
331335 else fraction(aQ, ((M * M) - toInt(pow(fraction(toBigInt(aP), toBigInt((M * M)), toBigInt((aP + aM)), HALFUP), 16, toBigInt(fraction(A[aR], 10000, A[aS])), 4, 16, CEILING))), (M * M), DOWN)
332336 }
333337
334338
335339 func aT (h) = {
336340 let c = h
337341 if ($isInstanceOf(c, "ByteVector"))
338342 then {
339343 let aH = c
340344 assetBalance(this, aH)
341345 }
342346 else wavesBalance(this).available
343347 }
344348
345349
346350 func aU (h,j,aj,aV) = {
347351 let aW = a("global_indexStaked")
348352 let aX = aV
349353 let aY = (aT(h) - aj)
350354 let aZ = if ((aY > aX))
351355 then aY
352356 else aX
353357 let ba = (aZ - aX)
354358 let bb = if ((aW == 0))
355359 then 0
356360 else fraction(ba, M, aW)
357361 let bc = a((("global_lastCheck_" + j) + "_interest"))
358362 (bc + bb)
359363 }
360364
361365
362366 func bd (be) = {
363367 let bf = toString(be)
364368 let bg = a((bf + "_indexStaked"))
365369 func ac (l,h) = {
366370 let j = g(h)
367371 let aj = a((("global_" + g(h)) + "_balance"))
368372 let aV = a((("global_lastCheck_" + j) + "_earnings"))
369373 let bh = aU(h, j, aj, aV)
370374 let aZ = max([aV, (aT(h) - aj)])
371375 let bi = fraction(bg, (bh - a((((bf + "_lastCheck_") + j) + "_interest"))), M)
372376 let bj = if ((bi == 0))
373377 then nil
374378 else [ScriptTransfer(be, bi, h)]
375379 $Tuple2(((l._1 ++ bj) ++ [IntegerEntry((("global_lastCheck_" + j) + "_earnings"), (aZ - bi)), IntegerEntry((("global_lastCheck_" + j) + "_interest"), bh), IntegerEntry((((bf + "_lastCheck_") + j) + "_interest"), bh)]), (l._2 + ai(h, bi, aj)))
376380 }
377381
378382 let l = {
379383 let t = Q
380384 let u = size(t)
381385 let v = $Tuple2(nil, 0)
382386 func ag (x,y) = if ((y >= u))
383387 then x
384388 else ac(x, t[y])
385389
386390 func ah (x,y) = if ((y >= u))
387391 then x
388392 else throw("List size exceeds 10")
389393
390394 ah(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(v, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
391395 }
392396 (l._1 ++ [IntegerEntry((bf + "_claimedRewardValue"), (a((bf + "_claimedRewardValue")) + l._2)), IntegerEntry((bf + "_lastClaim"), lastBlock.timestamp)])
393397 }
394398
395399
396400 func bk (bf,X) = {
397401 let bl = bd(addressFromStringValue(bf))
398402 (bl ++ [IntegerEntry((bf + "_indexStaked"), (a((bf + "_indexStaked")) + X)), IntegerEntry("global_indexStaked", (a("global_indexStaked") + X))])
399403 }
400404
401405
402406 func bm (l,bn) = (l + parseIntValue(bn))
403407
404408
405409 @Callable(bo)
406410 func preInit (bp,bq,br,bs) = if ((this != bo.caller))
407411 then throw("admin only")
408412 else if ((size(bs) > 13))
409413 then throw("too large pool domain")
410414 else {
411415 let bt = split(bp, ",")
412416 let bu = {
413417 let t = bt
414418 let u = size(t)
415419 let v = nil
416420 func ag (x,y) = if ((y >= u))
417421 then x
418422 else k(x, t[y])
419423
420424 func ah (x,y) = if ((y >= u))
421425 then x
422426 else throw("List size exceeds 10")
423427
424428 ah(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(v, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
425429 }
426430 let bv = split(bq, ",")
427431 let bw = {
428432 let t = bv
429433 let u = size(t)
430434 let v = 0
431435 func au (x,y) = if ((y >= u))
432436 then x
433437 else bm(x, t[y])
434438
435439 func av (x,y) = if ((y >= u))
436440 then x
437441 else throw("List size exceeds 10")
438442
439443 av(au(au(au(au(au(au(au(au(au(au(v, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
440444 }
441445 func bx (l,by) = if ((by >= size(bu)))
442446 then l
443447 else {
444- let bz = value(assetInfo(bu[by])).decimals
448+ let bz = {
449+ let c = bu[by]
450+ if ($isInstanceOf(c, "ByteVector"))
451+ then {
452+ let S = c
453+ value(assetInfo(S)).decimals
454+ }
455+ else 8
456+ }
445457 (l ++ [IntegerEntry((("static_" + bt[by]) + "_scale"), pow(10, 0, bz, 0, 0, DOWN)), IntegerEntry((("static_" + bt[by]) + "_decimals"), bz), IntegerEntry((("static_" + bt[by]) + "_weight"), value(parseInt(bv[by])))])
446458 }
447459
448460 if ((bw != 100))
449461 then throw("sum of token weights must be equal to 100")
450462 else ({
451463 let t = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
452464 let u = size(t)
453465 let v = nil
454466 func bA (x,y) = if ((y >= u))
455467 then x
456468 else bx(x, t[y])
457469
458470 func bB (x,y) = if ((y >= u))
459471 then x
460472 else throw("List size exceeds 10")
461473
462474 bB(bA(bA(bA(bA(bA(bA(bA(bA(bA(bA(v, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
463475 } ++ [StringEntry("static_tokenIds", bp), StringEntry("static_tokenWeights", bq), IntegerEntry("static_tokensAmount", size(bu)), StringEntry("static_poolDomain", bs), StringEntry("static_baseTokenId", br), IntegerEntry("static_fee", 200)])
464476 }
465477
466478
467479
468480 @Callable(bo)
469481 func deInit () = if ((bo.caller != this))
470482 then throw("admin only")
471483 else [IntegerEntry("global_wasInited", 0)]
472484
473485
474486
475487 @Callable(bo)
476488 func init () = {
477489 func bC () = {
478490 func ac (l,bn) = (l ++ [IntegerEntry((("global_" + g(bn.assetId)) + "_balance"), bn.amount)])
479491
480492 let t = bo.payments
481493 let u = size(t)
482494 let v = nil
483495 func ag (x,y) = if ((y >= u))
484496 then x
485497 else ac(x, t[y])
486498
487499 func ah (x,y) = if ((y >= u))
488500 then x
489501 else throw("List size exceeds 10")
490502
491503 ah(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(v, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
492504 }
493505
494506 func bD (ab) = {
495507 func ac (l,bE) = {
496508 let h = bE.assetId
497509 func as (l,bn) = if ((bn == h))
498510 then value(indexOf(s, bn))
499511 else l
500512
501513 let bF = {
502514 let t = s
503515 let u = size(t)
504516 let v = 1
505517 func ag (x,y) = if ((y >= u))
506518 then x
507519 else as(x, t[y])
508520
509521 func ah (x,y) = if ((y >= u))
510522 then x
511523 else throw("List size exceeds 10")
512524
513525 ah(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(v, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
514526 }
515527 fraction(l, pow(bE.amount, D[bF], A[bF], K, 8, FLOOR), M)
516528 }
517529
518530 let t = ab
519531 let u = size(t)
520532 let v = P
521533 func ag (x,y) = if ((y >= u))
522534 then x
523535 else ac(x, t[y])
524536
525537 func ah (x,y) = if ((y >= u))
526538 then x
527539 else throw("List size exceeds 10")
528540
529541 ah(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(v, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
530542 }
531543
532544 if ((a("global_wasInited") > 0))
533545 then throw("pool already inited")
534546 else {
535547 let bG = bD(bo.payments)
536548 if ((bG == 0))
537549 then throw("you need a bigger tokens amount to launch the pool")
538550 else {
539551 let bH = Issue(("PZ " + f("static_poolDomain")), "Puzzle Swap: pool index token", bG, O, true, unit, 0)
540552 let bI = calculateAssetId(bH)
541553 (bC() ++ [bH, IntegerEntry("global_poolToken_amount", bG), IntegerEntry("global_wasInited", 1), BinaryEntry("global_poolToken_id", bI), StringEntry("static_poolToken_idStr", g(bI)), ScriptTransfer(bo.caller, bG, bI)])
542554 }
543555 }
544556 }
545557
546558
547559
548560 @Callable(bo)
549561 func generateIndex (ay) = if ((size(bo.payments) != r))
550562 then throw(("you need to attach all pool tokens. amount of pool tokens: " + toString(r)))
551563 else if (!(ao(bo.payments)))
552564 then throw("wrong assets attached")
553565 else {
554566 let ae = aa(bo.payments)
555567 let bJ = Reissue(getBinaryValue("global_poolToken_id"), ae, true)
556568 let bK = aw(ae, bo.payments, bo.originCaller, ay)
557569 $Tuple2((bK ++ [ScriptTransfer(bo.caller, ae, e("global_poolToken_id")), bJ, IntegerEntry("global_poolToken_amount", (a("global_poolToken_amount") + ae))]), ae)
558570 }
559571
560572
561573
562574 @Callable(bo)
563575 func stakeIndex () = {
564576 let bf = toString(bo.originCaller)
565577 let bE = bo.payments[0]
566578 if ((value(bE.assetId) != e("global_poolToken_id")))
567579 then throw("wrong asset attached")
568580 else bk(bf, bE.amount)
569581 }
570582
571583
572584
573585 @Callable(bo)
574586 func unstakeIndex (bg) = {
575587 let bf = toString(bo.originCaller)
576588 let bL = a((bf + "_indexStaked"))
577589 if ((bg > bL))
578590 then throw("you don't have index tokens available")
579591 else (bd(bo.originCaller) ++ [IntegerEntry((bf + "_indexStaked"), (bL - bg)), IntegerEntry("global_indexStaked", (a("global_indexStaked") - bg)), ScriptTransfer(bo.caller, bg, getBinaryValue("global_poolToken_id"))])
580592 }
581593
582594
583595
584596 @Callable(bo)
585597 func claimIndexRewards () = bd(bo.caller)
586598
587599
588600
589601 @Callable(bo)
590602 func redeemIndex (bM) = {
591603 let bE = bo.payments[0]
592604 if ((bE.assetId != e("global_poolToken_id")))
593605 then throw("please attach pool share token")
594606 else {
595607 let aJ = bE.amount
596608 let bK = aI(aJ, if (bM)
597609 then bo.originCaller
598610 else bo.caller)
599611 (bK ++ [Burn(e("global_poolToken_id"), aJ), IntegerEntry("global_poolToken_amount", (a("global_poolToken_amount") - aJ))])
600612 }
601613 }
602614
603615
604616
605617 @Callable(bo)
606618 func swap (aO,bN) = {
607619 let bE = value(bo.payments[0])
608620 let aM = value(bo.payments[0].amount)
609621 let bO = bE.assetId
610622 let bP = i(aO)
611623 let bQ = a((("global_" + g(bO)) + "_balance"))
612624 let bR = a((("global_" + aO) + "_balance"))
613625 let bS = aL(aM, bO, bP, bQ, bR)
614626 let bT = fraction(bS, J, N)
615627 let bU = (bS - bT)
616628 if ((bN > bU))
617629 then throw(("amount to recieve is lower than given one: " + toString(bU)))
618630 else if ((0 > (bR - bS)))
619631 then throw("contract is out of reserves")
620632 else {
621633 let bV = (bQ + aM)
622634 let bW = (bR - bS)
623635 let bX = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
624636 if ((bX == bP))
625637 then {
626638 let bY = bT
627639 let bZ = fraction(bY, 4, 10)
628640 let ca = reentrantInvoke(Address(base58'3PFTbywqxtFfukX3HyT881g4iW5K4QL3FAS'), "topUpReward", nil, [AttachedPayment(bX, bZ)])
629641 if ((ca == ca))
630642 then $Tuple2([IntegerEntry((("global_" + aO) + "_balance"), bW), IntegerEntry((("global_" + g(bO)) + "_balance"), bV), ScriptTransfer(bo.caller, bU, bP), IntegerEntry("global_volume", (a("global_volume") + ai(bO, aM, bQ)))], bU)
631643 else throw("Strict value is not equal to itself.")
632644 }
633645 else {
634646 let an = if ((bO == bX))
635647 then bV
636648 else a((("global_" + g(bX)) + "_balance"))
637649 let bY = aL(bT, bP, bX, bW, an)
638650 let bZ = fraction(bY, 4, 10)
639651 let ca = reentrantInvoke(Address(base58'3PFTbywqxtFfukX3HyT881g4iW5K4QL3FAS'), "topUpReward", nil, [AttachedPayment(bX, bZ)])
640652 if ((ca == ca))
641653 then {
642654 let cb = IntegerEntry((("global_" + toBase58String(bX)) + "_balance"), (an - bY))
643655 let cc = if ((bO == bX))
644656 then [cb]
645657 else [cb, IntegerEntry((("global_" + g(bO)) + "_balance"), bV)]
646658 $Tuple2(([IntegerEntry((("global_" + aO) + "_balance"), (bW + bT)), ScriptTransfer(bo.caller, bU, bP), IntegerEntry("global_volume", (a("global_volume") + ai(bO, aM, bQ)))] ++ cc), bU)
647659 }
648660 else throw("Strict value is not equal to itself.")
649661 }
650662 }
651663 }
652664
653665
654-@Verifier(cd)
655-func ce () = if (R())
666+
667+@Callable(bo)
668+func flashLoan (j,X,cd) = {
669+ let ce = split(cd, "|")
670+ nil
671+ }
672+
673+
674+@Verifier(cf)
675+func cg () = if (R())
656676 then false
657- else sigVerify(cd.bodyBytes, cd.proofs[0], cd.senderPublicKey)
677+ else sigVerify(cf.bodyBytes, cf.proofs[0], cf.senderPublicKey)
658678

github/deemru/w8io/c3f4982 
75.45 ms