Skip to content

Commit b95e640

Browse files
committed
Add NetworkConfig and SorobanConfig
1 parent c524257 commit b95e640

2 files changed

Lines changed: 16 additions & 5 deletions

File tree

src/soroban/models.py

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
from pydantic import model_validator
1+
from pydantic import model_validator, HttpUrl, BaseModel
22
from pydantic_settings import BaseSettings, SettingsConfigDict
3-
from stellar_sdk import Keypair
3+
from stellar_sdk import Keypair, Network
44

55
__all__ = ["Identity"]
66

@@ -12,8 +12,8 @@ class Identity(BaseSettings):
1212

1313
model_config = SettingsConfigDict(env_file="identity.toml")
1414

15-
@model_validator(mode='after')
16-
def load_keys(self) -> 'UserModel':
15+
@model_validator(mode="after")
16+
def load_keys(self) -> "Identity":
1717
if self.keypair is None and self.secret_key is None:
1818
raise ValueError("Either provide a secret key or a Keypair object.")
1919
if self.keypair is not None:
@@ -22,3 +22,15 @@ def load_keys(self) -> 'UserModel':
2222
self.keypair = Keypair.from_secret(self.secret_key)
2323
self.public_key = self.keypair.public_key
2424
return self
25+
26+
27+
class NetworkConfig(BaseSettings):
28+
soroban_rpc_url: HttpUrl = HttpUrl("https://soroban-testnet.stellar.org:443")
29+
passphrase: str = Network.TESTNET_NETWORK_PASSPHRASE
30+
31+
model_config = SettingsConfigDict(env_file="network.toml")
32+
33+
34+
class SorobanConfig(BaseModel):
35+
network: NetworkConfig = NetworkConfig()
36+
keys: list[Identity] = [Identity()]

tests/test_invoke.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
1-
21
def test_invoke():
32
pass

0 commit comments

Comments
 (0)