Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite ConflictDAG #2606

Draft
wants to merge 141 commits into
base: develop
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
141 commits
Select commit Hold shift + click to select a range
7c2cb28
Feat: Initial Brainstorm un multi-tiered conflictdag
hmoog Mar 10, 2023
10b10a0
Feat: more brainstorming
hmoog Mar 10, 2023
37109ba
Feat: started implementing ordering
hmoog Mar 11, 2023
83d251e
Feat: WIP WIP
hmoog Mar 14, 2023
bb26ad8
Feat: added unit tests
hmoog Mar 15, 2023
0021cfd
Feat: added more stuff
hmoog Mar 15, 2023
3e34f51
Feat: WIP WIP it works
hmoog Mar 16, 2023
71b62f6
Feat: started finalizing and commenting sub packages
hmoog Mar 16, 2023
5513fe5
Feat: refactored more code
hmoog Mar 16, 2023
9d2bc1a
Feat: more cleanup
hmoog Mar 16, 2023
9094a6e
Refactor: removed unnecessary code
hmoog Mar 16, 2023
9bfceea
Refactor: fixed some outputs in the String methods
hmoog Mar 16, 2023
8ced0b0
Merge branch 'develop' of https://github.com/iotaledger/goshimmer int…
hmoog Mar 17, 2023
3394cbc
Fix: updated constructor of AdvancedSet
hmoog Mar 17, 2023
643d928
Refactor: removed unused code
hmoog Mar 17, 2023
c933c52
Feat: implemented some preferred instead stuff
hmoog Mar 17, 2023
5740e1c
Feat: Added PreferredInstead functionalitz
hmoog Mar 17, 2023
80aeece
Refactor: started cleaning up
hmoog Mar 17, 2023
e042aef
Refactor: cleaned up more code
hmoog Mar 17, 2023
eb04c9c
Refactor: cleaned up code
hmoog Mar 17, 2023
6b80c04
Refactor: started cleanup SortedSet
hmoog Mar 17, 2023
55496d3
Refactor: cleaned up SortedSet
hmoog Mar 18, 2023
3aad4ed
Feat: hooked PreferredInsteadUpdated
hmoog Mar 18, 2023
bbab455
Test new Conflicts WIP
piotrm50 Mar 20, 2023
6b96cf1
Create a worker for updating conflict preference
piotrm50 Mar 21, 2023
222a962
Sorted conflicts somewhat work
piotrm50 Mar 21, 2023
ba18dd0
Test WIP
piotrm50 Mar 21, 2023
fc1aa60
Feat: added shared pendingTasksCounter
hmoog Mar 21, 2023
d7d7813
Feat: fixed bugs?
hmoog Mar 22, 2023
e82ff02
Add event log for debugging
piotrm50 Mar 22, 2023
c315e24
Fix: fixed some bugs
hmoog Mar 22, 2023
1dcc458
Improve unit tests
piotrm50 Mar 22, 2023
6e3148e
Improve test assertion
piotrm50 Mar 22, 2023
608bb25
Fix: fixed linter issue
hmoog Mar 22, 2023
14445bc
Refactor: refactored code
hmoog Mar 22, 2023
cc6980a
Fix: fixed race condition
hmoog Mar 22, 2023
c66b60c
Add parentsPreferredConflicts property
piotrm50 Mar 23, 2023
8f7fcca
Feat: started adding likeInstead references
hmoog Mar 24, 2023
484a33e
Feat: started adding tests for LikedInstead
hmoog Mar 24, 2023
56a4551
Feat: likedinstead seems to work
hmoog Mar 24, 2023
d5e1181
Refactor: refactored code
hmoog Mar 24, 2023
101870c
Fix: fixed linter errors
hmoog Mar 24, 2023
6dbff41
Refactor: fixed linter error
hmoog Mar 24, 2023
03b4b7a
Refactor: cleaned up code
hmoog Mar 25, 2023
13a3b23
Feat: started tying things together in the ConflictDAG
hmoog Mar 25, 2023
195a7a9
Merge branch 'develop' of github.com:iotaledger/goshimmer into feat/r…
hmoog Mar 29, 2023
12437c1
Feat: started adding conflictdag tests
hmoog Mar 29, 2023
0ef7a4c
Feat: extended tests
hmoog Mar 29, 2023
63e66d1
Fix: fixed bug
hmoog Mar 29, 2023
20e2aba
Fix: fixed bug
hmoog Mar 29, 2023
0254d06
Feat: added more tests
hmoog Mar 30, 2023
77785eb
Feat: upgraded hive.go
hmoog Apr 4, 2023
1fadcaf
Feat: cleaned up API
hmoog Apr 4, 2023
a2dad39
Feat: simplified API
hmoog Apr 4, 2023
21ca0f9
Feat: cleaned up API
hmoog Apr 5, 2023
f7af16c
Feat: simplified api
hmoog Apr 5, 2023
65e5c26
Feat: added method to join a conflict to new conflictSets
hmoog Apr 5, 2023
cf5fe5b
Feat: uploaded some changes
hmoog Apr 5, 2023
e85c8c8
Feat: cleaned up types
hmoog Apr 5, 2023
c90601c
Feat: added voting primitives
hmoog Apr 5, 2023
d02da12
Feat: cleaned up code
hmoog Apr 5, 2023
a107dbb
Refactor: cleaned up more code
hmoog Apr 5, 2023
1fffdd5
Feat: cleaned up code
hmoog Apr 6, 2023
bbee28a
Feat: merged more funcs
hmoog Apr 6, 2023
c6dbe6e
Feat: more cleanup
hmoog Apr 6, 2023
87f34c9
Refactor: started restructuring code
hmoog Apr 6, 2023
908cb0b
Refactor: added comments in respect to locking
hmoog Apr 7, 2023
7496958
Refactor: removed unnecessary variable
hmoog Apr 7, 2023
e02482a
Merge branch 'develop' into feat/rewrite-conflictdag-with-voting
hmoog Apr 7, 2023
cce86b2
Feat: go mod tidy
hmoog Apr 7, 2023
f378894
Fix: fixed data race
hmoog Apr 7, 2023
88b6ad5
Feat: cleaned up code
hmoog Apr 10, 2023
9d82204
Feat: started adding vote logic
hmoog Apr 10, 2023
bac12e8
Refactor: refactored walkers and removed utils
hmoog Apr 10, 2023
0d8a269
Feat: WIP (almost done)
hmoog Apr 11, 2023
44a821d
Feat: added tests for acceptance
hmoog Apr 11, 2023
dd73c3f
Feat: extended tests
hmoog Apr 11, 2023
5e223a1
Evaluate results of a test
piotrm50 Apr 11, 2023
e70660d
Feat: cleaned up code
hmoog Apr 12, 2023
8d32368
Clean up stuff
piotrm50 Apr 12, 2023
bc8b174
Move things from conflict package to conflictdag package and improve …
piotrm50 Apr 12, 2023
eb5ad7c
Fix: reverted accidental change from previous commit
hmoog Apr 12, 2023
5a1046e
Implement Dispose methods for Conflict and SortedConflicts
piotrm50 Apr 12, 2023
a311ac3
Feat: started tracking conflictsets in conflicts
hmoog Apr 13, 2023
b51e5ae
Implement eviction of the new ConflictDAG
piotrm50 Apr 13, 2023
80eeda0
Fix tests after refactoring
piotrm50 Apr 13, 2023
6b660de
Feat: started fixing tests
hmoog Apr 13, 2023
af2d817
Merge branch 'feat/rewrite-conflictdag-with-voting' of https://github…
hmoog Apr 13, 2023
b42d725
Fix: fixed tests#
hmoog Apr 13, 2023
8e6222e
Refactor: introduced utility method for getting conflictsets
hmoog Apr 13, 2023
750f35b
Feat: continued work ok eviction
hmoog Apr 14, 2023
6c2cc1d
Fix: fixed bug
hmoog Apr 14, 2023
5806b69
Feat: cleaned up eviction
hmoog Apr 14, 2023
bb9aa0f
Ledger uses new conflict DAG
piotrm50 Apr 14, 2023
1f0ed9b
Refactor: added comment
hmoog Apr 14, 2023
bd3dd69
Merge branch 'feat/rewrite-conflictdag-with-voting' of https://github…
hmoog Apr 14, 2023
b6961e3
Get rid of VirtualVoting component. Make markerbooker use new Conflic…
piotrm50 Apr 14, 2023
d3c2da5
Integrate the new conflictdag with the rest of the components
piotrm50 Apr 14, 2023
1412314
Start fixing compile errors
piotrm50 Apr 14, 2023
e1779ee
Refactor: reverted accidental rename
hmoog Apr 14, 2023
0cf3e83
Refactor: fix more rename bugs
hmoog Apr 14, 2023
e5c8078
Feat: more cleanup
hmoog Apr 14, 2023
bf717e9
Refactor: minimized changes
hmoog Apr 14, 2023
b0d3508
Feat: further minimized diff
hmoog Apr 14, 2023
d86df62
Fix: fixed some bugs
hmoog Apr 14, 2023
66ff2d4
Fix: fixed ReferenceProvider
hmoog Apr 14, 2023
cc057b7
Refactor: refactored code
hmoog Apr 15, 2023
53ec43b
Refactor: refactored code
hmoog Apr 15, 2023
fd9b2b0
Refactor: refactor
hmoog Apr 15, 2023
a2c126a
Refactor: minimized diff
hmoog Apr 15, 2023
eb09e99
Refactor: reverted erroneous rename
hmoog Apr 15, 2023
d0e8a14
Feat: switched ConflictDAG API to use AdvancedSets
hmoog Apr 17, 2023
9a80012
Feat: optimized code to use AdvancedSet everywhere
hmoog Apr 17, 2023
2462094
Feat: fixed interfaces
hmoog Apr 17, 2023
8a34c1d
Continue integrating new conflictdag with the codebase
piotrm50 Apr 17, 2023
6307ff4
Fix last problems
piotrm50 Apr 17, 2023
8d064cf
Fix tips conflicts tracker
piotrm50 Apr 17, 2023
26bdd21
Fix some problems with double spend resolution
piotrm50 Apr 17, 2023
d0e9ccd
Merge branch 'debug/race-conditions' into feat/rewrite-conflictdag-wi…
piotrm50 Apr 17, 2023
9537e80
Merge remote-tracking branch 'origin/debug/race-conditions' into feat…
piotrm50 Apr 17, 2023
162034f
Continue fixing problems after integrating the new conflictdag
piotrm50 Apr 17, 2023
2d8b6a4
Fix some more problems with double spend and guava spam.
piotrm50 Apr 17, 2023
ed31879
Feat: added some missing comments
hmoog Apr 17, 2023
3c9f913
Fix: fixed tests
hmoog Apr 17, 2023
9920479
Feat: Created ConflictDAG interface package
hmoog Apr 18, 2023
fa1d97a
Only remove strong parents when adding a new tip to tip pool
piotrm50 Apr 18, 2023
1cbee1c
Fix casting votes when propagating conflict after fork.
piotrm50 Apr 18, 2023
6ecdf48
Revert accidental change
piotrm50 Apr 18, 2023
2503e80
Feat: implemented generic test framework for conflictdag
hmoog Apr 19, 2023
27312ab
Merge remote-tracking branch 'origin/develop' into feat/rewrite-confl…
piotrm50 Apr 20, 2023
d026284
Fix post merge errors
piotrm50 Apr 20, 2023
aed80c5
Merge remote-tracking branch 'origin/develop' into feat/rewrite-confl…
piotrm50 Apr 20, 2023
d745f0a
Remove some unused metrics that caused problems
piotrm50 Apr 20, 2023
9846cee
Fix nil pointer in the metrics plugin
piotrm50 Apr 26, 2023
db1714c
Always create conflictsets
piotrm50 Apr 27, 2023
c7866a2
Get rid of implicit self-like
piotrm50 Apr 27, 2023
151a66e
Add a parent block back to the tip pool after removing old one.
piotrm50 Apr 27, 2023
7258ae8
Remove printlns for subjectively invalid blocks
piotrm50 Apr 27, 2023
4e167db
Fix imports
piotrm50 Apr 28, 2023
8574b8e
Add non-conflicting conflict to ConflictDAG test suite
karimodm May 11, 2023
749aa3e
Merge branch 'feat/rewrite-conflictdag-with-voting' of github.com:iot…
karimodm May 11, 2023
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
Prev Previous commit
Next Next commit
Feat: cleaned up code
hmoog committed Apr 10, 2023

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
commit 88b6ad50288b81f5cc3c6de8f2d6510d717a7422
36 changes: 18 additions & 18 deletions go.mod
Original file line number Diff line number Diff line change
@@ -13,20 +13,20 @@ require (
github.com/go-resty/resty/v2 v2.6.0
github.com/google/uuid v1.3.0
github.com/gorilla/websocket v1.4.2
github.com/iotaledger/hive.go/ads v0.0.0-20230406084657-747278ebc1f6
github.com/iotaledger/hive.go/app v0.0.0-20230406084657-747278ebc1f6
github.com/iotaledger/hive.go/autopeering v0.0.0-20230406084657-747278ebc1f6
github.com/iotaledger/hive.go/constraints v0.0.0-20230406084657-747278ebc1f6
github.com/iotaledger/hive.go/core v1.0.0-rc.3.0.20230406084657-747278ebc1f6
github.com/iotaledger/hive.go/crypto v0.0.0-20230406084657-747278ebc1f6
github.com/iotaledger/hive.go/ds v0.0.0-20230406084657-747278ebc1f6
github.com/iotaledger/hive.go/kvstore v0.0.0-20230406084657-747278ebc1f6
github.com/iotaledger/hive.go/lo v0.0.0-20230406084657-747278ebc1f6
github.com/iotaledger/hive.go/logger v0.0.0-20230406084657-747278ebc1f6
github.com/iotaledger/hive.go/objectstorage v0.0.0-20230406084657-747278ebc1f6
github.com/iotaledger/hive.go/runtime v0.0.0-20230406084657-747278ebc1f6
github.com/iotaledger/hive.go/serializer/v2 v2.0.0-rc.1.0.20230406084657-747278ebc1f6
github.com/iotaledger/hive.go/stringify v0.0.0-20230406084657-747278ebc1f6
github.com/iotaledger/hive.go/ads v0.0.0-20230410123404-1f6d86152bfe
github.com/iotaledger/hive.go/app v0.0.0-20230410123404-1f6d86152bfe
github.com/iotaledger/hive.go/autopeering v0.0.0-20230410123404-1f6d86152bfe
github.com/iotaledger/hive.go/constraints v0.0.0-20230410123404-1f6d86152bfe
github.com/iotaledger/hive.go/core v1.0.0-rc.3.0.20230410123404-1f6d86152bfe
github.com/iotaledger/hive.go/crypto v0.0.0-20230410123404-1f6d86152bfe
github.com/iotaledger/hive.go/ds v0.0.0-20230410123404-1f6d86152bfe
github.com/iotaledger/hive.go/kvstore v0.0.0-20230410123404-1f6d86152bfe
github.com/iotaledger/hive.go/lo v0.0.0-20230410123404-1f6d86152bfe
github.com/iotaledger/hive.go/logger v0.0.0-20230410123404-1f6d86152bfe
github.com/iotaledger/hive.go/objectstorage v0.0.0-20230410123404-1f6d86152bfe
github.com/iotaledger/hive.go/runtime v0.0.0-20230410123404-1f6d86152bfe
github.com/iotaledger/hive.go/serializer/v2 v2.0.0-rc.1.0.20230410123404-1f6d86152bfe
github.com/iotaledger/hive.go/stringify v0.0.0-20230410123404-1f6d86152bfe
github.com/jellydator/ttlcache/v2 v2.11.1
github.com/labstack/echo/v4 v4.10.0
github.com/libp2p/go-libp2p v0.26.2
@@ -46,7 +46,7 @@ require (
go.dedis.ch/kyber/v3 v3.1.0
go.uber.org/atomic v1.10.0
go.uber.org/dig v1.16.1
golang.org/x/crypto v0.7.0
golang.org/x/crypto v0.8.0
golang.org/x/sync v0.1.0
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2
google.golang.org/protobuf v1.29.1
@@ -179,10 +179,10 @@ require (
go.uber.org/zap v1.24.0 // indirect
golang.org/x/exp v0.0.0-20230310171629-522b1b587ee0 // indirect
golang.org/x/mod v0.8.0 // indirect
golang.org/x/net v0.8.0 // indirect
golang.org/x/net v0.9.0 // indirect
golang.org/x/sys v0.7.0 // indirect
golang.org/x/term v0.6.0 // indirect
golang.org/x/text v0.8.0 // indirect
golang.org/x/term v0.7.0 // indirect
golang.org/x/text v0.9.0 // indirect
golang.org/x/time v0.3.0 // indirect
golang.org/x/tools v0.6.0 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
72 changes: 36 additions & 36 deletions go.sum
Original file line number Diff line number Diff line change
@@ -445,34 +445,34 @@ github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/C
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
github.com/iotaledger/grocksdb v1.7.5-0.20230220105546-5162e18885c7 h1:dTrD7X2PTNgli6EbS4tV9qu3QAm/kBU3XaYZV2xdzys=
github.com/iotaledger/grocksdb v1.7.5-0.20230220105546-5162e18885c7/go.mod h1:ZRdPu684P0fQ1z8sXz4dj9H5LWHhz4a9oCtvjunkSrw=
github.com/iotaledger/hive.go/ads v0.0.0-20230406084657-747278ebc1f6 h1:FwlYO0hduknm9bFnoZOmouzBFWG4S18Q3ia+MFLJEvg=
github.com/iotaledger/hive.go/ads v0.0.0-20230406084657-747278ebc1f6/go.mod h1:C3itLG2CB+E8tEaglLp/rluE8abBCVDjahKiQDIjRZ4=
github.com/iotaledger/hive.go/app v0.0.0-20230406084657-747278ebc1f6 h1:Kbwpk3Zgq8Lj3WQ9BKs5YTzaFXPlnSO+SthisjM5yBU=
github.com/iotaledger/hive.go/app v0.0.0-20230406084657-747278ebc1f6/go.mod h1:jqVg4/+MkQkYt4WuX0yBzNu9EtIRdf29m+scw2Y978U=
github.com/iotaledger/hive.go/autopeering v0.0.0-20230406084657-747278ebc1f6 h1:5tOwys0PEDxm9IdJmc06/DKBVkgYItR2WEqi/E4jVZg=
github.com/iotaledger/hive.go/autopeering v0.0.0-20230406084657-747278ebc1f6/go.mod h1:u+A1qdhkhbPD1d51ynVI+N2eUSIZj1zUx8FSYCcreLA=
github.com/iotaledger/hive.go/constraints v0.0.0-20230406084657-747278ebc1f6 h1:kkJJ2jWi2Ky+H7fBjUEAAMBc2slVJ102qhcGsOwTEq8=
github.com/iotaledger/hive.go/constraints v0.0.0-20230406084657-747278ebc1f6/go.mod h1:bvXXc6quBdERMMKnirr2+iQU4WnTz4KDbdHcusW9Ats=
github.com/iotaledger/hive.go/core v1.0.0-rc.3.0.20230406084657-747278ebc1f6 h1:k9lRABeOvJQVLjWeNbRtDm30Jb/d+D7pwjMQuTzV3fc=
github.com/iotaledger/hive.go/core v1.0.0-rc.3.0.20230406084657-747278ebc1f6/go.mod h1:sLgPqPn4XP4f1la0ekS2C3mXjvIQGm0UdRGIZNUVmOg=
github.com/iotaledger/hive.go/crypto v0.0.0-20230406084657-747278ebc1f6 h1:Y30OFIufUFY5HqjjT5OQSgdksXDRVL70n9hTQrBuOrg=
github.com/iotaledger/hive.go/crypto v0.0.0-20230406084657-747278ebc1f6/go.mod h1:KUuP5Wy9ny5ozzMpe73j4hU/ZotR7h1kvphWdLqPEv8=
github.com/iotaledger/hive.go/ds v0.0.0-20230406084657-747278ebc1f6 h1:om7eGHv3uII9zGtqEi208t1MrZkmMzOoVrfN8YsT9n4=
github.com/iotaledger/hive.go/ds v0.0.0-20230406084657-747278ebc1f6/go.mod h1:q57cglgRfX5PUQDNmyBWyD24605cJxkF87YrHHlRkZ4=
github.com/iotaledger/hive.go/kvstore v0.0.0-20230406084657-747278ebc1f6 h1:zKEr/O8pnUPqr8BCUD7Q3Ib2JSicyUSLS1dtjxJo284=
github.com/iotaledger/hive.go/kvstore v0.0.0-20230406084657-747278ebc1f6/go.mod h1:EZspQOO7MgaoqguZonjJdc1MiIHFVtwLTCn9Ixv6kDs=
github.com/iotaledger/hive.go/lo v0.0.0-20230406084657-747278ebc1f6 h1:d9BKW4v97tfY9ClkErucMWClJmRMZ75pjzzunu75Na4=
github.com/iotaledger/hive.go/lo v0.0.0-20230406084657-747278ebc1f6/go.mod h1:uSutXkQsFJQwrSeDNQVSQjB59XRLVKpJhr1afi8nd0g=
github.com/iotaledger/hive.go/logger v0.0.0-20230406084657-747278ebc1f6 h1:MRb7Jqf0MIb50Dgp1kjMYHCqXd4j9SaQ+JtcJzG/d2M=
github.com/iotaledger/hive.go/logger v0.0.0-20230406084657-747278ebc1f6/go.mod h1:ULSVRCrvhv5lNP/08p4V+zJ3mwlQmB+OjIvw1fU3RA8=
github.com/iotaledger/hive.go/objectstorage v0.0.0-20230406084657-747278ebc1f6 h1:qaQhyBscq7qvX8wjaYSZ8xnXJ6/9dv/X/nqG3rQFwIE=
github.com/iotaledger/hive.go/objectstorage v0.0.0-20230406084657-747278ebc1f6/go.mod h1:cz1XaNr8kq92rEcdUtvEB/246G63u5IxamZyWwlAy0s=
github.com/iotaledger/hive.go/runtime v0.0.0-20230406084657-747278ebc1f6 h1:wS/f2K2qM0A86AKv6VyLk/I6ljaqwuPlDN/hxvLtIhM=
github.com/iotaledger/hive.go/runtime v0.0.0-20230406084657-747278ebc1f6/go.mod h1:4Xmdd62NtiHvoYEMN/6FNvgdFXam/jssFFBD/SIFGiU=
github.com/iotaledger/hive.go/serializer/v2 v2.0.0-rc.1.0.20230406084657-747278ebc1f6 h1:zS8iXD57n3vQvxyzKdL0Yab9t3RYgVmNKwZaMfvwWPQ=
github.com/iotaledger/hive.go/serializer/v2 v2.0.0-rc.1.0.20230406084657-747278ebc1f6/go.mod h1:qOdUpN96qvcebn/2kWj1qs/3xjaFwVStM9o7jTx4OgI=
github.com/iotaledger/hive.go/stringify v0.0.0-20230406084657-747278ebc1f6 h1:dH07qXCSD83NbsZ5AzI+qgbyN7rQiuqQwlinGjF1TSQ=
github.com/iotaledger/hive.go/stringify v0.0.0-20230406084657-747278ebc1f6/go.mod h1:l/F3cA/+67QdNj+sohv2v4HhmsdOcWScoA+sVYoAE4c=
github.com/iotaledger/hive.go/ads v0.0.0-20230410123404-1f6d86152bfe h1:otMpKeHtEaFUwGza4cuaUX3bQG33Ipm4yQ/KVaGjwPg=
github.com/iotaledger/hive.go/ads v0.0.0-20230410123404-1f6d86152bfe/go.mod h1:C3itLG2CB+E8tEaglLp/rluE8abBCVDjahKiQDIjRZ4=
github.com/iotaledger/hive.go/app v0.0.0-20230410123404-1f6d86152bfe h1:6gN81pUYQya1kPp3P6Ngdyrsk6WWD/ykL8AA6yDLos0=
github.com/iotaledger/hive.go/app v0.0.0-20230410123404-1f6d86152bfe/go.mod h1:jqVg4/+MkQkYt4WuX0yBzNu9EtIRdf29m+scw2Y978U=
github.com/iotaledger/hive.go/autopeering v0.0.0-20230410123404-1f6d86152bfe h1:a/GwDpn0bYWWev8t2TOBl9olqdWxWTnxb/M+8tAkpeA=
github.com/iotaledger/hive.go/autopeering v0.0.0-20230410123404-1f6d86152bfe/go.mod h1:u+A1qdhkhbPD1d51ynVI+N2eUSIZj1zUx8FSYCcreLA=
github.com/iotaledger/hive.go/constraints v0.0.0-20230410123404-1f6d86152bfe h1:0PvY4KGRMs9BJSEe7rWsKD9Px1EBAH5+o6xDbCNZJ9o=
github.com/iotaledger/hive.go/constraints v0.0.0-20230410123404-1f6d86152bfe/go.mod h1:bvXXc6quBdERMMKnirr2+iQU4WnTz4KDbdHcusW9Ats=
github.com/iotaledger/hive.go/core v1.0.0-rc.3.0.20230410123404-1f6d86152bfe h1:/ib0zGtDHJBriLpoZFmVStLcPQDMKwDvNI8EixRH0y0=
github.com/iotaledger/hive.go/core v1.0.0-rc.3.0.20230410123404-1f6d86152bfe/go.mod h1:sLgPqPn4XP4f1la0ekS2C3mXjvIQGm0UdRGIZNUVmOg=
github.com/iotaledger/hive.go/crypto v0.0.0-20230410123404-1f6d86152bfe h1:JoQYfWRFURpbVIdBkDsS57X+NKL1O/m/X/bzf/n8r9E=
github.com/iotaledger/hive.go/crypto v0.0.0-20230410123404-1f6d86152bfe/go.mod h1:KUuP5Wy9ny5ozzMpe73j4hU/ZotR7h1kvphWdLqPEv8=
github.com/iotaledger/hive.go/ds v0.0.0-20230410123404-1f6d86152bfe h1:BNZ3krlWLJ+CI6S1mXhhcbQdW8y9c1NIrxkNXp9ZTOI=
github.com/iotaledger/hive.go/ds v0.0.0-20230410123404-1f6d86152bfe/go.mod h1:q57cglgRfX5PUQDNmyBWyD24605cJxkF87YrHHlRkZ4=
github.com/iotaledger/hive.go/kvstore v0.0.0-20230410123404-1f6d86152bfe h1:Xb1gpB7pAjX2VwBh4FZ2BW5AVwqfu5EI5w2o98RXH/c=
github.com/iotaledger/hive.go/kvstore v0.0.0-20230410123404-1f6d86152bfe/go.mod h1:EZspQOO7MgaoqguZonjJdc1MiIHFVtwLTCn9Ixv6kDs=
github.com/iotaledger/hive.go/lo v0.0.0-20230410123404-1f6d86152bfe h1:Vewy92tqIsbTHOcOe5TmYjYOFQrWq9rbY7j/BAb5gfI=
github.com/iotaledger/hive.go/lo v0.0.0-20230410123404-1f6d86152bfe/go.mod h1:uSutXkQsFJQwrSeDNQVSQjB59XRLVKpJhr1afi8nd0g=
github.com/iotaledger/hive.go/logger v0.0.0-20230410123404-1f6d86152bfe h1:Eb9nkvHYt4yID66YNL82Hlho7JID+8YzSC8RkrwYKgg=
github.com/iotaledger/hive.go/logger v0.0.0-20230410123404-1f6d86152bfe/go.mod h1:ULSVRCrvhv5lNP/08p4V+zJ3mwlQmB+OjIvw1fU3RA8=
github.com/iotaledger/hive.go/objectstorage v0.0.0-20230410123404-1f6d86152bfe h1:i7E//+cB8+Wl435WMVk0g3/HVRR+3zrw0SHkzvrN1mM=
github.com/iotaledger/hive.go/objectstorage v0.0.0-20230410123404-1f6d86152bfe/go.mod h1:cz1XaNr8kq92rEcdUtvEB/246G63u5IxamZyWwlAy0s=
github.com/iotaledger/hive.go/runtime v0.0.0-20230410123404-1f6d86152bfe h1:bUjT4k5c/o+YTsIpSqgSO11S5YwNJeKazBefR99+nlI=
github.com/iotaledger/hive.go/runtime v0.0.0-20230410123404-1f6d86152bfe/go.mod h1:4Xmdd62NtiHvoYEMN/6FNvgdFXam/jssFFBD/SIFGiU=
github.com/iotaledger/hive.go/serializer/v2 v2.0.0-rc.1.0.20230410123404-1f6d86152bfe h1:/7vkuuB0IKL/YHmidz7p4i/p5khYsJR0fSz0qffypB8=
github.com/iotaledger/hive.go/serializer/v2 v2.0.0-rc.1.0.20230410123404-1f6d86152bfe/go.mod h1:qOdUpN96qvcebn/2kWj1qs/3xjaFwVStM9o7jTx4OgI=
github.com/iotaledger/hive.go/stringify v0.0.0-20230410123404-1f6d86152bfe h1:9aszdQPjhHgPVRORKfPzTW4XK4Im+pEtnt4tRFa5r3o=
github.com/iotaledger/hive.go/stringify v0.0.0-20230410123404-1f6d86152bfe/go.mod h1:l/F3cA/+67QdNj+sohv2v4HhmsdOcWScoA+sVYoAE4c=
github.com/ipfs/go-cid v0.3.2 h1:OGgOd+JCFM+y1DjWPmVH+2/4POtpDzwcr7VgnB7mZXc=
github.com/ipfs/go-cid v0.3.2/go.mod h1:gQ8pKqT/sUxGY+tIwy1RPpAojYu7jAyCp5Tz1svoupw=
github.com/ipfs/go-detect-race v0.0.1 h1:qX/xay2W3E4Q1U7d9lNs1sU9nvguX0a7319XbyQ6cOk=
@@ -1030,8 +1030,8 @@ golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm
golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A=
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
golang.org/x/crypto v0.8.0 h1:pd9TJtTueMTVQXzk8E2XESSMQDj/U7OUu0PqJqPXQjQ=
golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -1121,8 +1121,8 @@ golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96b
golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8=
golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211008194852-3b03d305991f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ=
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM=
golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -1239,8 +1239,8 @@ golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210503060354-a79de5458b56/go.mod h1:tfny5GFUkzUvx4ps4ajbZsCe5lw1metzhBm9T3x7oIY=
golang.org/x/term v0.6.0 h1:clScbb1cHjoCkyRbWwBEUZ5H/tIFu5TAXIqaZD0Gcjw=
golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
golang.org/x/term v0.7.0 h1:BEvjmm5fURWqcfbSKTdpkDXYBrUS1c0m8agp14W48vQ=
golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -1251,8 +1251,8 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68=
golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE=
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
Original file line number Diff line number Diff line change
@@ -169,7 +169,7 @@ func (c *Conflict[ConflictID, ResourceID]) IsPreferred() bool {
c.preferredInsteadMutex.RLock()
defer c.preferredInsteadMutex.RUnlock()

return c.isPreferred()
return c.preferredInstead == c
}

// PreferredInstead returns the preferred instead value of the Conflict.
@@ -302,9 +302,7 @@ func (c *Conflict[ConflictID, ResourceID]) addLikedInsteadReference(source, refe
defer c.likedInsteadMutex.Unlock()

// retrieve sources for the reference
sources := lo.Return1(c.likedInsteadSources.GetOrCreate(reference.ID, func() *advancedset.AdvancedSet[*Conflict[ConflictID, ResourceID]] {
return advancedset.New[*Conflict[ConflictID, ResourceID]]()
}))
sources := lo.Return1(c.likedInsteadSources.GetOrCreate(reference.ID, lo.NoVariadic(advancedset.New[*Conflict[ConflictID, ResourceID]])))

// abort if the reference did already exist
if !sources.Add(source) || !c.likedInstead.Add(reference) {
@@ -344,24 +342,21 @@ func (c *Conflict[ConflictID, ResourceID]) removeLikedInsteadReference(source, r

// setPreferredInstead sets the preferred instead value of the Conflict.
func (c *Conflict[ConflictID, ResourceID]) setPreferredInstead(preferredInstead *Conflict[ConflictID, ResourceID]) (previousPreferredInstead *Conflict[ConflictID, ResourceID]) {
// to prevent deadlocks, we lock per sub-task (we usually lock likedInsteadMutex before preferredInsteadMutex).
c.likedInsteadMutex.Lock()
defer c.likedInsteadMutex.Unlock()

if func() bool {
if func() (updated bool) {
c.preferredInsteadMutex.Lock()
defer c.preferredInsteadMutex.Unlock()

if previousPreferredInstead = c.preferredInstead; previousPreferredInstead == preferredInstead {
return false
}
if previousPreferredInstead, updated = c.preferredInstead, previousPreferredInstead != preferredInstead; updated {
c.preferredInstead = preferredInstead

c.preferredInstead = preferredInstead
c.PreferredInsteadUpdated.Trigger(preferredInstead)
c.PreferredInsteadUpdated.Trigger(preferredInstead)
}

return true
return updated
}() {
c.likedInsteadMutex.Lock()
defer c.likedInsteadMutex.Unlock()

if c.likedInstead.Delete(previousPreferredInstead) {
// trigger within the scope of the lock to ensure the correct queueing order
c.LikedInsteadRemoved.Trigger(previousPreferredInstead)
@@ -377,8 +372,3 @@ func (c *Conflict[ConflictID, ResourceID]) setPreferredInstead(preferredInstead

return previousPreferredInstead
}

// isPreferred returns true if the Conflict is preferred instead of its conflicting Conflicts.
func (c *Conflict[ConflictID, ResourceID]) isPreferred() bool {
return c.preferredInstead == c
}
Original file line number Diff line number Diff line change
@@ -41,8 +41,8 @@ type sortedSetMember[ConflictID, ResourceID IDType] struct {

onAcceptanceStateUpdatedHook *event.Hook[func(acceptance.State, acceptance.State)]

// onUpdateHook is the hook that is triggered when the weight of the Conflict is updated.
onUpdateHook *event.Hook[func(weight.Value)]
// onWeightUpdatedHook is the hook that is triggered when the weight of the Conflict is updated.
onWeightUpdatedHook *event.Hook[func(weight.Value)]

// onPreferredUpdatedHook is the hook that is triggered when the PreferredInstead value of the Conflict is updated.
onPreferredUpdatedHook *event.Hook[func(*Conflict[ConflictID, ResourceID])]
@@ -64,7 +64,7 @@ func newSortedSetMember[ConflictID, ResourceID IDType](set *SortedSet[ConflictID
s.onAcceptanceStateUpdatedHook = conflict.AcceptanceStateUpdated.Hook(s.onAcceptanceStateUpdated)
}

s.onUpdateHook = conflict.Weight.OnUpdate.Hook(s.queueWeightUpdate)
s.onWeightUpdatedHook = conflict.Weight.OnUpdate.Hook(s.queueWeightUpdate)
s.onPreferredUpdatedHook = conflict.PreferredInsteadUpdated.Hook(s.queuePreferredInsteadUpdate)

return s
@@ -106,7 +106,7 @@ func (s *sortedSetMember[ConflictID, ResourceID]) Dispose() {
s.onAcceptanceStateUpdatedHook.Unhook()
}

s.onUpdateHook.Unhook()
s.onWeightUpdatedHook.Unhook()
s.onPreferredUpdatedHook.Unhook()
}

Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package weight

import (
"fmt"
"sync"

"github.com/iotaledger/goshimmer/packages/protocol/engine/ledger/mempool/newconflictdag/acceptance"
@@ -186,7 +185,6 @@ func (w *Weight) setAcceptanceState(acceptanceState acceptance.State) (previousS
defer w.mutex.Unlock()

if previousState = w.value.AcceptanceState(); previousState != acceptanceState {
fmt.Println("setAcceptanceState", acceptanceState)
w.value = w.value.SetAcceptanceState(acceptanceState)
}

34 changes: 17 additions & 17 deletions tools/integration-tests/tester/go.mod
Original file line number Diff line number Diff line change
@@ -8,14 +8,14 @@ require (
github.com/docker/docker v20.10.24+incompatible
github.com/docker/go-connections v0.4.0
github.com/iotaledger/goshimmer v0.1.3
github.com/iotaledger/hive.go/crypto v0.0.0-20230406084657-747278ebc1f6
github.com/iotaledger/hive.go/ds v0.0.0-20230406084657-747278ebc1f6
github.com/iotaledger/hive.go/lo v0.0.0-20230406084657-747278ebc1f6
github.com/iotaledger/hive.go/runtime v0.0.0-20230406084657-747278ebc1f6
github.com/iotaledger/hive.go/crypto v0.0.0-20230410123404-1f6d86152bfe
github.com/iotaledger/hive.go/ds v0.0.0-20230410123404-1f6d86152bfe
github.com/iotaledger/hive.go/lo v0.0.0-20230410123404-1f6d86152bfe
github.com/iotaledger/hive.go/runtime v0.0.0-20230410123404-1f6d86152bfe
github.com/mr-tron/base58 v1.2.0
github.com/pkg/errors v0.9.1
github.com/stretchr/testify v1.8.2
golang.org/x/crypto v0.7.0
golang.org/x/crypto v0.8.0
golang.org/x/sync v0.1.0
)

@@ -64,16 +64,16 @@ require (
github.com/huin/goupnp v1.0.3 // indirect
github.com/iancoleman/orderedmap v0.2.0 // indirect
github.com/iotaledger/grocksdb v1.7.5-0.20230220105546-5162e18885c7 // indirect
github.com/iotaledger/hive.go/ads v0.0.0-20230406084657-747278ebc1f6 // indirect
github.com/iotaledger/hive.go/app v0.0.0-20230406084657-747278ebc1f6 // indirect
github.com/iotaledger/hive.go/autopeering v0.0.0-20230406084657-747278ebc1f6 // indirect
github.com/iotaledger/hive.go/constraints v0.0.0-20230406084657-747278ebc1f6 // indirect
github.com/iotaledger/hive.go/core v1.0.0-rc.3.0.20230406084657-747278ebc1f6 // indirect
github.com/iotaledger/hive.go/kvstore v0.0.0-20230406084657-747278ebc1f6 // indirect
github.com/iotaledger/hive.go/logger v0.0.0-20230406084657-747278ebc1f6 // indirect
github.com/iotaledger/hive.go/objectstorage v0.0.0-20230406084657-747278ebc1f6 // indirect
github.com/iotaledger/hive.go/serializer/v2 v2.0.0-rc.1.0.20230406084657-747278ebc1f6 // indirect
github.com/iotaledger/hive.go/stringify v0.0.0-20230406084657-747278ebc1f6 // indirect
github.com/iotaledger/hive.go/ads v0.0.0-20230410123404-1f6d86152bfe // indirect
github.com/iotaledger/hive.go/app v0.0.0-20230410123404-1f6d86152bfe // indirect
github.com/iotaledger/hive.go/autopeering v0.0.0-20230410123404-1f6d86152bfe // indirect
github.com/iotaledger/hive.go/constraints v0.0.0-20230410123404-1f6d86152bfe // indirect
github.com/iotaledger/hive.go/core v1.0.0-rc.3.0.20230410123404-1f6d86152bfe // indirect
github.com/iotaledger/hive.go/kvstore v0.0.0-20230410123404-1f6d86152bfe // indirect
github.com/iotaledger/hive.go/logger v0.0.0-20230410123404-1f6d86152bfe // indirect
github.com/iotaledger/hive.go/objectstorage v0.0.0-20230410123404-1f6d86152bfe // indirect
github.com/iotaledger/hive.go/serializer/v2 v2.0.0-rc.1.0.20230410123404-1f6d86152bfe // indirect
github.com/iotaledger/hive.go/stringify v0.0.0-20230410123404-1f6d86152bfe // indirect
github.com/ipfs/go-cid v0.3.2 // indirect
github.com/ipfs/go-log/v2 v2.5.1 // indirect
github.com/jackpal/go-nat-pmp v1.0.2 // indirect
@@ -169,9 +169,9 @@ require (
go.uber.org/zap v1.24.0 // indirect
golang.org/x/exp v0.0.0-20230310171629-522b1b587ee0 // indirect
golang.org/x/mod v0.8.0 // indirect
golang.org/x/net v0.8.0 // indirect
golang.org/x/net v0.9.0 // indirect
golang.org/x/sys v0.7.0 // indirect
golang.org/x/text v0.8.0 // indirect
golang.org/x/text v0.9.0 // indirect
golang.org/x/time v0.3.0 // indirect
golang.org/x/tools v0.6.0 // indirect
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
68 changes: 34 additions & 34 deletions tools/integration-tests/tester/go.sum
Original file line number Diff line number Diff line change
@@ -364,34 +364,34 @@ github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/C
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
github.com/iotaledger/grocksdb v1.7.5-0.20230220105546-5162e18885c7 h1:dTrD7X2PTNgli6EbS4tV9qu3QAm/kBU3XaYZV2xdzys=
github.com/iotaledger/grocksdb v1.7.5-0.20230220105546-5162e18885c7/go.mod h1:ZRdPu684P0fQ1z8sXz4dj9H5LWHhz4a9oCtvjunkSrw=
github.com/iotaledger/hive.go/ads v0.0.0-20230406084657-747278ebc1f6 h1:FwlYO0hduknm9bFnoZOmouzBFWG4S18Q3ia+MFLJEvg=
github.com/iotaledger/hive.go/ads v0.0.0-20230406084657-747278ebc1f6/go.mod h1:C3itLG2CB+E8tEaglLp/rluE8abBCVDjahKiQDIjRZ4=
github.com/iotaledger/hive.go/app v0.0.0-20230406084657-747278ebc1f6 h1:Kbwpk3Zgq8Lj3WQ9BKs5YTzaFXPlnSO+SthisjM5yBU=
github.com/iotaledger/hive.go/app v0.0.0-20230406084657-747278ebc1f6/go.mod h1:jqVg4/+MkQkYt4WuX0yBzNu9EtIRdf29m+scw2Y978U=
github.com/iotaledger/hive.go/autopeering v0.0.0-20230406084657-747278ebc1f6 h1:5tOwys0PEDxm9IdJmc06/DKBVkgYItR2WEqi/E4jVZg=
github.com/iotaledger/hive.go/autopeering v0.0.0-20230406084657-747278ebc1f6/go.mod h1:u+A1qdhkhbPD1d51ynVI+N2eUSIZj1zUx8FSYCcreLA=
github.com/iotaledger/hive.go/constraints v0.0.0-20230406084657-747278ebc1f6 h1:kkJJ2jWi2Ky+H7fBjUEAAMBc2slVJ102qhcGsOwTEq8=
github.com/iotaledger/hive.go/constraints v0.0.0-20230406084657-747278ebc1f6/go.mod h1:bvXXc6quBdERMMKnirr2+iQU4WnTz4KDbdHcusW9Ats=
github.com/iotaledger/hive.go/core v1.0.0-rc.3.0.20230406084657-747278ebc1f6 h1:k9lRABeOvJQVLjWeNbRtDm30Jb/d+D7pwjMQuTzV3fc=
github.com/iotaledger/hive.go/core v1.0.0-rc.3.0.20230406084657-747278ebc1f6/go.mod h1:sLgPqPn4XP4f1la0ekS2C3mXjvIQGm0UdRGIZNUVmOg=
github.com/iotaledger/hive.go/crypto v0.0.0-20230406084657-747278ebc1f6 h1:Y30OFIufUFY5HqjjT5OQSgdksXDRVL70n9hTQrBuOrg=
github.com/iotaledger/hive.go/crypto v0.0.0-20230406084657-747278ebc1f6/go.mod h1:KUuP5Wy9ny5ozzMpe73j4hU/ZotR7h1kvphWdLqPEv8=
github.com/iotaledger/hive.go/ds v0.0.0-20230406084657-747278ebc1f6 h1:om7eGHv3uII9zGtqEi208t1MrZkmMzOoVrfN8YsT9n4=
github.com/iotaledger/hive.go/ds v0.0.0-20230406084657-747278ebc1f6/go.mod h1:q57cglgRfX5PUQDNmyBWyD24605cJxkF87YrHHlRkZ4=
github.com/iotaledger/hive.go/kvstore v0.0.0-20230406084657-747278ebc1f6 h1:zKEr/O8pnUPqr8BCUD7Q3Ib2JSicyUSLS1dtjxJo284=
github.com/iotaledger/hive.go/kvstore v0.0.0-20230406084657-747278ebc1f6/go.mod h1:EZspQOO7MgaoqguZonjJdc1MiIHFVtwLTCn9Ixv6kDs=
github.com/iotaledger/hive.go/lo v0.0.0-20230406084657-747278ebc1f6 h1:d9BKW4v97tfY9ClkErucMWClJmRMZ75pjzzunu75Na4=
github.com/iotaledger/hive.go/lo v0.0.0-20230406084657-747278ebc1f6/go.mod h1:uSutXkQsFJQwrSeDNQVSQjB59XRLVKpJhr1afi8nd0g=
github.com/iotaledger/hive.go/logger v0.0.0-20230406084657-747278ebc1f6 h1:MRb7Jqf0MIb50Dgp1kjMYHCqXd4j9SaQ+JtcJzG/d2M=
github.com/iotaledger/hive.go/logger v0.0.0-20230406084657-747278ebc1f6/go.mod h1:ULSVRCrvhv5lNP/08p4V+zJ3mwlQmB+OjIvw1fU3RA8=
github.com/iotaledger/hive.go/objectstorage v0.0.0-20230406084657-747278ebc1f6 h1:qaQhyBscq7qvX8wjaYSZ8xnXJ6/9dv/X/nqG3rQFwIE=
github.com/iotaledger/hive.go/objectstorage v0.0.0-20230406084657-747278ebc1f6/go.mod h1:cz1XaNr8kq92rEcdUtvEB/246G63u5IxamZyWwlAy0s=
github.com/iotaledger/hive.go/runtime v0.0.0-20230406084657-747278ebc1f6 h1:wS/f2K2qM0A86AKv6VyLk/I6ljaqwuPlDN/hxvLtIhM=
github.com/iotaledger/hive.go/runtime v0.0.0-20230406084657-747278ebc1f6/go.mod h1:4Xmdd62NtiHvoYEMN/6FNvgdFXam/jssFFBD/SIFGiU=
github.com/iotaledger/hive.go/serializer/v2 v2.0.0-rc.1.0.20230406084657-747278ebc1f6 h1:zS8iXD57n3vQvxyzKdL0Yab9t3RYgVmNKwZaMfvwWPQ=
github.com/iotaledger/hive.go/serializer/v2 v2.0.0-rc.1.0.20230406084657-747278ebc1f6/go.mod h1:qOdUpN96qvcebn/2kWj1qs/3xjaFwVStM9o7jTx4OgI=
github.com/iotaledger/hive.go/stringify v0.0.0-20230406084657-747278ebc1f6 h1:dH07qXCSD83NbsZ5AzI+qgbyN7rQiuqQwlinGjF1TSQ=
github.com/iotaledger/hive.go/stringify v0.0.0-20230406084657-747278ebc1f6/go.mod h1:l/F3cA/+67QdNj+sohv2v4HhmsdOcWScoA+sVYoAE4c=
github.com/iotaledger/hive.go/ads v0.0.0-20230410123404-1f6d86152bfe h1:otMpKeHtEaFUwGza4cuaUX3bQG33Ipm4yQ/KVaGjwPg=
github.com/iotaledger/hive.go/ads v0.0.0-20230410123404-1f6d86152bfe/go.mod h1:C3itLG2CB+E8tEaglLp/rluE8abBCVDjahKiQDIjRZ4=
github.com/iotaledger/hive.go/app v0.0.0-20230410123404-1f6d86152bfe h1:6gN81pUYQya1kPp3P6Ngdyrsk6WWD/ykL8AA6yDLos0=
github.com/iotaledger/hive.go/app v0.0.0-20230410123404-1f6d86152bfe/go.mod h1:jqVg4/+MkQkYt4WuX0yBzNu9EtIRdf29m+scw2Y978U=
github.com/iotaledger/hive.go/autopeering v0.0.0-20230410123404-1f6d86152bfe h1:a/GwDpn0bYWWev8t2TOBl9olqdWxWTnxb/M+8tAkpeA=
github.com/iotaledger/hive.go/autopeering v0.0.0-20230410123404-1f6d86152bfe/go.mod h1:u+A1qdhkhbPD1d51ynVI+N2eUSIZj1zUx8FSYCcreLA=
github.com/iotaledger/hive.go/constraints v0.0.0-20230410123404-1f6d86152bfe h1:0PvY4KGRMs9BJSEe7rWsKD9Px1EBAH5+o6xDbCNZJ9o=
github.com/iotaledger/hive.go/constraints v0.0.0-20230410123404-1f6d86152bfe/go.mod h1:bvXXc6quBdERMMKnirr2+iQU4WnTz4KDbdHcusW9Ats=
github.com/iotaledger/hive.go/core v1.0.0-rc.3.0.20230410123404-1f6d86152bfe h1:/ib0zGtDHJBriLpoZFmVStLcPQDMKwDvNI8EixRH0y0=
github.com/iotaledger/hive.go/core v1.0.0-rc.3.0.20230410123404-1f6d86152bfe/go.mod h1:sLgPqPn4XP4f1la0ekS2C3mXjvIQGm0UdRGIZNUVmOg=
github.com/iotaledger/hive.go/crypto v0.0.0-20230410123404-1f6d86152bfe h1:JoQYfWRFURpbVIdBkDsS57X+NKL1O/m/X/bzf/n8r9E=
github.com/iotaledger/hive.go/crypto v0.0.0-20230410123404-1f6d86152bfe/go.mod h1:KUuP5Wy9ny5ozzMpe73j4hU/ZotR7h1kvphWdLqPEv8=
github.com/iotaledger/hive.go/ds v0.0.0-20230410123404-1f6d86152bfe h1:BNZ3krlWLJ+CI6S1mXhhcbQdW8y9c1NIrxkNXp9ZTOI=
github.com/iotaledger/hive.go/ds v0.0.0-20230410123404-1f6d86152bfe/go.mod h1:q57cglgRfX5PUQDNmyBWyD24605cJxkF87YrHHlRkZ4=
github.com/iotaledger/hive.go/kvstore v0.0.0-20230410123404-1f6d86152bfe h1:Xb1gpB7pAjX2VwBh4FZ2BW5AVwqfu5EI5w2o98RXH/c=
github.com/iotaledger/hive.go/kvstore v0.0.0-20230410123404-1f6d86152bfe/go.mod h1:EZspQOO7MgaoqguZonjJdc1MiIHFVtwLTCn9Ixv6kDs=
github.com/iotaledger/hive.go/lo v0.0.0-20230410123404-1f6d86152bfe h1:Vewy92tqIsbTHOcOe5TmYjYOFQrWq9rbY7j/BAb5gfI=
github.com/iotaledger/hive.go/lo v0.0.0-20230410123404-1f6d86152bfe/go.mod h1:uSutXkQsFJQwrSeDNQVSQjB59XRLVKpJhr1afi8nd0g=
github.com/iotaledger/hive.go/logger v0.0.0-20230410123404-1f6d86152bfe h1:Eb9nkvHYt4yID66YNL82Hlho7JID+8YzSC8RkrwYKgg=
github.com/iotaledger/hive.go/logger v0.0.0-20230410123404-1f6d86152bfe/go.mod h1:ULSVRCrvhv5lNP/08p4V+zJ3mwlQmB+OjIvw1fU3RA8=
github.com/iotaledger/hive.go/objectstorage v0.0.0-20230410123404-1f6d86152bfe h1:i7E//+cB8+Wl435WMVk0g3/HVRR+3zrw0SHkzvrN1mM=
github.com/iotaledger/hive.go/objectstorage v0.0.0-20230410123404-1f6d86152bfe/go.mod h1:cz1XaNr8kq92rEcdUtvEB/246G63u5IxamZyWwlAy0s=
github.com/iotaledger/hive.go/runtime v0.0.0-20230410123404-1f6d86152bfe h1:bUjT4k5c/o+YTsIpSqgSO11S5YwNJeKazBefR99+nlI=
github.com/iotaledger/hive.go/runtime v0.0.0-20230410123404-1f6d86152bfe/go.mod h1:4Xmdd62NtiHvoYEMN/6FNvgdFXam/jssFFBD/SIFGiU=
github.com/iotaledger/hive.go/serializer/v2 v2.0.0-rc.1.0.20230410123404-1f6d86152bfe h1:/7vkuuB0IKL/YHmidz7p4i/p5khYsJR0fSz0qffypB8=
github.com/iotaledger/hive.go/serializer/v2 v2.0.0-rc.1.0.20230410123404-1f6d86152bfe/go.mod h1:qOdUpN96qvcebn/2kWj1qs/3xjaFwVStM9o7jTx4OgI=
github.com/iotaledger/hive.go/stringify v0.0.0-20230410123404-1f6d86152bfe h1:9aszdQPjhHgPVRORKfPzTW4XK4Im+pEtnt4tRFa5r3o=
github.com/iotaledger/hive.go/stringify v0.0.0-20230410123404-1f6d86152bfe/go.mod h1:l/F3cA/+67QdNj+sohv2v4HhmsdOcWScoA+sVYoAE4c=
github.com/ipfs/go-cid v0.3.2 h1:OGgOd+JCFM+y1DjWPmVH+2/4POtpDzwcr7VgnB7mZXc=
github.com/ipfs/go-cid v0.3.2/go.mod h1:gQ8pKqT/sUxGY+tIwy1RPpAojYu7jAyCp5Tz1svoupw=
github.com/ipfs/go-detect-race v0.0.1 h1:qX/xay2W3E4Q1U7d9lNs1sU9nvguX0a7319XbyQ6cOk=
@@ -913,8 +913,8 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh
golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A=
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
golang.org/x/crypto v0.8.0 h1:pd9TJtTueMTVQXzk8E2XESSMQDj/U7OUu0PqJqPXQjQ=
golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20230310171629-522b1b587ee0 h1:LGJsf5LRplCck6jUCH3dBL2dmycNruWNF5xugkSlfXw=
golang.org/x/exp v0.0.0-20230310171629-522b1b587ee0/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
@@ -966,8 +966,8 @@ golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96b
golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8=
golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211008194852-3b03d305991f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ=
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM=
golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -1057,8 +1057,8 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68=
golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE=
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=