27 Commits

Author SHA1 Message Date
Eric Mastro
2f97a03fe2 feat: Can wait for transaction confirmations
Allows specified number of transaction confirmations to be awaited before a transaction is considered finalised. Polls for a transaction receipt then listens for new blocks and calculates the number of blocks between the receipt and the new block.

Notes
1. Only works with websockets currently
2. Replaced transaction not supported yet
2022-05-23 11:27:26 +10:00
Mark Spanbroek
bbf133725f Subscribe to new blocks 2022-05-17 09:08:02 +02:00
Mark Spanbroek
e3d5ce5122 Fix decoding of events with dynamic arguments
Such as byte sequences or strings.
2022-04-13 10:10:53 +02:00
Mark Spanbroek
c49a9cbae9 Decode indexed event parameters bytes1 up to bytes32 2022-03-29 10:48:00 +02:00
Mark Spanbroek
ce435f8791 Add Provider.getBlock()
Only returns hash, number and timestamp for now.
2022-03-16 14:20:00 +01:00
Mark Spanbroek
ff5a35aac0 Define and subscribe to solidity events 2022-02-09 14:50:51 +01:00
Mark Spanbroek
21f98c4086 Event decoding from data and topics 2022-02-09 14:50:51 +01:00
Mark Spanbroek
062b367f32 Ensure that tests run on Nim 1.2.x 2022-01-26 17:58:51 +01:00
Mark Spanbroek
9eee20e49d Add Contract.connect() 2022-01-26 12:23:30 +01:00
Mark Spanbroek
1e767b2107 Add Signer.signMessage() 2022-01-26 11:21:28 +01:00
Mark Spanbroek
e833c08303 Additional tests for contract macro 2022-01-26 10:38:17 +01:00
Mark Spanbroek
e4224a1241 Allow calls to non-constant functions 2022-01-25 17:29:01 +01:00
Mark Spanbroek
b639e367c0 Reset EVM in between tests 2022-01-25 15:08:35 +01:00
Mark Spanbroek
6bd3e27e38 Add Signer.populateTransaction() 2022-01-25 10:25:09 +01:00
Mark Spanbroek
4acc6ef45c Add Signer.getChainId() 2022-01-24 17:29:25 +01:00
Mark Spanbroek
7e32f5ee51 Add Signer.estimateGas() 2022-01-24 14:40:47 +01:00
Mark Spanbroek
30bea4759c Adds Signer.getTransactionCount() 2022-01-24 12:14:31 +01:00
Mark Spanbroek
54c66db827 Adds Signer.getGasPrice() 2022-01-24 12:12:52 +01:00
Mark Spanbroek
94dcc171af Introduces JsonRpcSigner 2022-01-20 14:39:37 +01:00
Mark Spanbroek
2140084d97 Allow contract procs to be exported 2022-01-20 14:00:28 +01:00
Mark Spanbroek
04ff046553 Introduce Contract abstraction 2022-01-20 12:56:18 +01:00
Mark Spanbroek
b965599a47 Use Address implementation from contractabi 2022-01-20 12:55:14 +01:00
Mark Spanbroek
7bc102a421 Provider.getBlockNumber() 2022-01-18 14:26:41 +01:00
Mark Spanbroek
bd20199f87 Send raw messages to the provider 2022-01-18 14:24:46 +01:00
Mark Spanbroek
05366c4a49 Introduce JsonRpcProvider 2022-01-18 12:10:20 +01:00
Mark Spanbroek
fe688bde79 Introduce Address type 2022-01-18 12:09:20 +01:00
Mark Spanbroek
898bf8f16f Project setup 2022-01-17 17:04:14 +01:00