mirror of
https://github.com/urbit/shrub.git
synced 2024-12-22 02:11:38 +03:00
Merge branch 'philip/roller' into naive/preboot
This commit is contained in:
commit
4314596280
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e6e3c7c0274352d2cfba2a9f2b3382cdeab0e0fb97455b42293a214561d177ee
|
||||
size 1101949
|
||||
oid sha256:f59ec4eaf907227a1fd64e1d54810b769b5d39f6811c6bb254b2e89de528ca04
|
||||
size 1209494
|
||||
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1f75add9e2b4522ee18a3ef64beb52a3f3b49345e8ac31e4954449c4f4d3b2ef
|
||||
size 21338783
|
||||
oid sha256:a3e9d1c5a0d87ed487af2d6d55fbcadbedcc7b12e4812b9c52846f87c6e42699
|
||||
size 24033452
|
||||
|
@ -6,10 +6,16 @@
|
||||
default-agent,
|
||||
verb,
|
||||
dbug
|
||||
:: Generally don't update the snapshot until we have clay tombstoning.
|
||||
:: To update, run:
|
||||
:: =e -build-file %/lib/ethereum/hoon
|
||||
:: =l .^((list event-log:rpc:e) %gx /=azimuth=/logs/noun)
|
||||
:: */app/azimuth/logs/eth-logs ð-logs l
|
||||
::
|
||||
/* snap %eth-logs /app/azimuth/logs/eth-logs
|
||||
::
|
||||
=/ last-snap :: maybe just use the last one?
|
||||
%+ roll `(list event-log:rpc:ethereum)`~ ::snap
|
||||
%+ roll `(list event-log:rpc:ethereum)`snap ::~
|
||||
|= [log=event-log:rpc:ethereum last=@ud]
|
||||
?~ mined.log
|
||||
last
|
||||
@ -24,7 +30,7 @@
|
||||
+$ app-state
|
||||
$: %0
|
||||
url=@ta
|
||||
net=network
|
||||
=net
|
||||
whos=(set ship)
|
||||
nas=^state:naive
|
||||
own=owners
|
||||
@ -37,11 +43,10 @@
|
||||
[%listen whos=(list ship) =source:jael]
|
||||
:: %watch: configure node url and network
|
||||
::
|
||||
[%watch url=@ta net=network]
|
||||
[%watch url=@ta =net]
|
||||
==
|
||||
::
|
||||
+$ tagged-diff [=id:block diff:naive]
|
||||
+$ network ?(%mainnet %ropsten %local)
|
||||
+$ card card:agent:gall
|
||||
:: TODO: add to state?
|
||||
::
|
||||
@ -117,9 +122,12 @@
|
||||
net.state net.poke
|
||||
url.state url.poke
|
||||
own.state ~
|
||||
logs.state ~
|
||||
logs.state ?:(?=(%default net.poke) snap ~)
|
||||
==
|
||||
[start:do this]
|
||||
%- %- slog :_ ~
|
||||
leaf+"azimuth: loading snapshot with {<(lent logs.state)>} events"
|
||||
=^ snap-cards state (run-logs:do logs.state)
|
||||
[(weld (jael-update:do (to-udiffs:do snap-cards)) start:do) this]
|
||||
==
|
||||
::
|
||||
++ on-watch
|
||||
@ -138,7 +146,13 @@
|
||||
~
|
||||
(~(put in whos.state) u.who)
|
||||
^- (quip card _this)
|
||||
[start:do this]
|
||||
:: Slow to recalculate all the diffs, but this is necessary to make
|
||||
:: sure Jael gets the updates from the snapshot
|
||||
::
|
||||
%- %- slog :_ ~
|
||||
leaf+"azimuth: loading snapshot with {<(lent logs.state)>} events"
|
||||
=/ res (%*(run-logs do nas.state *^state:naive) logs.state)
|
||||
[(weld (jael-update:do (to-udiffs:do -.res)) start:do) this]
|
||||
::
|
||||
++ on-leave on-leave:def
|
||||
++ on-peek
|
||||
@ -291,7 +305,7 @@
|
||||
++ jael-update
|
||||
|= =udiffs:point
|
||||
^- (list card)
|
||||
?: & ~ :: XX
|
||||
:: ?: & ~ :: XX
|
||||
:- [%give %fact ~[/] %azimuth-udiffs !>(udiffs)]
|
||||
|- ^- (list card)
|
||||
?~ udiffs
|
||||
@ -314,14 +328,15 @@
|
||||
[%give %fact ~[/event] %naive-diffs !>(+.tag)]
|
||||
::
|
||||
++ get-network
|
||||
|= =network
|
||||
|= =net
|
||||
^- [azimuth=@ux naive=@ux chain-id=@ launch=@]
|
||||
=< [azimuth naive chain-id launch]
|
||||
=, azimuth
|
||||
?- network
|
||||
?- net
|
||||
%mainnet mainnet-contracts
|
||||
%ropsten ropsten-contracts
|
||||
%local local-contracts
|
||||
%default contracts
|
||||
==
|
||||
::
|
||||
++ start
|
||||
|
Binary file not shown.
@ -1,4 +1,4 @@
|
||||
:: Change node url and network for azimuth
|
||||
:- %say
|
||||
|= [* [url=@ta net=?(%mainnet %ropsten %local) ~] ~]
|
||||
|= [* [url=@ta net=?(%mainnet %ropsten %local %default) ~] ~]
|
||||
[%azimuth-poke %watch url net]
|
||||
|
@ -78,7 +78,7 @@
|
||||
:: # constants
|
||||
::
|
||||
:: contract addresses
|
||||
++ contracts ropsten-contracts
|
||||
++ contracts mainnet-contracts
|
||||
++ mainnet-contracts
|
||||
|%
|
||||
:: azimuth: data contract
|
||||
@ -99,7 +99,7 @@
|
||||
0xf790.8ab1.f1e3.52f8.3c5e.bc75.051c.0565.aeae.a5fb
|
||||
::
|
||||
++ naive
|
||||
0x45bc.b745.a1af.e67a.c877.e107.5478.2329.4ba9.0899
|
||||
0xeb70.029c.fb3c.53c7.78ea.f68c.d28d.e725.390a.1fe9
|
||||
::
|
||||
:: launch: block number of azimuth deploy
|
||||
::
|
||||
|
@ -90,7 +90,7 @@
|
||||
|_ id=@t
|
||||
:: https://www.jsonrpc.org/specification#error_object
|
||||
::
|
||||
++ parse [%error id '-32700' 'Failed to parsed']
|
||||
++ parse [%error id '-32700' 'Failed to parse']
|
||||
++ request [%error id '-32600' 'Invalid Request']
|
||||
++ method [%error id '-32601' 'Method not found']
|
||||
++ params [%error id '-32602' 'Invalid params']
|
||||
|
@ -114,17 +114,17 @@
|
||||
=, dejs-soft:format
|
||||
=- (ar (ot id+so result+(ot network+- ~) ~))
|
||||
%- ot
|
||||
:~ :- 'rift' ni
|
||||
:- 'keys' (ot 'life'^ni ~)
|
||||
:~ :- 'rift' (su dim:ag)
|
||||
:- 'keys' (ot 'life'^(su dim:ag) ~)
|
||||
:- 'keys' %+ cu pass-from-eth:azimuth
|
||||
%- ot
|
||||
:~ 'crypt'^(cu (lead 32) ni)
|
||||
'auth'^(cu (lead 32) ni)
|
||||
'suite'^ni
|
||||
:~ 'crypt'^(cu (lead 32) (su ;~(pfix (jest '0x') hex)))
|
||||
'auth'^(cu (lead 32) (su ;~(pfix (jest '0x') hex)))
|
||||
'suite'^(su dim:ag)
|
||||
==
|
||||
==
|
||||
?~ res
|
||||
~&([%czar-take-dawn %invalid-json] ~)
|
||||
~&([%czar-take-dawn %incomplete-json] ~)
|
||||
:- ~
|
||||
%+ roll u.res
|
||||
|= $: [id=@t deet=[=rift =life =pass]]
|
||||
@ -179,19 +179,19 @@
|
||||
:- 'network'
|
||||
%- ot
|
||||
::TODO dedupe with +czar
|
||||
:~ 'rift'^ni
|
||||
'keys'^(ot 'life'^ni ~)
|
||||
:~ 'rift'^(su dim:ag)
|
||||
'keys'^(ot 'life'^(su dim:ag) ~)
|
||||
::
|
||||
:- 'keys'
|
||||
%+ cu pass-from-eth:azimuth
|
||||
%- ot
|
||||
:~ 'crypt'^(cu (lead 32) ni)
|
||||
'auth'^(cu (lead 32) ni)
|
||||
'suite'^ni
|
||||
:~ 'crypt'^(cu (lead 32) (su ;~(pfix (jest '0x') hex)))
|
||||
'auth'^(cu (lead 32) (su ;~(pfix (jest '0x') hex)))
|
||||
'suite'^(su dim:ag)
|
||||
==
|
||||
::
|
||||
::TODO inconsistent @p string
|
||||
'sponsor'^(ot 'has'^bo 'who'^(su fed:ag) ~)
|
||||
'sponsor'^(ot 'has'^bo 'who'^ni ~)
|
||||
::
|
||||
::TODO escape
|
||||
::TODO what if escape or sponsor not present? possible?
|
||||
@ -208,7 +208,7 @@
|
||||
=/ res=(unit (list @t))
|
||||
((ot result+(ar so) ~) u.jon)
|
||||
?~ res
|
||||
~&([%turf-take-dawn %invalid-response rep] ~)
|
||||
~&([%turf-take-dawn %invalid-response] ~)
|
||||
:: remove duplicates, parse into turfs
|
||||
::
|
||||
=- `doz
|
||||
|
@ -5,7 +5,7 @@
|
||||
|%
|
||||
+$ owner [=proxy:naive =address:naive]
|
||||
+$ owners (jug owner ship)
|
||||
+$ net ?(%mainnet %ropsten %local)
|
||||
+$ net ?(%mainnet %ropsten %local %default)
|
||||
::
|
||||
+$ config
|
||||
$% [%frequency frequency=@dr]
|
||||
|
@ -208,7 +208,7 @@
|
||||
app
|
||||
%poke
|
||||
%azimuth-poke
|
||||
!>([%watch (crip (en-purl:html purl))])
|
||||
!>([%watch (crip (en-purl:html purl)) %default])
|
||||
==
|
||||
::
|
||||
++ sein :: sponsor
|
||||
|
@ -12,10 +12,10 @@
|
||||
=+ !<([~ pup=watchpup] args)
|
||||
=/ m (strand:strandio ,vase)
|
||||
^- form:m
|
||||
;< =latest=block bind:m (get-latest-block:ethio url.pup)
|
||||
;< pup=watchpup bind:m (zoom pup number.id.latest-block)
|
||||
;< =latest=block bind:m (get-latest-block:ethio url.pup)
|
||||
;< pup=watchpup bind:m (zoom pup number.id.latest-block)
|
||||
=| vows=disavows
|
||||
;< pup=watchpup bind:m (fetch-batches pup)
|
||||
;< pup=watchpup bind:m (fetch-batches pup)
|
||||
::?. eager.pup
|
||||
(pure:m !>([vows pup]))
|
||||
:: |- ^- form:m
|
||||
|
@ -88,7 +88,7 @@ _main_getopt(c3_i argc, c3_c** argv)
|
||||
u3_Host.ops_u.kno_w = DefaultKernel;
|
||||
|
||||
while ( -1 != (ch_i=getopt(argc, argv,
|
||||
"X:Y:G:J:B:b:K:A:H:I:C:w:u:e:F:k:n:p:r:i:Z:LljacdgqstvxPDRS")) )
|
||||
"X:Y:G:J:B:b:K:A:H:I:C:w:u:e:E:F:k:n:p:r:i:Z:LljacdgqstvxPDRS")) )
|
||||
{
|
||||
switch ( ch_i ) {
|
||||
case 'X': {
|
||||
@ -141,6 +141,10 @@ _main_getopt(c3_i argc, c3_c** argv)
|
||||
u3_Host.ops_u.eth_c = strdup(optarg);
|
||||
break;
|
||||
}
|
||||
case 'E': {
|
||||
u3_Host.ops_u.nav_c = strdup(optarg);
|
||||
break;
|
||||
}
|
||||
case 'F': {
|
||||
u3_Host.ops_u.fak_c = _main_presig(optarg);
|
||||
u3_Host.ops_u.net = c3n;
|
||||
@ -445,6 +449,7 @@ u3_ve_usage(c3_i argc, c3_c** argv)
|
||||
"-D Recompute from events\n",
|
||||
"-d Daemon mode; implies -t\n",
|
||||
"-e url Ethereum gateway\n",
|
||||
"-E url Naive (L2) gateway\n",
|
||||
"-F ship Fake keys; also disables networking\n",
|
||||
"-g Set GC flag\n",
|
||||
"-i jam_file import pier state\n",
|
||||
|
@ -278,6 +278,7 @@
|
||||
c3_o dry; // -D, dry compute, no checkpoint
|
||||
c3_o dem; // -d, daemon
|
||||
c3_c* eth_c; // -e, ethereum node url
|
||||
c3_c* nav_c; // -E, naive node url
|
||||
c3_c* fak_c; // -F, fake ship
|
||||
c3_c* gen_c; // -G, czar generator
|
||||
c3_o gab; // -g, test garbage collection
|
||||
|
@ -336,12 +336,9 @@ u3_dawn_vent(u3_noun ship, u3_noun feed)
|
||||
|
||||
url = _dawn_purl(rank);
|
||||
|
||||
// XX require https?
|
||||
//TODO make L2 endpoint real
|
||||
//
|
||||
c3_c* url_c = ( 0 != u3_Host.ops_u.eth_c ) ?
|
||||
u3_Host.ops_u.eth_c :
|
||||
"http://l2.urbit.org:1234";
|
||||
c3_c* url_c = ( 0 != u3_Host.ops_u.nav_c ) ?
|
||||
u3_Host.ops_u.nav_c :
|
||||
"https://roller.urbit.org/v1/azimuth";
|
||||
|
||||
{
|
||||
// +point:azimuth: on-chain state
|
||||
@ -378,10 +375,6 @@ u3_dawn_vent(u3_noun ship, u3_noun feed)
|
||||
|
||||
u3l_log("boot: verifying keys\r\n");
|
||||
|
||||
// TODO: remove when L2 is supported
|
||||
|
||||
u3l_log("boot: if you're trying to start an L2 ship,"
|
||||
" upgrade your binary\r\n");
|
||||
// (each seed (lest error=@tas))
|
||||
//
|
||||
sed = u3dq("veri:dawn", u3k(ship), u3k(feed), u3k(pot), u3k(liv));
|
||||
|
Loading…
Reference in New Issue
Block a user