Commit Graph

71 Commits

Author SHA1 Message Date
Austin Abell
b98685c46b
Enable Cosmos endpoints on rest-server command (#162) 2019-12-20 19:47:02 +10:00
Austin Abell
ce8a94a98e
Cosmos PR changes (#158)
* Changes necessary for enforced custom account encoding/decoding and keyring keybase changes

* updates cosmos dependency and fixes inconsistency in gas usage for simulated/real txs

* Update PR changes

* Remove unused password prompt when using OS keyring

* Update from changes to sdk

* Update to merged PR commit :the_horns:

* updated code to handle keyring backend options

* update documentation and replace cosmos-sdk with fork (temporarily)

* update cosmos dependency from fork

* update documentation
2019-12-13 14:50:19 -05:00
Austin Abell
c2646c7b18
Unsafe export private key command for dev tooling (#155)
* Add unsafe private key export function for metamask/devtooling

* Cut 0x bytes for importing into dev tooling
2019-11-16 12:59:19 -05:00
Austin Abell
6eef37b0c6
Finish and clean up module queries and txs (#152)
* Basic transactions set up (to be separated)

* Change transaction command to not include create operation (to include other command in next commit)

* set up create command and made minor changes

* wip implements module queries

* Added tests for query address decoding

* Added ambiguous encoding of to address in transaction and added tests

* Fix linting issue

* Move registering key types to application level to allow module usage to ignore

* Move genaccounts code to be reused

* Switches nonce increase to always happen in ante handler

* change SetNonce from keeper to point to actual nonce operation

* Remove no op nonce switch (not needed with clearing cache)

* Changes to update all accounts pre state transition and clear cache at end of block

* Update accounts before end of block commit (edge case where necessary)

* Fix nonce of sender going into evm in case it's checked, and let evm set contract starting nonce
2019-11-15 12:02:13 -05:00
Austin Abell
9311f9efd0
Update keybase back to cosmos-sdk with support (#147)
* Migrate keybase back to Cosmos-sdk using temporary fork

* Cleaned up other affected code

* Change to updated tendermint

* fmt

* Change auth codec update

* clean up codec registration to respective packages

* Fix import fmt

* Remove no longer necessary replace

* Fix function comment
2019-11-13 12:00:21 -05:00
Austin Abell
021c9f440a
Migrates gentx command to application (#144)
* Migrates gentx command to application for updated keybase

* Remove cosmos keys commands

* Fix genutil codec for key type

* Remove relevant TODOs
2019-11-05 11:50:55 -05:00
Austin Abell
97f73063a5
Updates SDK and implement application genaccounts (#143)
* Transition to updated sdk with modular ante handler and new genaccounts setup

* Update genesis account type to be an Ethermint account

* Change default keybase and tidy modules

* Fix lint
2019-11-04 15:45:02 -05:00
Austin Abell
3cd6a0b136
Sanity check to make sure chain-id is set (#140) 2019-11-02 13:13:31 -04:00
Austin Abell
09a71a2a3a
eth_getBlockByHash and block hash mapping functionality (#114)
* Set up block hash to height mapping storage and fixed linting issues

* fix typos

* Set up module query for block height

* fix bug with block mappings and implemented get block by hash

* Fix other consensus hash references
2019-09-27 10:08:45 -04:00
Austin Abell
46e5278355
Add pruning option to application (#113) 2019-09-26 11:50:55 -04:00
Austin Abell
69567e29d5
Override auth module codec for all references to Ethermint codec (#103) 2019-09-18 14:50:06 -04:00
Austin Abell
72fc3ca3af
Transaction signing and encoding (#95)
* WIP setting up evm tx command and updating emint keys output

* Fix linting issue

* Wip restructuring to allow for ethereum signing and encoding

* WIP setting up keybase and context to use Ethermint keys

* Fixed encoding and decoding of emint keys

* Adds command for generating explicit ethereum tx

* Fixed evm route for handling tx

* Fixed tx and msg encoding which allows transactions to be sent

* Added relevant documentation for changes and cleaned up code

* Added documentation and indicators why code was overriden
2019-09-15 12:12:59 -04:00
Austin Abell
82d016ab02
Update CosmosSDK version to 0.36.0 (#82)
* Update CosmosSDK version to 0.36 LTR

* Added basic EthermintApp run/export test

* Go mod tidy from dependency update

* Update export comments

* Remove confusing comment
2019-08-15 12:26:40 -04:00
Austin Abell
cfac906f92
Ethermint key generation (#78)
* WIP setting up Ethereum key CLI commands

* Functional key gen and showing Ethereum address

* Cleaned up changes

* WIP setting up Ethereum key CLI commands

* Functional key gen and showing Ethereum address

* Cleaned up changes

* Changed address to cosmos specific address

* Remove default bech32 prefixes and add basic add command test

* Changed Private key type to slice of bytes for compatibility and storability

* switch back to using cosmos crypto Keybase interfaces

* Changed key output to ethereum addressing instead of bitcoin and key generation to allow seeding from mnemonic and bip39 password

* Updated show command and added test

* Remove prefix requirement for showing keys and added existing keys commands to CLI temporarily

* Removed unnecessary duplicate code

* Readd prefixes for accounts temporarily

* Fix linting issue

* Remove TODO for setting PK to specific length of bytes (all functions use slice)

* Cleaned up descriptions to remove multi-sigs
2019-08-11 10:42:46 -04:00
David Ansermino
92dc7d9a59
Basic RPC and CLI Queries (#77)
- Adds ethermint query command (`emintcli query ethermint <query>`)
    - Supports block number, storage, code, balance lookups
- Implements RPC API methods `eth_blockNumber`, `eth_getStorageAt`, `eth_getBalance`, and `eth_getCode`
- Adds tester utility for RPC calls
    - Adheres to go test format, but should not be run with regular suite
    - Requires daemon and RPC server to be running
    - Excluded from `make test`, available with `make test-rpc`
- Implemented AppModule interface and added EVM module to app
    - Required for routing
- Implements `InitGenesis` (`x/evm/genesis.go`) and stubs `ExportGenesis`
- Modifies GenesisAccount to match expected format
2019-07-25 16:38:55 -04:00
David Ansermino
284c2a0333
Enable RPC Server (#75)
- Introduces rpc command to cli (rest-server)
- Moves server/rpc to rpc/
- Enables module selection (eg. "web3" or "eth" or "web3,eth"), however there is no CLI flag to configure these (See #74)
- Adds CLI context to eth API
2019-07-15 10:13:59 -04:00
Austin Abell
fbaa9466b0
Update Ethermint app/ Daemon to run functional TM node (#70)
* Updates eithermint app to new Cosmos SDK version and sets up base tendermint node commands

* Updated vague comment
2019-07-12 13:13:15 -04:00
Austin Abell
d982e0961a
Daemon framework (#66)
* Implements daemon framework with basic functionality

* Comment out unused functions for linter
2019-07-08 15:26:33 -04:00
Austin Abell
ba203d3f26
Set up CLI framework without logic for query, tx, SDK rest, and web3 api commands (#61) 2019-07-05 12:46:13 -04:00
Matthew Slipper
32504a866f Start RPC API implementation 2018-08-21 00:12:48 -07:00
Aleksandr Bezobchuk
e5e3d48a6d Merge pull request #447: Initial Application Skeleton Structure 2018-07-19 17:16:53 -04:00