Skip to content

Commit bc0d7db

Browse files
committed
Fix Parameter validator
1 parent 944c3ab commit bc0d7db

2 files changed

Lines changed: 12 additions & 11 deletions

File tree

src/soroban/models.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,8 @@ class Parameter(Argument):
9090
def value_to_scval(self) -> "Parameter":
9191
if isinstance(self.value, list):
9292
self.value = [self._value_to_scval(val) for val in self.value]
93-
return self._value_to_scval(self)
93+
self.value = self._value_to_scval(self)
94+
return self
9495

9596
@staticmethod
9697
def _value_to_scval(value: Argument | xdr.SCVal):

tests/test_models.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@
99
class TestIdentity:
1010
def test_file(self):
1111
alice_fname = pathlib.Path(__file__).parent / "alice.toml"
12-
soroban.Identity(_env_file=alice_fname)
12+
soroban.Identity(_env_file=alice_fname).model_dump()
1313

1414
def test_from_pk(self):
1515
keypair = Keypair.random()
1616
soroban.Identity(secret_key=keypair.secret)
17-
soroban.Identity(keypair=keypair)
17+
soroban.Identity(keypair=keypair).model_dump()
1818

1919
def test_from_source_account(self):
2020
alice_fname = pathlib.Path(__file__).parent / "alice.toml"
@@ -25,33 +25,33 @@ def test_from_source_account(self):
2525

2626
def test_raises(self):
2727
with pytest.raises(ValueError, match="provide a secret key or a Keypair"):
28-
soroban.Identity()
28+
soroban.Identity().model_dump()
2929

3030
keypair = Keypair.random()
3131
with pytest.raises(ValueError, match="provide a secret key or a Keypair"):
32-
soroban.Identity(public_key=keypair.public_key)
32+
soroban.Identity(public_key=keypair.public_key).model_dump()
3333

3434

3535
class TestNetworkConfig:
3636
def test_from_network(self):
3737
testnet = pathlib.Path(__file__).parent / "testnet.toml"
38-
soroban.NetworkConfig.from_network(network=testnet)
38+
soroban.NetworkConfig.from_network(network=testnet).model_dump()
3939

4040

4141
class TestParams:
4242
def test_parameter(self):
4343
args = {"name": "distributor", "type": "int128", "value": 10}
44-
soroban.Parameter(**args)
44+
soroban.Parameter(**args).model_dump()
4545

4646
args = {"name": "distributor", "type": "int128", "value": scval.to_int128(10)}
47-
soroban.Parameter(**args)
47+
soroban.Parameter(**args).model_dump()
4848

4949
args = {
5050
"name": "thresholds",
5151
"type": "vec",
5252
"value": [scval.to_int128(10), {"type": "uint32", "value": 4}],
5353
}
54-
soroban.Parameter(**args)
54+
soroban.Parameter(**args).model_dump()
5555

5656
args = {
5757
"name": "thresholds",
@@ -61,10 +61,10 @@ def test_parameter(self):
6161
{"type": "int128", "value": scval.to_int128(10)},
6262
],
6363
}
64-
soroban.Parameter(**args)
64+
soroban.Parameter(**args).model_dump()
6565

6666
def test_parameters(self):
6767
fname = pathlib.Path(__file__).parent / "params_invoke.json"
6868
with open(fname, "rb") as fd:
6969
args = json.load(fd)
70-
soroban.Parameters(args=args)
70+
soroban.Parameters(args=args).model_dump()

0 commit comments

Comments
 (0)