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.