Skip to content

Commit

Permalink
make credo happy
Browse files Browse the repository at this point in the history
  • Loading branch information
piyushthapa committed Nov 12, 2024
1 parent f3910c8 commit 527656a
Show file tree
Hide file tree
Showing 10 changed files with 33 additions and 27 deletions.
1 change: 0 additions & 1 deletion lib/sutra/cardano/common/pool_relay.ex
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,3 @@ defmodule Sutra.Cardano.Common.PoolRelay do
%MultiHostName{dns_name: dns_name}
end
end

8 changes: 4 additions & 4 deletions lib/sutra/cardano/transaction.ex
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ defmodule Sutra.Cardano.Transaction do

alias Sutra.Cardano.Transaction.TxBody
alias Sutra.Cardano.Transaction.Witness
alias Sutra.Cardano.Transaction.TxBody
alias Sutra.Data.Cbor
alias Sutra.Data.Plutus.PList

Expand Down Expand Up @@ -43,8 +42,9 @@ defmodule Sutra.Cardano.Transaction do
}
end

def from_cbor(%PList{value: values}) do
IO.inspect("Other Era TX ...")
IO.inspect(values)
def from_cbor(%PList{value: _values}) do
raise """
Only Conway era transaction supported
"""
end
end
21 changes: 12 additions & 9 deletions lib/sutra/cardano/transaction/certificate.ex
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ defmodule Sutra.Cardano.Transaction.Certificate do
Cardano Transaction Certificate
"""

alias Sutra.Cardano.Address
alias Sutra.Cardano.Address.Credential
alias Sutra.Cardano.Asset
alias Sutra.Cardano.Common.PoolRelay
alias Sutra.Cardano.Transaction.Certificate.Drep
alias Sutra.Cardano.Transaction.Certificate.PoolRegistration
alias Sutra.Cardano.Transaction.Certificate.PoolRetirement
alias Sutra.Cardano.Transaction.Certificate.Drep
alias Sutra.Cardano.Address
alias Sutra.Cardano.Common.PoolRelay
alias Sutra.Cardano.Transaction.Certificate.StakeRegistration
alias Sutra.Cardano.Address.Credential

import Sutra.Data.Cbor, only: [extract_value!: 1]
import Sutra.Utils, only: [maybe: 3]
Expand Down Expand Up @@ -174,9 +174,12 @@ defmodule Sutra.Cardano.Transaction.Certificate do
cost: Asset.lovelace_of(cost),
margin: n / d,
reward_account: extract_value!(reward_accont),
owners: Enum.map(owners, &extract_value!/1),
relays: Enum.map(relays, &PoolRelay.decode/1),
metadata: maybe(pool_metadata, nil, fn [u, h] -> %{url: u, hash: h} end)
owners: Enum.map(extract_value!(owners), &extract_value!/1),
relays: Enum.map(extract_value!(relays), &PoolRelay.decode/1),
metadata:
maybe(pool_metadata, nil, fn [u, h] ->
%{url: extract_value!(u), hash: extract_value!(h)}
end)
}
end

Expand Down Expand Up @@ -269,9 +272,9 @@ defmodule Sutra.Cardano.Transaction.Certificate do
}
end

defp parse_credential([cred_type, %CBOR.Tag{value: stake_credential}]) do
defp parse_credential([cred_type, %CBOR.Tag{} = stake_credential]) do
credential_type = if cred_type == 0, do: :vkey, else: :script
%Credential{credential_type: credential_type, hash: stake_credential}
%Credential{credential_type: credential_type, hash: extract_value!(stake_credential)}
end

def decode_drep([0, v]), do: %Drep{drep_type: :vkey, drep_value: extract_value!(v)}
Expand Down
6 changes: 3 additions & 3 deletions lib/sutra/cardano/transaction/tx_body.ex
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ defmodule Sutra.Cardano.Transaction.TxBody do
Cardano Transaction Body
"""
alias Sutra.Cardano.Address
alias Sutra.Cardano.Asset
alias Sutra.Cardano.Transaction.Certificate
alias Sutra.Cardano.Transaction.Datum
alias Sutra.Cardano.Transaction.Output
alias Sutra.Utils
alias Sutra.Cardano.Transaction.Certificate
alias Sutra.Cardano.Asset
alias Sutra.Cardano.Transaction.Output.OutputReference
alias Sutra.Utils

import Sutra.Data.Cbor, only: [extract_value!: 1]
import Utils, only: [maybe: 3]
Expand Down
2 changes: 1 addition & 1 deletion lib/sutra/cardano/transaction/witness.ex
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ defmodule Sutra.Cardano.Transaction.Witness do

field(:tag, redeemer_tag())
field(:index, integer())
field(:data, Sutra.Data.Plutus.t())
field(:data, Plutus.t())
field(:exunits, {integer(), integer()})
field(:is_legacy, boolean(), default: false)

Expand Down
2 changes: 1 addition & 1 deletion lib/sutra/data/cbor.ex
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ defmodule Sutra.Data.Cbor do
CBOR handling
"""

def extract_value(%CBOR.Tag{tag: :bytes, value: value}), do: {:ok, Base.encode16(value)}
def extract_value(%CBOR.Tag{value: value}), do: {:ok, value}
def extract_value(%Sutra.Data.Plutus.PList{value: value}), do: {:ok, value}
def extract_value(value), do: {:ok, value}
Expand Down
4 changes: 4 additions & 0 deletions mix.exs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ defmodule Sutra.MixProject do
app: :sutra_offchain,
version: "0.1.0",
elixir: "~> 1.15",
elixirc_paths: elixirc_paths(Mix.env()),
start_permanent: Mix.env() == :prod,
deps: deps()
]
Expand All @@ -18,6 +19,9 @@ defmodule Sutra.MixProject do
]
end

defp elixirc_paths(:test), do: ["lib", "test/support", "test/fixture"]
defp elixirc_paths(_), do: ["lib"]

# Run "mix help deps" to learn about dependencies.
defp deps do
[
Expand Down
4 changes: 2 additions & 2 deletions test/sutra/cardano/asset_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ defmodule Sutra.Cardano.AssetTest do
assert {:ok,
%{
"lovelace" => 1_000_000,
"policy-id-1" => %{"tkn1" => 100, "tkn2" => 200},
"policy-id-2" => %{"tkn3" => 300}
"706F6C6963792D69642D31" => %{"746B6E31" => 100, "746B6E32" => 200},
"706F6C6963792D69642D32" => %{"746B6E33" => 300}
}} = Asset.from_plutus(@asset_cbor["with_token"])
end

Expand Down
4 changes: 2 additions & 2 deletions test/sutra/cardano/transaction/datum_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ defmodule Sutra.Cardano.Transaction.DatumTest do
test "from_plutus/1" do
assert {:ok, %Datum{kind: :no_datum, value: nil}} == Datum.from_plutus(@no_datum_cbor)

assert {:ok, %Datum{kind: :inline_datum, value: "\x9F\x01\x02\x03\xFF"}} ==
assert {:ok, %Datum{kind: :inline_datum, value: "9F010203FF"}} ==
Datum.from_plutus(@inline_datum_cbor)

assert {:ok, %Datum{kind: :datum_hash, value: "some-datum-hash"}} ==
assert {:ok, %Datum{kind: :datum_hash, value: "736F6D652D646174756D2D68617368"}} ==
Datum.from_plutus(@datum_hash_cbor)
end

Expand Down
8 changes: 4 additions & 4 deletions test/sutra/cardano/transaction/output_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ defmodule Sutra.Cardano.Transaction.OutputTest do
},
stake_credential: nil
},
datum: %Datum{kind: :datum_hash, value: "some-hash"},
datum: %Datum{kind: :datum_hash, value: "736F6D652D68617368"},
reference_script: nil,
value: %{
"lovelace" => 1_000_000
Expand All @@ -67,7 +67,7 @@ defmodule Sutra.Cardano.Transaction.OutputTest do
},
stake_credential: nil
},
datum: %Datum{kind: :inline_datum, value: <<216, 121, 159, 1, 255>>},
datum: %Datum{kind: :inline_datum, value: "D8799F01FF"},
reference_script: nil,
value: %{
"lovelace" => 1_000_000
Expand All @@ -85,8 +85,8 @@ defmodule Sutra.Cardano.Transaction.OutputTest do
},
stake_credential: nil
},
datum: %Datum{kind: :inline_datum, value: <<216, 121, 159, 1, 255>>},
reference_script: "some-ref-script",
datum: %Datum{kind: :inline_datum, value: "D8799F01FF"},
reference_script: "736F6D652D7265662D736372697074",
value: %{
"lovelace" => 1_000_000
}
Expand Down

0 comments on commit 527656a

Please sign in to comment.