From ce66e43440554523baadac49f0b2c3f64efed795 Mon Sep 17 00:00:00 2001 From: Dmitriy Ryajov Date: Fri, 29 Oct 2021 13:30:52 -0600 Subject: [PATCH] fix compilation issues with latest libp2p (#27) * fix compilation issues with latest libp2p * change package description * fix CI compiler * try with nim 1.4.2 * try with 1.4.2 * use more standardized ci config * set reasonable log level * remove nim version dependency * reverting to 1.4.6 as otherwise it fails on amd64 --- .github/workflows/ci.yml | 2 +- dagger.nimble | 7 +++---- dagger/blockexchange/network.nim | 8 ++------ dagger/stores/blockexchange.nim | 5 +---- nim.cfg | 2 +- tests/dagger/blockexc/testengine.nim | 6 +++--- tests/dagger/blockexc/testnetwork.nim | 4 ++-- tests/dagger/examples.nim | 2 +- 8 files changed, 14 insertions(+), 22 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 70dbc758..151fb9d6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,7 +7,7 @@ jobs: fail-fast: false max-parallel: 20 matrix: - branch: [v1.2.6] + branch: [v1.4.6] target: # Unit tests - os: linux diff --git a/dagger.nimble b/dagger.nimble index d794b933..c61eb536 100644 --- a/dagger.nimble +++ b/dagger.nimble @@ -1,10 +1,9 @@ version = "0.1.0" author = "Dagger Team" -description = "The hardrive for Web3" +description = "p2p data durability engine" license = "MIT" -requires "nim >= 1.2.6", - "libp2p#unstable", +requires "libp2p#unstable", "nimcrypto >= 0.4.1", "bearssl >= 0.1.4", "chronicles >= 0.7.2", @@ -16,4 +15,4 @@ requires "nim >= 1.2.6", "https://github.com/status-im/nim-nitro >= 0.4.0 & < 0.5.0", "questionable >= 0.9.1 & < 0.10.0", "upraises >= 0.1.0 & < 0.2.0", - "asynctest >= 0.2.1 & < 0.3.0" + "asynctest >= 0.3.0 & < 0.4.0" diff --git a/dagger/blockexchange/network.nim b/dagger/blockexchange/network.nim index 6338dd00..1db4395e 100644 --- a/dagger/blockexchange/network.nim +++ b/dagger/blockexchange/network.nim @@ -300,11 +300,7 @@ method init*(b: BlockExcNetwork) = ## Perform protocol initialization ## - proc peerEventHandler(peerInfo: PeerInfo, event: PeerEvent) {.async.} = - # TODO: temporary until libp2p moves back to PeerID - let - peerId = peerInfo.peerId - + proc peerEventHandler(peerId: PeerID, event: PeerEvent) {.async.} = if event.kind == PeerEventKind.Joined: b.setupPeer(peerId) else: @@ -314,7 +310,7 @@ method init*(b: BlockExcNetwork) = b.switch.addPeerEventHandler(peerEventHandler, PeerEventKind.Left) proc handle(conn: Connection, proto: string) {.async, gcsafe, closure.} = - let peerId = conn.peerInfo.peerId + let peerId = conn.peerId let blockexcPeer = b.getOrCreatePeer(peerId) await blockexcPeer.readLoop(conn) # attach read loop diff --git a/dagger/stores/blockexchange.nim b/dagger/stores/blockexchange.nim index 4652437f..450074fd 100644 --- a/dagger/stores/blockexchange.nim +++ b/dagger/stores/blockexchange.nim @@ -132,11 +132,8 @@ proc new*( engine.scheduleTask = proc(task: BlockExcPeerCtx): bool {.gcsafe} = b.taskQueue.pushOrUpdateNoWait(task).isOk() - proc peerEventHandler(peerInfo: PeerInfo, event: PeerEvent) {.async.} = + proc peerEventHandler(peerId: PeerID, event: PeerEvent) {.async.} = # TODO: temporary until libp2p moves back to PeerID - let - peerId = peerInfo.peerId - if event.kind == PeerEventKind.Joined: b.engine.setupPeer(peerId) else: diff --git a/nim.cfg b/nim.cfg index 3fe1adb5..8589cf1d 100644 --- a/nim.cfg +++ b/nim.cfg @@ -1 +1 @@ --d:"chronicles_enabled=on" # disable logging by default +-d:"chronicles_log_level=INFO" diff --git a/tests/dagger/blockexc/testengine.nim b/tests/dagger/blockexc/testengine.nim index 381d3c83..2852636a 100644 --- a/tests/dagger/blockexc/testengine.nim +++ b/tests/dagger/blockexc/testengine.nim @@ -21,7 +21,7 @@ suite "BlockExc engine basic": let rng = Rng.instance() seckey = PrivateKey.random(rng[]).tryGet() - peerId = PeerID.init(seckey.getKey().tryGet()).tryGet() + peerId = PeerID.init(seckey.getPublicKey().tryGet()).tryGet() chunker = newRandomChunker(Rng.instance(), size = 1024, chunkSize = 256) blocks = chunker.mapIt( !bt.Block.new(it) ) wallet = WalletRef.example @@ -73,7 +73,7 @@ suite "BlockExc engine handlers": let rng = Rng.instance() seckey = PrivateKey.random(rng[]).tryGet() - peerId = PeerID.init(seckey.getKey().tryGet()).tryGet() + peerId = PeerID.init(seckey.getPublicKey().tryGet()).tryGet() chunker = newRandomChunker(Rng.instance(), size = 1024, chunkSize = 256) blocks = chunker.mapIt( !bt.Block.new(it) ) wallet = WalletRef.example @@ -203,7 +203,7 @@ suite "Task Handler": for i in 0..3: let seckey = PrivateKey.random(rng[]).tryGet() - peers.add(PeerID.init(seckey.getKey().tryGet()).tryGet()) + peers.add(PeerID.init(seckey.getPublicKey().tryGet()).tryGet()) peersCtx.add(BlockExcPeerCtx( id: peers[i] diff --git a/tests/dagger/blockexc/testnetwork.nim b/tests/dagger/blockexc/testnetwork.nim index 56609335..f9e6d943 100644 --- a/tests/dagger/blockexc/testnetwork.nim +++ b/tests/dagger/blockexc/testnetwork.nim @@ -21,7 +21,7 @@ suite "BlockExc network": let rng = Rng.instance() seckey = PrivateKey.random(rng[]).tryGet() - peerId = PeerID.init(seckey.getKey().tryGet()).tryGet() + peerId = PeerID.init(seckey.getPublicKey().tryGet()).tryGet() chunker = newRandomChunker(Rng.instance(), size = 1024, chunkSize = 256) blocks = chunker.mapIt( !bt.Block.new(it) ) @@ -36,7 +36,7 @@ suite "BlockExc network": setup: done = newFuture[void]() - buffer = newBufferStream() + buffer = BufferStream.new() network = BlockExcNetwork.new( switch = newStandardSwitch(), connProvider = getConn) diff --git a/tests/dagger/examples.nim b/tests/dagger/examples.nim index 199a653b..178911c4 100644 --- a/tests/dagger/examples.nim +++ b/tests/dagger/examples.nim @@ -46,7 +46,7 @@ proc example*(_: type Block): Block = proc example*(_: type PeerId): PeerID = let key = PrivateKey.random(Rng.instance[]).get - PeerId.init(key.getKey().get).get + PeerId.init(key.getPublicKey().get).get proc example*(_: type BlockExcPeerCtx): BlockExcPeerCtx = BlockExcPeerCtx(id: PeerID.example)