Alchemy and Klaviyo Lakeflow Community connectors#71
Alchemy and Klaviyo Lakeflow Community connectors#71mattslack-db wants to merge 53 commits intodatabrickslabs:masterfrom
Conversation
addition of connector_spec.yaml
…oint support - Implement LakeflowConnect interface for Alchemy blockchain APIs - Support 18 endpoints across NFT, Token/Price, Portfolio, and Webhook APIs - Add Bearer token auth for Portfolio/Prices APIs, X-Alchemy-Token for Webhooks - Portfolio APIs use default network from config (@ override optional) - Handle NFT metadata string-to-object normalization - Add 23 comprehensive unit tests with mocked responses - Include API documentation and example configurations
…ML decimal conversion
…istorical (API returns ISO string)
…ractAddress fallback
- Change endpoint from /getTransactionsByWallet to /transactions/history/by-address - Use networks (plural, array) instead of network (singular) per address - Update response processing for flat transactions array format - Remove unsupported optional params (from_block, to_block, timestamps, category, order)
- Change endpoint from /getNftsByWallet to /assets/nfts/by-address - Use networks (plural, array) instead of network (singular) per address - Update response processing for flat nfts array format
- Change endpoint from /getTokensByWallet to /assets/tokens/by-address - Use networks (plural, array) instead of network (singular) per address - Update response processing for flat tokens array format
…y_wallet - Change endpoint from /getTokenBalancesByWallet to /assets/tokens/balances/by-address - Use networks (plural, array) instead of network (singular) per address - Update response processing for flat balances array format - Remove unsupported optional params (include_native_tokens, include_erc20_tokens)
- Handle nested data structure (data.tokens, data.ownedNfts) - tokens_by_wallet: parse data.tokens array - token_balances_by_wallet: parse data.tokens array - nfts_by_wallet: parse data.ownedNfts array
- Rename 'address' to 'wallet_address' in tokens_by_wallet response - Rename 'address' to 'wallet_address' in token_balances_by_wallet response - Rename 'address' to 'wallet_address' in nfts_by_wallet response - Fixes 'Field wallet_address is not nullable but not found in the input' error
…nfts_by_wallet - API returns contract.address nested, schema expects contractAddress - Fixes 'Field contractAddress is not nullable but not found in the input' error
- Rename tokenAddress to contractAddress - Extract decimals, name, symbol, logo from nested tokenMetadata - Extract price from tokenPrices array (USD currency)
…y_wallet - API returns tokenAddress but schema expects contractAddress - Fixes duplicate primary key issue (was 99 duplicates, now 0)
|
| GitGuardian id | GitGuardian status | Secret | Commit | Filename | |
|---|---|---|---|---|---|
| - | - | Generic High Entropy Secret | 9ed5ab0 | sources/particle/test/test_particle_lakeflow_connect.py | View secret |
| - | - | Generic High Entropy Secret | dd5a6e5 | test_post_endpoints.py | View secret |
🛠 Guidelines to remediate hardcoded secrets
- Understand the implications of revoking this secret by investigating where it is used in your code.
- Replace and store your secrets safely. Learn here the best practices.
- Revoke and rotate these secrets.
- If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.
To avoid such incidents in the future consider
- following these best practices for managing and storing secrets including API keys and other credentials
- install secret detection on pre-commit to catch secret before it leaves your machine and ease remediation.
🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.
As per hackathon