These commits are when the Protocol Buffers files have changed: (only the last 100 relevant commits are shown)
| Commit: | 56532b1 | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
go/common/sgx/aesm: Update to latest protocol version
The documentation is generated from this commit.
| Commit: | 42ade7a | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
go: Start using new protobuf module location The previous location has been deprecated.
| Commit: | c109c5e | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
Replace protobufs with CBOR
| Commit: | e5f9ddc | |
|---|---|---|
| Author: | Warren He | |
| Committer: | Warren He | |
go registry: return to KeyManager field name
| Commit: | 4909f78 | |
|---|---|---|
| Author: | Warren He | |
| Committer: | Warren He | |
go registry: make runtime key manager optional
| Commit: | a639ed4 | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
Remove RegistrationTime from entity/node/runtime descriptors Now that all transactions use nonces this is no longer needed to prevent replay.
| Commit: | 36020d3 | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
go/consensus: Use common transaction format Previously each of the Oasis components (registry, roothash, staking, etc.) defined its own internal transaction format when translating method calls to the consensus layer. After we realized that we need to add common things like gas fees and nonces to most of the method calls, a common transaction format results in less duplication and allows for things like common transaction authentication handlers. This commit changes the following: - Oasis component APIs are changed so that they only perform read-only operations. For mutation they expose functions for generating transactions which can be submitted to the consensus layer via a new SubmitTx method. - The CLI is changed so that there is a single way of submitting transactions. Existing subcommands (registry, staking) only generate signed transactions which is similar to before but now using the common transaction format. - Together with the common transaction format there is now a common way to register method names and for Tendermint applications to specify which methods they support. - The consensus backend now has a notion of a transaction auth handler which performs things like nonce and fee checking. The handler is invoked for each transaction made possible by the common transaction format. - Some consensus-related cleanup. Due to changing the transaction format this is a BREAKING change.
| Commit: | b849fa8 | |
|---|---|---|
| Author: | Warren He | |
| Committer: | Warren He | |
go staking: add amend commission sch. method
| Commit: | 34d0a21 | |
|---|---|---|
| Author: | Matevž Jekovec | |
| Committer: | Matevž Jekovec | |
registry: add runtime-specific params * Introduce ComputeParams, MergeParams, TxnSchedulerParams, and StorageParams structs for runtime descriptor, oasis-test-runner config and fixtures. * Split RoundTimeout to ComputeRoundTimeout and MergeRoundTimeout and move them from worker to per-runtime setting in genesis. * Split ReplicaGroupSize to ComputeGroupSize, MergeGroupSize, TxnSchedulerGroupSize and move them from genesis to per-runtime setting in genesis. * Split ReplicaAllowedStrugglers to ComputeAllowedStrugglers, and MergeAllowedStrugglers. * Join TransactionSchedulerParameters with other parameters in TxnSchedulerParameters, and move it from genesis to per-runtime setting in genesis. * Cosmetic changes to worker, registry, runtime cmd arguments for consistency (e.g. transaction_scheduler or txscheduler -> txn_scheduler). * Use Cfg* constants instead of duplicate config strings in test_node.go.
| Commit: | 73eca14 | |
|---|---|---|
| Author: | Tadej Janež | |
| Committer: | Tadej Janež | |
go/sentry: Initial API, backend and gRPC implementation
| Commit: | bd3f732 | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
go/staking: Add gRPC client backend
| Commit: | a544251 | |
|---|---|---|
| Author: | Jan Berčič | |
| Committer: | Jan Berčič | |
go/worker: Add delayed shutdown mechanism
| Commit: | 5021c90 | |
|---|---|---|
| Author: | Jan Berčič | |
| Committer: | Jan Berčič | |
go/grpc: Move node control calls to a new service
| Commit: | 73397fa | |
|---|---|---|
| Author: | ptrus | |
| Committer: | ptrus | |
go/oasis-test-runner: add halt test scenario
| Commit: | 98bcad7 | |
|---|---|---|
| Author: | Tadej Janež | |
| Committer: | Tadej Janež | |
go/common/node: Generalize ConsensusInfo's addresses To enable specifying sentry nodes' IDs and TCP addresses instead of revealing a validator's IP in ConsensusInfo, replace []Address with []ConsensusAddress. Also change go/common/consensus API to return []ConsensusAddress instead of []Address.
| Commit: | 22751a4 | |
|---|---|---|
| Author: | Tadej Janež | |
| Committer: | Tadej Janež | |
go/common/node: Add ConsensusAddress
| Commit: | b809020 | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
go/registry: Remove remaining NodeTransport pieces
| Commit: | 272efc2 | |
|---|---|---|
| Author: | Yawning Angel | |
| Committer: | Yawning Angel | |
go/tendermint: Use a separate key for tendermint signing operations Because some people seemed really against using the sensible Ed25519 variant that is suited towards our use case, instead tendermint requires it's own signing key. Note: This also applies to the tendermint link authentication key, which at some later point should be carved out into it's own thing.
| Commit: | a0a2352 | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
go: Make all backend getters take a height argument
| Commit: | f4b3c01 | |
|---|---|---|
| Author: | Matevž Jekovec | |
| Committer: | Matevž Jekovec | |
go/registry: remove obsolete GetNodesForEntity API function
| Commit: | b11838f | |
|---|---|---|
| Author: | Matevž Jekovec | |
| Committer: | Matevž Jekovec | |
go/registry: remove obsolete GetNodeTransport API function
| Commit: | 2eb6a91 | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
go/staking: Add delegation
| Commit: | fa71a18 | |
|---|---|---|
| Author: | Andrej Bukošek | |
| Committer: | Andrej Bukošek | |
worker/keymanager: Support multiple runtimes in access control
| Commit: | 913b1b2 | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
Rename to oasis-core
| Commit: | 8fdb720 | |
|---|---|---|
| Author: | Jan Berčič | |
| Committer: | Jan Berčič | |
go/storage: Add force finalize command
| Commit: | 9796baf | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
go/storage: Change ReadSyncer interface
| Commit: | e1d5353 | |
|---|---|---|
| Author: | Yawning Angel | |
| Committer: | Yawning Angel | |
go/registry: Change the Version field to a struct This is now a struct so that MRSIGNER/MRENCLAVE pairs (and etc) can also be included.
| Commit: | c775fb3 | |
|---|---|---|
| Author: | Yawning Angel | |
| Committer: | Yawning Angel | |
go/staking: Remove Approve/Withdraw support The staking ledger backend doesn't need to be ERC20 compliant to provide staking services, and this is a dramatic reduction in code.
| Commit: | 65d268e | |
|---|---|---|
| Author: | Andrej Bukošek | |
| Committer: | Andrej Bukošek | |
Add support for dumping BFT state into genesis document
| Commit: | 83e4171 | |
|---|---|---|
| Author: | Jan Berčič | |
| Committer: | Jan Berčič | |
go/storage: Implement E2E test for GetDiff sync
| Commit: | 89f502d | |
|---|---|---|
| Author: | Matevž Jekovec | |
| Committer: | Matevž Jekovec | |
runtime: Add runtime version support and send it to registry
| Commit: | 29f12ba | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
Change format of I/O root
| Commit: | 7955846 | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
go/storage: Add Merge operation
| Commit: | 3f75426 | |
|---|---|---|
| Author: | Yawning Angel | |
| Committer: | Yawning Angel | |
go/staking: Add the entity threshold to the gRPC query
| Commit: | 22f1b8e | |
|---|---|---|
| Author: | Yawning Angel | |
| Committer: | Yawning Angel | |
go/common/node: Support using node descriptors for validators
| Commit: | fab1da0 | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
storage: Use special node ID for the root node Otherwise it is not possible to differentiate between a root with an empty label and its child.
| Commit: | 7f70307 | |
|---|---|---|
| Author: | Matevž Jekovec | |
| Committer: | Jernej Kos | |
storage: Implement path compressed urkel tree
| Commit: | 5a16a01 | |
|---|---|---|
| Author: | Matevž Jekovec | |
| Committer: | Jernej Kos | |
storage: Add support for custom keys and lengths in Urkel tree
| Commit: | 3378bcc | |
|---|---|---|
| Author: | Yawning Angel | |
| Committer: | Yawning Angel | |
go/common/node: Reorganize into various `FooInfo` sub-structs
| Commit: | 9ab4597 | |
|---|---|---|
| Author: | Yawning Angel | |
| Committer: | Yawning Angel | |
go/common/node: Remove the `Certificate` wrapper
| Commit: | 7c61579 | |
|---|---|---|
| Author: | Yawning Angel | |
| Committer: | Yawning Angel | |
go/common/node: Simplify the Address type * Just use a thin wrapper around net.TCPAddr for simplicity. * Unify the address types between the node and libp2p addresses.
| Commit: | 833ffae | |
|---|---|---|
| Author: | Yawning Angel | |
| Committer: | Yawning Angel | |
go: Decouple the entity signing key from node registration
| Commit: | 5fa72e9 | |
|---|---|---|
| Author: | ptrus | |
| Committer: | ptrus | |
go/registry: decouple from 'global epoch'
| Commit: | fc15f34 | |
|---|---|---|
| Author: | Yawning Angel | |
| Committer: | Yawning Angel | |
go/staking: Add a notion of a debonding period
| Commit: | 872cb90 | |
|---|---|---|
| Author: | Yawning Angel | |
| Committer: | Yawning Angel | |
go/staking: Add a notion of thresholds * Entity, validator, compute and storage thresholds now exist. * It is possible to set the thresholds in the genesis block.
| Commit: | b7fe43a | |
|---|---|---|
| Author: | Yawning Angel | |
| Committer: | Yawning Angel | |
go/genesis: Sign the genesis validators with an entity I still have no idea what the best way to handle non-genesis validators is. The current plan is likely to add them to the registry as part of the node-descriptor, but that will create interesting issues with the dump/restore process. Note: The bootstrap server will use the debug test entity to sign the validator, so bad things will happen if it's not configured to use test keys or the test entity.
| Commit: | 226d5d3 | |
|---|---|---|
| Author: | ptrus | |
| Committer: | ptrus | |
go/storage/grpc: extract common write log iterator sending logic
| Commit: | 9e7dfb6 | |
|---|---|---|
| Author: | ptrus | |
| Committer: | ptrus | |
go/storage: GetCheckpoint operation
| Commit: | af81e9b | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
storage: Identify roots by (namespace, round, root_hash)
| Commit: | ff0d5ea | |
|---|---|---|
| Author: | Jan Berčič | |
| Committer: | Jan Berčič | |
go/storage: Implement GetDiff
| Commit: | 3785393 | |
|---|---|---|
| Author: | Yawning Angel | |
| Committer: | Yawning Angel | |
go/staking: Add `CommonPool` Burns need to be sent to a common pool. It will help if there is a destination for such things.
| Commit: | 7fbe72e | |
|---|---|---|
| Author: | Yawning Angel | |
| Committer: | Yawning Angel | |
go/staking: Add gRPC bindings
| Commit: | 11d9f13 | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
go/storage: Remove separate GetValue method Since leaf nodes always contain the value this resulted in the values being stored twice in the underlying NodeDB. There is no need for this separation as even if the database implementation stores them separately it can always fetch them when requesting the leaf node.
| Commit: | 60a4e4d | |
|---|---|---|
| Author: | Peter Us | |
| Committer: | Peter Us | |
go/registry: remove non-block based methods
| Commit: | 003ded9 | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
storage: Remove unused code from old CAS storage
| Commit: | 825c904 | |
|---|---|---|
| Author: | Tadej Janež | |
| Committer: | Tadej Janež | |
Support multiple storage receipts
| Commit: | 1f276a2 | |
|---|---|---|
| Author: | Yawning Angel | |
| Committer: | Yawning Angel | |
go/registry: Add Runtime.KeyManager
| Commit: | 65f7d59 | |
|---|---|---|
| Author: | Yawning Angel | |
| Committer: | Yawning Angel | |
go/registry: Remove the unused `Runtime.Code` field This might break deployment, because we use a pre-generated runtime descriptor. It needs to be regenerated anyway.
| Commit: | 0011670 | |
|---|---|---|
| Author: | Yawning Angel | |
| Committer: | Yawning Angel | |
go/common/node: Add `Runtime.ExtraInfo` It is useful to be able to add extra data to the per-node/per-runtime component of the node's descriptor (eg: propagate per-enclave instance state in a generic way, without requiring a separate BFT call).
| Commit: | 2f06bea | |
|---|---|---|
| Author: | Tadej Janež | |
| Committer: | Tadej Janež | |
Remove CAS storage API
| Commit: | 51988fc | |
|---|---|---|
| Author: | Peter Us | |
| Committer: | Peter Us | |
go/roothash: Remove proto
| Commit: | 391944b | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
go/scheduler: Remove unused gRPC interface
| Commit: | 3567fef | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
Fully implement storage RFC 22
| Commit: | 6fef7de | |
|---|---|---|
| Author: | Yawning Angel | |
| Committer: | Jernej Kos | |
go: Make the KeyManager node first class
| Commit: | 9b554e2 | |
|---|---|---|
| Author: | eauge | |
| Committer: | GitHub | |
add transaction as compute node type (#1712) * add transaction as compute node type * add check for protobuf files * add protobufs * link ekiden and grpc correct * echo protoc version * compile with right version of protoc
| Commit: | f515f06 | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
go/client: Add WaitBlockIndexed API
| Commit: | 11d9b48 | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
client: Add Bleve indexer, advanced queries and index pruning
| Commit: | 726a778 | |
|---|---|---|
| Author: | Warren He | |
Merge remote-tracking branch origin/master into pro-wh/feature/txsch
| Commit: | 49dce38 | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
client: Add GetTransactions API
| Commit: | ff075a0 | |
|---|---|---|
| Author: | Andrej Bukošek | |
| Committer: | Andrej Bukošek | |
Expose MKVS in Go storage API
| Commit: | d79e379 | |
|---|---|---|
| Author: | Warren He | |
go: rename transactionscheduler
| Commit: | d4ad2a7 | |
|---|---|---|
| Author: | Warren He | |
Merge remote-tracking branch 'origin/master' into pro-wh/feature/txsch
| Commit: | a7fe29b | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
Update runtime client interfaces
| Commit: | c63c81e | |
|---|---|---|
| Author: | Warren He | |
Merge remote-tracking branch 'origin/master' into pro-wh/feature/txsch
| Commit: | 31f3262 | |
|---|---|---|
| Author: | Warren He | |
| Committer: | Warren He | |
go: move ScheduleTx to transaction scheduler interface
| Commit: | c0af292 | |
|---|---|---|
| Author: | Peter Us | |
| Committer: | Peter Us | |
registry: node role support
| Commit: | f08146e | |
|---|---|---|
| Author: | Jernej Kos | |
roothash: Remove legacy round in protobuf header serialization
| Commit: | 1c46535 | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
Add indexable block/transaction tags
| Commit: | 31432a3 | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
client: Add GetBlock API
| Commit: | f0b052c | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
roothash: Remove unused WatchBlocksSince
| Commit: | a5510fd | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
roothash: Make round a regular uint64 on the wire
| Commit: | 22a4e07 | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
Rewrite ekiden runtime implementation
| Commit: | 95107ea | |
|---|---|---|
| Author: | Jan Berčič | |
| Committer: | Jan Berčič | |
Add client RPC to wait for node to finish initial synchronization
| Commit: | 77936bf | |
|---|---|---|
| Author: | Jan Berčič | |
| Committer: | Jan Berčič | |
Move runtime calls and block tracing from the client into the node
| Commit: | b57cc77 | |
|---|---|---|
| Author: | Yawning Angel | |
| Committer: | Yawning Angel | |
go/storage: Add a simple proof-of-storage mechanism (aka receipts) Till the v1 storage design with proper merkle proofs can be implemented, add a simple proof-of-storage mechanism based around an explicity query. While this consumes an extra round-trip, it is significantly easier to implement, and 1xRTT per batch is likely negligible in the grand scheme of things. WARNING: This is BREAKING and UNMIGRATABLE.
| Commit: | ada01d0 | |
|---|---|---|
| Author: | Yawning Angel | |
go/registry: Future-proof the TEE field in the runtime descriptor Instead of a bool indicating if SGX is required, each runtime descriptor now specifies which TEE type it requires. While this is functionally equivalent, it avoids having to alter the datastructure or much of the code when there is a third TEE type.
| Commit: | dd4598f | |
|---|---|---|
| Author: | Yawning Angel | |
| Committer: | Yawning Angel | |
go/registry: Remove unused Runtime descriptor fields The following fields are removed since they are currently unused: * MinimumBond * ModeNonDeterministic * AdvertisementRate When staking is specified, we can re-add the fields if it turns out that we need them.
| Commit: | 56f3843 | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
go/common/{entity,node}: Remove unused EthAddress field
| Commit: | 64a935b | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
go: Cleanup APIs exposed via gRPC
| Commit: | cbe87bf | |
|---|---|---|
| Author: | Matevž Jekovec | |
| Committer: | Matevž Jekovec | |
Replace token with simple-keyvalue client/runtime
| Commit: | 7aff697 | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
stake: Removed unused stake crates
| Commit: | 333284e | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
Remove Rust-based compute node
| Commit: | 05c78d8 | |
|---|---|---|
| Author: | Armani Ferrante | |
| Committer: | GitHub | |
KeyManager signs get_public_key response with dummy key (#1305)
| Commit: | 9e9ed2e | |
|---|---|---|
| Author: | Yawning Angel | |
| Committer: | Yawning Angel | |
go: Improve support for multiple runtimes * Node registrations now enumerate supported runtimes. * Node registration capabilities (attestations) are per runtime. * Node registration `Stake` field is deprecated and removed. * Scheduler now factors in node runtime availability. * Worker host registers the test entity once and only once. * Worker host registers multiple runtimes correctly. * Fix worker host cancelation hanging if mid-initial registration. * SGX attestation digest now includes the runtime ID.
| Commit: | da13acf | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
go: Add compute committee node
| Commit: | c99e3bd | |
|---|---|---|
| Author: | Yawning Angel | |
| Committer: | Yawning Angel | |
go/common/ias: Add SigRL retreival to the IAS proxy At some point this needs to have the ability to whitelist based on EPID GID so that we don't provide arbitrary ones to absolutely everyone. This commit also wires in the SigRL retrieval into the worker host capability initialization.
| Commit: | 9b81057 | |
|---|---|---|
| Author: | Yawning Angel | |
| Committer: | Yawning Angel | |
registry, node: Changes to support SGX This change contains the preliminary implementation of the required components to support SGX per the confidentialy core RFC. WARNING: This change requires an ABCI state wipe and is BACKWARDS INCOMPATIBLE.
| Commit: | bdcbd38 | |
|---|---|---|
| Author: | Jernej Kos | |
| Committer: | Jernej Kos | |
go: Add worker host implementation
| Commit: | 1fa1c06 | |
|---|---|---|
| Author: | Yawning Angel | |
| Committer: | Yawning Angel | |
go: Convert from dep to a Go 1.11 module * All Go/Rust shared protobuf definitions now live under `go/grpc`. * Building ekiden go code now REQURES Go 1.11, use the latest container if needed. * Generating the Go protobuf files now REQUIRES at least v1.1.0 of the protobuf compiler. use the latest container if needed. * Go's module support strongly prefers that the directory containing all of the code is NOT under GOPATH.
| Commit: | 4aafea9 | |
|---|---|---|
| Author: | Yawning Angel | |
| Committer: | Yawning Angel | |
go/common/ias: Implement a gRPC->IAS proxy microservice Untested, not wired in to anything yet, need to figure out how we want to do certificate management. Implements #982.