2022-01-18 13:26:41 +00:00
|
|
|
import ./basics
|
2022-01-20 11:56:18 +00:00
|
|
|
import ./transaction
|
2022-01-24 11:14:31 +00:00
|
|
|
import ./blocktag
|
2022-01-18 13:26:41 +00:00
|
|
|
|
|
|
|
export basics
|
2022-01-20 11:56:18 +00:00
|
|
|
export transaction
|
2022-01-24 11:14:31 +00:00
|
|
|
export blocktag
|
2022-01-18 13:26:41 +00:00
|
|
|
|
2022-01-18 13:51:53 +00:00
|
|
|
push: {.upraises: [].}
|
|
|
|
|
2022-01-18 11:10:20 +00:00
|
|
|
type
|
|
|
|
Provider* = ref object of RootObj
|
2022-02-02 15:56:37 +00:00
|
|
|
Subscription* = ref object of RootObj
|
|
|
|
Filter* = object
|
|
|
|
address*: Address
|
|
|
|
topics*: seq[Topic]
|
|
|
|
Log* = object
|
|
|
|
data*: seq[byte]
|
|
|
|
topics*: seq[Topic]
|
|
|
|
LogHandler* = proc(log: Log) {.gcsafe, upraises:[].}
|
2022-05-16 12:51:39 +00:00
|
|
|
BlockHandler* = proc(blck: Block) {.gcsafe, upraises:[].}
|
2022-02-02 15:56:37 +00:00
|
|
|
Topic* = array[32, byte]
|
2022-03-16 13:02:44 +00:00
|
|
|
Block* = object
|
|
|
|
number*: UInt256
|
|
|
|
timestamp*: UInt256
|
|
|
|
hash*: array[32, byte]
|
2022-01-18 13:26:41 +00:00
|
|
|
|
|
|
|
method getBlockNumber*(provider: Provider): Future[UInt256] {.base.} =
|
|
|
|
doAssert false, "not implemented"
|
2022-03-16 13:02:44 +00:00
|
|
|
|
2022-03-17 09:16:13 +00:00
|
|
|
method getBlock*(provider: Provider, tag: BlockTag): Future[?Block] {.base.} =
|
2022-03-16 13:02:44 +00:00
|
|
|
doAssert false, "not implemented"
|
2022-01-20 11:56:18 +00:00
|
|
|
|
2022-04-10 20:21:59 +00:00
|
|
|
method call*(provider: Provider,
|
|
|
|
tx: Transaction,
|
|
|
|
blockTag = BlockTag.latest): Future[seq[byte]] {.base.} =
|
2022-01-20 11:56:18 +00:00
|
|
|
doAssert false, "not implemented"
|
2022-01-24 11:12:52 +00:00
|
|
|
|
|
|
|
method getGasPrice*(provider: Provider): Future[UInt256] {.base.} =
|
|
|
|
doAssert false, "not implemented"
|
2022-01-24 11:14:31 +00:00
|
|
|
|
|
|
|
method getTransactionCount*(provider: Provider,
|
|
|
|
address: Address,
|
|
|
|
blockTag = BlockTag.latest):
|
|
|
|
Future[UInt256] {.base.} =
|
|
|
|
doAssert false, "not implemented"
|
2022-01-24 13:40:47 +00:00
|
|
|
|
|
|
|
method estimateGas*(provider: Provider,
|
|
|
|
transaction: Transaction): Future[UInt256] {.base.} =
|
|
|
|
doAssert false, "not implemented"
|
2022-01-24 16:29:25 +00:00
|
|
|
|
|
|
|
method getChainId*(provider: Provider): Future[UInt256] {.base.} =
|
|
|
|
doAssert false, "not implemented"
|
2022-02-02 15:56:37 +00:00
|
|
|
|
|
|
|
method subscribe*(provider: Provider,
|
|
|
|
filter: Filter,
|
|
|
|
callback: LogHandler):
|
|
|
|
Future[Subscription] {.base.} =
|
|
|
|
doAssert false, "not implemented"
|
|
|
|
|
2022-05-16 12:51:39 +00:00
|
|
|
method subscribe*(provider: Provider,
|
|
|
|
callback: BlockHandler):
|
|
|
|
Future[Subscription] {.base.} =
|
|
|
|
doAssert false, "not implemented"
|
|
|
|
|
2022-02-02 15:56:37 +00:00
|
|
|
method unsubscribe*(subscription: Subscription) {.base, async.} =
|
|
|
|
doAssert false, "not implemented"
|