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"