Skip to content

Commit

Permalink
Merge pull request #294 from kommitters/v0.13
Browse files Browse the repository at this point in the history
Release v0.13.1
  • Loading branch information
Odraxs authored May 2, 2023
2 parents 4f93d47 + 3faf26e commit 17a83bc
Show file tree
Hide file tree
Showing 20 changed files with 114 additions and 64 deletions.
9 changes: 5 additions & 4 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,21 +20,22 @@ jobs:
HEX_API_KEY: ${{ secrets.HEX_API_KEY }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@18bf8ad2ca49c14cbb28b91346d626ccfb00c518 # v2.1.0
uses: step-security/harden-runner@6b3083af2869dc3314a0257a42f4af696cc79ba3 # v2.3.1
with:
disable-sudo: true
egress-policy: block
allowed-endpoints: >
github.com:443
hex.pm:443
repo.hex.pm:443
builds.hex.pm:443
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
- uses: erlef/setup-elixir@e3f6ffe2878180f57318bf13febd3933ee81f664 # v1.15.2
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- uses: erlef/setup-elixir@c2e02f777c158310fc6d3d4e11b36a52d2d52db8 # v1.15.4
with:
otp-version: ${{ matrix.otp }}
elixir-version: ${{ matrix.elixir }}
- uses: actions/cache@58c146cc91c5b9e778e71775dfe9bf1442ad9a12 # v3.2.3
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1
with:
path: deps
key: ${{ runner.os }}-mix-${{ hashFiles(format('{0}{1}', github.workspace, '/mix.lock')) }}
Expand Down
11 changes: 6 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,21 +22,22 @@ jobs:
MIX_ENV: test
steps:
- name: Harden Runner
uses: step-security/harden-runner@18bf8ad2ca49c14cbb28b91346d626ccfb00c518 # v2.1.0
uses: step-security/harden-runner@6b3083af2869dc3314a0257a42f4af696cc79ba3 # v2.3.1
with:
disable-sudo: true
egress-policy: block
allowed-endpoints: >
coveralls.io:443
github.com:443
repo.hex.pm:443
builds.hex.pm:443
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
- uses: erlef/setup-elixir@e3f6ffe2878180f57318bf13febd3933ee81f664 # v1.15.2
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- uses: erlef/setup-elixir@c2e02f777c158310fc6d3d4e11b36a52d2d52db8 # v1.15.4
with:
otp-version: ${{ matrix.otp }}
elixir-version: ${{ matrix.elixir }}
- uses: actions/cache@58c146cc91c5b9e778e71775dfe9bf1442ad9a12 # v3.2.3
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1
with:
path: deps
key: ${{ runner.os }}-mix-${{ hashFiles(format('{0}{1}', github.workspace, '/mix.lock')) }}
Expand All @@ -62,7 +63,7 @@ jobs:
runs-on: ubuntu-20.04
steps:
- name: Harden Runner
uses: step-security/harden-runner@18bf8ad2ca49c14cbb28b91346d626ccfb00c518 # v2.1.0
uses: step-security/harden-runner@6b3083af2869dc3314a0257a42f4af696cc79ba3 # v2.3.1
with:
disable-sudo: true
egress-policy: block
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/scorecards.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:

steps:
- name: Harden Runner
uses: step-security/harden-runner@18bf8ad2ca49c14cbb28b91346d626ccfb00c518 # v2.1.0
uses: step-security/harden-runner@6b3083af2869dc3314a0257a42f4af696cc79ba3 # v2.3.1
with:
disable-sudo: true
egress-policy: block
Expand All @@ -37,12 +37,12 @@ jobs:
sigstore-tuf-root.storage.googleapis.com:443
- name: "Checkout code"
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
with:
persist-credentials: false

- name: "Run analysis"
uses: ossf/scorecard-action@e38b1902ae4f44df626f11ba0734b14fb91f8f86 # v2.1.2
uses: ossf/scorecard-action@80e868c13c90f172d68d1f4501dee99e2479f7af # v2.1.3
with:
results_file: results.sarif
results_format: sarif
Expand All @@ -69,6 +69,6 @@ jobs:

# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@959cbb7472c4d4ad70cdfe6f4976053fe48ab394 # v2.1.37
uses: github/codeql-action/upload-sarif@f3feb00acb00f31a6f60280e6ace9ca31d91c76a # v2.3.2
with:
sarif_file: results.sarif
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Changelog

## 0.13.1 (02.05.2023)
* Update `SCAddress` module to infer address types: account or contract.
* Update all dependencies

## 0.13.0 (26.04.2023)
* Add Soroban Preview 8 support.

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ The **Stellar SDK** is composed of two complementary components: **`TxBuild`** +
```elixir
def deps do
[
{:stellar_sdk, "~> 0.13.0"}
{:stellar_sdk, "~> 0.13.1"}
]
end
```
Expand Down
6 changes: 6 additions & 0 deletions lib/keypair.ex
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@ defmodule Stellar.KeyPair do
@impl true
def raw_signed_payload(signed_payload), do: impl().raw_signed_payload(signed_payload)

@impl true
def raw_contract(contract), do: impl().raw_contract(contract)

@impl true
def sign(payload, secret), do: impl().sign(payload, secret)

Expand All @@ -63,6 +66,9 @@ defmodule Stellar.KeyPair do
@impl true
def validate_signed_payload(signed_payload), do: impl().validate_signed_payload(signed_payload)

@impl true
def validate_contract(contract), do: impl().validate_contract(contract)

@impl true
def signature_hint_for_signed_payload(public_key, payload),
do: impl().signature_hint_for_signed_payload(public_key, payload)
Expand Down
13 changes: 13 additions & 0 deletions lib/keypair/default.ex
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,11 @@ defmodule Stellar.KeyPair.Default do
StrKey.decode!(signed_payload, :signed_payload)
end

@impl true
def raw_contract(contract) do
StrKey.decode!(contract, :contract)
end

@impl true
def sign(<<payload::binary>>, <<secret::binary>>) do
raw_secret = raw_secret_seed(secret)
Expand Down Expand Up @@ -130,6 +135,14 @@ defmodule Stellar.KeyPair.Default do
end
end

@impl true
def validate_contract(contract) do
case StrKey.decode(contract, :contract) do
{:ok, _key} -> :ok
{:error, _reason} -> {:error, :invalid_contract}
end
end

@impl true
def signature_hint_for_signed_payload(public_key, payload) when byte_size(payload) < 4 do
zeros_needed = 4 - byte_size(payload)
Expand Down
3 changes: 3 additions & 0 deletions lib/keypair/spec.ex
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ defmodule Stellar.KeyPair.Spec do
"""

@type public_key :: String.t()
@type contract :: String.t()
@type secret_seed :: String.t()
@type error :: {:error, atom()}
@type validation :: :ok | error()
Expand All @@ -21,12 +22,14 @@ defmodule Stellar.KeyPair.Spec do
@callback raw_pre_auth_tx(public_key()) :: binary()
@callback raw_sha256_hash(public_key()) :: binary()
@callback raw_signed_payload(public_key()) :: binary()
@callback raw_contract(contract()) :: binary()
@callback validate_public_key(public_key()) :: validation()
@callback validate_muxed_account(public_key()) :: validation()
@callback validate_secret_seed(public_key()) :: validation()
@callback validate_pre_auth_tx(public_key()) :: validation()
@callback validate_sha256_hash(public_key()) :: validation()
@callback validate_signed_payload(public_key()) :: validation()
@callback validate_contract(contract()) :: validation()
@callback sign(binary(), secret_seed()) :: binary() | error()
@callback valid_signature?(binary(), binary(), public_key()) :: boolean()
@callback signature_hint_for_signed_payload(binary(), binary()) :: binary()
Expand Down
26 changes: 11 additions & 15 deletions lib/tx_build/sc_address.ex
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ defmodule Stellar.TxBuild.SCAddress do
`SCAddress` struct definition.
"""

import Stellar.TxBuild.Validations, only: [validate_account_id: 1]

@behaviour Stellar.TxBuild.XDR

alias Stellar.KeyPair

alias StellarBase.XDR.{
SCAddressType,
Hash,
Expand All @@ -24,24 +24,20 @@ defmodule Stellar.TxBuild.SCAddress do
value: value()
}

@allowed_types ~w(account contract)a

defstruct [:type, :value]

@impl true
def new(args, opts \\ nil)

def new([{type, value}], _opts) when type in @allowed_types do
with {:ok, _value} <- validate_sc_address({type, value}) do
def new(value, _opts) do
with {:ok, {type, value}} <- validate_sc_address(value) do
%__MODULE__{
type: type,
value: value
}
end
end

def new(_args, _opts), do: {:error, :invalid_sc_address}

@impl true
def to_xdr(%__MODULE__{type: :account, value: value}) do
type = SCAddressType.new(:SC_ADDRESS_TYPE_ACCOUNT)
Expand All @@ -60,14 +56,14 @@ defmodule Stellar.TxBuild.SCAddress do
|> SCAddress.new(type)
end

@spec validate_sc_address(tuple :: tuple()) :: validation()
defp validate_sc_address({:account, value}) do
case validate_account_id({:account, value}) do
{:ok, account_id} -> {:ok, account_id}
{:error, _reason} -> {:error, :invalid_account_id}
@spec validate_sc_address(value :: binary()) :: validation()
defp validate_sc_address(value) when is_binary(value) do
cond do
KeyPair.validate_public_key(value) == :ok -> {:ok, {:account, value}}
KeyPair.validate_contract(value) == :ok -> {:ok, {:contract, value}}
true -> {:error, :invalid_sc_address}
end
end

defp validate_sc_address({:contract, value}) when is_binary(value), do: {:ok, value}
defp validate_sc_address({:contract, _value}), do: {:error, :invalid_contract_hash}
defp validate_sc_address(_value), do: {:error, :invalid_sc_address}
end
6 changes: 3 additions & 3 deletions mix.exs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ defmodule Stellar.MixProject do
use Mix.Project

@github_url "https://github.com/kommitters/stellar_sdk"
@version "0.13.0"
@version "0.13.1"

def project do
[
Expand Down Expand Up @@ -37,12 +37,12 @@ defmodule Stellar.MixProject do
# Run "mix help deps" to learn about dependencies.
defp deps do
[
{:stellar_base, "~> 0.10.0"},
{:stellar_base, "~> 0.10.2"},
{:ed25519, "~> 1.3"},
{:hackney, "~> 1.17"},
{:jason, "~> 1.0"},
{:dialyxir, "~> 1.0", only: [:dev], runtime: false},
{:excoveralls, "~> 0.15", only: :test},
{:excoveralls, "~> 0.16", only: :test},
{:credo, "~> 1.5", only: [:dev, :test], runtime: false},
{:ex_doc, "~> 0.29", only: :dev, runtime: false}
]
Expand Down
4 changes: 2 additions & 2 deletions mix.lock
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"elixir_xdr": {:hex, :elixir_xdr, "0.3.9", "d9c461a1c04bc31ccb36114b606c750d0ba0bed0a1d7ffc35d206e58faaba0ba", [:mix], [], "hexpm", "30afac1a82fafe11708e14d92532a83a881d1004ec92bf00e3d8a827c6685e3d"},
"erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"},
"ex_doc": {:hex, :ex_doc, "0.29.1", "b1c652fa5f92ee9cf15c75271168027f92039b3877094290a75abcaac82a9f77", [:mix], [{:earmark_parser, "~> 1.4.19", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "b7745fa6374a36daf484e2a2012274950e084815b936b1319aeebcf7809574f6"},
"excoveralls": {:hex, :excoveralls, "0.15.0", "ac941bf85f9f201a9626cc42b2232b251ad8738da993cf406a4290cacf562ea4", [:mix], [{:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "9631912006b27eca30a2f3c93562bc7ae15980afb014ceb8147dc5cdd8f376f1"},
"excoveralls": {:hex, :excoveralls, "0.16.1", "0bd42ed05c7d2f4d180331a20113ec537be509da31fed5c8f7047ce59ee5a7c5", [:mix], [{:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "dae763468e2008cf7075a64cb1249c97cb4bc71e236c5c2b5e5cdf1cfa2bf138"},
"file_system": {:hex, :file_system, "0.2.10", "fb082005a9cd1711c05b5248710f8826b02d7d1784e7c3451f9c1231d4fc162d", [:mix], [], "hexpm", "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc"},
"hackney": {:hex, :hackney, "1.18.1", "f48bf88f521f2a229fc7bae88cf4f85adc9cd9bcf23b5dc8eb6a1788c662c4f6", [:rebar3], [{:certifi, "~>2.9.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.3.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "a4ecdaff44297e9b5894ae499e9a070ea1888c84afdd1fd9b7b2bc384950128e"},
"idna": {:hex, :idna, "6.1.1", "8a63070e9f7d0c62eb9d9fcb360a7de382448200fbbd1b106cc96d3d8099df8d", [:rebar3], [{:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea"},
Expand All @@ -23,6 +23,6 @@
"nimble_parsec": {:hex, :nimble_parsec, "1.2.3", "244836e6e3f1200c7f30cb56733fd808744eca61fd182f731eac4af635cc6d0b", [:mix], [], "hexpm", "c8d789e39b9131acf7b99291e93dae60ab48ef14a7ee9d58c6964f59efb570b0"},
"parse_trans": {:hex, :parse_trans, "3.3.1", "16328ab840cc09919bd10dab29e431da3af9e9e7e7e6f0089dd5a2d2820011d8", [:rebar3], [], "hexpm", "07cd9577885f56362d414e8c4c4e6bdf10d43a8767abb92d24cbe8b24c54888b"},
"ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.6", "cf344f5692c82d2cd7554f5ec8fd961548d4fd09e7d22f5b62482e5aeaebd4b0", [:make, :mix, :rebar3], [], "hexpm", "bdb0d2471f453c88ff3908e7686f86f9be327d065cc1ec16fa4540197ea04680"},
"stellar_base": {:hex, :stellar_base, "0.10.0", "da48a4e32e3de31b924e7ea5bb926b01d68c41f18cef5e1b5cc5c09efa0dd349", [:mix], [{:crc, "~> 0.10.0", [hex: :crc, repo: "hexpm", optional: false]}, {:elixir_xdr, "~> 0.3.0", [hex: :elixir_xdr, repo: "hexpm", optional: false]}], "hexpm", "6897dc9dd9f3ce74f7bb7a882294b6e5537177e8ef93589f5bbf9d2b9b4228c7"},
"stellar_base": {:hex, :stellar_base, "0.10.2", "a9b8384cf7e6ecc77568dc6329f48075e7ed2d387e3fcbb441e2c932453c1565", [:mix], [{:crc, "~> 0.10.0", [hex: :crc, repo: "hexpm", optional: false]}, {:elixir_xdr, "~> 0.3.0", [hex: :elixir_xdr, repo: "hexpm", optional: false]}], "hexpm", "be93529024dc9e4375350f6c63457dd86bd3d9b6e2126987c56714ff75802fc4"},
"unicode_util_compat": {:hex, :unicode_util_compat, "0.7.0", "bc84380c9ab48177092f43ac89e4dfa2c6d62b40b8bd132b1059ecc7232f9a78", [:rebar3], [], "hexpm", "25eee6d67df61960cf6a794239566599b09e17e668d3700247bc498638152521"},
}
19 changes: 19 additions & 0 deletions test/keypair/keypair_default_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ defmodule Stellar.KeyPair.DefaultTest do
sha256_hash: "XCTP2Y5GZ7TTGHLM3JJKDIPR36A7QFFW4VYJVU6QN4MNIFFIAG4JC6CC",
signed_payload:
"PA7QYNF7SOWQ3GLR2BGMZEHXAVIRZA4KVWLTJJFC7MGXUA74P7UJUAAAAAQACAQDAQCQMBYIBEFAWDANBYHRAEISCMKBKFQXDAMRUGY4DUPB6IBZGM",
contract: "CCEMOFO5TE7FGOAJOA3RDHPC6RW3CFXRVIGOFQPFE4ZGOKA2QEA636SN",
encoded_public_key:
<<192, 239, 146, 127, 88, 230, 238, 208, 76, 100, 112, 242, 105, 159, 196, 98, 173, 174,
16, 31, 53, 213, 251, 150, 180, 213, 18, 70, 165, 216, 24, 231>>,
Expand All @@ -28,6 +29,9 @@ defmodule Stellar.KeyPair.DefaultTest do
173, 151, 52, 164, 162, 251, 13, 122, 3, 252, 127, 232, 154, 0, 0, 0, 32, 1, 2, 3, 4, 5,
6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, 30, 31, 32>>,
encoded_contract:
<<136, 199, 21, 221, 153, 62, 83, 56, 9, 112, 55, 17, 157, 226, 244, 109, 177, 22, 241,
170, 12, 226, 193, 229, 39, 50, 103, 40, 26, 129, 1, 237>>,
signature:
<<215, 199, 186, 220, 150, 210, 229, 108, 54, 13, 160, 26, 38, 184, 120, 233, 253, 170,
252, 68, 235, 166, 205, 2, 115, 76, 254, 20, 85, 1, 224, 106, 84, 196, 217, 38, 248,
Expand Down Expand Up @@ -83,6 +87,13 @@ defmodule Stellar.KeyPair.DefaultTest do
^encoded_signed_payload = Default.raw_signed_payload(signed_payload)
end

test "raw_contract/1", %{
contract: contract,
encoded_contract: encoded_contract
} do
^encoded_contract = Default.raw_contract(contract)
end

test "sign/2", %{secret: secret, signature: signature} do
^signature = Default.sign(<<0, 0, 0, 0>>, secret)
end
Expand Down Expand Up @@ -145,6 +156,14 @@ defmodule Stellar.KeyPair.DefaultTest do
{:error, :invalid_signed_payload} = Default.validate_signed_payload("GCA")
end

test "validate_contract/1", %{contract: contract} do
:ok = Default.validate_contract(contract)
end

test "validate_contract/1 invalid_contract" do
{:error, :invalid_contract} = Default.validate_contract("GCA")
end

test "signature_hint_for_signed_payload/2 payload with more than 4 bytes", %{
encoded_public_key: encoded_public_key,
payload: payload
Expand Down
20 changes: 20 additions & 0 deletions test/keypair/keypair_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,11 @@ defmodule Stellar.KeyPair.CannedKeyPairImpl do
send(self(), {:raw_signed_payload, "RAW_SIGNED_PAYLOAD"})
end

@impl true
def raw_contract(_contract) do
send(self(), {:raw_contract, "RAW_CONTRACT"})
end

@impl true
def sign(_payload, _secret) do
send(self(), {:signature, "SIGNATURE"})
Expand Down Expand Up @@ -100,6 +105,11 @@ defmodule Stellar.KeyPair.CannedKeyPairImpl do
send(self(), {:validate_signed_payload, "SIGNED_PAYLOAD"})
end

@impl true
def validate_contract(_contract) do
send(self(), {:validate_contract, "CONTRACT"})
end

@impl true
def signature_hint_for_signed_payload(_public_key, _payload) do
send(self(), {:signature_hint, "SIGNED_PAYLOAD"})
Expand Down Expand Up @@ -165,6 +175,11 @@ defmodule Stellar.KeyPairTest do
assert_receive({:raw_signed_payload, "RAW_SIGNED_PAYLOAD"})
end

test "raw_contract/1" do
Stellar.KeyPair.raw_contract("CONTRACT")
assert_receive({:raw_contract, "RAW_CONTRACT"})
end

test "sign/2" do
Stellar.KeyPair.sign(<<0, 0, 0, 0>>, "SECRET")
assert_receive({:signature, "SIGNATURE"})
Expand Down Expand Up @@ -205,6 +220,11 @@ defmodule Stellar.KeyPairTest do
assert_receive({:validate_signed_payload, "SIGNED_PAYLOAD"})
end

test "validate_contract/2" do
Stellar.KeyPair.validate_contract("CONTRACT")
assert_receive({:validate_contract, "CONTRACT"})
end

test "signature_hint_for_signed_payload/2" do
Stellar.KeyPair.signature_hint_for_signed_payload("SIGNED_PAYLOAD", "PAYLOAD")
assert_receive({:signature_hint, "SIGNED_PAYLOAD"})
Expand Down
2 changes: 1 addition & 1 deletion test/tx_build/address_with_nonce_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ defmodule Stellar.TxBuild.AddressWithNonceTest do
alias Stellar.TxBuild.SCAddress, as: TxSCAddress

setup do
address = TxSCAddress.new(account: "GB6FIXFOEK46VBDAG5USXRKKDJYFOBQZDMAPOYY6MC4KMRTSPVUH3X2A")
address = TxSCAddress.new("GB6FIXFOEK46VBDAG5USXRKKDJYFOBQZDMAPOYY6MC4KMRTSPVUH3X2A")
nonce = 123
xdr = address_with_nonce_xdr(address, nonce)

Expand Down
Loading

0 comments on commit 17a83bc

Please sign in to comment.