Skip to content

Commit 8b266d1

Browse files
authored
refactor!: aligning field names with ts (#240)
Renames fields in `SignedTransaction`, `LogicSignature`, and `MultisigSubsignature` to align with TypeScript SDK naming conventions. This change improves consistency across platforms and simplifies future integration efforts.
1 parent d3dcfc1 commit 8b266d1

File tree

14 files changed

+53
-55
lines changed

14 files changed

+53
-55
lines changed

src/algokit_transact/codec/signed.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,16 @@
1111

1212

1313
def _validate_signed_transaction(stx: SignedTransaction) -> None:
14-
validate_transaction(stx.transaction)
14+
validate_transaction(stx.txn)
1515

16-
signatures = [stx.signature, stx.multi_signature, stx.logic_signature]
16+
signatures = [stx.sig, stx.msig, stx.lsig]
1717
set_count = sum(1 for item in signatures if item is not None)
1818
if set_count == 0:
1919
raise ValueError("At least one signature type must be set")
2020
if set_count > 1:
2121
raise ValueError("Only one signature type can be set")
2222

23-
if stx.signature is not None and len(stx.signature) != SIGNATURE_BYTE_LENGTH:
23+
if stx.sig is not None and len(stx.sig) != SIGNATURE_BYTE_LENGTH:
2424
raise ValueError("Signature must be 64 bytes")
2525

2626

@@ -40,7 +40,7 @@ def decode_signed_transaction(encoded: bytes) -> SignedTransaction:
4040
raise ValueError("decoded signed transaction is not a dict")
4141
dto = cast(dict[str, object], raw)
4242
stx = from_wire(SignedTransaction, dto)
43-
if not isinstance(stx.transaction, Transaction):
43+
if not isinstance(stx.txn, Transaction):
4444
raise ValueError("signed transaction missing 'txn'")
4545
return stx
4646

src/algokit_transact/logicsig.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -114,16 +114,16 @@ def signer(txn_group: Sequence[AlgokitTransaction], indexes_to_sign: Sequence[in
114114
logic_sig = LogicSignature(
115115
logic=program,
116116
args=args,
117-
signature=signature,
118-
multi_signature=multisig_sig,
117+
sig=signature,
118+
msig=multisig_sig,
119119
)
120120
auth_addr = lsig_address if txn.sender != lsig_address else None
121121

122122
signed = SignedTransaction(
123-
transaction=txn,
124-
signature=None,
125-
multi_signature=None,
126-
logic_signature=logic_sig,
123+
txn=txn,
124+
sig=None,
125+
msig=None,
126+
lsig=logic_sig,
127127
auth_address=auth_addr,
128128
)
129129
blobs.append(encode_signed_transaction(signed))
@@ -207,7 +207,7 @@ def delegate_multisig(
207207

208208
address_to_signer = {account.addr: account.delegated_lsig_signer for account in signing_accounts}
209209

210-
for subsig in msig.subsignatures:
210+
for subsig in msig.subsigs:
211211
subsig_addr = address_from_public_key(subsig.public_key)
212212
if subsig_addr in address_to_signer:
213213
signature = address_to_signer[subsig_addr](self._program, msig_public_key)

src/algokit_transact/models/signed_transaction.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@
88

99
@dataclass(slots=True, frozen=True)
1010
class SignedTransaction:
11-
transaction: Transaction = field(metadata=nested("txn", Transaction))
12-
signature: bytes | None = field(default=None, metadata=wire("sig"))
13-
multi_signature: MultisigSignature | None = field(
11+
txn: Transaction = field(metadata=nested("txn", Transaction))
12+
sig: bytes | None = field(default=None, metadata=wire("sig"))
13+
msig: MultisigSignature | None = field(
1414
default=None,
1515
metadata=nested("msig", MultisigSignature),
1616
)
17-
logic_signature: LogicSignature | None = field(
17+
lsig: LogicSignature | None = field(
1818
default=None,
1919
metadata=nested("lsig", LogicSignature),
2020
)

src/algokit_transact/multisig.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,17 +64,17 @@ def signer(txn_group: Sequence[AlgokitTransaction], indexes_to_sign: Sequence[in
6464
payload = encode_transaction(txn)
6565

6666
multisig_sig = base_multisig
67-
for subsig in base_multisig.subsignatures:
67+
for subsig in base_multisig.subsigs:
6868
subsig_addr = address_from_public_key(subsig.public_key)
6969
if subsig_addr in address_to_signer:
7070
signature = address_to_signer[subsig_addr](payload)
7171
multisig_sig = apply_multisig_subsignature(multisig_sig, subsig_addr, signature)
7272

7373
signed = SignedTransaction(
74-
transaction=txn,
75-
signature=None,
76-
multi_signature=multisig_sig,
77-
logic_signature=None,
74+
txn=txn,
75+
sig=None,
76+
msig=multisig_sig,
77+
lsig=None,
7878
auth_address=msig_address if txn.sender != msig_address else None,
7979
)
8080
blobs.append(encode_signed_transaction(signed))

src/algokit_transact/signer.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,8 @@ def transaction_signer(txn_group: Sequence[Transaction], indexes_to_sign: Sequen
112112
bytes_to_sign = encode_transaction(txn)
113113
signature = raw_ed25519_signer(bytes_to_sign)
114114
stxn = SignedTransaction(
115-
transaction=txn,
116-
signature=signature,
115+
txn=txn,
116+
sig=signature,
117117
auth_address=auth_addr if txn.sender != auth_addr else None,
118118
)
119119
result.append(encode_signed_transaction(stxn))
@@ -151,8 +151,8 @@ def empty_signer(txn_group: Sequence[Transaction], indexes_to_sign: Sequence[int
151151
result: list[bytes] = []
152152
for index in indexes_to_sign:
153153
stxn = SignedTransaction(
154-
transaction=txn_group[index],
155-
signature=EMPTY_SIGNATURE,
154+
txn=txn_group[index],
155+
sig=EMPTY_SIGNATURE,
156156
)
157157
result.append(encode_signed_transaction(stxn))
158158
return result

src/algokit_transact/signing/logic_signature.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@
88
class LogicSignature:
99
logic: bytes = field(metadata=wire("l"))
1010
args: list[bytes] | None = field(default=None, metadata=bytes_seq("arg"))
11-
signature: bytes | None = field(default=None, metadata=wire("sig"))
12-
multi_signature: MultisigSignature | None = field(
11+
sig: bytes | None = field(default=None, metadata=wire("sig"))
12+
msig: MultisigSignature | None = field(
1313
default=None,
1414
metadata=nested("msig", MultisigSignature),
1515
)
16-
logic_multi_signature: MultisigSignature | None = field(
16+
lmsig: MultisigSignature | None = field(
1717
default=None,
1818
metadata=nested("lmsig", MultisigSignature),
1919
)

src/algokit_transact/signing/multisig.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,17 @@ def new_multisig_signature(version: int, threshold: int, participants: Iterable[
2020
if threshold == 0 or threshold > len(participants):
2121
raise ValueError("Threshold must be greater than zero and less than or equal to the number of participants")
2222

23-
subsignatures = [MultisigSubsignature(public_key=public_key_from_address(address)) for address in participants]
24-
return MultisigSignature(version=version, threshold=threshold, subsignatures=subsignatures)
23+
subsigs = [MultisigSubsignature(public_key=public_key_from_address(address)) for address in participants]
24+
return MultisigSignature(version=version, threshold=threshold, subsigs=subsigs)
2525

2626

2727
def participants_from_multisig_signature(multisig_signature: MultisigSignature) -> list[str]:
28-
return [address_from_public_key(subsig.public_key) for subsig in multisig_signature.subsignatures]
28+
return [address_from_public_key(subsig.public_key) for subsig in multisig_signature.subsigs]
2929

3030

3131
def address_from_multisig_signature(multisig_signature: MultisigSignature) -> str:
3232
prefix = MULTISIG_DOMAIN_SEPARATOR.encode()
33-
participant_keys = [subsig.public_key for subsig in multisig_signature.subsignatures]
33+
participant_keys = [subsig.public_key for subsig in multisig_signature.subsigs]
3434

3535
buffer = bytearray()
3636
buffer.extend(prefix)
@@ -51,15 +51,15 @@ def apply_multisig_subsignature(
5151
found = False
5252
updated = []
5353
participant_pk = public_key_from_address(participant)
54-
for subsig in multisig_signature.subsignatures:
54+
for subsig in multisig_signature.subsigs:
5555
if subsig.public_key == participant_pk:
5656
found = True
57-
updated.append(MultisigSubsignature(public_key=subsig.public_key, signature=signature))
57+
updated.append(MultisigSubsignature(public_key=subsig.public_key, sig=signature))
5858
else:
5959
updated.append(subsig)
6060
if not found:
6161
raise ValueError("Address not found in multisig signature")
62-
return replace(multisig_signature, subsignatures=updated)
62+
return replace(multisig_signature, subsigs=updated)
6363

6464

6565
def merge_multisignatures(multisig_a: MultisigSignature, multisig_b: MultisigSignature) -> MultisigSignature:
@@ -74,11 +74,11 @@ def merge_multisignatures(multisig_a: MultisigSignature, multisig_b: MultisigSig
7474
raise ValueError("Cannot merge multisig signatures with different participants")
7575

7676
merged_subsigs = []
77-
for subsig_a, subsig_b in zip(multisig_a.subsignatures, multisig_b.subsignatures, strict=False):
78-
signature = subsig_b.signature if subsig_b.signature is not None else subsig_a.signature
79-
merged_subsigs.append(MultisigSubsignature(public_key=subsig_a.public_key, signature=signature))
77+
for subsig_a, subsig_b in zip(multisig_a.subsigs, multisig_b.subsigs, strict=False):
78+
sig = subsig_b.sig if subsig_b.sig is not None else subsig_a.sig
79+
merged_subsigs.append(MultisigSubsignature(public_key=subsig_a.public_key, sig=sig))
8080
return MultisigSignature(
8181
version=multisig_a.version,
8282
threshold=multisig_a.threshold,
83-
subsignatures=merged_subsigs,
83+
subsigs=merged_subsigs,
8484
)

src/algokit_transact/signing/types.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@ def _decode_subsig_seq(value: object) -> object:
2727
@dataclass(slots=True, frozen=True)
2828
class MultisigSubsignature:
2929
public_key: bytes = field(metadata=wire("pk"))
30-
signature: bytes | None = field(default=None, metadata=wire("s"))
30+
sig: bytes | None = field(default=None, metadata=wire("s"))
3131

3232

3333
@dataclass(slots=True, frozen=True)
3434
class MultisigSignature:
3535
version: int = field(metadata=wire("v", keep_zero=True))
3636
threshold: int = field(metadata=wire("thr", keep_zero=True))
37-
subsignatures: list[MultisigSubsignature] = field(
37+
subsigs: list[MultisigSubsignature] = field(
3838
metadata=wire("subsig", encode=_encode_subsig_seq, decode=_decode_subsig_seq)
3939
)

src/algokit_utils/transactions/builders/common.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ def calculate_inner_fee_delta(
250250
current = acc
251251
for inner in reversed(inner_txns):
252252
recursive_delta = calculate_inner_fee_delta(inner.inner_txns, min_fee, current)
253-
txn_fee = inner.txn.transaction.fee or 0
253+
txn_fee = inner.txn.txn.fee or 0
254254
txn_fee_delta = FeeDelta.from_int(min_fee - txn_fee)
255255
combined = FeeDelta.add(recursive_delta, txn_fee_delta)
256256

tests/clients/algorand_client/test_transfer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ def test_transfer_algo_is_sent_and_waited_for(algorand: AlgorandClient, funded_a
4848
assert result.transaction.payment
4949
assert result.transaction.payment.amount == 5_000_000
5050

51-
assert result.transaction.sender == funded_account.addr == result.confirmation.txn.transaction.sender
51+
assert result.transaction.sender == funded_account.addr == result.confirmation.txn.txn.sender
5252
assert account_info.amount == 5_000_000
5353

5454

0 commit comments

Comments
 (0)