Skip to content

Commit

Permalink
Update tari_crypto and dependencies
Browse files Browse the repository at this point in the history
Cherry picks tari_crypto and dependencies to 0.0.6
  • Loading branch information
CjS77 committed Jan 12, 2020
1 parent 78a3242 commit af65a49
Show file tree
Hide file tree
Showing 85 changed files with 3,978 additions and 179 deletions.
27 changes: 21 additions & 6 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
version: 2
version: 2.1

defaults:
rust_image: &rust_image quay.io/tarilabs/rust_tari-build-with-deps:nightly-2019-08-21
rust_image: &rust_image quay.io/tarilabs/rust_tari-build-with-deps:nightly-2019-10-04

jobs:
test-docs:
docker:
- image: *rust_image
steps:
- checkout
- run:
command: |
git submodule update --init --recursive
name: Init git submodule
- run:
name: RFC documentation
command: |
Expand All @@ -25,6 +29,10 @@ jobs:
- image: quay.io/tarilabs/git-ssh-client:0.2-alpine
steps:
- checkout
- run:
command: |
git submodule update --init --recursive
name: Init git submodule
- attach_workspace:
at: .
- add_ssh_keys:
Expand Down Expand Up @@ -65,16 +73,23 @@ jobs:
test-tari:
docker:
- image: *rust_image
resource_class: medium
steps:
- checkout
- run:
command: |
git submodule update --init --recursive
name: Init git submodule
- run:
name: Tari source code
command: |
TOOLCHAIN_VERSION=nightly-2019-08-21
rustup component add --toolchain $TOOLCHAIN_VERSION rustfmt
TOOLCHAIN=$(cat rust-toolchain)
NUM_JOBS=2
rustup component add --toolchain $TOOLCHAIN rustfmt
cargo build --jobs=$NUM_JOBS --all-features
cargo fmt --all -- --check
cargo test --all
cargo test --release
cargo test --workspace --all-features --jobs=$NUM_JOBS
cargo test --workspace --all-features --release --jobs=$NUM_JOBS
workflows:
version: 2
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ target
*.userprefs
.vscode/
*.code-workspace
tags

# Ignore OS files
.DS_Store
Expand All @@ -33,3 +34,5 @@ Cargo.lock
# Ignore DataStore and Database files
*.mdb
/data/
*.sqlite3
base_layer/wallet_ffi/build.config
8 changes: 8 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[submodule "comms/rust-multiaddr"]
path = comms/rust-multiaddr
url = https://github.com/tari-project/rust-multiaddr.git
branch = tari
[submodule "comms/yamux"]
path = comms/yamux
url = https://github.com/tari-project/yamux.git
branch = futures-alpha
22 changes: 19 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,32 @@

members = [
"base_layer/core",
"base_layer/keymanager",
"base_layer/transactions",
"base_layer/key_manager",
"base_layer/mmr",
"base_layer/mining",
"base_layer/p2p",
"base_layer/service_framework",
"base_layer/wallet",
"base_layer/wallet_ffi",
"comms",
"comms/dht",
"comms/middleware",
# TODO: Remove this once tower filter (0.3.0-alpha.3) is released
"comms/middleware/tower-filter",
"digital_assets_layer/core",
"infrastructure/broadcast_channel",
"infrastructure/crypto",
"infrastructure/protobuf_build",
"infrastructure/pubsub",
"infrastructure/shutdown",
"infrastructure/storage",
"applications/grpc_wallet",
"applications/console_text_messenger",
"infrastructure/test_utils",
#"applications/tari_testnet_miner",
"applications/tari_base_node",
#Needs to be updated to make its calls using an Tokio runtime block_on function.
#"ffi"
#The wallet gRPC is based on the old Futures and not part of the Testnet scope
#"applications/grpc_wallet",
# "applications/console_text_messenger",
]
29 changes: 29 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
BSD 3-Clause License

Copyright (c) 2019, The Tari Developer Community
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

3. Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
14 changes: 14 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,20 @@ to generate the documentation. The generated html sits in `target/doc/`. Alterna

See [RFC-0110/CodeStructure](./RFC/src/RFC-0010_CodeStructure.md) for details on the code structure and layout.

### Git submodules

Git submodules are use temporarily until some dependent libraries are stabilized and released as crates.
When checking out code take the following steps to ensure submodules are up to date.

```shell script
# Initialize submodules
git submodule init
# Sets `git pull` to automatically pull submodules
git config submodule.recurse true
# Checkout/update all submodules
git submodule update --recursive --remote
```

## Conversation channels

[<img src="https://ionicons.com/ionicons/svg/md-paper-plane.svg" width="32">](https://t.me/tarilab) Non-technical discussions and gentle sparring.
Expand Down
5 changes: 3 additions & 2 deletions RELEASE_CHECKLIST.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,10 @@ THings to do before pushing a new commit to `master`:
* Create new `rc` branch off development.
* Update crate version numbers
* Check that all tests pass in development (`cargo test`, `cargo test --release`)
* Rebase onto master
* Publish new crates to crates.io (`./scripts/publish_crates.sh`)
* Fix any issues with publishing
* Rebase onto master (from rc branch, `git reset --soft master` and `git commit`)
* Tag commit
* Write release notes on GitHub.
* Merge back into development (where appropriate)
* Delete branch
* Delete branch
6 changes: 5 additions & 1 deletion RFC/src/Glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,11 @@ A collection transactions and associated metadata recorded as a single entity in
Tari transactions is set purely by the block height of the block they are recorded in.


## Block Header
[block header]: #block-header "A collection of information validating the information within a [block]"

A data structure that validates the information contained in a [block].

## Block reward
[block reward]: #block-reward "The amount of Tari created in every block"

Expand Down Expand Up @@ -322,7 +327,6 @@ network conditions etc.
The base layer token. Tari coins are released according to the [emission schedule] on the Tari [base layer]
[blockchain] in [coinbase transaction]s.


## Transaction
[transaction]: #transaction "Base layer tari coin transfers."

Expand Down
2 changes: 1 addition & 1 deletion RFC/src/RFC-0100_BaseLayer.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ The aim of this Request for Comment (RFC) is to describe the major software comp

* [RFC-0001: Overview](RFC-0001_overview.md)
* [RFC-0110: Base Nodes](./RFC-0110_BaseNodes.md)
* [RFC-0120: Consensus rules](./RFC-0120_Consensus.md)
* [RFC-0130: Mining](./RFC-0130_Mining.md)
* [RFC-0150: Wallets](./RFC-0150_Wallets.md)

Expand Down Expand Up @@ -81,4 +82,3 @@ project source code:
* Peer-to-peer networking and messaging services

[RFC-0010](RFC-0010_CodeStructure.md) provides more detail on how the source code is structured within the Tari codebase.

Loading

0 comments on commit af65a49

Please sign in to comment.