Commit Graph

9408 Commits

Author SHA1 Message Date
yosoyubik
520225056a naive: send signature and raw tx for every tx in the roll
this assumes that the naive contract has a "fallback" function:

https://docs.soliditylang.org/en/v0.5.3/contracts.html#fallback-function
2021-05-29 14:57:57 +02:00
yosoyubik
98bef023cf naive: send updates to aggregator 2021-05-29 14:53:57 +02:00
yosoyubik
4cbf3d497b naive: update tx state in finding txs 2021-05-29 14:46:19 +02:00
yosoyubik
e834aface1 naive: subscribe to azimuth agent 2021-05-29 14:44:58 +02:00
yosoyubik
9abd6c3e72 naive: use gen-tx-octs from naive-transactions library 2021-05-29 14:44:16 +02:00
yosoyubik
a3ed3182bc naive: use contract/chain from azimuth library 2021-05-29 14:43:13 +02:00
yosoyubik
8b51b526d3 naive: add get-next-nonce thread 2021-05-29 14:40:13 +02:00
yosoyubik
8851e52f45 naive: add eth-get-balance 2021-05-29 14:22:33 +02:00
yosoyubik
7b216d316a Merge remote-tracking branch 'origin/poprox/naive-tests' into naive/aggregator 2021-05-26 12:03:28 +02:00
drbeefsupreme
816f5ac38f
Merge branch 'philip/naive' into poprox/naive-tests 2021-05-25 15:06:30 -04:00
drbeefsupreme
1716383beb
naive: split signing from gen-tx-octs 2021-05-25 15:05:39 -04:00
yosoyubik
47813a189a naive: hook up subscription to azimuth for %tx diffs 2021-05-23 15:49:55 +02:00
yosoyubik
001d58e539 naive: add parse raw tx in aggregator submit action 2021-05-23 14:59:29 +02:00
yosoyubik
766e2ab610 naive: capture rpc errors when sending l2 batches 2021-05-22 08:10:30 +02:00
yosoyubik
3cee0ff3b8 naive: import /lib/naive-transactions in aggregator 2021-05-21 15:21:09 +02:00
yosoyubik
937cc2ce44 naive: add aggregator sur 2021-05-21 15:07:08 +02:00
yosoyubik
9caa686173 naive: cast to _pending when updating pending-state 2021-05-21 14:29:40 +02:00
yosoyubik
fbb40b688e naive: add %failed for droppped l2 txs 2021-05-21 14:12:05 +02:00
yosoyubik
30bd648d7f json-rpc: move error response core to lib 2021-05-21 13:39:06 +02:00
yosoyubik
c1f071878a Merge remote-tracking branch 'origin/philip/naive' into yu/azimuth-rpc 2021-05-21 13:01:40 +02:00
yosoyubik
8532ef4bb0 naive: remove [] around function calls in scry paths 2021-05-21 13:00:45 +02:00
yosoyubik
93c2e3b0b5 naive: move json [en/de]code functions to common core 2021-05-21 12:57:47 +02:00
yosoyubik
6cdc3a1cae Merge branch 'naive/aggregator' into yu/azimuth-rpc 2021-05-21 12:34:33 +02:00
yosoyubik
ce35d07adb naive: remove redundant brackets 2021-05-21 12:34:29 +02:00
yosoyubik
f6adf083ad naive: use /v1/azimuth in rcp-api 2021-05-21 12:28:54 +02:00
yosoyubik
8cd811658f Merge branch 'yu/azimuth-rpc' into naive/aggregator 2021-05-21 12:20:06 +02:00
yosoyubik
48533331f9 naive: fix signature parsing 2021-05-21 12:17:59 +02:00
yosoyubik
5862aa07ce naive: wip aggregator send thread 2021-05-21 12:16:57 +02:00
yosoyubik
31ae6c2227 ethio: handles a result member in an error response
When using a Ganache for running a local Ethereum node, an error RPC 
response can contain a 'result' member with the hash of the transaction, 
 even though that goes against the JSON-RPC spec
2021-05-21 12:11:56 +02:00
Philip Monk
90b7a77cdf
naive: fix rift handling during reset transfers 2021-05-20 13:46:25 -10:00
Philip Monk
c5b17bdb7a
Merge remote-tracking branch 'origin/poprox/naive-tests' into philip/naive 2021-05-20 13:09:53 -10:00
Philip Monk
fef85b1829
naive: make correct sponsor for L2-spawned ships 2021-05-20 13:09:03 -10:00
Philip Monk
000f7ca717
naive: better style 2021-05-20 13:07:52 -10:00
Philip Monk
eb68a42b0d
Merge branch 'philip/naive' of ssh://github.com/urbit/urbit into philip/naive 2021-05-20 12:46:19 -10:00
drbeefsupreme
2b6a795c8b
naive: |^ify gen-tx-octs 2021-05-20 15:55:24 -04:00
drbeefsupreme
189edd2e48
naive: rename gen-tx to gen-tx-octs 2021-05-19 15:57:24 -04:00
drbeefsupreme
f10c6606d0
naive: change tests to work with new tx form 2021-05-19 15:49:03 -04:00
drbeefsupreme
6f89b2ddd6
naive: use lib/naive tx form 2021-05-19 15:48:27 -04:00
drbeefsupreme
ab332118b9
Merge remote-tracking branch 'origin/naive/aggregator' into poprox/naive-tests 2021-05-19 11:33:51 -04:00
drbeefsupreme
04016eb262
naive: another life/rift test 2021-05-19 11:32:13 -04:00
yosoyubik
9e7cb91398 Merge branch 'yu/azimuth-rpc' into naive/aggregator 2021-05-17 17:50:45 +02:00
yosoyubik
152cf894ff naive: hook rpc-api with aggregator 2021-05-17 17:49:41 +02:00
yosoyubik
7c57a35ccc naive: wip aggregator compiles
got it to compile and tested poke and scry from /app/azimuth-rpc.hoon
2021-05-17 17:48:49 +02:00
drbeefsupreme
5124bc5299
naive: combining life+rift tests 2021-05-14 14:17:06 -04:00
drbeefsupreme
4aa571d98c
new life+rift tests 2021-05-14 13:56:09 -04:00
yosoyubik
154baceb8b Merge branch 'yu/azimuth-rpc' into naive/aggregator 2021-05-14 09:46:36 +02:00
yosoyubik
c5d61b7076 json-rpc: fix result key in rpc response 2021-05-14 07:25:13 +02:00
yosoyubik
8ebb5e2d6c naive: add pending and tx status RPCs 2021-05-14 07:25:09 +02:00
yosoyubik
7ede24c3cc naive: first pass at tx history RPC 2021-05-14 07:25:04 +02:00
yosoyubik
ae8d98c467 naive: add jsonrpc parsing for sending pending rolls 2021-05-14 07:24:59 +02:00
yosoyubik
66d0c7d47b naive: handle malformed data in transfer-point 2021-05-14 07:24:56 +02:00
yosoyubik
c150da0372 naive: validate proxy in from is one of proxy:naive 2021-05-14 07:24:53 +02:00
yosoyubik
00334d582e naive: use +pairs:enjs for point-to-json reponse 2021-05-14 07:24:48 +02:00
yosoyubik
0380d18735 naive: add rpc response error codes 2021-05-14 07:24:43 +02:00
yosoyubik
36cdb9493d naive: add jsonrpc parsing for naive txs 2021-05-14 07:24:35 +02:00
yosoyubik
fe6f189e33 json-rpc: add support for params as map object 2021-05-14 07:24:35 +02:00
yosoyubik
fe8c36dd3f naive: use agentio for scry point 2021-05-14 07:24:27 +02:00
yosoyubik
843fe4ce38 json-rpc: add validation for json-rpc request 2021-05-14 07:24:27 +02:00
yosoyubik
d8a24d7d6b naive: add json library for rpc responses 2021-05-14 07:24:16 +02:00
yosoyubik
0c704bb145 json-rpc: add response-to-json 2021-05-14 07:24:16 +02:00
yosoyubik
afd3c9b85e naive: add azimuth rpc api
Currently supports one endpoint 'get-point' that returns Azimuth Point
data (see +point in %/lib/naive.hoon), for a given ship.

To run it:

curl -X POST --data '{
  "jsonrpc": "2.0",
  "method": "get-point",
  "params": {"ship": "~sampel-palnet"},
  "id": 1234
}' http://localhost:8080/v1/azimuth
2021-05-14 07:23:59 +02:00
yosoyubik
de3007dc06 json-rpc: add jsonrpc key to request 2021-05-14 07:23:59 +02:00
yosoyubik
31cc219997 naive: support "get point" scry 2021-05-14 07:23:58 +02:00
Philip Monk
958b68f63b
naive: comments 2021-05-13 06:58:37 -10:00
fang
9b62454bca
naive: wip aggregator
Includes logic for the core flow, but isn't fully hooked up to outside
sources/events yet. Probably doesn't compile. Plenty of TODOs remaining.
2021-05-13 17:21:35 +02:00
drbeefsupreme
49fdf0a496
naive: fix key changing tests 2021-05-11 17:33:57 -04:00
drbeefsupreme
de5a907300
naive: factor out l2 transaction firing into lib
Moved everything related to generating layer 2 transactions, including
verification, into their own library. This ought to be shared between
the aggregator and tests
2021-05-11 16:47:33 -04:00
drbeefsupreme
7470b148b8
naive: unified l2 transaction firing arm 2021-05-11 16:32:33 -04:00
drbeefsupreme
baadf059d4
naive: add basic types 2021-05-11 14:28:43 -04:00
drbeefsupreme
0266805b12
naive: combine l2 spawn tests 2021-05-06 11:37:02 -04:00
drbeefsupreme
f39ca44a9d
naive: combine transfer proxy tests 2021-05-06 11:29:17 -04:00
drbeefsupreme
e7c268f53a
naive: change +transfer-point sample 2021-05-06 11:22:03 -04:00
drbeefsupreme
2c445fe495
naive: more test standardization 2021-05-06 00:54:13 -04:00
drbeefsupreme
8c3ee149cb
naive: l1 sponsorship tests 2021-05-05 23:25:34 -04:00
drbeefsupreme
a81e5e5af4
Merge branch 'philip/naive' into poprox/naive-tests 2021-05-05 22:56:34 -04:00
drbeefsupreme
2189a54ae9
naive: dumb way to make tests more readable 2021-05-05 22:55:15 -04:00
fang
1678d45876
naive: emit effects for processed txs
As a transaction receipt of sort, to inform of transaction success or
failure.
2021-05-06 00:16:49 +02:00
drbeefsupreme
f395a7668d
naive: missing tangs 2021-05-04 14:11:19 -04:00
drbeefsupreme
839a660b69
naive: sponsorship tests 2021-05-04 14:10:25 -04:00
drbeefsupreme
b2a1da4faa
naive: l2 life+rift tests 2021-05-04 13:27:43 -04:00
drbeefsupreme
7b89b552b6
naive: fix transfer life+rift test 2021-04-30 17:45:24 -04:00
drbeefsupreme
90d91472b4
naive: test l2 escape request 2021-04-30 17:42:30 -04:00
drbeefsupreme
d7909375c8
naive: life and rift tests 2021-04-30 17:16:53 -04:00
drbeefsupreme
e87b1e2621
naive: test breach proxies+keys for l2 transfers 2021-04-30 16:39:13 -04:00
drbeefsupreme
7f32d91258
naive: breach is flag not atom 2021-04-30 14:00:03 -04:00
drbeefsupreme
84a8a5c860
naive: fix key format for tests 2021-04-29 16:31:45 -04:00
drbeefsupreme
2099f87290
Merge branch 'philip/naive' into poprox/naive-test 2021-04-29 15:57:27 -04:00
Philip Monk
27949c5d8a
naive: fix +tx 2021-04-28 22:04:11 -07:00
Philip Monk
75eeef544e
naive: store crypto suite number in state
We now store the raw crypto suite number, authentication key, and
encryption key.  App/azimuth converts this to a `pass` for jael's
benefit.
2021-04-28 20:51:43 -07:00
Philip Monk
b1091d0e98
Merge remote-tracking branch 'origin/master' into philip/naive 2021-04-28 20:30:07 -07:00
Philip Monk
3869e01556
naive: infer ships from 'from'
For all except spawn, we can infer one of the ship arguments to be the
"from" ship.  This reduces repetition in the batches, which shortens txs
by 4 bytes each (except spawn), and eliminates the need to assert the
same ship is used in both places.
2021-04-28 19:55:57 -07:00
Philip Monk
36a10eb083
naive: convert can -> cad
Avoid bugs where we miscount the length of assembled atoms.
2021-04-28 19:19:50 -07:00
Philip Monk
5d52171a47
naive: add domain separator
To prevent replay across chains, eg from ropsten to mainnet.
Additionally, this introduces a version number, so we won't have to
worry about future signature formats being accidentally compatible with
this one.
2021-04-28 18:13:00 -07:00
Philip Monk
6dda168f3c
naive: factor out keccak into verifier
The verifier now takes an octs so that we can properly hash it to the 32
bytes required by ecdsa.

This allows lib/naive to use its own stdlib again.
2021-04-28 15:38:28 -07:00
drbeefsupreme
7f1e21d3d5
naive: l1 key change test 2021-04-28 15:29:20 -04:00
drbeefsupreme
fe8150f395
naive: key change test 2021-04-28 15:13:31 -04:00
Philip Monk
f2c43edc99
naive: make bitlengths explicit
Also switches everything to ropsten by default, including ivory pill.
Batches work on ropsten now.

Also adds +tx as a hacky development tool to create text for metamask to
sign and then turn that into a batch.  A useful reference for bridge and
aggregator work.
2021-04-27 22:58:19 -07:00
Philip Monk
a644d8a5b2
naive: merge fixes 2021-04-27 17:31:38 -07:00
Philip Monk
3b0fc59c2b
Merge remote-tracking branch 'origin/poprox/naive-tests' into philip/naive 2021-04-27 17:27:28 -07:00
Philip Monk
781cdf3960
naive: alter signatures to match personal_sign 2021-04-27 17:26:34 -07:00