juspay_api_library

Build log

nerves_system_x86_64

juspay_api_library 0.1.0 · fail · run juspay_api_library-0.1.0-1790964985536
729 of 729 lines
1Resolving Hex dependencies...2Resolution completed in 0.246s3Unchanged:4  certifi 1.0.05  circular_buffer 1.1.06  elixir_make 0.10.07  hackney 1.6.6 RETIRED! VULNERABLE!8    (invalid)910    EEF-CVE-2026-47075 (MEDIUM)11    aka: CVE-2026-47075, GHSA-j9wq-vxxc-94wf12    CR/LF injection in query parameter in hackney13    https://osv.dev/vulnerability/EEF-CVE-2026-470751415    GHSA-vq52-99r9-h5pw (LOW)16    aka: CVE-2025-121117    Server-side Request Forgery (SSRF) in hackney18    https://osv.dev/vulnerability/GHSA-vq52-99r9-h5pw1920    EEF-CVE-2026-47071 (HIGH)21    aka: CVE-2026-47071, GHSA-gp9c-pm5m-5cxr22    SOCKS5 TLS upgrade ignores caller timeout in hackney23    https://osv.dev/vulnerability/EEF-CVE-2026-470712425    GHSA-9fm9-hp7p-53mf (LOW)26    aka: CVE-2025-386427    Hackney fails to properly release HTTP connections to the pool28    https://osv.dev/vulnerability/GHSA-9fm9-hp7p-53mf2930    EEF-CVE-2026-47069 (LOW)31    aka: CVE-2026-47069, GHSA-mp55-p8c9-rfw232    CRLF injection in cookie domain/path options in hackney33    https://osv.dev/vulnerability/EEF-CVE-2026-470693435    EEF-CVE-2026-47076 (MEDIUM)36    aka: CVE-2026-47076, GHSA-pj7v-xfvx-wmjq37    SSRF allowlist bypass via percent-encoded host in hackney38    https://osv.dev/vulnerability/EEF-CVE-2026-4707639  httpoison 0.9.240  idna 4.0.041  interactive_cmd 0.1.442  juspay_api_library 0.1.043  metrics 1.0.144  mimerl 1.0.245  nerves 2.0.0-pre.246  nerves_discovery 0.1.547  nerves_logging 0.2.448  nerves_runtime 0.13.1349  nerves_system_bbb 2.30.250  nerves_system_br 1.34.451  nerves_system_mangopi_mq_pro 0.17.252  nerves_system_qemu_aarch64 0.4.253  nerves_system_rpi0 2.1.254  nerves_system_rpi4 2.1.255  nerves_system_rpi5 2.1.256  nerves_system_trellis 0.5.057  nerves_system_x86_64 1.34.258  nerves_toolchain_aarch64_nerves_linux_gnu 15.3.159  nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.160  nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.161  nerves_toolchain_riscv64_nerves_linux_gnu 15.3.162  nerves_toolchain_x86_64_nerves_linux_musl 15.3.163  nerves_uevent 0.1.764  poison 2.2.065  property_table 0.3.466  ring_logger 0.11.767  ssl_verify_fun 1.1.168  tablet 0.3.369  toolshed 0.5.070  uboot_env 1.0.271* Getting juspay_api_library (Hex package)72* Getting nerves (Hex package)73* Getting ring_logger (Hex package)74* Getting toolshed (Hex package)75* Getting nerves_runtime (Hex package)76* Getting nerves_system_bbb (Hex package)77* Getting nerves_system_mangopi_mq_pro (Hex package)78* Getting nerves_system_qemu_aarch64 (Hex package)79* Getting nerves_system_rpi0 (Hex package)80* Getting nerves_system_rpi4 (Hex package)81* Getting nerves_system_rpi5 (Hex package)82* Getting nerves_system_trellis (Hex package)83* Getting nerves_system_x86_64 (Hex package)84* Getting nerves_system_br (Hex package)85* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)86* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)87* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)88* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)89* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)90* Getting nerves_logging (Hex package)91* Getting nerves_uevent (Hex package)92* Getting uboot_env (Hex package)93* Getting elixir_make (Hex package)94* Getting property_table (Hex package)95* Getting circular_buffer (Hex package)96* Getting interactive_cmd (Hex package)97* Getting nerves_discovery (Hex package)98* Getting tablet (Hex package)99* Getting hackney (Hex package)100* Getting httpoison (Hex package)101* Getting poison (Hex package)102* Getting certifi (Hex package)103* Getting idna (Hex package)104* Getting metrics (Hex package)105* Getting mimerl (Hex package)106* Getting ssl_verify_fun (Hex package)107Found retired packages, see above for details108Found packages with security advisories, see above for details109    warning: String.strip/1 is deprecated. Use String.trim/1 instead110    │111  4 │   @version File.read!("VERSION") |> String.strip112    │                                            ~113    │114    └─ /work/proj/deps_x86_64/poison/mix.exs:4:44: Poison.Mixfile (module)115116==> poison117Compiling 4 files (.ex)118    warning: using single-quoted strings to represent charlists is deprecated.119    Use ~c"" if you indeed want a charlist or use "" instead.120    You may run "mix format --migrate" to change all single-quoted121    strings to use the ~c sigil and fix this warning.122    │123 89 │   for {char, seq} <- Enum.zip('"\\\n\t\r\f\b', '"\\ntrfb') do124    │                               ~125    │126    └─ lib/poison/encoder.ex:89:31127128    warning: using single-quoted strings to represent charlists is deprecated.129    Use ~c"" if you indeed want a charlist or use "" instead.130    You may run "mix format --migrate" to change all single-quoted131    strings to use the ~c sigil and fix this warning.132    │133 89 │   for {char, seq} <- Enum.zip('"\\\n\t\r\f\b', '"\\ntrfb') do134    │                                                ~135    │136    └─ lib/poison/encoder.ex:89:48137138     warning: using single-quoted strings to represent charlists is deprecated.139     Use ~c"" if you indeed want a charlist or use "" instead.140     You may run "mix format --migrate" to change all single-quoted141     strings to use the ~c sigil and fix this warning.142     │143 127 │   defp chunk_size(<<char>> <> _, _mode, acc) when char <= 0x1F or char in '"\\' do144     │                                                                           ~145     │146     └─ lib/poison/encoder.ex:127:75147148    warning: using single-quoted strings to represent charlists is deprecated.149    Use ~c"" if you indeed want a charlist or use "" instead.150    You may run "mix format --migrate" to change all single-quoted151    strings to use the ~c sigil and fix this warning.152    │153 67 │   defp value(<<char, _ :: binary>> = string, _keys) when char in '-0123456789' do154    │                                                                  ~155    │156    └─ lib/poison/parser.ex:67:66157158     warning: using single-quoted strings to represent charlists is deprecated.159     Use ~c"" if you indeed want a charlist or use "" instead.160     You may run "mix format --migrate" to change all single-quoted161     strings to use the ~c sigil and fix this warning.162     │163 134 │   defp number_int(<<char, _ :: binary>> = string, acc) when char in '123456789' do164     │                                                                     ~165     │166     └─ lib/poison/parser.ex:134:69167168     warning: using single-quoted strings to represent charlists is deprecated.169     Use ~c"" if you indeed want a charlist or use "" instead.170     You may run "mix format --migrate" to change all single-quoted171     strings to use the ~c sigil and fix this warning.172     │173 150 │   defp number_exp(<<e>> <> rest, frac, acc) when e in 'eE' do174     │                                                       ~175     │176     └─ lib/poison/parser.ex:150:55177178     warning: using single-quoted strings to represent charlists is deprecated.179     Use ~c"" if you indeed want a charlist or use "" instead.180     You may run "mix format --migrate" to change all single-quoted181     strings to use the ~c sigil and fix this warning.182     │183 176 │   defp number_digits(<<char>> <> rest = string) when char in '0123456789' do184     │                                                              ~185     │186     └─ lib/poison/parser.ex:176:62187188     warning: using single-quoted strings to represent charlists is deprecated.189     Use ~c"" if you indeed want a charlist or use "" instead.190     You may run "mix format --migrate" to change all single-quoted191     strings to use the ~c sigil and fix this warning.192     │193 184 │   defp number_digits_count(<<char>> <> rest, acc) when char in '0123456789' do194     │                                                                ~195     │196     └─ lib/poison/parser.ex:184:64197198     warning: using single-quoted strings to represent charlists is deprecated.199     Use ~c"" if you indeed want a charlist or use "" instead.200     You may run "mix format --migrate" to change all single-quoted201     strings to use the ~c sigil and fix this warning.202     │203 208 │   for {seq, char} <- Enum.zip('"\\ntr/fb', '"\\\n\t\r/\f\b') do204     │                               ~205     │206     └─ lib/poison/parser.ex:208:31207208     warning: using single-quoted strings to represent charlists is deprecated.209     Use ~c"" if you indeed want a charlist or use "" instead.210     You may run "mix format --migrate" to change all single-quoted211     strings to use the ~c sigil and fix this warning.212     │213 208 │   for {seq, char} <- Enum.zip('"\\ntr/fb', '"\\\n\t\r/\f\b') do214     │                                            ~215     │216     └─ lib/poison/parser.ex:208:44217218     warning: using single-quoted strings to represent charlists is deprecated.219     Use ~c"" if you indeed want a charlist or use "" instead.220     You may run "mix format --migrate" to change all single-quoted221     strings to use the ~c sigil and fix this warning.222     │223 218 │     when a1 in 'dD' and a2 in 'dD'224     │                ~225     │226     └─ lib/poison/parser.ex:218:16227228     warning: using single-quoted strings to represent charlists is deprecated.229     Use ~c"" if you indeed want a charlist or use "" instead.230     You may run "mix format --migrate" to change all single-quoted231     strings to use the ~c sigil and fix this warning.232     │233 218 │     when a1 in 'dD' and a2 in 'dD'234     │                               ~235     │236     └─ lib/poison/parser.ex:218:31237238     warning: using single-quoted strings to represent charlists is deprecated.239     Use ~c"" if you indeed want a charlist or use "" instead.240     You may run "mix format --migrate" to change all single-quoted241     strings to use the ~c sigil and fix this warning.242     │243 219 │     and (b1 in '89abAB')244     │                ~245     │246     └─ lib/poison/parser.ex:219:16247248     warning: using single-quoted strings to represent charlists is deprecated.249     Use ~c"" if you indeed want a charlist or use "" instead.250     You may run "mix format --migrate" to change all single-quoted251     strings to use the ~c sigil and fix this warning.252     │253 253 │   defp skip_whitespace(<<char>> <> rest) when char in '\s\n\t\r' do254     │                                                       ~255     │256     └─ lib/poison/parser.ex:253:55257258    warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead259    │260 22 │   if Application.get_env(:poison, :native) do261    │                  ~262    │263    └─ lib/poison/parser.ex:22:18: Poison.Parser (module)264265    warning: use Bitwise is deprecated. import Bitwise instead266    │267 26 │   use Bitwise268    │   ~~~~~~~~~~~269    │270    └─ lib/poison/parser.ex:26: Poison.Parser (module)271272     warning: the variable "count" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator273     │274 178 │     <<digits :: binary-size(count), rest :: binary>> = string275     │                             ~276     │277     └─ lib/poison/parser.ex:178:29: Poison.Parser.number_digits/1278279     warning: the variable "n" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator280     │281 204 │     <<chunk :: binary-size(n), rest :: binary>> = string282     │                            ~283     │284     └─ lib/poison/parser.ex:204:28: Poison.Parser.string_continue/2285286    warning: use Bitwise is deprecated. import Bitwise instead287    │288 79 │   use Bitwise289    │   ~~~~~~~~~~~290    │291    └─ lib/poison/encoder.ex:79: Poison.Encoder.BitString (module)292293     warning: the variable "size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator294     │295 123 │     <<chunk :: binary-size(size), rest :: binary>> = string296     │                            ~297     │298     └─ lib/poison/encoder.ex:123:28: Poison.Encoder.BitString.escape/2299300     warning: HashDict.size/1 is deprecated. Use maps and the Map module instead301     │302 283 │     if HashDict.size(dict) < 1 do303     │                 ~304     │305     └─ lib/poison/encoder.ex:283:17: Poison.Encoder.HashDict.encode/2306307     warning: Integer.to_char_list/2 is deprecated. Use Integer.to_charlist/2 instead308     │309 161 │     case Integer.to_char_list(char, 16) do310     │                  ~311     │312     └─ lib/poison/encoder.ex:161:18: Poison.Encoder.BitString.seq/1313314Generated poison app315==> nerves_compatibility_test316===> Analyzing applications...317===> Compiling certifi318===> Analyzing applications...319===> Compiling hackney320     ┌─ src/hackney_trace.erl:321     │322 130 │    (catch io:format(standard_io, "stop trace at ~s~n", [format_timestamp(Timestamp)])),323     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.324Compile directive 'nowarn_deprecated_catch' can be used to suppress325warnings in selected modules.326327     ┌─ src/hackney_trace.erl:328     │329 137 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),330     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.331Compile directive 'nowarn_deprecated_catch' can be used to suppress332warnings in selected modules.333334     ┌─ src/hackney_trace.erl:335     │336 144 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),337     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.338Compile directive 'nowarn_deprecated_catch' can be used to suppress339warnings in selected modules.340341     ┌─ src/hackney_trace.erl:342     │343 145 │    (catch file:close(Fd)),344     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.345Compile directive 'nowarn_deprecated_catch' can be used to suppress346warnings in selected modules.347348     ┌─ src/hackney_trace.erl:349     │350 152 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),351     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.352Compile directive 'nowarn_deprecated_catch' can be used to suppress353warnings in selected modules.354355     ┌─ src/hackney_trace.erl:356     │357 153 │    (catch file:close(Fd)),358     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.359Compile directive 'nowarn_deprecated_catch' can be used to suppress360warnings in selected modules.361362     ┌─ src/hackney_trace.erl:363     │364 159 │    (catch print_hackney_trace(Fd, Sev, Timestamp, Who,365     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.366Compile directive 'nowarn_deprecated_catch' can be used to suppress367warnings in selected modules.368369     ┌─ src/hackney_trace.erl:370     │371 163 │    (catch print_trace(Fd, Event)),372     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.373Compile directive 'nowarn_deprecated_catch' can be used to suppress374warnings in selected modules.375376377    ┌─ src/hackney_ssl.erl:378    │379 65 │    case lists:keymember(ecdh_rsa, 1, ssl:cipher_suites()) of380    │                                      ╰── Warning: ssl:cipher_suites/0 is removed; use ssl:cipher_suites/2,3 instead381382383    ┌─ src/hackney_stream.erl:384    │385 35 │          erlang:get_stacktrace()},386    │          ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace387388389    ┌─ src/hackney_pool.erl:390    │391 90 │              catch Transport:close(Socket),392    │              ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.393Compile directive 'nowarn_deprecated_catch' can be used to suppress394warnings in selected modules.395396    ┌─ src/hackney_pool.erl:397    │398 94 │          catch Transport:close(Socket),399    │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.400Compile directive 'nowarn_deprecated_catch' can be used to suppress401warnings in selected modules.402403     ┌─ src/hackney_pool.erl:404     │405 285 │                   catch Transport:close(Socket),406     │                   ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.407Compile directive 'nowarn_deprecated_catch' can be used to suppress408warnings in selected modules.409410     ┌─ src/hackney_pool.erl:411     │412 381 │                  catch Transport:controlling_process(S, self()),413     │                  ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.414Compile directive 'nowarn_deprecated_catch' can be used to suppress415warnings in selected modules.416417     ┌─ src/hackney_pool.erl:418     │419 403 │          catch Transport:close(Socket),420     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.421Compile directive 'nowarn_deprecated_catch' can be used to suppress422warnings in selected modules.423424     ┌─ src/hackney_pool.erl:425     │426 493 │              catch Transport:close(Socket),427     │              ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.428Compile directive 'nowarn_deprecated_catch' can be used to suppress429warnings in selected modules.430431432     ┌─ src/hackney_manager.erl:433     │434 122 │          catch Transport:controlling_process(Socket, self()),435     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.436Compile directive 'nowarn_deprecated_catch' can be used to suppress437warnings in selected modules.438439     ┌─ src/hackney_manager.erl:440     │441 123 │          catch Transport:close(Socket),442     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.443Compile directive 'nowarn_deprecated_catch' can be used to suppress444warnings in selected modules.445446     ┌─ src/hackney_manager.erl:447     │448 255 │          catch Transport:controlling_process(Socket, self()),449     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.450Compile directive 'nowarn_deprecated_catch' can be used to suppress451warnings in selected modules.452453     ┌─ src/hackney_manager.erl:454     │455 256 │          catch Transport:close(Socket),456     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.457Compile directive 'nowarn_deprecated_catch' can be used to suppress458warnings in selected modules.459460     ┌─ src/hackney_manager.erl:461     │462 456 │    case catch hackney_stream:start_link(StreamTo2, Ref, Client) of463     │         ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.464Compile directive 'nowarn_deprecated_catch' can be used to suppress465warnings in selected modules.466467468==> httpoison469Compiling 2 files (.ex)470Generated httpoison app471==> juspay_api_library472Compiling 8 files (.ex)473    warning: outdented heredoc line. The contents inside the heredoc should be indented at the same level as the closing """. The following is forbidden:474475        def text do476          """477        contents478          """479        end480481    Instead make sure the contents are indented as much as the heredoc closing:482483        def text do484          """485          contents486          """487        end488489    The current heredoc line is indented too little490    │491 50 │  ## Examples492    │       ~493    │494    └─ lib/elixir_lib/Cards.ex:50:7495496    warning: outdented heredoc line. The contents inside the heredoc should be indented at the same level as the closing """. The following is forbidden:497498        def text do499          """500        contents501          """502        end503504    Instead make sure the contents are indented as much as the heredoc closing:505506        def text do507          """508          contents509          """510        end511512    The current heredoc line is indented too little513    │514 96 │  Delet a credit card or debit card of a customer from JusPay Locker. card_token parameter identifies the card to be deleted.515    │       ~516    │517    └─ lib/elixir_lib/Cards.ex:96:7518519    warning: variable "response" is unused (there is a variable with the same name in the context, use the pin operator (^) to match on it or prefix this variable with underscore if it is not meant to be used)520    │521 15 │     response = response <> "\nMessage : " <> msg522    │     ~~~~~~~~523    │524    └─ lib/elixir_lib/JuspayException.ex:15:5: Juspay.Exception.juspay_error/3525526    warning: outdented heredoc line. The contents inside the heredoc should be indented at the same level as the closing """. The following is forbidden:527528        def text do529          """530        contents531          """532        end533534    Instead make sure the contents are indented as much as the heredoc closing:535536        def text do537          """538          contents539          """540        end541542    The current heredoc line is indented too little543    │544 13 │   Create a payment transaction for Credit or Debit card.545    │        ~546    │547    └─ lib/elixir_lib/Payments.ex:13:8548549    warning: using single-quoted strings to represent charlists is deprecated.550    Use ~c"" if you indeed want a charlist or use "" instead.551    You may run "mix format --migrate" to change all single-quoted552    strings to use the ~c sigil and fix this warning.553    │554 69 │     method = 'POST'555    │              ~556    │557    └─ lib/elixir_lib/Payments.ex:69:14558559    warning: using single-quoted strings to represent charlists is deprecated.560    Use ~c"" if you indeed want a charlist or use "" instead.561    You may run "mix format --migrate" to change all single-quoted562    strings to use the ~c sigil and fix this warning.563    │564 70 │     url = '/txns'565    │           ~566    │567    └─ lib/elixir_lib/Payments.ex:70:11568569    warning: using single-quoted strings to represent charlists is deprecated.570    Use ~c"" if you indeed want a charlist or use "" instead.571    You may run "mix format --migrate" to change all single-quoted572    strings to use the ~c sigil and fix this warning.573    │574 71 │    parameters =parameters++ [ payment_method_type: "CARD", format: 'json' ]575    │                                                                    ~576    │577    └─ lib/elixir_lib/Payments.ex:71:68578579     warning: using single-quoted strings to represent charlists is deprecated.580     Use ~c"" if you indeed want a charlist or use "" instead.581     You may run "mix format --migrate" to change all single-quoted582     strings to use the ~c sigil and fix this warning.583     │584 159 │     method = 'POST'585     │              ~586     │587     └─ lib/elixir_lib/Payments.ex:159:14588589     warning: using single-quoted strings to represent charlists is deprecated.590     Use ~c"" if you indeed want a charlist or use "" instead.591     You may run "mix format --migrate" to change all single-quoted592     strings to use the ~c sigil and fix this warning.593     │594 160 │     url = '/txns'595     │           ~596     │597     └─ lib/elixir_lib/Payments.ex:160:11598599     warning: using single-quoted strings to represent charlists is deprecated.600     Use ~c"" if you indeed want a charlist or use "" instead.601     You may run "mix format --migrate" to change all single-quoted602     strings to use the ~c sigil and fix this warning.603     │604 161 │    parameters =parameters++ [ payment_method_type: "CARD", format: 'json' ]605     │                                                                    ~606     │607     └─ lib/elixir_lib/Payments.ex:161:68608609     warning: using single-quoted strings to represent charlists is deprecated.610     Use ~c"" if you indeed want a charlist or use "" instead.611     You may run "mix format --migrate" to change all single-quoted612     strings to use the ~c sigil and fix this warning.613     │614 292 │     method = 'POST'615     │              ~616     │617     └─ lib/elixir_lib/Payments.ex:292:14618619     warning: using single-quoted strings to represent charlists is deprecated.620     Use ~c"" if you indeed want a charlist or use "" instead.621     You may run "mix format --migrate" to change all single-quoted622     strings to use the ~c sigil and fix this warning.623     │624 293 │     url = '/txns'625     │           ~626     │627     └─ lib/elixir_lib/Payments.ex:293:11628629     warning: using single-quoted strings to represent charlists is deprecated.630     Use ~c"" if you indeed want a charlist or use "" instead.631     You may run "mix format --migrate" to change all single-quoted632     strings to use the ~c sigil and fix this warning.633     │634 294 │    parameters =parameters++ [ payment_method_type: "WALLET", format: 'json' ]635     │                                                                      ~636     │637     └─ lib/elixir_lib/Payments.ex:294:70638639    warning: outdented heredoc line. The contents inside the heredoc should be indented at the same level as the closing """. The following is forbidden:640641        def text do642          """643        contents644          """645        end646647    Instead make sure the contents are indented as much as the heredoc closing:648649        def text do650          """651          contents652          """653        end654655    The current heredoc line is indented too little656    │657 28 │  Wallets can be listed only in the context of a Customer. This API will return list of linked wallets for a given customer.658    │       ~659    │660    └─ lib/elixir_lib/Wallets.ex:28:7661662    warning: found quoted keyword "merchant_id" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes663    │664  8 │     options =  Juspay.Cards.create(["merchant_id": "vasu2795", customer_id: "user_108", name_on_card: "Sindbad", card_exp_year: 2015, card_exp_month: 7, customer_email: "customer@mail.com",nickname: "Visa card", card_number: "4123567890123456"])665    │                                     ~666    │667    └─ lib/elixir_test.ex:8:37668669    warning: found quoted keyword "customer_id" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes670    │671 15 │     options =Juspay.Cards.create([merchant_id: "vasu2795", "customer_id": "user_108", name_on_card: "Sindbad", card_exp_year: 2015, card_exp_month: 7, customer_email: "customer@mail.com",nickname: "Visa card", card_number: "4123567970123456"])672    │                                                            ~673    │674    └─ lib/elixir_test.ex:15:60675676    warning: found quoted keyword "customer_id" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes677    │678 20 │     cards_list = Juspay.Cards.list( %{"customer_id": "guest_user"})679    │                                       ~680    │681    └─ lib/elixir_test.ex:20:39682683    warning: variable "version" is unused (if the variable is not meant to be used, prefix it with an underscore)684    │685 15 │     {:ok,version} = Application.fetch_env(:juspay_api_library,:version)686    │          ~~~~~~~687    │688    └─ lib/elixir_lib/Juspay.ex:15:10: Juspay.request/3689690    warning: variable "parameters" is unused (there is a variable with the same name in the context, use the pin operator (^) to match on it or prefix this variable with underscore if it is not meant to be used)691    │692 49 │    parameters = Enum.into(parameters,[])693    │    ~~~~~~~~~~694    │695    └─ lib/elixir_lib/Juspay.ex:49:4: Juspay.check_params/1696697    warning: variable "fingerprint" is unused (if the variable is not meant to be used, prefix it with an underscore)698    │699 11 │     fingerprint = options["card_fingerprint"]700    │     ~~~~~~~~~~~701    │702    └─ lib/elixir_test.ex:11:5: ElixirTest.test_cards/0703704    warning: variable "options" is unused (there is a variable with the same name in the context, use the pin operator (^) to match on it or prefix this variable with underscore if it is not meant to be used)705    │706 25 │     options = Juspay.Cards.create( [merchant_id: "vasu2795", customer_id: "user_108", name_on_card: "Sindbad", card_exp_year: 2015, card_exp_month: 7, customer_email: "customer@mail.com",nickname: "Visa card", card_number: "4123567970123456"])707    │     ~~~~~~~708    │709    └─ lib/elixir_test.ex:25:5: ElixirTest.test_cards/0710711    warning: variable "reference" is unused (if the variable is not meant to be used, prefix it with an underscore)712    │713 10 │     reference = options["card_reference"]714    │     ~~~~~~~~~715    │716    └─ lib/elixir_test.ex:10:5: ElixirTest.test_cards/0717718    error: undefined variable "invalidArgumentError"719    │720 47 │       raise invalidArgumentError721    │             ^^^^^^^^^^^^^^^^^^^^722    │723    └─ lib/elixir_lib/Juspay.ex:47:13: Juspay.check_params/1724725726== Compilation error in file lib/elixir_lib/Juspay.ex ==727** (CompileError) lib/elixir_lib/Juspay.ex: cannot compile module Juspay (errors have been logged)728729could not compile dependency :juspay_api_library, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile juspay_api_library --force", update it with "mix deps.update juspay_api_library" or clean it with "mix deps.clean juspay_api_library"