From 9ac9f6ff3c62dfa2dd93f0738711c428dbe27a9f Mon Sep 17 00:00:00 2001 From: Jacek Sieka Date: Thu, 11 Dec 2025 10:03:43 +0100 Subject: [PATCH] chore: drop usage of upraises (#1348) --- codex/blockexchange/engine/engine.nim | 2 +- codex/blockexchange/network/network.nim | 16 +++++++------- codex/blockexchange/network/networkpeer.nim | 5 ++--- codex/blocktype.nim | 5 +---- codex/chunker.nim | 11 ++++------ codex/clock.nim | 3 +-- codex/conf.nim | 12 +++++------ codex/contracts/market.nim | 23 ++++++++++----------- codex/discovery.nim | 2 +- codex/erasure/backend.nim | 5 +---- codex/erasure/erasure.nim | 5 +---- codex/manifest/coders.nim | 4 +--- codex/manifest/manifest.nim | 5 +---- codex/market.nim | 19 ++++++++--------- codex/merkletree/codex/coders.nim | 5 +---- codex/node.nim | 5 ++--- codex/rest/api.nim | 5 +---- codex/rng.nim | 5 +---- codex/sales/reservations.nim | 16 +++++--------- codex/sales/salesagent.nim | 9 +++----- codex/sales/salescontext.nim | 12 +++++------ codex/sales/slotqueue.nim | 3 +-- codex/sales/statemachine.nim | 7 +++---- codex/sales/states/errored.nim | 1 - codex/stores/blockstore.nim | 2 +- codex/stores/keyutils.nim | 4 +--- codex/stores/treehelper.nim | 5 +---- codex/streams/asyncstreamwrapper.nim | 4 +--- codex/streams/storestream.nim | 5 +---- codex/systemclock.nim | 3 +-- codex/utils/addrutils.nim | 4 +--- codex/utils/fileutils.nim | 5 +---- codex/utils/keyutils.nim | 4 +--- codex/utils/timer.nim | 2 +- tests/codex/helpers/mockchunker.nim | 2 +- tests/codex/node/testnode.nim | 4 ++-- tests/codex/sales/testreservations.nim | 16 ++++---------- tests/codex/testchunking.nim | 4 ++-- tests/codex/utils/testasyncstatemachine.nim | 3 +-- 39 files changed, 89 insertions(+), 163 deletions(-) diff --git a/codex/blockexchange/engine/engine.nim b/codex/blockexchange/engine/engine.nim index baacf11c..90fd513d 100644 --- a/codex/blockexchange/engine/engine.nim +++ b/codex/blockexchange/engine/engine.nim @@ -926,7 +926,7 @@ iterator splitBatches[T](sequence: seq[T], batchSize: int): seq[T] = proc taskHandler*( self: BlockExcEngine, peerCtx: BlockExcPeerCtx -) {.gcsafe, async: (raises: [CancelledError, RetriesExhaustedError]).} = +) {.async: (raises: [CancelledError, RetriesExhaustedError]).} = # Send to the peer blocks he wants to get, # if they present in our local store diff --git a/codex/blockexchange/network/network.nim b/codex/blockexchange/network/network.nim index f503a15c..904b60d8 100644 --- a/codex/blockexchange/network/network.nim +++ b/codex/blockexchange/network/network.nim @@ -35,16 +35,14 @@ const DefaultMaxInflight* = 100 type - WantListHandler* = - proc(peer: PeerId, wantList: WantList) {.gcsafe, async: (raises: []).} + WantListHandler* = proc(peer: PeerId, wantList: WantList) {.async: (raises: []).} BlocksDeliveryHandler* = - proc(peer: PeerId, blocks: seq[BlockDelivery]) {.gcsafe, async: (raises: []).} + proc(peer: PeerId, blocks: seq[BlockDelivery]) {.async: (raises: []).} BlockPresenceHandler* = - proc(peer: PeerId, precense: seq[BlockPresence]) {.gcsafe, async: (raises: []).} - AccountHandler* = proc(peer: PeerId, account: Account) {.gcsafe, async: (raises: []).} - PaymentHandler* = - proc(peer: PeerId, payment: SignedState) {.gcsafe, async: (raises: []).} - PeerEventHandler* = proc(peer: PeerId) {.gcsafe, async: (raises: [CancelledError]).} + proc(peer: PeerId, precense: seq[BlockPresence]) {.async: (raises: []).} + AccountHandler* = proc(peer: PeerId, account: Account) {.async: (raises: []).} + PaymentHandler* = proc(peer: PeerId, payment: SignedState) {.async: (raises: []).} + PeerEventHandler* = proc(peer: PeerId) {.async: (raises: [CancelledError]).} BlockExcHandlers* = object onWantList*: WantListHandler @@ -347,7 +345,7 @@ method init*(self: BlockExcNetwork) {.raises: [].} = proc peerEventHandler( peerId: PeerId, event: PeerEvent - ): Future[void] {.gcsafe, async: (raises: [CancelledError]).} = + ): Future[void] {.async: (raises: [CancelledError]).} = if event.kind == PeerEventKind.Joined: await self.handlePeerJoined(peerId) elif event.kind == PeerEventKind.Left: diff --git a/codex/blockexchange/network/networkpeer.nim b/codex/blockexchange/network/networkpeer.nim index 1964a307..8363fdc2 100644 --- a/codex/blockexchange/network/networkpeer.nim +++ b/codex/blockexchange/network/networkpeer.nim @@ -24,10 +24,9 @@ logScope: const DefaultYieldInterval = 50.millis type - ConnProvider* = - proc(): Future[Connection] {.gcsafe, async: (raises: [CancelledError]).} + ConnProvider* = proc(): Future[Connection] {.async: (raises: [CancelledError]).} - RPCHandler* = proc(peer: NetworkPeer, msg: Message) {.gcsafe, async: (raises: []).} + RPCHandler* = proc(peer: NetworkPeer, msg: Message) {.async: (raises: []).} NetworkPeer* = ref object of RootObj id*: PeerId diff --git a/codex/blocktype.nim b/codex/blocktype.nim index 233d4e8f..edacb927 100644 --- a/codex/blocktype.nim +++ b/codex/blocktype.nim @@ -13,10 +13,7 @@ import std/hashes export tables -import pkg/upraises - -push: - {.upraises: [].} +{.push raises: [], gcsafe.} import pkg/libp2p/[cid, multicodec, multihash] import pkg/stew/[byteutils, endians2] diff --git a/codex/chunker.nim b/codex/chunker.nim index 908dd0c0..f0022859 100644 --- a/codex/chunker.nim +++ b/codex/chunker.nim @@ -9,10 +9,7 @@ # TODO: This is super inneficient and needs a rewrite, but it'll do for now -import pkg/upraises - -push: - {.upraises: [].} +{.push raises: [], gcsafe.} import pkg/questionable import pkg/questionable/results @@ -31,7 +28,7 @@ type ChunkerError* = object of CatchableError ChunkBuffer* = ptr UncheckedArray[byte] Reader* = proc(data: ChunkBuffer, len: int): Future[int] {. - gcsafe, async: (raises: [ChunkerError, CancelledError]) + async: (raises: [ChunkerError, CancelledError]) .} # Reader that splits input data into fixed-size chunks @@ -77,7 +74,7 @@ proc new*( proc reader( data: ChunkBuffer, len: int - ): Future[int] {.gcsafe, async: (raises: [ChunkerError, CancelledError]).} = + ): Future[int] {.async: (raises: [ChunkerError, CancelledError]).} = var res = 0 try: while res < len: @@ -105,7 +102,7 @@ proc new*( proc reader( data: ChunkBuffer, len: int - ): Future[int] {.gcsafe, async: (raises: [ChunkerError, CancelledError]).} = + ): Future[int] {.async: (raises: [ChunkerError, CancelledError]).} = var total = 0 try: while total < len: diff --git a/codex/clock.nim b/codex/clock.nim index 5c63d15e..c0867afa 100644 --- a/codex/clock.nim +++ b/codex/clock.nim @@ -2,7 +2,6 @@ import pkg/chronos import pkg/stew/endians2 -import pkg/upraises import pkg/stint type @@ -10,7 +9,7 @@ type SecondsSince1970* = int64 Timeout* = object of CatchableError -method now*(clock: Clock): SecondsSince1970 {.base, gcsafe, upraises: [].} = +method now*(clock: Clock): SecondsSince1970 {.base, gcsafe, raises: [].} = raiseAssert "not implemented" method waitUntil*( diff --git a/codex/conf.nim b/codex/conf.nim index 206a3e04..cec9c11a 100644 --- a/codex/conf.nim +++ b/codex/conf.nim @@ -514,7 +514,7 @@ const proc parseCmdArg*( T: typedesc[MultiAddress], input: string -): MultiAddress {.upraises: [ValueError].} = +): MultiAddress {.raises: [ValueError].} = var ma: MultiAddress try: let res = MultiAddress.init(input) @@ -619,7 +619,7 @@ proc parseCmdArg*(T: type Duration, val: string): T = proc readValue*( r: var TomlReader, val: var EthAddress -) {.upraises: [SerializationError, IOError].} = +) {.raises: [SerializationError, IOError].} = val = EthAddress.init(r.readValue(string)).get() proc readValue*(r: var TomlReader, val: var SignedPeerRecord) = @@ -647,7 +647,7 @@ proc readValue*(r: var TomlReader, val: var MultiAddress) = proc readValue*( r: var TomlReader, val: var NBytes -) {.upraises: [SerializationError, IOError].} = +) {.raises: [SerializationError, IOError].} = var value = 0'i64 var str = r.readValue(string) let count = parseSize(str, value, alwaysBin = true) @@ -658,7 +658,7 @@ proc readValue*( proc readValue*( r: var TomlReader, val: var ThreadCount -) {.upraises: [SerializationError, IOError].} = +) {.raises: [SerializationError, IOError].} = var str = r.readValue(string) try: val = parseCmdArg(ThreadCount, str) @@ -667,7 +667,7 @@ proc readValue*( proc readValue*( r: var TomlReader, val: var Duration -) {.upraises: [SerializationError, IOError].} = +) {.raises: [SerializationError, IOError].} = var str = r.readValue(string) var dur: Duration let count = parseDuration(str, dur) @@ -734,7 +734,7 @@ proc stripAnsi*(v: string): string = res -proc updateLogLevel*(logLevel: string) {.upraises: [ValueError].} = +proc updateLogLevel*(logLevel: string) {.raises: [ValueError].} = # Updates log levels (without clearing old ones) let directives = logLevel.split(";") try: diff --git a/codex/contracts/market.nim b/codex/contracts/market.nim index f676012b..884441d4 100644 --- a/codex/contracts/market.nim +++ b/codex/contracts/market.nim @@ -1,7 +1,6 @@ import std/strformat import std/strutils import pkg/ethers -import pkg/upraises import pkg/questionable import pkg/lrucache import ../utils/exceptions @@ -436,7 +435,7 @@ method canReserveSlot*( method subscribeRequests*( market: OnChainMarket, callback: OnRequest ): Future[MarketSubscription] {.async.} = - proc onEvent(eventResult: ?!StorageRequested) {.upraises: [].} = + proc onEvent(eventResult: ?!StorageRequested) {.raises: [].} = without event =? eventResult, eventErr: error "There was an error in Request subscription", msg = eventErr.msg return @@ -450,7 +449,7 @@ method subscribeRequests*( method subscribeSlotFilled*( market: OnChainMarket, callback: OnSlotFilled ): Future[MarketSubscription] {.async.} = - proc onEvent(eventResult: ?!SlotFilled) {.upraises: [].} = + proc onEvent(eventResult: ?!SlotFilled) {.raises: [].} = without event =? eventResult, eventErr: error "There was an error in SlotFilled subscription", msg = eventErr.msg return @@ -477,7 +476,7 @@ method subscribeSlotFilled*( method subscribeSlotFreed*( market: OnChainMarket, callback: OnSlotFreed ): Future[MarketSubscription] {.async.} = - proc onEvent(eventResult: ?!SlotFreed) {.upraises: [].} = + proc onEvent(eventResult: ?!SlotFreed) {.raises: [].} = without event =? eventResult, eventErr: error "There was an error in SlotFreed subscription", msg = eventErr.msg return @@ -491,7 +490,7 @@ method subscribeSlotFreed*( method subscribeSlotReservationsFull*( market: OnChainMarket, callback: OnSlotReservationsFull ): Future[MarketSubscription] {.async.} = - proc onEvent(eventResult: ?!SlotReservationsFull) {.upraises: [].} = + proc onEvent(eventResult: ?!SlotReservationsFull) {.raises: [].} = without event =? eventResult, eventErr: error "There was an error in SlotReservationsFull subscription", msg = eventErr.msg @@ -506,7 +505,7 @@ method subscribeSlotReservationsFull*( method subscribeFulfillment( market: OnChainMarket, callback: OnFulfillment ): Future[MarketSubscription] {.async.} = - proc onEvent(eventResult: ?!RequestFulfilled) {.upraises: [].} = + proc onEvent(eventResult: ?!RequestFulfilled) {.raises: [].} = without event =? eventResult, eventErr: error "There was an error in RequestFulfillment subscription", msg = eventErr.msg return @@ -520,7 +519,7 @@ method subscribeFulfillment( method subscribeFulfillment( market: OnChainMarket, requestId: RequestId, callback: OnFulfillment ): Future[MarketSubscription] {.async.} = - proc onEvent(eventResult: ?!RequestFulfilled) {.upraises: [].} = + proc onEvent(eventResult: ?!RequestFulfilled) {.raises: [].} = without event =? eventResult, eventErr: error "There was an error in RequestFulfillment subscription", msg = eventErr.msg return @@ -535,7 +534,7 @@ method subscribeFulfillment( method subscribeRequestCancelled*( market: OnChainMarket, callback: OnRequestCancelled ): Future[MarketSubscription] {.async.} = - proc onEvent(eventResult: ?!RequestCancelled) {.upraises: [].} = + proc onEvent(eventResult: ?!RequestCancelled) {.raises: [].} = without event =? eventResult, eventErr: error "There was an error in RequestCancelled subscription", msg = eventErr.msg return @@ -549,7 +548,7 @@ method subscribeRequestCancelled*( method subscribeRequestCancelled*( market: OnChainMarket, requestId: RequestId, callback: OnRequestCancelled ): Future[MarketSubscription] {.async.} = - proc onEvent(eventResult: ?!RequestCancelled) {.upraises: [].} = + proc onEvent(eventResult: ?!RequestCancelled) {.raises: [].} = without event =? eventResult, eventErr: error "There was an error in RequestCancelled subscription", msg = eventErr.msg return @@ -564,7 +563,7 @@ method subscribeRequestCancelled*( method subscribeRequestFailed*( market: OnChainMarket, callback: OnRequestFailed ): Future[MarketSubscription] {.async.} = - proc onEvent(eventResult: ?!RequestFailed) {.upraises: [].} = + proc onEvent(eventResult: ?!RequestFailed) {.raises: [].} = without event =? eventResult, eventErr: error "There was an error in RequestFailed subscription", msg = eventErr.msg return @@ -578,7 +577,7 @@ method subscribeRequestFailed*( method subscribeRequestFailed*( market: OnChainMarket, requestId: RequestId, callback: OnRequestFailed ): Future[MarketSubscription] {.async.} = - proc onEvent(eventResult: ?!RequestFailed) {.upraises: [].} = + proc onEvent(eventResult: ?!RequestFailed) {.raises: [].} = without event =? eventResult, eventErr: error "There was an error in RequestFailed subscription", msg = eventErr.msg return @@ -593,7 +592,7 @@ method subscribeRequestFailed*( method subscribeProofSubmission*( market: OnChainMarket, callback: OnProofSubmitted ): Future[MarketSubscription] {.async.} = - proc onEvent(eventResult: ?!ProofSubmitted) {.upraises: [].} = + proc onEvent(eventResult: ?!ProofSubmitted) {.raises: [].} = without event =? eventResult, eventErr: error "There was an error in ProofSubmitted subscription", msg = eventErr.msg return diff --git a/codex/discovery.nim b/codex/discovery.nim index 9ff89caf..905f0902 100644 --- a/codex/discovery.nim +++ b/codex/discovery.nim @@ -158,7 +158,7 @@ method provide*( method removeProvider*( d: Discovery, peerId: PeerId -): Future[void] {.base, gcsafe, async: (raises: [CancelledError]).} = +): Future[void] {.base, async: (raises: [CancelledError]).} = ## Remove provider from providers table ## diff --git a/codex/erasure/backend.nim b/codex/erasure/backend.nim index 32009829..14bb0ddb 100644 --- a/codex/erasure/backend.nim +++ b/codex/erasure/backend.nim @@ -7,10 +7,7 @@ ## This file may not be copied, modified, or distributed except according to ## those terms. -import pkg/upraises - -push: - {.upraises: [].} +{.push raises: [], gcsafe.} import ../stores diff --git a/codex/erasure/erasure.nim b/codex/erasure/erasure.nim index 95516500..bec2f135 100644 --- a/codex/erasure/erasure.nim +++ b/codex/erasure/erasure.nim @@ -7,10 +7,7 @@ ## This file may not be copied, modified, or distributed except according to ## those terms. -import pkg/upraises - -push: - {.upraises: [].} +{.push raises: [], gcsafe.} import std/[sugar, atomics, sequtils] diff --git a/codex/manifest/coders.nim b/codex/manifest/coders.nim index 30e0c7ca..207b6c99 100644 --- a/codex/manifest/coders.nim +++ b/codex/manifest/coders.nim @@ -9,11 +9,9 @@ # This module implements serialization and deserialization of Manifest -import pkg/upraises import times -push: - {.upraises: [].} +{.push raises: [].} import std/tables import std/sequtils diff --git a/codex/manifest/manifest.nim b/codex/manifest/manifest.nim index cbb0bace..101fbb89 100644 --- a/codex/manifest/manifest.nim +++ b/codex/manifest/manifest.nim @@ -9,10 +9,7 @@ # This module defines all operations on Manifest -import pkg/upraises - -push: - {.upraises: [].} +{.push raises: [], gcsafe.} import pkg/libp2p/protobuf/minprotobuf import pkg/libp2p/[cid, multihash, multicodec] diff --git a/codex/market.nim b/codex/market.nim index 0fe69347..968f204e 100644 --- a/codex/market.nim +++ b/codex/market.nim @@ -1,5 +1,4 @@ import pkg/chronos -import pkg/upraises import pkg/questionable import pkg/ethers/erc20 import ./contracts/requests @@ -23,15 +22,15 @@ type ProofInvalidError* = object of MarketError Subscription* = ref object of RootObj OnRequest* = - proc(id: RequestId, ask: StorageAsk, expiry: uint64) {.gcsafe, upraises: [].} - OnFulfillment* = proc(requestId: RequestId) {.gcsafe, upraises: [].} - OnSlotFilled* = proc(requestId: RequestId, slotIndex: uint64) {.gcsafe, upraises: [].} - OnSlotFreed* = proc(requestId: RequestId, slotIndex: uint64) {.gcsafe, upraises: [].} + proc(id: RequestId, ask: StorageAsk, expiry: uint64) {.gcsafe, raises: [].} + OnFulfillment* = proc(requestId: RequestId) {.gcsafe, raises: [].} + OnSlotFilled* = proc(requestId: RequestId, slotIndex: uint64) {.gcsafe, raises: [].} + OnSlotFreed* = proc(requestId: RequestId, slotIndex: uint64) {.gcsafe, raises: [].} OnSlotReservationsFull* = - proc(requestId: RequestId, slotIndex: uint64) {.gcsafe, upraises: [].} - OnRequestCancelled* = proc(requestId: RequestId) {.gcsafe, upraises: [].} - OnRequestFailed* = proc(requestId: RequestId) {.gcsafe, upraises: [].} - OnProofSubmitted* = proc(id: SlotId) {.gcsafe, upraises: [].} + proc(requestId: RequestId, slotIndex: uint64) {.gcsafe, raises: [].} + OnRequestCancelled* = proc(requestId: RequestId) {.gcsafe, raises: [].} + OnRequestFailed* = proc(requestId: RequestId) {.gcsafe, raises: [].} + OnProofSubmitted* = proc(id: SlotId) {.gcsafe, raises: [].} ProofChallenge* = array[32, byte] # Marketplace events -- located here due to the Market abstraction @@ -275,7 +274,7 @@ method subscribeProofSubmission*( ): Future[Subscription] {.base, async.} = raiseAssert("not implemented") -method unsubscribe*(subscription: Subscription) {.base, async, upraises: [].} = +method unsubscribe*(subscription: Subscription) {.base, async.} = raiseAssert("not implemented") method queryPastSlotFilledEvents*( diff --git a/codex/merkletree/codex/coders.nim b/codex/merkletree/codex/coders.nim index 1d50707c..bfcccbd6 100644 --- a/codex/merkletree/codex/coders.nim +++ b/codex/merkletree/codex/coders.nim @@ -7,10 +7,7 @@ ## This file may not be copied, modified, or distributed except according to ## those terms. -import pkg/upraises - -push: - {.upraises: [].} +{.push raises: [], gcsafe.} import pkg/libp2p import pkg/questionable diff --git a/codex/node.nim b/codex/node.nim index ccae080c..4c259bfc 100644 --- a/codex/node.nim +++ b/codex/node.nim @@ -81,9 +81,8 @@ type CodexNodeRef* = ref CodexNode OnManifest* = proc(cid: Cid, manifest: Manifest): void {.gcsafe, raises: [].} - BatchProc* = proc(blocks: seq[bt.Block]): Future[?!void] {. - gcsafe, async: (raises: [CancelledError]) - .} + BatchProc* = + proc(blocks: seq[bt.Block]): Future[?!void] {.async: (raises: [CancelledError]).} OnBlockStoredProc = proc(chunk: seq[byte]): void {.gcsafe, raises: [].} func switch*(self: CodexNodeRef): Switch = diff --git a/codex/rest/api.nim b/codex/rest/api.nim index adab821b..938ede12 100644 --- a/codex/rest/api.nim +++ b/codex/rest/api.nim @@ -7,10 +7,7 @@ ## This file may not be copied, modified, or distributed except according to ## those terms. -import pkg/upraises - -push: - {.upraises: [].} +{.push raises: [], gcsafe.} import std/sequtils import std/mimetypes diff --git a/codex/rng.nim b/codex/rng.nim index 866d65f8..0d789305 100644 --- a/codex/rng.nim +++ b/codex/rng.nim @@ -7,10 +7,7 @@ ## This file may not be copied, modified, or distributed except according to ## those terms. -import pkg/upraises - -push: - {.upraises: [].} +{.push raises: [], gcsafe.} import pkg/libp2p/crypto/crypto import pkg/bearssl/rand diff --git a/codex/sales/reservations.nim b/codex/sales/reservations.nim index f27a66fe..627ef6bb 100644 --- a/codex/sales/reservations.nim +++ b/codex/sales/reservations.nim @@ -27,9 +27,7 @@ ## | UInt256 | totalRemainingCollateral | | ## +---------------------------------------------------+ -import pkg/upraises -push: - {.upraises: [].} +{.push raises: [], gcsafe.} import std/sequtils import std/sugar @@ -92,14 +90,10 @@ type repo: RepoStore OnAvailabilitySaved: ?OnAvailabilitySaved - GetNext* = proc(): Future[?seq[byte]] {. - upraises: [], gcsafe, async: (raises: [CancelledError]), closure - .} - IterDispose* = - proc(): Future[?!void] {.gcsafe, async: (raises: [CancelledError]), closure.} - OnAvailabilitySaved* = proc(availability: Availability): Future[void] {. - upraises: [], gcsafe, async: (raises: []) - .} + GetNext* = proc(): Future[?seq[byte]] {.async: (raises: [CancelledError]), closure.} + IterDispose* = proc(): Future[?!void] {.async: (raises: [CancelledError]), closure.} + OnAvailabilitySaved* = + proc(availability: Availability): Future[void] {.async: (raises: []).} StorableIter* = ref object finished*: bool next*: GetNext diff --git a/codex/sales/salesagent.nim b/codex/sales/salesagent.nim index 96137fe0..6584353c 100644 --- a/codex/sales/salesagent.nim +++ b/codex/sales/salesagent.nim @@ -2,7 +2,6 @@ import pkg/chronos import pkg/questionable import pkg/questionable/results import pkg/stint -import pkg/upraises import ../contracts/requests import ../errors import ../logutils @@ -113,14 +112,12 @@ proc subscribeCancellation(agent: SalesAgent) {.async.} = method onFulfilled*( agent: SalesAgent, requestId: RequestId -) {.base, gcsafe, upraises: [].} = +) {.base, gcsafe, raises: [].} = let cancelled = agent.data.cancelled if agent.data.requestId == requestId and not cancelled.isNil and not cancelled.finished: cancelled.cancelSoon() -method onFailed*( - agent: SalesAgent, requestId: RequestId -) {.base, gcsafe, upraises: [].} = +method onFailed*(agent: SalesAgent, requestId: RequestId) {.base, gcsafe, raises: [].} = without request =? agent.data.request: return if agent.data.requestId == requestId: @@ -128,7 +125,7 @@ method onFailed*( method onSlotFilled*( agent: SalesAgent, requestId: RequestId, slotIndex: uint64 -) {.base, gcsafe, upraises: [].} = +) {.base, gcsafe, raises: [].} = if agent.data.requestId == requestId and agent.data.slotIndex == slotIndex: agent.schedule(slotFilledEvent(requestId, slotIndex)) diff --git a/codex/sales/salescontext.nim b/codex/sales/salescontext.nim index ac0908df..5fd7099c 100644 --- a/codex/sales/salescontext.nim +++ b/codex/sales/salescontext.nim @@ -1,6 +1,5 @@ import pkg/questionable import pkg/questionable/results -import pkg/upraises import pkg/libp2p/cid import ../market @@ -24,21 +23,20 @@ type slotQueue*: SlotQueue simulateProofFailures*: int - BlocksCb* = proc(blocks: seq[bt.Block]): Future[?!void] {. - gcsafe, async: (raises: [CancelledError]) - .} + BlocksCb* = + proc(blocks: seq[bt.Block]): Future[?!void] {.async: (raises: [CancelledError]).} OnStore* = proc( request: StorageRequest, expiry: SecondsSince1970, slot: uint64, blocksCb: BlocksCb, isRepairing: bool, - ): Future[?!void] {.gcsafe, async: (raises: [CancelledError]).} + ): Future[?!void] {.async: (raises: [CancelledError]).} OnProve* = proc(slot: Slot, challenge: ProofChallenge): Future[?!Groth16Proof] {. - gcsafe, async: (raises: [CancelledError]) + async: (raises: [CancelledError]) .} OnExpiryUpdate* = proc(rootCid: Cid, expiry: SecondsSince1970): Future[?!void] {. - gcsafe, async: (raises: [CancelledError]) + async: (raises: [CancelledError]) .} OnClear* = proc(request: StorageRequest, slotIndex: uint64) {.gcsafe, raises: [].} OnSale* = proc(request: StorageRequest, slotIndex: uint64) {.gcsafe, raises: [].} diff --git a/codex/sales/slotqueue.nim b/codex/sales/slotqueue.nim index b6e77395..ad9a07db 100644 --- a/codex/sales/slotqueue.nim +++ b/codex/sales/slotqueue.nim @@ -15,8 +15,7 @@ logScope: topics = "marketplace slotqueue" type - OnProcessSlot* = - proc(item: SlotQueueItem): Future[void] {.gcsafe, async: (raises: []).} + OnProcessSlot* = proc(item: SlotQueueItem): Future[void] {.async: (raises: []).} # Non-ref obj copies value when assigned, preventing accidental modification # of values which could cause an incorrect order (eg diff --git a/codex/sales/statemachine.nim b/codex/sales/statemachine.nim index d1732549..dc199ade 100644 --- a/codex/sales/statemachine.nim +++ b/codex/sales/statemachine.nim @@ -1,5 +1,4 @@ import pkg/questionable -import pkg/upraises import ../errors import ../utils/asyncstatemachine import ../market @@ -16,17 +15,17 @@ type method onCancelled*( state: SaleState, request: StorageRequest -): ?State {.base, upraises: [].} = +): ?State {.base, raises: [].} = discard method onFailed*( state: SaleState, request: StorageRequest -): ?State {.base, upraises: [].} = +): ?State {.base, raises: [].} = discard method onSlotFilled*( state: SaleState, requestId: RequestId, slotIndex: uint64 -): ?State {.base, upraises: [].} = +): ?State {.base, raises: [].} = discard proc cancelledEvent*(request: StorageRequest): Event = diff --git a/codex/sales/states/errored.nim b/codex/sales/states/errored.nim index 95848fd3..3887c652 100644 --- a/codex/sales/states/errored.nim +++ b/codex/sales/states/errored.nim @@ -1,6 +1,5 @@ import pkg/questionable import pkg/questionable/results -import pkg/upraises import ../statemachine import ../salesagent diff --git a/codex/stores/blockstore.nim b/codex/stores/blockstore.nim index 78809191..253346a8 100644 --- a/codex/stores/blockstore.nim +++ b/codex/stores/blockstore.nim @@ -29,7 +29,7 @@ type Block Both - CidCallback* = proc(cid: Cid): Future[void] {.gcsafe, async: (raises: []).} + CidCallback* = proc(cid: Cid): Future[void] {.async: (raises: []).} BlockStore* = ref object of RootObj onBlockStored*: ?CidCallback diff --git a/codex/stores/keyutils.nim b/codex/stores/keyutils.nim index 0634b6a2..0d14c2e0 100644 --- a/codex/stores/keyutils.nim +++ b/codex/stores/keyutils.nim @@ -7,9 +7,7 @@ ## This file may not be copied, modified, or distributed except according to ## those terms. -import pkg/upraises -push: - {.upraises: [].} +{.push raises: [], gcsafe.} import std/sugar import pkg/questionable/results diff --git a/codex/stores/treehelper.nim b/codex/stores/treehelper.nim index e1f5d48d..3c214856 100644 --- a/codex/stores/treehelper.nim +++ b/codex/stores/treehelper.nim @@ -7,10 +7,7 @@ ## This file may not be copied, modified, or distributed except according to ## those terms. -import pkg/upraises - -push: - {.upraises: [].} +{.push raises: [], gcsafe.} import std/sugar import pkg/chronos diff --git a/codex/streams/asyncstreamwrapper.nim b/codex/streams/asyncstreamwrapper.nim index 6708816d..f80c0696 100644 --- a/codex/streams/asyncstreamwrapper.nim +++ b/codex/streams/asyncstreamwrapper.nim @@ -7,9 +7,7 @@ ## This file may not be copied, modified, or distributed except according to ## those terms. -import pkg/upraises -push: - {.upraises: [].} +{.push raises: [], gcsafe.} import pkg/chronos import pkg/libp2p diff --git a/codex/streams/storestream.nim b/codex/streams/storestream.nim index 2e06d39d..42eb5148 100644 --- a/codex/streams/storestream.nim +++ b/codex/streams/storestream.nim @@ -9,10 +9,7 @@ import std/options -import pkg/upraises - -push: - {.upraises: [].} +{.push raises: [], gcsafe.} import pkg/chronos import pkg/stew/ptrops diff --git a/codex/systemclock.nim b/codex/systemclock.nim index 6226f627..93c70d89 100644 --- a/codex/systemclock.nim +++ b/codex/systemclock.nim @@ -1,9 +1,8 @@ import std/times -import pkg/upraises import ./clock type SystemClock* = ref object of Clock -method now*(clock: SystemClock): SecondsSince1970 {.upraises: [].} = +method now*(clock: SystemClock): SecondsSince1970 {.raises: [].} = let now = times.now().utc now.toTime().toUnix() diff --git a/codex/utils/addrutils.nim b/codex/utils/addrutils.nim index a9ec54f5..cd9dbd0e 100644 --- a/codex/utils/addrutils.nim +++ b/codex/utils/addrutils.nim @@ -7,9 +7,7 @@ ## This file may not be copied, modified, or distributed except according to ## those terms. -import pkg/upraises -push: - {.upraises: [].} +{.push raises: [], gcsafe.} import std/strutils import std/options diff --git a/codex/utils/fileutils.nim b/codex/utils/fileutils.nim index 6f12dd76..28b82b84 100644 --- a/codex/utils/fileutils.nim +++ b/codex/utils/fileutils.nim @@ -9,10 +9,7 @@ ## Partially taken from nim beacon chain -import pkg/upraises - -push: - {.upraises: [].} +{.push raises: [], gcsafe.} import std/strutils import pkg/stew/io2 diff --git a/codex/utils/keyutils.nim b/codex/utils/keyutils.nim index 664396d3..e0881df6 100644 --- a/codex/utils/keyutils.nim +++ b/codex/utils/keyutils.nim @@ -7,9 +7,7 @@ ## This file may not be copied, modified, or distributed except according to ## those terms. -import pkg/upraises -push: - {.upraises: [].} +{.push raises: [], gcsafe.} import pkg/questionable/results import pkg/libp2p/crypto/crypto diff --git a/codex/utils/timer.nim b/codex/utils/timer.nim index c4b6c4a6..e5097e21 100644 --- a/codex/utils/timer.nim +++ b/codex/utils/timer.nim @@ -17,7 +17,7 @@ import pkg/chronos import ../logutils type - TimerCallback* = proc(): Future[void] {.gcsafe, async: (raises: []).} + TimerCallback* = proc(): Future[void] {.async: (raises: []).} Timer* = ref object of RootObj callback: TimerCallback interval: Duration diff --git a/tests/codex/helpers/mockchunker.nim b/tests/codex/helpers/mockchunker.nim index eb51f7ca..1ecd8a21 100644 --- a/tests/codex/helpers/mockchunker.nim +++ b/tests/codex/helpers/mockchunker.nim @@ -21,7 +21,7 @@ proc new*( var consumed = 0 proc reader( data: ChunkBuffer, len: int - ): Future[int] {.gcsafe, async: (raises: [ChunkerError, CancelledError]).} = + ): Future[int] {.async: (raises: [ChunkerError, CancelledError]).} = if consumed >= dataset.len: return 0 diff --git a/tests/codex/node/testnode.nim b/tests/codex/node/testnode.nim index dc3f7a8f..09ed7ca7 100644 --- a/tests/codex/node/testnode.nim +++ b/tests/codex/node/testnode.nim @@ -75,7 +75,7 @@ asyncchecksuite "Test Node - Basic": batchSize = batchSize, proc( blocks: seq[bt.Block] - ): Future[?!void] {.gcsafe, async: (raises: [CancelledError]).} = + ): Future[?!void] {.async: (raises: [CancelledError]).} = check blocks.len > 0 and blocks.len <= batchSize return success(), ) @@ -100,7 +100,7 @@ asyncchecksuite "Test Node - Basic": batchSize = batchSize, proc( blocks: seq[bt.Block] - ): Future[?!void] {.gcsafe, async: (raises: [CancelledError]).} = + ): Future[?!void] {.async: (raises: [CancelledError]).} = return failure("Should not be called"), ) ) diff --git a/tests/codex/sales/testreservations.nim b/tests/codex/sales/testreservations.nim index 48bdee9c..7d958ee3 100644 --- a/tests/codex/sales/testreservations.nim +++ b/tests/codex/sales/testreservations.nim @@ -342,9 +342,7 @@ asyncchecksuite "Reservations module": test "OnAvailabilitySaved called when availability is created": var added: Availability - reservations.OnAvailabilitySaved = proc( - a: Availability - ) {.gcsafe, async: (raises: []).} = + reservations.OnAvailabilitySaved = proc(a: Availability) {.async: (raises: []).} = added = a let availability = createAvailability() @@ -354,9 +352,7 @@ asyncchecksuite "Reservations module": test "OnAvailabilitySaved called when availability size is increased": var availability = createAvailability() var added: Availability - reservations.OnAvailabilitySaved = proc( - a: Availability - ) {.gcsafe, async: (raises: []).} = + reservations.OnAvailabilitySaved = proc(a: Availability) {.async: (raises: []).} = added = a availability.freeSize += 1 discard await reservations.update(availability) @@ -366,9 +362,7 @@ asyncchecksuite "Reservations module": test "OnAvailabilitySaved is not called when availability size is decreased": var availability = createAvailability() var called = false - reservations.OnAvailabilitySaved = proc( - a: Availability - ) {.gcsafe, async: (raises: []).} = + reservations.OnAvailabilitySaved = proc(a: Availability) {.async: (raises: []).} = called = true availability.freeSize -= 1.uint64 discard await reservations.update(availability) @@ -378,9 +372,7 @@ asyncchecksuite "Reservations module": test "OnAvailabilitySaved is not called when availability is disabled": var availability = createAvailability(enabled = false) var called = false - reservations.OnAvailabilitySaved = proc( - a: Availability - ) {.gcsafe, async: (raises: []).} = + reservations.OnAvailabilitySaved = proc(a: Availability) {.async: (raises: []).} = called = true availability.freeSize -= 1 discard await reservations.update(availability) diff --git a/tests/codex/testchunking.nim b/tests/codex/testchunking.nim index 44202c40..531d92bf 100644 --- a/tests/codex/testchunking.nim +++ b/tests/codex/testchunking.nim @@ -18,7 +18,7 @@ type CrashingStreamWrapper* = ref object of LPStream method readOnce*( self: CrashingStreamWrapper, pbytes: pointer, nbytes: int -): Future[int] {.gcsafe, async: (raises: [CancelledError, LPStreamError]).} = +): Future[int] {.async: (raises: [CancelledError, LPStreamError]).} = self.toRaise() asyncchecksuite "Chunking": @@ -27,7 +27,7 @@ asyncchecksuite "Chunking": let contents = [1.byte, 2, 3, 4, 5, 6, 7, 8, 9, 0] proc reader( data: ChunkBuffer, len: int - ): Future[int] {.gcsafe, async: (raises: [ChunkerError, CancelledError]).} = + ): Future[int] {.async: (raises: [ChunkerError, CancelledError]).} = let read = min(contents.len - offset, len) if read == 0: return 0 diff --git a/tests/codex/utils/testasyncstatemachine.nim b/tests/codex/utils/testasyncstatemachine.nim index ed3ea747..c46bb605 100644 --- a/tests/codex/utils/testasyncstatemachine.nim +++ b/tests/codex/utils/testasyncstatemachine.nim @@ -1,6 +1,5 @@ import pkg/questionable import pkg/chronos -import pkg/upraises import codex/utils/asyncstatemachine import ../../asynctest @@ -36,7 +35,7 @@ method run(state: State2, machine: Machine): Future[?State] {.async: (raises: [] method run(state: State3, machine: Machine): Future[?State] {.async: (raises: []).} = inc runs[2] -method onMoveToNextStateEvent*(state: State): ?State {.base, upraises: [].} = +method onMoveToNextStateEvent*(state: State): ?State {.base, raises: [].} = discard method onMoveToNextStateEvent(state: State2): ?State =