Mark Spanbroek
9efcf21722
Use func where possible
2021-03-17 12:22:00 +01:00
Mark Spanbroek
2737732e6d
Accept incoming channel
2021-03-16 12:50:46 +01:00
Mark Spanbroek
48e27a9bd1
Verify signatures
2021-03-16 10:19:13 +01:00
Mark Spanbroek
c680d34a18
Recover ethereum address from signature
2021-03-15 17:36:16 +01:00
Mark Spanbroek
292a7ec2ac
Wallet: open ledger channel
2021-03-15 16:38:04 +01:00
Mark Spanbroek
d1c580eb91
Rename: StateUpdate -> ChannelUpdate
2021-03-15 11:35:17 +01:00
Mark Spanbroek
c824a3edd1
Update to latest version of questionable
2021-03-15 11:23:02 +01:00
Mark Spanbroek
5837a655e0
Add wallet
2021-03-09 16:53:15 +01:00
Mark Spanbroek
9b580395d8
Conversion from public key to ethereum address
2021-03-09 16:50:28 +01:00
Mark Spanbroek
11a2329bf2
Print EthAddress as hex, add zero address
2021-03-09 16:50:08 +01:00
Mark Spanbroek
405ba8efd4
Add == operator for Outcomes
2021-03-09 16:49:16 +01:00
Mark Spanbroek
a945698ec6
Add convenience initializer to Outcome
2021-03-09 16:48:47 +01:00
Mark Spanbroek
a8b2cfab5a
Rename: EthAddress.fromHex() -> EthAddress.parse()
2021-03-09 14:05:32 +01:00
Mark Spanbroek
b758751211
Add Destination (abstraction for either channel id or eth address)
2021-03-09 14:02:01 +01:00
Mark Spanbroek
c87ed22036
Extract public/private key logic into separate module
2021-03-09 13:16:54 +01:00
Mark Spanbroek
63b9b5452f
Rename: Channel -> ChannelDefinition
...
To avoid name clash with upcoming channel abstraction
in the wallet.
2021-03-09 12:41:51 +01:00
Mark Spanbroek
f7dda63c04
Move common imports into a "basics" module
2021-03-09 11:07:35 +01:00
Mark Spanbroek
4afe88965c
Use questionable library for handling Option and Result
2021-03-09 09:37:27 +01:00
Mark Spanbroek
2e9896c13a
Move everything into nitro/protocol
2021-03-04 11:30:32 +01:00
Mark Spanbroek
415ab9d281
Fix compilation with Nim 1.2.6
2021-03-03 10:30:07 +01:00
Mark Spanbroek
72ba624cdc
Return Option[T] instead of raising exceptions
2021-03-03 09:57:03 +01:00
Mark Spanbroek
8ddd78ed68
Sign Nitro states
2021-03-02 07:37:38 +01:00
Mark Spanbroek
34072f4749
Fix ABI encoding of Nitro state to match javascript implementation
...
- rewrite ABI encoding to properly handle dynamic tuples
- surround Nitro types with extra tuples to match javascript
- test with examples of encoding extracted from javascript
2021-02-25 09:11:46 +01:00
Mark Spanbroek
3867258fe6
Fix ABI encoding of outcome; should be in a tuple
2021-02-23 12:30:55 +01:00
Mark Spanbroek
aaa394fc0c
Fix ABI encoding of app part; should be in a tuple
2021-02-23 12:01:06 +01:00
Mark Spanbroek
61df75b1a1
Fix ABI encoding of channel; should be in a tuple
2021-02-23 11:34:09 +01:00
Mark Spanbroek
38a6e6ab95
Fix ABI encoding of tuples
...
Offset of dynamic elements is relative to the start of the tuple,
not relative to the start of the element.
2021-02-23 11:32:41 +01:00
Mark Spanbroek
763a758b0a
Fix ABI encoding of Ethereum Addresses
...
They should be encoded as if they were UInt160, which means they
should be left-padded with zeroes, instead of right-padded.
2021-02-23 10:24:09 +01:00
Mark Spanbroek
ab2a39a704
Nitro state, including ABI encoding and hashing
2021-02-22 15:32:48 +01:00