Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
7dee974
feat(ffi-refactor): replace sequence id with pointer to proposals (8/8)
demosdemon Aug 22, 2025
53fb5f4
Merge branch 'main' into brandon.leblanc/ffi-refactor
demosdemon Aug 27, 2025
7efdf98
Merge branch 'main' into brandon.leblanc/ffi-refactor
demosdemon Aug 27, 2025
9071f19
Merge remote-tracking branch 'origin/main' into brandon.leblanc/ffi-r…
demosdemon Sep 5, 2025
483538f
use something adding in merge
demosdemon Sep 5, 2025
d8ebb92
Merge remote-tracking branch 'origin/main' into brandon.leblanc/ffi-r…
demosdemon Sep 5, 2025
87515fc
errant change from resolving merge conflicts
demosdemon Sep 5, 2025
6b1e3af
start moving things out of memory.go
demosdemon Sep 5, 2025
8171ef7
fix doc error
demosdemon Sep 5, 2025
d3e2ac7
Merge branch 'main' into brandon.leblanc/ffi-refactor
demosdemon Sep 8, 2025
c04104b
feat!: rename `Hashable::key`
demosdemon Sep 9, 2025
6792c2f
put back the filtered child_hashes
demosdemon Sep 9, 2025
1d1c29a
comments
demosdemon Sep 9, 2025
1705b44
correct comments on the trait
demosdemon Sep 9, 2025
acf3e94
feat(proofs)!: add v0 serialization for RangeProofs
demosdemon Sep 10, 2025
eb9e4ec
go fmt
demosdemon Sep 10, 2025
febb68e
update err to match on both ethhash and not
demosdemon Sep 10, 2025
49f9366
ensure partial range proofs generate and serialize
demosdemon Sep 10, 2025
ec8ee02
Merge branch 'main' into brandon.leblanc/ffi-refactor
demosdemon Sep 10, 2025
c3e0da7
feedback updates
demosdemon Sep 10, 2025
9cc3c53
golint
demosdemon Sep 10, 2025
7802d5e
update documentation
demosdemon Sep 10, 2025
40c33cc
make ChildrenMap generic
demosdemon Sep 10, 2025
3629d76
fix docs
demosdemon Sep 10, 2025
ccc5f1c
Merge branch 'brandon.leblanc/hashable-trait-methods' into brandon.le…
demosdemon Sep 10, 2025
d182370
Merge branch 'brandon.leblanc/serialized-range-proofs' into brandon.l…
demosdemon Sep 10, 2025
7aaa681
more tests and document the DOS
demosdemon Sep 10, 2025
6b33cf2
simplify tests
demosdemon Sep 10, 2025
31648d7
consistency
demosdemon Sep 10, 2025
e84ae42
rewrite reader to be easier to read
demosdemon Sep 10, 2025
60b54ae
finish moving things around
demosdemon Sep 10, 2025
f0375c4
fix docs
demosdemon Sep 10, 2025
72a444d
hide ProofType too
demosdemon Sep 10, 2025
4ed5534
Merge branch 'brandon.leblanc/serialized-range-proofs' into brandon.l…
demosdemon Sep 10, 2025
b46ca19
check that the keys drom the dropped proposal are not in the db
demosdemon Sep 10, 2025
7508405
Merge branch 'main' into brandon.leblanc/hashable-trait-methods
demosdemon Sep 15, 2025
21ba3b7
Merge branch 'brandon.leblanc/hashable-trait-methods' into brandon.le…
demosdemon Sep 15, 2025
3669d24
Merge branch 'brandon.leblanc/serialized-range-proofs' into brandon.l…
demosdemon Sep 15, 2025
5e7cca7
fix(range-proofs): serialize range proof key consistently
demosdemon Sep 15, 2025
6a6648d
Merge remote-tracking branch 'origin/main' into brandon.leblanc/seria…
demosdemon Sep 15, 2025
b818975
Merge remote-tracking branch 'origin/main' into brandon.leblanc/fix-l…
demosdemon Sep 15, 2025
7ab26ab
Merge branch 'main' into brandon.leblanc/serialized-range-proofs
demosdemon Sep 15, 2025
6348f89
fix(range-proofs): fix verify of exclusion proofs
demosdemon Sep 15, 2025
4a6a77d
Merge branch 'brandon.leblanc/fix-left-exclusion-proof' into brandon.…
demosdemon Sep 15, 2025
662daa3
Merge branch 'main' into brandon.leblanc/fix-left-exclusion-proof
demosdemon Sep 15, 2025
ff250bc
Merge branch 'brandon.leblanc/fix-left-exclusion-proof' into brandon.…
demosdemon Sep 15, 2025
e57666a
fix for ethhash
demosdemon Sep 15, 2025
e4f8ee8
Merge branch 'brandon.leblanc/fix-left-exclusion-proof' into brandon.…
demosdemon Sep 15, 2025
07bf0d1
Merge branch 'brandon.leblanc/serialized-range-proofs' into brandon.l…
demosdemon Sep 15, 2025
7580057
Merge remote-tracking branch 'origin/brandon.leblanc/fix-verify-exclu…
demosdemon Sep 16, 2025
228b463
Merge remote-tracking branch 'origin/main' into brandon.leblanc/ffi-r…
demosdemon Sep 16, 2025
ec865c8
Merge branch 'main' into brandon.leblanc/ffi-refactor
demosdemon Sep 16, 2025
5266c78
Merge branch 'main' into brandon.leblanc/ffi-refactor
demosdemon Sep 24, 2025
fcc07b8
Merge branch 'main' into brandon.leblanc/ffi-refactor
demosdemon Sep 26, 2025
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
25 changes: 23 additions & 2 deletions ffi/firewood.go
Original file line number Diff line number Diff line change
Expand Up @@ -152,8 +152,7 @@ func (db *Database) Propose(keys, vals [][]byte) (*Proposal, error) {
return nil, err
}

val := C.fwd_propose_on_db(db.handle, kvp)
return newProposal(db.handle, &val)
return getProposalFromProposalResult(C.fwd_propose_on_db(db.handle, kvp), db)
}

// Get retrieves the value for the given key. It always returns a nil error.
Expand Down Expand Up @@ -231,3 +230,25 @@ func (db *Database) Revision(root []byte) (*Revision, error) {

return &Revision{database: db, root: root}, nil
}

// Close releases the memory associated with the Database.
//
// This is not safe to call while there are any outstanding Proposals. All proposals
// must be freed or committed before calling this.
//
// This is safe to call if the pointer is nil, in which case it does nothing. The
// pointer will be set to nil after freeing to prevent double free. However, it is
// not safe to call this method concurrently from multiple goroutines.
func (db *Database) Close() error {
if db.handle == nil {
return nil
}

if err := getErrorFromVoidResult(C.fwd_close_db(db.handle)); err != nil {
return fmt.Errorf("unexpected error when closing database: %w", err)
}

db.handle = nil // Prevent double free

return nil
}
239 changes: 137 additions & 102 deletions ffi/firewood.h

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading