Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
0d7ecad
Circleci project setup (#1)
PaulLaux Mar 30, 2022
58158f5
Added NoteType to Notes
PaulLaux Apr 28, 2022
48779d5
reformated file
PaulLaux May 12, 2022
430e047
updated `derive` for NoteType
PaulLaux May 19, 2022
f8cb133
added note_type to value commit derivation
PaulLaux May 20, 2022
d337f82
rustfmt
PaulLaux May 22, 2022
0d656aa
updated ci config
PaulLaux May 22, 2022
bae15b7
updated ci config
PaulLaux May 22, 2022
100b644
updated ci config
PaulLaux May 22, 2022
91466fe
updated derive for note_type
PaulLaux May 22, 2022
7d1a606
added test for arb note_type
PaulLaux May 23, 2022
6a10f45
added test for `native` note type
PaulLaux May 23, 2022
9644241
zsa-note-encryption: introduce AssetType and encode and decode it in …
May 23, 2022
8bdbf3f
zsa-note-encryption: extend the size of compact notes to include asse…
May 23, 2022
69f0ea4
fixed clippy warrnings
PaulLaux May 24, 2022
c4d9eea
rustfmt
PaulLaux May 24, 2022
9b83fa5
zsa-note-encryption: document parsing requirement
May 29, 2022
826378a
zsa-note-encryption: revert support of ZSA compact action
May 29, 2022
50ce4e2
zsa_value: add NoteType method is_native
May 29, 2022
b04468c
Merge branch 'zsa-note-encryption' into zsa-value-and-encryption
May 29, 2022
9a7d76c
zsa-note-encryption: remove dependency on changes in the other crate
May 29, 2022
94626af
zsa-note-encryption: extract memo of ZSA notes
May 29, 2022
1f11f1d
zsa-note-encryption: tests (zcash_test_vectors 77c73492)
Jun 12, 2022
1a6658d
zsa-note-encryption: simplify roundtrip test
Jun 12, 2022
66f040f
zsa-note-encryption: more test vectors (zcash_test_vectors c10da464)
Jun 12, 2022
ce91df1
Circleci project setup (#1)
PaulLaux Mar 30, 2022
769f2f7
issuer keys implementation (#5)
daniben31 Jun 14, 2022
8a6f599
Added NoteType to Notes (#2)
PaulLaux Jun 14, 2022
3a6ed1e
Merge branch 'zsa1' into zsa-note-encryption
PaulLaux Jun 15, 2022
33a205b
Circleci project setup (#1)
PaulLaux Mar 30, 2022
71565ee
issuer keys implementation (#5)
daniben31 Jun 14, 2022
5ae5107
Added NoteType to Notes (#2)
PaulLaux Jun 14, 2022
48d65ee
added note_type to builder
PaulLaux Jun 8, 2022
60a17a2
Merge branch 'zsa1' into zsa-builder
PaulLaux Jul 18, 2022
ac71bc7
ZSA note encryption in Orchard crate (#3)
naure Jul 20, 2022
c8d3557
minor update
PaulLaux Jul 27, 2022
45bf2d6
Merge branch 'zsa1' into zsa-builder
PaulLaux Jul 27, 2022
93f0244
rustfmt
PaulLaux Jul 27, 2022
b86a5e0
removed comment
PaulLaux Jul 27, 2022
d15600c
added IssueAction
PaulLaux Jul 14, 2022
95079aa
updated issue
PaulLaux Jul 24, 2022
c7a8783
updated issuance
PaulLaux Jul 27, 2022
ca0935e
fmt
PaulLaux Jul 27, 2022
f014f85
added add_recipent to `IssueBundle`
PaulLaux Aug 31, 2022
b20a3e1
added test
PaulLaux Sep 1, 2022
aca6c71
added tests
PaulLaux Sep 1, 2022
d3ad5e1
added prepare
PaulLaux Sep 4, 2022
3ebec5f
added sign and verify
PaulLaux Sep 5, 2022
0ec7e01
moved authorization from issueAction to IssueBundle and test cleanup
PaulLaux Sep 6, 2022
ecf6013
moved ik to IssueBundle
PaulLaux Sep 7, 2022
51a5fe4
fmt
PaulLaux Sep 7, 2022
e83aa54
added NoteValue::unsplittable Error for asset_desc size
PaulLaux Sep 8, 2022
97d8d8a
added verify_issue_bundle
PaulLaux Sep 8, 2022
a6567f4
removed prop_test for issue
PaulLaux Sep 8, 2022
72680af
added sighash to setup params
PaulLaux Sep 8, 2022
3f58b7c
added test
PaulLaux Sep 8, 2022
75e9447
verify_issue_bundle now returns the same HashSet it got as a param
PaulLaux Sep 8, 2022
5aa18e5
added issue_bundle_verify_with_finalize and
PaulLaux Sep 8, 2022
8e447a7
added some comments
PaulLaux Sep 11, 2022
3902f75
updated docs
PaulLaux Sep 12, 2022
29808bd
Zsa builder (#4)
PaulLaux Sep 19, 2022
46085d7
Issuance tests and Issue commitments. (#17)
alexeykoren Sep 21, 2022
9b804a1
minor cleanup
PaulLaux Sep 22, 2022
727dc81
minor cleanup2
PaulLaux Sep 22, 2022
f96b591
Merge branch 'zsa1' into zsa1-issue2
PaulLaux Sep 22, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Use the latest 2.1 version of CircleCI pipeline process engine.
# See: https://circleci.com/docs/2.0/configuration-reference
version: 2.1

orbs:
slack: circleci/slack@4.1

# Define a job to be invoked later in a workflow.
# See: https://circleci.com/docs/2.0/configuration-reference/#jobs
jobs:
cargo-test:
# Specify the execution environment. You can specify an image from Dockerhub or use one of our Convenience Images from CircleCI's Developer Hub.
# See: https://circleci.com/docs/2.0/configuration-reference/#docker-machine-macos-windows-executor
docker:
- image: cimg/rust:1.59.0
# Add steps to the job
# See: https://circleci.com/docs/2.0/configuration-reference/#steps
steps:
- checkout
- run:
name: "cargo test"
command: |
sudo apt update && sudo apt-get install libfontconfig libfontconfig1-dev libfreetype6-dev;
cargo version;
cargo test --all --all-features;
- slack/notify:
event: fail
template: basic_fail_1
- slack/notify:
event: pass
template: basic_success_1


# Invoke jobs via workflows
# See: https://circleci.com/docs/2.0/configuration-reference/#workflows
workflows:
build-and-test:
jobs:
- cargo-test:
context: CI-Orchard-slack
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,6 @@
**/*.rs.bk
Cargo.lock
.vscode
.idea
action-circuit-layout.png
proptest-regressions/*.txt
9 changes: 8 additions & 1 deletion benches/circuit.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ use criterion::{BenchmarkId, Criterion};
#[cfg(unix)]
use pprof::criterion::{Output, PProfProfiler};

use orchard::note::NoteType;
use orchard::{
builder::Builder,
bundle::Flags,
Expand All @@ -32,7 +33,13 @@ fn criterion_benchmark(c: &mut Criterion) {
);
for _ in 0..num_recipients {
builder
.add_recipient(None, recipient, NoteValue::from_raw(10), None)
.add_recipient(
None,
recipient,
NoteValue::from_raw(10),
NoteType::native(),
None,
)
.unwrap();
}
let bundle: Bundle<_, i64> = builder.build(rng).unwrap();
Expand Down
17 changes: 15 additions & 2 deletions benches/note_decryption.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ use orchard::{
bundle::Flags,
circuit::ProvingKey,
keys::{FullViewingKey, Scope, SpendingKey},
note::NoteType,
note_encryption::{CompactAction, OrchardDomain},
value::NoteValue,
Anchor, Bundle,
Expand Down Expand Up @@ -51,10 +52,22 @@ fn bench_note_decryption(c: &mut Criterion) {
// The builder pads to two actions, and shuffles their order. Add two recipients
// so the first action is always decryptable.
builder
.add_recipient(None, recipient, NoteValue::from_raw(10), None)
.add_recipient(
None,
recipient,
NoteValue::from_raw(10),
NoteType::native(),
None,
)
.unwrap();
builder
.add_recipient(None, recipient, NoteValue::from_raw(10), None)
.add_recipient(
None,
recipient,
NoteValue::from_raw(10),
NoteType::native(),
None,
)
.unwrap();
let bundle: Bundle<_, i64> = builder.build(rng).unwrap();
bundle
Expand Down
9 changes: 7 additions & 2 deletions src/action.rs
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@ pub(crate) mod testing {

use proptest::prelude::*;

use crate::note::note_type::testing::arb_note_type;
use crate::{
note::{
commitment::ExtractedNoteCommitment, nullifier::testing::arb_nullifier,
Expand All @@ -146,11 +147,13 @@ pub(crate) mod testing {
nf in arb_nullifier(),
rk in arb_spendauth_verification_key(),
note in arb_note(output_value),
note_type in arb_note_type()
) -> Action<()> {
let cmx = ExtractedNoteCommitment::from(note.commitment());
let cv_net = ValueCommitment::derive(
spend_value - output_value,
ValueCommitTrapdoor::zero()
ValueCommitTrapdoor::zero(),
note_type
);
// FIXME: make a real one from the note.
let encrypted_note = TransmittedNoteCiphertext {
Expand All @@ -177,11 +180,13 @@ pub(crate) mod testing {
note in arb_note(output_value),
rng_seed in prop::array::uniform32(prop::num::u8::ANY),
fake_sighash in prop::array::uniform32(prop::num::u8::ANY),
note_type in arb_note_type()
) -> Action<redpallas::Signature<SpendAuth>> {
let cmx = ExtractedNoteCommitment::from(note.commitment());
let cv_net = ValueCommitment::derive(
spend_value - output_value,
ValueCommitTrapdoor::zero()
ValueCommitTrapdoor::zero(),
note_type
);

// FIXME: make a real one from the note.
Expand Down
Loading