Skip to content

Commit 679eafb

Browse files
alex-stonerohan-agarwal-coinbasehoward-at-cb
authored
Merge pull request #53 from coinbase/v0.11.0
* Fix Asset from_model bug to use passed in asset_id when initializing (#46) * Support for fund and quote_fund for wallet funding (#47) * Fix quote fund to properly pass in normalized amount (#50) * Contract webhook support (#52) * contract activity webhook support * Update webhook.py * Update webhook_factory.py * chore: Prep v0.11.0 release (#51) --------- Co-authored-by: rohan-agarwal-coinbase <[email protected]> Co-authored-by: cb-howardatcb <[email protected]>
2 parents 4ebb72f + 1c0ff0d commit 679eafb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+3001
-110
lines changed

CHANGELOG.md

+16
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,22 @@
22

33
## Unreleased
44

5+
### [0.11.0] - 2024-11-27
6+
7+
### Added
8+
- Add support for funding wallets (Alpha feature release)
9+
- Must reach out to CDP SDK Discord channel to be considered for this feature.
10+
- Added create and update feature for `SmartContractEventActivity` webhook and its related event type filter.
11+
12+
### Fixed
13+
- Fix bug in `Asset.from_model` where passed in asset ID was not used when creating a gwei or wei asset.
14+
15+
## [0.10.4] - 2024-11-25
16+
17+
### Added
18+
19+
- Wallet address key export
20+
521
## [0.10.4] - 2024-11-25
622

723
### Added

cdp/__version__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "0.10.4"
1+
__version__ = "0.11.0"

cdp/api_clients.py

+17
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from cdp.client.api.balance_history_api import BalanceHistoryApi
55
from cdp.client.api.contract_invocations_api import ContractInvocationsApi
66
from cdp.client.api.external_addresses_api import ExternalAddressesApi
7+
from cdp.client.api.fund_api import FundApi
78
from cdp.client.api.networks_api import NetworksApi
89
from cdp.client.api.smart_contracts_api import SmartContractsApi
910
from cdp.client.api.trades_api import TradesApi
@@ -53,6 +54,7 @@ def __init__(self, cdp_client: CdpApiClient) -> None:
5354
self._smart_contracts: SmartContractsApi | None = None
5455
self._balance_history: BalanceHistoryApi | None = None
5556
self._transaction_history: TransactionHistoryApi | None = None
57+
self._fund: FundApi | None = None
5658

5759
@property
5860
def wallets(self) -> WalletsApi:
@@ -233,3 +235,18 @@ def transaction_history(self) -> TransactionHistoryApi:
233235
if self._transaction_history is None:
234236
self._transaction_history = TransactionHistoryApi(api_client=self._cdp_client)
235237
return self._transaction_history
238+
239+
@property
240+
def fund(self) -> FundApi:
241+
"""Get the FundApi client instance.
242+
243+
Returns:
244+
FundApi: The FundApi client instance.
245+
246+
Note:
247+
This property lazily initializes the FundApi client on first access.
248+
249+
"""
250+
if self._fund is None:
251+
self._fund = FundApi(api_client=self._cdp_client)
252+
return self._fund

cdp/asset.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ def from_model(cls, model: AssetModel, asset_id: str | None = None) -> "Asset":
5252

5353
return cls(
5454
network_id=model.network_id,
55-
asset_id=model.asset_id,
55+
asset_id=asset_id or model.asset_id,
5656
contract_address=model.contract_address,
5757
decimals=decimals,
5858
)

cdp/client/__init__.py

+7
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
from cdp.client.api.mpc_wallet_stake_api import MPCWalletStakeApi
2828
from cdp.client.api.networks_api import NetworksApi
2929
from cdp.client.api.onchain_identity_api import OnchainIdentityApi
30+
from cdp.client.api.reputation_api import ReputationApi
3031
from cdp.client.api.server_signers_api import ServerSignersApi
3132
from cdp.client.api.smart_contracts_api import SmartContractsApi
3233
from cdp.client.api.stake_api import StakeApi
@@ -49,10 +50,14 @@
4950
from cdp.client.exceptions import ApiException
5051

5152
# import models into sdk package
53+
from cdp.client.models.abi import ABI
5254
from cdp.client.models.address import Address
5355
from cdp.client.models.address_balance_list import AddressBalanceList
5456
from cdp.client.models.address_historical_balance_list import AddressHistoricalBalanceList
5557
from cdp.client.models.address_list import AddressList
58+
from cdp.client.models.address_reputation import AddressReputation
59+
from cdp.client.models.address_reputation_metadata import AddressReputationMetadata
60+
from cdp.client.models.address_risk import AddressRisk
5661
from cdp.client.models.address_transaction_list import AddressTransactionList
5762
from cdp.client.models.asset import Asset
5863
from cdp.client.models.balance import Balance
@@ -122,6 +127,7 @@
122127
from cdp.client.models.signature_creation_event_result import SignatureCreationEventResult
123128
from cdp.client.models.signed_voluntary_exit_message_metadata import SignedVoluntaryExitMessageMetadata
124129
from cdp.client.models.smart_contract import SmartContract
130+
from cdp.client.models.smart_contract_activity_event import SmartContractActivityEvent
125131
from cdp.client.models.smart_contract_list import SmartContractList
126132
from cdp.client.models.smart_contract_options import SmartContractOptions
127133
from cdp.client.models.smart_contract_type import SmartContractType
@@ -157,4 +163,5 @@
157163
from cdp.client.models.webhook_event_type import WebhookEventType
158164
from cdp.client.models.webhook_event_type_filter import WebhookEventTypeFilter
159165
from cdp.client.models.webhook_list import WebhookList
166+
from cdp.client.models.webhook_smart_contract_event_filter import WebhookSmartContractEventFilter
160167
from cdp.client.models.webhook_wallet_activity_filter import WebhookWalletActivityFilter

cdp/client/api/__init__.py

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
from cdp.client.api.mpc_wallet_stake_api import MPCWalletStakeApi
1212
from cdp.client.api.networks_api import NetworksApi
1313
from cdp.client.api.onchain_identity_api import OnchainIdentityApi
14+
from cdp.client.api.reputation_api import ReputationApi
1415
from cdp.client.api.server_signers_api import ServerSignersApi
1516
from cdp.client.api.smart_contracts_api import SmartContractsApi
1617
from cdp.client.api.stake_api import StakeApi

0 commit comments

Comments
 (0)