aboutsummaryrefslogtreecommitdiffstats
path: root/eth/filters/filter_system.go
Commit message (Collapse)AuthorAgeFilesLines
* core, eth: minor txpool event cleanupsPéter Szilágyi2018-05-181-8/+8
|
* all: collate new transaction events togetherrjl4934564422018-05-181-17/+21
|
* eth/filter: check nil pointer when unsubscribe (#16682)gary rong2018-05-091-41/+58
| | | | | | | | | | * eth/filter: check nil pointer when unsubscribe * eth/filters, accounts, rpc: abort system if subscribe failed * eth/filter: add crit log before exit * eth/filter, event: minor fixes
* core/rawdb: separate raw database access to own package (#16666)Péter Szilágyi2018-05-071-2/+3
|
* eth, les, light: filter on logs only, derive receipts on demandPéter Szilágyi2018-02-231-3/+19
|
* accounts/abi/bind: support event filtering in abigenPéter Szilágyi2018-01-241-5/+6
|
* core/bloombits, eth/filters: handle null topics (#15195)Péter Szilágyi2017-09-271-5/+0
| | | | | | | | | | When implementing the new bloombits based filter, I've accidentally broke null topics by removing the special casing of common.Hash{} filter rules, which acted as the wildcard topic until now. This PR fixes the regression, but instead of using the magic hash common.Hash{} as the null wildcard, the PR reworks the code to handle nil topics during parsing, converting a JSON null into nil []common.Hash topic.
* core, light: send chain events using event.Feed (#14865)Miya Chen2017-08-181-26/+72
|
* eth: fix megacheck warningsEgon Elbre2017-08-081-1/+0
|
* all: import "context" instead of "golang.org/x/net/context"Felix Lange2017-03-231-2/+3
| | | | | | | | | | There is no need to depend on the old context package now that the minimum Go version is 1.7. The move to "context" eliminates our weird vendoring setup. Some vendored code still uses golang.org/x/net/context and it is now vendored in the normal way. This change triggered new vet checks around context.WithTimeout which didn't fire with golang.org/x/net/context.
* event: deprecate TypeMux and related typesFelix Lange2017-01-251-2/+2
| | | | | | | | | | | The Subscription type is gone, all uses are replaced by *TypeMuxSubscription. This change is prep-work for the introduction of the new Subscription type in a later commit. gorename -from '"github.com/ethereum/go-ethereum/event"::Event' -to TypeMuxEvent gorename -from '"github.com/ethereum/go-ethereum/event"::muxsub' -to TypeMuxSubscription gofmt -w -r 'Subscription -> *TypeMuxSubscription' ./event/*.go find . -name '*.go' -and -not -regex '\./vendor/.*' \| xargs gofmt -w -r 'event.Subscription -> *event.TypeMuxSubscription'
* all: fix spelling errorsPéter Szilágyi2017-01-071-1/+1
|
* core/vm: move Log to core/typesFelix Lange2017-01-061-12/+11
| | | | | | | | This significantly reduces the dependency closure of ethclient, which no longer depends on core/vm as of this change. All uses of vm.Logs are replaced by []*types.Log. NewLog is gone too, the constructor simply returned a literal.
* core, core/vm, eth/filters: move Removed field into vm.LogFelix Lange2016-12-051-60/+16
| | | | | | | | | | | | This field used to be assigned by the filter system and returned through the RPC API. Now that we have a Go client that uses the underlying type, the field needs to move. It is now assigned to true when the RemovedLogs event is generated so the filter system doesn't need to care about the field at all. While here, remove the log list from ChainSideEvent. There are no users of this field right now and any potential users could subscribe to RemovedLogsEvent instead.
* eth/filter: add support for pending logs (#3219)bas-vk2016-11-281-24/+107
|
* core/types: remove header accessorsFelix Lange2016-11-091-2/+2
| | | | | | These accessors were introduced by light client changes, but the only method that is actually used is GetNumberU64. This commit replaces all uses of .GetNumberU64 with .Number.Uint64.
* les: light client protocol and APIZsolt Felfoldi2016-11-091-3/+79
|
* rpc: refactor subscriptions and filtersBas van Kervel2016-08-171-122/+248
|
* eth: fix #2710 filter racesHenning Diedrich2016-07-041-6/+13
| | | | and locking bugs found in its wake.
* eth/filters: ignore logs that don't match filter criteria on chain reorgBas van Kervel2016-04-281-1/+1
|
* all: update license informationFelix Lange2016-04-151-1/+1
|
* eth/filters: ✨ pending logs ✨Jeffrey Wilcke2016-02-131-27/+74
| | | | | | Pending logs are now filterable through the Go API. Filter API changed such that each filter type has it's own bucket and adding filter explicitly requires you specify the bucket to put it in.
* eth/filters: added notifications for out of bound log eventsJeffrey Wilcke2016-02-051-6/+17
| | | | | | Out of Bound log events are events that were removed due to a fork. When logs are received the filtering mechanism should check for the `removed` field on the json structure.
* cmd/utils, rpc/comms: stop XEth when IPC connection endsFelix Lange2015-10-301-53/+35
| | | | | | | | | | | There are a bunch of changes required to make this work: - in miner: allow unregistering agents, fix RemoteAgent.Stop - in eth/filters: make FilterSystem.Stop not crash - in rpc/comms: move listen loop to platform-independent code Fixes #1930. I ran the shell loop there for a few minutes and didn't see any changes in the memory profile.
* core, eth, event, miner, xeth: fix event post / subscription racePéter Szilágyi2015-10-121-16/+28
|
* cmd/geth, cmd/utils, core, rpc: renamed to blockchainJeffrey Wilcke2015-10-041-1/+1
| | | | | | * Renamed ChainManager to BlockChain * Checkpointing is no longer required and never really properly worked when the state was corrupted.
* cmd/evm, core/vm, test: refactored VM and coreJeffrey Wilcke2015-10-041-3/+3
| | | | | | | | | | | | | | | | | * Moved `vm.Transfer` to `core` package and changed execution to call `env.Transfer` instead of `core.Transfer` directly. * core/vm: byte code VM moved to jump table instead of switch * Moved `vm.Transfer` to `core` package and changed execution to call `env.Transfer` instead of `core.Transfer` directly. * Byte code VM now shares the same code as the JITVM * Renamed Context to Contract * Changed initialiser of state transition & unexported methods * Removed the Execution object and refactor `Call`, `CallCode` & `Create` in to their own functions instead of being methods. * Removed the hard dep on the state for the VM. The VM now depends on a Database interface returned by the environment. In the process the core now depends less on the statedb by usage of the env * Moved `Log` from package `core/state` to package `core/vm`.
* core, event/filter, xeth: refactored filter systemJeffrey Wilcke2015-10-031-0/+133
Moved the filtering system from `event` to `eth/filters` package and removed the `core.Filter` object. The `filters.Filter` object now requires a `common.Database` rather than a `eth.Backend` and invokes the `core.GetBlockByX` directly rather than thru a "manager".