-
Notifications
You must be signed in to change notification settings - Fork 1
feat: transaction history API for non-custodial (external-key) users #272
Copy link
Copy link
Open
Labels
Priority: P2Added to issues and PRs relating to a medium severity bugs.Added to issues and PRs relating to a medium severity bugs.Status: Needs ClarificationAdded to issues that are not clearly understood, and require additional input.Added to issues that are not clearly understood, and require additional input.Type: FeatureAdded to issues and PRs to identify that the change is a new feature.Added to issues and PRs to identify that the change is a new feature.
Metadata
Metadata
Assignees
Labels
Priority: P2Added to issues and PRs relating to a medium severity bugs.Added to issues and PRs relating to a medium severity bugs.Status: Needs ClarificationAdded to issues that are not clearly understood, and require additional input.Added to issues that are not clearly understood, and require additional input.Type: FeatureAdded to issues and PRs to identify that the change is a new feature.Added to issues and PRs to identify that the change is a new feature.
Type
Fields
Give feedbackNo fields configured for issues without a type.
Background
For custodial users, transaction history works today via standard Ethereum JSON-RPC:
pkg/ethrpc/miner/miner.go) wraps each custodial Canton transfer in a synthetic EVM block and writes a syntheticTransfer(address,address,uint256)log to theevm_logstable (pkg/ethrpc/store/pg.go:130 AddEvmLog).eth_getLogs— implemented inpkg/ethrpc/service/service.go:467 GetLogsagainstGetEvmLogs.from/toin the synthetic log topics.For non-custodial (external-key) users, no equivalent exists:
TokenTransferEvent,TransferOffercreate/archive, Holding create/archive — seepkg/indexer/engine/processor.go) and stores them keyed bycanton_party_id./indexer/v1/admin/parties/{partyID}/events(pkg/indexer/service/http.go:41), which returns raw indexer events and is not designed for external user consumption.Result: a non-custodial user has no API to list "my transfers" the way a custodial user does via
eth_getLogs.Goal
Provide a first-class transaction history API for non-custodial users.