Skip to content

Commit 55045b7

Browse files
feat: Release 0.17.0 with Address BroadcastExternalTransaction (#100)
1 parent 4aa3fff commit 55045b7

31 files changed

+3252
-51
lines changed

CHANGELOG.md

+7
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# CDP Python SDK Changelog
22

3+
## [0.17.0] - 2025-02-11
4+
5+
### Added
6+
7+
- Add `broadcast_external_transaction` to `Address` class.
8+
9+
310
## [0.16.0] - 2025-01-28
411

512
### Added

cdp/address.py

+31
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,12 @@
66
from cdp.balance import Balance
77
from cdp.balance_map import BalanceMap
88
from cdp.cdp import Cdp
9+
from cdp.client.models.broadcast_external_transaction200_response import (
10+
BroadcastExternalTransaction200Response,
11+
)
12+
from cdp.client.models.broadcast_external_transaction_request import (
13+
BroadcastExternalTransactionRequest,
14+
)
915
from cdp.faucet_transaction import FaucetTransaction
1016
from cdp.historical_balance import HistoricalBalance
1117
from cdp.transaction import Transaction
@@ -151,6 +157,31 @@ def reputation(self) -> AddressReputation:
151157
self._reputation = AddressReputation(response)
152158
return self._reputation
153159

160+
def broadcast_external_transaction(
161+
self, signed_payload: str
162+
) -> BroadcastExternalTransaction200Response:
163+
"""Broadcast an external transaction given a signed payload.
164+
165+
Args:
166+
signed_payload (str): The signed payload of the transaction to be broadcasted.
167+
168+
Returns:
169+
BroadcastExternalTransaction200Response: The response from the broadcasted transaction.
170+
171+
Raises:
172+
Exception: If there's an error broadcasting the transaction.
173+
174+
"""
175+
broadcast_external_transaction_request = BroadcastExternalTransactionRequest(
176+
signed_payload=signed_payload
177+
)
178+
179+
return Cdp.api_clients.external_addresses.broadcast_external_transaction(
180+
network_id=self.network_id,
181+
address_id=self.address_id,
182+
broadcast_external_transaction_request=broadcast_external_transaction_request,
183+
)
184+
154185
def __str__(self) -> str:
155186
"""Return a string representation of the Address."""
156187
return f"Address: (address_id: {self.address_id}, network_id: {self.network_id})"

cdp/client/__init__.py

+11
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
from cdp.client.api.reputation_api import ReputationApi
3131
from cdp.client.api.server_signers_api import ServerSignersApi
3232
from cdp.client.api.smart_contracts_api import SmartContractsApi
33+
from cdp.client.api.smart_wallets_api import SmartWalletsApi
3334
from cdp.client.api.stake_api import StakeApi
3435
from cdp.client.api.trades_api import TradesApi
3536
from cdp.client.api.transaction_history_api import TransactionHistoryApi
@@ -60,11 +61,15 @@
6061
from cdp.client.models.asset import Asset
6162
from cdp.client.models.balance import Balance
6263
from cdp.client.models.broadcast_contract_invocation_request import BroadcastContractInvocationRequest
64+
from cdp.client.models.broadcast_external_transaction200_response import BroadcastExternalTransaction200Response
65+
from cdp.client.models.broadcast_external_transaction_request import BroadcastExternalTransactionRequest
6366
from cdp.client.models.broadcast_external_transfer_request import BroadcastExternalTransferRequest
6467
from cdp.client.models.broadcast_staking_operation_request import BroadcastStakingOperationRequest
6568
from cdp.client.models.broadcast_trade_request import BroadcastTradeRequest
6669
from cdp.client.models.broadcast_transfer_request import BroadcastTransferRequest
70+
from cdp.client.models.broadcast_user_operation_request import BroadcastUserOperationRequest
6771
from cdp.client.models.build_staking_operation_request import BuildStakingOperationRequest
72+
from cdp.client.models.call import Call
6873
from cdp.client.models.compile_smart_contract_request import CompileSmartContractRequest
6974
from cdp.client.models.compiled_smart_contract import CompiledSmartContract
7075
from cdp.client.models.contract_event import ContractEvent
@@ -79,9 +84,11 @@
7984
from cdp.client.models.create_payload_signature_request import CreatePayloadSignatureRequest
8085
from cdp.client.models.create_server_signer_request import CreateServerSignerRequest
8186
from cdp.client.models.create_smart_contract_request import CreateSmartContractRequest
87+
from cdp.client.models.create_smart_wallet_request import CreateSmartWalletRequest
8288
from cdp.client.models.create_staking_operation_request import CreateStakingOperationRequest
8389
from cdp.client.models.create_trade_request import CreateTradeRequest
8490
from cdp.client.models.create_transfer_request import CreateTransferRequest
91+
from cdp.client.models.create_user_operation_request import CreateUserOperationRequest
8592
from cdp.client.models.create_wallet_request import CreateWalletRequest
8693
from cdp.client.models.create_wallet_request_wallet import CreateWalletRequestWallet
8794
from cdp.client.models.create_wallet_webhook_request import CreateWalletWebhookRequest
@@ -134,6 +141,8 @@
134141
from cdp.client.models.smart_contract_list import SmartContractList
135142
from cdp.client.models.smart_contract_options import SmartContractOptions
136143
from cdp.client.models.smart_contract_type import SmartContractType
144+
from cdp.client.models.smart_wallet import SmartWallet
145+
from cdp.client.models.smart_wallet_list import SmartWalletList
137146
from cdp.client.models.solidity_value import SolidityValue
138147
from cdp.client.models.sponsored_send import SponsoredSend
139148
from cdp.client.models.staking_balance import StakingBalance
@@ -156,6 +165,7 @@
156165
from cdp.client.models.update_smart_contract_request import UpdateSmartContractRequest
157166
from cdp.client.models.update_webhook_request import UpdateWebhookRequest
158167
from cdp.client.models.user import User
168+
from cdp.client.models.user_operation import UserOperation
159169
from cdp.client.models.validator import Validator
160170
from cdp.client.models.validator_details import ValidatorDetails
161171
from cdp.client.models.validator_list import ValidatorList
@@ -168,4 +178,5 @@
168178
from cdp.client.models.webhook_event_type_filter import WebhookEventTypeFilter
169179
from cdp.client.models.webhook_list import WebhookList
170180
from cdp.client.models.webhook_smart_contract_event_filter import WebhookSmartContractEventFilter
181+
from cdp.client.models.webhook_status import WebhookStatus
171182
from cdp.client.models.webhook_wallet_activity_filter import WebhookWalletActivityFilter

cdp/client/api/__init__.py

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
from cdp.client.api.reputation_api import ReputationApi
1515
from cdp.client.api.server_signers_api import ServerSignersApi
1616
from cdp.client.api.smart_contracts_api import SmartContractsApi
17+
from cdp.client.api.smart_wallets_api import SmartWalletsApi
1718
from cdp.client.api.stake_api import StakeApi
1819
from cdp.client.api.trades_api import TradesApi
1920
from cdp.client.api.transaction_history_api import TransactionHistoryApi

0 commit comments

Comments
 (0)