Skip to content

Commit c0b17a6

Browse files
committed
chronos v4 exception tracking
still does not compile, however
1 parent c477013 commit c0b17a6

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

ethers/contract.nim

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -90,17 +90,17 @@ proc decodeResponse(T: type, bytes: seq[byte]): T =
9090
9191
proc call(provider: Provider,
9292
transaction: Transaction,
93-
overrides: TransactionOverrides): Future[seq[byte]] =
93+
overrides: TransactionOverrides): Future[seq[byte]] {.async: (raises: [ProviderError]).} =
9494
if overrides of CallOverrides and
9595
blockTag =? CallOverrides(overrides).blockTag:
96-
provider.call(transaction, blockTag)
96+
await provider.call(transaction, blockTag)
9797
else:
98-
provider.call(transaction)
98+
await provider.call(transaction)
9999

100100
proc call(contract: Contract,
101101
function: string,
102102
parameters: tuple,
103-
overrides = TransactionOverrides()) {.async.} =
103+
overrides = TransactionOverrides()) {.async: (raises: [ProviderError, SignerError]).} =
104104
var transaction = createTransaction(contract, function, parameters, overrides)
105105

106106
if signer =? contract.signer and transaction.sender.isNone:
@@ -112,7 +112,7 @@ proc call(contract: Contract,
112112
function: string,
113113
parameters: tuple,
114114
ReturnType: type,
115-
overrides = TransactionOverrides()): Future[ReturnType] {.async.} =
115+
overrides = TransactionOverrides()): Future[ReturnType] {.async: (raises: [ProviderError, SignerError, ContractError]).} =
116116
var transaction = createTransaction(contract, function, parameters, overrides)
117117

118118
if signer =? contract.signer and transaction.sender.isNone:
@@ -121,13 +121,14 @@ proc call(contract: Contract,
121121
let response = await contract.provider.call(transaction, overrides)
122122
return decodeResponse(ReturnType, response)
123123

124-
proc send(contract: Contract,
125-
function: string,
126-
parameters: tuple,
127-
overrides = TransactionOverrides()):
128-
Future[?TransactionResponse] {.async: (raises: [AsyncLockError]).} =
129-
if signer =? contract.signer:
124+
proc send(
125+
contract: Contract,
126+
function: string,
127+
parameters: tuple,
128+
overrides = TransactionOverrides()
129+
): Future[?TransactionResponse] {.async: (raises: [AsyncLockError, CancelledError, CatchableError]).} =
130130

131+
if signer =? contract.signer:
131132
var params: seq[string] = @[]
132133
for param in parameters.fields:
133134
params.add $param

0 commit comments

Comments
 (0)