2022-07-11 15:15:01 +02:00
|
|
|
import pkg/ethers
|
|
|
|
|
|
|
|
|
|
type MockSigner* = ref object of Signer
|
|
|
|
|
provider: Provider
|
|
|
|
|
address*: Address
|
|
|
|
|
transactions*: seq[Transaction]
|
|
|
|
|
|
|
|
|
|
func new*(_: type MockSigner, provider: Provider): MockSigner =
|
|
|
|
|
MockSigner(provider: provider)
|
|
|
|
|
|
|
|
|
|
method provider*(signer: MockSigner): Provider =
|
|
|
|
|
signer.provider
|
|
|
|
|
|
2024-02-02 16:31:01 +11:00
|
|
|
method getAddress*(
|
|
|
|
|
signer: MockSigner): Future[Address] {.async: (raises:[SignerError]).} =
|
|
|
|
|
|
2022-07-11 15:15:01 +02:00
|
|
|
return signer.address
|
|
|
|
|
|
2024-02-02 16:31:01 +11:00
|
|
|
method sendTransaction*(
|
|
|
|
|
signer: MockSigner,
|
|
|
|
|
transaction: Transaction): Future[TransactionResponse]
|
|
|
|
|
{.async: (raises:[SignerError]).} =
|
|
|
|
|
|
2022-07-11 15:15:01 +02:00
|
|
|
signer.transactions.add(transaction)
|