aboutsummaryrefslogtreecommitdiffstats
path: root/contracts
Commit message (Collapse)AuthorAgeFilesLines
* core: refactor genesis handlingFelix Lange2017-03-233-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | This commit solves several issues concerning the genesis block: * Genesis/ChainConfig loading was handled by cmd/geth code. This left library users in the cold. They could specify a JSON-encoded string and overwrite the config, but didn't get any of the additional checks performed by geth. * Decoding and writing of genesis JSON was conflated in WriteGenesisBlock. This made it a lot harder to embed the genesis block into the forthcoming config file loader. This commit changes things so there is a single Genesis type that represents genesis blocks. All uses of Write*Genesis* are changed to use the new type instead. * If the chain config supplied by the user was incompatible with the current chain (i.e. the chain had already advanced beyond a scheduled fork), it got overwritten. This is not an issue in practice because previous forks have always had the highest total difficulty. It might matter in the future though. The new code reverts the local chain to the point of the fork when upgrading configuration. The change to genesis block data removes compression library dependencies from package core.
* all: import "context" instead of "golang.org/x/net/context"Felix Lange2017-03-232-37/+39
| | | | | | | | | | 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.
* Merge pull request #3723 from karalabe/logger-updates-2Péter Szilágyi2017-02-282-20/+25
|\ | | | | Logger updates
| * all: next batch of log polishes to contextual versionsPéter Szilágyi2017-02-282-20/+25
| |
* | all: unify big.Int zero checks, use common/math in more places (#3716)Felix Lange2017-02-282-4/+4
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | * common/math: optimize PaddedBigBytes, use it more name old time/op new time/op delta PaddedBigBytes-8 71.1ns ± 5% 46.1ns ± 1% -35.15% (p=0.000 n=20+19) name old alloc/op new alloc/op delta PaddedBigBytes-8 48.0B ± 0% 32.0B ± 0% -33.33% (p=0.000 n=20+20) * all: unify big.Int zero checks Various checks were in use. This commit replaces them all with Int.Sign, which is cheaper and less code. eg templates: func before(x *big.Int) bool { return x.BitLen() == 0 } func after(x *big.Int) bool { return x.Sign() == 0 } func before(x *big.Int) bool { return x.BitLen() > 0 } func after(x *big.Int) bool { return x.Sign() != 0 } func before(x *big.Int) int { return x.Cmp(common.Big0) } func after(x *big.Int) int { return x.Sign() } * common/math, crypto/secp256k1: make ReadBits public in package math
* all: blidly swap out glog to our log15, logs need reworkPéter Szilágyi2017-02-232-22/+20
|
* all: fix ineffectual assignments and remove uses of crypto.Sha3Felix Lange2017-01-092-12/+15
| | | | | go get github.com/gordonklaus/ineffassign ineffassign .
* all: fix spelling errorsPéter Szilágyi2017-01-072-4/+4
|
* all: update license informationFelix Lange2016-11-091-1/+1
|
* cmd, eth: added light client and light server modeszsfelfoldi2016-11-091-3/+13
|
* Merge pull request #2972 from Arachnid/ensFelix Lange2016-09-012-5/+26
|\ | | | | contracts/ens: Replace setOwner with setSubnodeOwner per EIP137
| * contracts/ens: Replace setOwner with setSubnodeOwner in accordance with EIP137Nick Johnson2016-09-012-5/+26
| |
* | swarm: plan bee for content storage and distribution on web3ΞTHΞЯSPHΞЯΞ2016-08-311-4/+3
|/ | | | | | | | | | | | | | | | | | | | | | | This change imports the Swarm protocol codebase. Compared to the 'swarm' branch, a few mostly cosmetic changes had to be made: * The various redundant log message prefixes are gone. * All files now have LGPLv3 license headers. * Minor code changes were needed to please go vet and make the tests pass on Windows. * Further changes were required to adapt to the go-ethereum develop branch and its new Go APIs. Some code has not (yet) been brought over: * swarm/cmd/bzzhash: will reappear as cmd/bzzhash later * swarm/cmd/bzzup.sh: will be reimplemented in cmd/bzzup * swarm/cmd/makegenesis: will reappear somehow * swarm/examples/album: will move to a separate repository * swarm/examples/filemanager: ditto * swarm/examples/files: will not be merged * swarm/test/*: will not be merged * swarm/services/swear: will reappear as contracts/swear when needed
* Merge pull request #2962 from fjl/release-moveFelix Lange2016-08-314-0/+1207
|\ | | | | contracts/release: move package release to contracts/
| * contracts/release: move package release to contracts/Felix Lange2016-08-304-0/+1207
| | | | | | | | | | | | This change also deletes generator.go, moving the only interesting line in it into release.go. The binding has been regenerated with abigen from develop and solc v0.3.6.
* | Merge pull request #2963 from fjl/ens-solc-0.3.6Felix Lange2016-08-313-12/+12
|\ \ | | | | | | contracts/ens: regenerate binding with solc v0.3.6
| * | contracts/ens: regenerate binding with solc v0.3.6Felix Lange2016-08-303-12/+12
| |/
* / contracts/chequebook/contract: fix possible reentrancy bug in chequebook.solDaniel A. Nagy2016-08-314-39/+10
|/
* Merge pull request #2952 from Arachnid/ensFelix Lange2016-08-305-0/+1391
|\ | | | | contracts/ens: Add ENS contract binding
| * contracts/ens: Add ENS contract bindingNick Johnson2016-08-305-0/+1391
|
* contracts/chequebook: add chequebook contract wrapperViktor Trón2016-08-297-0/+1930
The wrapper code is adapted from the swarm/services/chequebook package with the following mostly cosmetic changes: * The code now uses the new Go API interfaces to query balances. Some minor functional changes were required to make this work. * The package no longer depends on swarm/services/swap/swap. References to swap.Promise are replaced by interface{}, the base type of Promise. This is temporary. * The contract wrapper has been regenerated with latest abigen and solc v0.3.6. * There is a new generator that creates the 'deployed code' variable. * Documentation comments now follow the recommended godoc style. * [CHEQUEBOOK] log prefixes are gone. * LGPL license headers have been added to all files.