feat(oklink): add OKLink provider for multi-chain token transfers #192
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR adds support for OKLink blockchain explorer provider, enabling users to convert token transfer records from OKLink (Ethereum ERC20 and TRON TRC20) to Beancount format.
Key Features:
Improvements:
Motivation and Context
OKLink is a popular blockchain explorer that supports multiple chains and doesn't require account registration. Many users need to track their cryptocurrency token transfers from OKLink exports. This provider enables seamless conversion of OKLink CSV exports to Beancount format with flexible configuration options.
Key Design Decisions:
Dependencies
No new dependencies required. Uses existing Go standard library and project dependencies.
Type of change
How has this been tested?
Test A: Ethereum (ERC20) Token Transfer
deg translate -p oklink -c config.yaml -o output.bean input.csvTest B: TRON (TRC20) Token Transfer
Test C: Multi-address Configuration
Test D: Unverified Token Handling
Test E: Rule Matching
Test Configuration:
Is this change properly documented?
docs/providers/crypto/oklink.mdexample/oklink/config.yamlexample/oklink/example-oklink-token-transfer.csvexample/oklink/example-oklink-output.beancountDocumentation includes: