mirror of
https://github.com/logos-storage/nim-ethers.git
synced 2026-01-08 08:33:07 +00:00
Use push raises:[] to avoid raises: [CatchableError]
This commit is contained in:
parent
cbaf3c79c8
commit
7973ce86ce
@ -3,6 +3,8 @@ import ./provider
|
|||||||
|
|
||||||
export basics
|
export basics
|
||||||
|
|
||||||
|
{.push raises: [].}
|
||||||
|
|
||||||
type
|
type
|
||||||
Signer* = ref object of RootObj
|
Signer* = ref object of RootObj
|
||||||
lastSeenNonce: ?UInt256
|
lastSeenNonce: ?UInt256
|
||||||
@ -19,7 +21,7 @@ template raiseSignerError(message: string, parent: ref ProviderError = nil) =
|
|||||||
proc raiseEstimateGasError(
|
proc raiseEstimateGasError(
|
||||||
transaction: Transaction,
|
transaction: Transaction,
|
||||||
parent: ref ProviderError = nil
|
parent: ref ProviderError = nil
|
||||||
) =
|
) {.raises: [EstimateGasError] .} =
|
||||||
let e = (ref EstimateGasError)(
|
let e = (ref EstimateGasError)(
|
||||||
msg: "Estimate gas failed",
|
msg: "Estimate gas failed",
|
||||||
transaction: transaction,
|
transaction: transaction,
|
||||||
@ -27,11 +29,11 @@ proc raiseEstimateGasError(
|
|||||||
raise e
|
raise e
|
||||||
|
|
||||||
method provider*(signer: Signer):
|
method provider*(signer: Signer):
|
||||||
Provider {.base, gcsafe, raises: [CatchableError].} =
|
Provider {.base, gcsafe, raises: [EthersError].} =
|
||||||
doAssert false, "not implemented"
|
doAssert false, "not implemented"
|
||||||
|
|
||||||
method getAddress*(signer: Signer):
|
method getAddress*(signer: Signer):
|
||||||
Future[Address] {.base, gcsafe, raises: [CatchableError].} =
|
Future[Address] {.base, gcsafe.} =
|
||||||
doAssert false, "not implemented"
|
doAssert false, "not implemented"
|
||||||
|
|
||||||
method signMessage*(signer: Signer,
|
method signMessage*(signer: Signer,
|
||||||
@ -43,7 +45,7 @@ method sendTransaction*(signer: Signer,
|
|||||||
doAssert false, "not implemented"
|
doAssert false, "not implemented"
|
||||||
|
|
||||||
method getGasPrice*(signer: Signer):
|
method getGasPrice*(signer: Signer):
|
||||||
Future[UInt256] {.base, gcsafe, raises: [CatchableError].} =
|
Future[UInt256] {.base, gcsafe, raises: [EthersError].} =
|
||||||
signer.provider.getGasPrice()
|
signer.provider.getGasPrice()
|
||||||
|
|
||||||
method getTransactionCount*(signer: Signer,
|
method getTransactionCount*(signer: Signer,
|
||||||
@ -63,7 +65,7 @@ method estimateGas*(signer: Signer,
|
|||||||
raiseEstimateGasError transaction, e
|
raiseEstimateGasError transaction, e
|
||||||
|
|
||||||
method getChainId*(signer: Signer):
|
method getChainId*(signer: Signer):
|
||||||
Future[UInt256] {.base, gcsafe, raises: [CatchableError].} =
|
Future[UInt256] {.base, gcsafe, raises: [EthersError].} =
|
||||||
signer.provider.getChainId()
|
signer.provider.getChainId()
|
||||||
|
|
||||||
method getNonce(signer: Signer): Future[UInt256] {.base, gcsafe, async.} =
|
method getNonce(signer: Signer): Future[UInt256] {.base, gcsafe, async.} =
|
||||||
@ -78,7 +80,7 @@ method getNonce(signer: Signer): Future[UInt256] {.base, gcsafe, async.} =
|
|||||||
method updateNonce*(
|
method updateNonce*(
|
||||||
signer: Signer,
|
signer: Signer,
|
||||||
nonce: UInt256
|
nonce: UInt256
|
||||||
) {.base, gcsafe, raises: [CatchableError].} =
|
) {.base, gcsafe.} =
|
||||||
|
|
||||||
without lastSeen =? signer.lastSeenNonce:
|
without lastSeen =? signer.lastSeenNonce:
|
||||||
signer.lastSeenNonce = some nonce
|
signer.lastSeenNonce = some nonce
|
||||||
@ -87,7 +89,7 @@ method updateNonce*(
|
|||||||
if nonce > lastSeen:
|
if nonce > lastSeen:
|
||||||
signer.lastSeenNonce = some nonce
|
signer.lastSeenNonce = some nonce
|
||||||
|
|
||||||
method decreaseNonce*(signer: Signer) {.base, gcsafe, raises: [CatchableError].} =
|
method decreaseNonce*(signer: Signer) {.base, gcsafe.} =
|
||||||
if lastSeen =? signer.lastSeenNonce and lastSeen > 0:
|
if lastSeen =? signer.lastSeenNonce and lastSeen > 0:
|
||||||
signer.lastSeenNonce = some lastSeen - 1
|
signer.lastSeenNonce = some lastSeen - 1
|
||||||
|
|
||||||
|
|||||||
@ -54,7 +54,7 @@ proc createRandom*(_: type Wallet, provider: Provider): Wallet =
|
|||||||
result.address = Address.init(result.publicKey.toCanonicalAddress())
|
result.address = Address.init(result.publicKey.toCanonicalAddress())
|
||||||
result.provider = some provider
|
result.provider = some provider
|
||||||
|
|
||||||
method provider*(wallet: Wallet): Provider {.raises: [CatchableError].} =
|
method provider*(wallet: Wallet): Provider {.raises: [WalletError].} =
|
||||||
without provider =? wallet.provider:
|
without provider =? wallet.provider:
|
||||||
raiseWalletError "Wallet has no provider"
|
raiseWalletError "Wallet has no provider"
|
||||||
provider
|
provider
|
||||||
|
|||||||
@ -3,5 +3,5 @@ import ../basics
|
|||||||
type
|
type
|
||||||
WalletError* = object of EthersError
|
WalletError* = object of EthersError
|
||||||
|
|
||||||
func raiseWalletError*(message: string) =
|
func raiseWalletError*(message: string) {.raises: [WalletError].}=
|
||||||
raise newException(WalletError, message)
|
raise newException(WalletError, message)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user