Augusto F. Hack
669ebb49fb
bugfix: check if the requested root is in the storage
2023-03-16 23:26:02 +01:00
Victor Lopez
91667fd7de
refactor: add derive proc macros to merkle store
...
This commit introduce common derive proc macros to MerkleStore. These
are required downstream as the in-memory storage can be cloned.
It also introduces constructors common to the other types of the crate
that will help to build a merkle store, using a build pattern.
2023-03-16 10:28:45 +01:00
Augusto F. Hack
88a646031f
feat: add merkle store
2023-03-15 17:34:42 +01:00
Victor Lopez
3a6a4fcce6
feat: refactor simple smt to use empty subtree constants
...
Prior to this commit, there was an internal procedure with the merkle
trees to compute empty sub-tree for arbitrary depths.
However, this isn't ideal as this code can be reused in any merkle
implementation that uses RPO as backend.
This commit introduces a structure that will generate these empty
subtrees values.
2023-03-07 20:44:42 +01:00
Augusto F. Hack
32d37f1591
feat: merkle mountain range
2023-03-02 13:07:55 +01:00
Bobbin Threadbare
ae3f14e0ff
Merge pull request #74 from 0xPolygonMiden/hacka-node-index-docs
...
docs: mention tree form order of NodeIndex docs
2023-02-22 12:19:45 -08:00
Augusto F. Hack
dfb073f784
docs: mention tree form order of NodeIndex docs
2023-02-22 17:23:03 +01:00
Victor Lopez
35b255b5eb
feat: re-export winter-crypto Hasher, Digest & ElementHasher
...
This commit introduces the re-export of the listed primitives.
They will be used inside Miden to report the security level of the
picked primitive, as well as other functionality.
closes #72
2023-02-22 16:56:14 +01:00
Victor Lopez
0af45b75f4
feat: upgrade to winterfell 0.5
2023-02-20 23:57:41 +01:00
Bobbin Threadbare
3c9a5235a0
docs: fix typos in doc comments
2023-02-17 11:58:23 -08:00
Victor Lopez
9307178873
feat: add from_elements
to NodeIndex
2023-02-16 21:14:07 +01:00
Victor Lopez
0799b1bb9d
feat: add merkle node index
...
This commit introduces a wrapper structure to encapsulate the merkle
tree traversal.
related issue: #36
2023-02-15 23:53:01 +01:00
Victor Lopez
21a8cbcb45
feat: add merkle path wrapper
...
A Merkle path is a vector of nodes, regardless of the Merkle tree
implementation.
This commit introduces an encapsulation for such vector, also to provide
functionality that is common between different algorithms such as
opening verification.
related issue: #36
2023-02-13 22:43:13 +01:00
Victor Lopez
ed36ebc542
fix: sponge pad panics on input
...
closes #44
2023-02-09 13:06:06 +01:00
Kaneki (カネキ ケン)
f399df5def
Merge pull request #47 from 0xPolygonMiden/kaneki-domain-separator
...
refactor merge in domain tests
2023-02-01 13:21:24 +00:00
0xKanekiKen
37c6f003c4
tests: refactor merge_in_domain tests
...
Signed-off-by: 0xKanekiKen <100861945+0xKanekiKen@users.noreply.github.com>
2023-02-01 13:14:03 +00:00
Kaneki (カネキ ケン)
6de7730e30
Merge pull request #40 from 0xPolygonMiden/kaneki-domain-separator
...
Domain separator during merge
2023-01-23 20:20:38 +00:00
0xKanekiKen
5757b896fe
test: unit tests for merge in domain method
...
Signed-off-by: 0xKanekiKen <100861945+0xKanekiKen@users.noreply.github.com>
2023-01-23 20:17:34 +00:00
0xKanekiKen
ce2cbe704b
refactor: reexport publiccoin & publiccoinerror from winterfell
...
Signed-off-by: 0xKanekiKen <100861945+0xKanekiKen@users.noreply.github.com>
2023-01-23 16:50:30 +00:00
0xKanekiKen
bc6191b3fa
feat: new merge method for 2 digest with a domain separator
...
Signed-off-by: 0xKanekiKen <100861945+0xKanekiKen@users.noreply.github.com>
2023-01-23 16:26:53 +00:00
Bobbin Threadbare
4f65d01df4
feat: add PartialEq and Eq traits to Merkle structs
2022-12-27 19:40:58 -08:00
Victor Lopes
aa12215d30
Merge pull request #27 from 0xPolygonMiden/add-simple-smt
...
feat: add simple sparse merkle tree
2022-12-14 14:32:40 +01:00
Victor Lopez
5fd0d692e8
feat: add simple sparse merkle tree
...
This commit moves the previous implementation of `SparseMerkleTree` from
miden-core to this crate.
It also include a couple of new tests, a bench suite, and a couple of
minor fixes. The original API was preserved to maintain compatibility
with `AdviceTape`.
closes #21
2022-12-14 14:26:01 +01:00
Anjan Roy
b4f9d60981
chg: don't assume we're only working with base field elements, consider extension field elements too
...
See https://github.com/0xPolygonMiden/crypto/pull/29#discussion_r1045108928 where it was suggested.
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2022-12-12 09:49:33 +04:00
Anjan Roy
0d713af4ac
chg: don't assume that default features are available on all targets
...
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2022-12-10 12:49:38 +04:00
Anjan Roy
aa4e313690
chg: first convert all elements to little endian bytes and then consume them in a single call to blake3 hasher
...
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2022-12-10 11:48:19 +04:00
Bobbin Threadbare
9782992662
feat: improve blake3 sequential hashing performance
2022-12-09 13:51:16 -08:00
Bobbin Threadbare
9b08ac731d
docs: update main README file
2022-12-02 11:25:18 -08:00
Bobbin Threadbare
ee1d5dc2e1
chore: clean up create interfaces
2022-11-30 21:28:54 -08:00
Bobbin Threadbare
0257538a1e
Merge pull request #18 from 0xPolygonMiden/add-blake3
...
feat: add blake3 160, 192 & 256 bits
2022-11-30 13:51:28 -08:00
Victor Lopez
57d4cb0303
feat: add blake3 160, 192 & 256 bits
...
closes #6
2022-11-30 14:15:13 +01:00
Victor Lopez
dc2e82e011
feat: implement ord for rpo digest 256
...
closes #8
2022-11-28 20:58:02 +01:00
Victor Lopez
3b9d515d00
feat: add no-std support
...
closes #5
2022-11-24 22:10:56 +01:00
Bobbin Threadbare
7395697a68
refactor: flattened repo structure
2022-10-26 14:54:38 -07:00