Merge branch 'develop' into i/6303/eyre-verbose

This commit is contained in:
tadad 2023-02-14 10:48:58 -06:00 committed by GitHub
commit 470cdf0fef
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
27 changed files with 238 additions and 145 deletions

View File

@ -126,7 +126,10 @@ git push origin <tagname>
- [ ] ssh into `~zod`
- [ ] Check to ensure that nobody else is ssh'd into `~zod`, by running `screen -ls` and verifying no sessions are attached.
- [ ] Attach to the screen session using `screen -x`
- [ ] Install the contents of the `%kids` desk on `~marnec-dozzod-marzod` into our `%base`: `|merge %base ~marnec-dozzod-marzod %kids, =gem %only-that`
- [ ] Ensure that the release candidate was correctly propagated through the prerelease moons
- Use `-read %z ~SHIP %DESK da+now /` to check desk hashes
- [ ] Run the above check on the following [SHIP DESK] pairs: [~marnec-dozzod-marzod %base], [~marnec-dozzod-marzod %kids], [~doznec-dozzod-marzod %base], [~doznec-dozzod-marzod %kids] — **they should all match**
- [ ] Install the contents of the `%kids` desk on `~doznec-dozzod-marzod` into our `%base`: `|merge %base ~doznec-dozzod-marzod %kids, =gem %only-that`
- [ ] Check that `~zod` has updated to the latest release. For a Kelvin release, you can run `zuse` in the Dojo. Each non-Kelvin release might its own way of checking whether the update has completed, possibly through checking the `%cz` hash of the `%base` desk matches the hash on `~marnec-dozzod-marzod` by comparing the outputs of `+vat %base` on both ships.
- [ ] Merge `~zod`'s `%base` desk into its `%kids` desk to distribute the new code to the network: `|merge %kids our %base, =gem %only-that`
- [ ] Before exiting the screen session on `~zod`, make sure the screen session is not left in copy mode for a long period of time, since that will disrupt `~zod`'s operation.
@ -143,6 +146,17 @@ git push origin <tagname>
- [ ] Merge `master` back into `develop`.
- [ ] Cut a new release branch from `develop`. The branch should have the format `release/urbit-os-vX.XX`
### Release Next Release Candidate
We'll now need to **IMMEDIATELY** deploy the new release candidate to the pre-release moon(s). Otherwise PRs merged during this window will bypass the testing period on `~binnec` and go straight to the release candidate.
- On `~marnec-dozzod-marzod`:
- [ ] `|merge %base ~binnec-dozzod-marzod %kids, =gem %only-that` to update `~marnec` with the contents of the GH release branch
- [ ] `|merge %kids our %base, =gem %only-that` to OTA the release candidate to subscribers
- When ready to deploy the release candidate to App Developers, on `~doznec-dozzod-marzod`:
- [ ] `|merge %base ~marnec-dozzod-marzod %kids, =gem %only-that` to update `~doznec` with the release candidate
- [ ] `|merge %kids our %base, =gem %only-that` to OTA the release candidate to subscribers
### Post-Release Checks
- [ ] Check that `~marzod` and other distribution stars are receiving the update by running `|ames-sift ~zod` and `|ames-verb %rcv %ges`. You should see lots of packets from `~zod`. Once you have confirmed packets are flowing, run `|ames-sift` and `|ames-verb` with no arguments to reset the verbosity state.
- [ ] Check that planets are receiving the update. They should start updating within an hour or so.

View File

@ -1,4 +1,4 @@
.PHONY: build build-all install cross release test pills ropsten-pills clean
.PHONY: build build-all install cross release test pills goerli-pills clean
build:
nix-build -A urbit --no-out-link
@ -17,8 +17,8 @@ pills:
sh/update-brass-pill
sh/update-ivory-pill
ropsten-pills:
sh/create-ropsten-pills
goerli-pills:
sh/create-goerli-pills
interface:
sh/build-interface

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2035ef65290065edbd99a86f9f5a36978617bc1983131fa474a9a5c0e91dc15d
size 5998440
oid sha256:544744b6d1360692b83be7f3e505d0710ea6ce541912509601e81fec2a2cea2e
size 5992253

View File

@ -116,8 +116,8 @@ let
pill = solid.lfs;
};
ivory-ropsten = ivory.override { arvo = arvo.ropsten; };
brass-ropsten = brass.override { arvo = arvo.ropsten; };
ivory-goerli = ivory.override { arvo = arvo.goerli; };
brass-goerli = brass.override { arvo = arvo.goerli; };
# Create a .tgz of the primary binaries.
tarball = let

View File

@ -5,16 +5,16 @@ stdenvNoCC.mkDerivation {
src = marsSources;
outputs = [ "out" "ropsten" ];
outputs = [ "out" "goerli" ];
phases = [ "mainnetPhase" "ropstenPhase" ];
phases = [ "mainnetPhase" "goerliPhase" ];
mainnetPhase = ''
ln -s ${marsSources.out}/arvo $out
'';
ropstenPhase = ''
ln -s ${marsSources.ropsten}/arvo $ropsten
goerliPhase = ''
ln -s ${marsSources.goerli}/arvo $goerli
'';
preferLocalBuild = true;

View File

@ -6,16 +6,16 @@ stdenvNoCC.mkDerivation {
buildInputs = [ bc ];
outputs = [ "out" "ropsten" ];
outputs = [ "out" "goerli" ];
phases = [ "mainnetPhase" "ropstenPhase" ];
phases = [ "mainnetPhase" "goerliPhase" ];
mainnetPhase = ''
cp -r $src $out
chmod -R u+w $out
'';
ropstenPhase = ''
goerliPhase = ''
cp -r $src tmp
chmod -R u+w tmp
@ -23,9 +23,9 @@ stdenvNoCC.mkDerivation {
AMES=tmp/arvo/sys/vane/ames.hoon
ACME=tmp/arvo/app/acme.hoon
# Replace the mainnet azimuth contract with the ropsten contract
# Replace the mainnet azimuth contract with the goerli contract
sed --in-place \
's/\(\+\+ contracts \)mainnet\-contracts/\1ropsten-contracts/' \
's/\(\+\+ contracts \)mainnet\-contracts/\1goerli-contracts/' \
$ZUSE
# Increment the %ames protocol version
@ -38,8 +38,8 @@ stdenvNoCC.mkDerivation {
's_https://acme-v02.api.letsencrypt.org/directory_https://acme-staging-v02.api.letsencrypt.org/directory_' \
$ACME
cp -r tmp $ropsten
chmod -R u+w $ropsten
cp -r tmp $goerli
chmod -R u+w $goerli
'';
preferLocalBuild = true;

View File

@ -1,5 +1,5 @@
{ lib, stdenvNoCC, fetchGitHubLFS, bootFakeShip, solid, urbit, arvo, curl
, withRopsten ? false }:
, withGoerli ? false }:
let
@ -9,9 +9,9 @@ in {
build = import ./builder.nix {
inherit stdenvNoCC urbit curl;
name = "brass" + lib.optionalString withRopsten "-ropsten";
name = "brass" + lib.optionalString withGoerli "-goerli";
builder = ./brass.sh;
arvo = if withRopsten then arvo.ropsten else arvo;
arvo = if withGoerli then arvo.goerli else arvo;
pier = bootFakeShip {
inherit urbit;
@ -19,4 +19,4 @@ in {
ship = "zod";
};
};
} // lib.optionalAttrs (!withRopsten) { inherit lfs; }
} // lib.optionalAttrs (!withGoerli) { inherit lfs; }

View File

@ -1,5 +1,5 @@
{ lib, stdenvNoCC, fetchGitHubLFS, bootFakeShip, solid, urbit, arvo, curl, xxd
, withRopsten ? false }:
, withGoerli ? false }:
let
@ -9,9 +9,9 @@ in {
build = import ./builder.nix {
inherit stdenvNoCC urbit curl;
name = "ivory" + lib.optionalString withRopsten "-ropsten";
name = "ivory" + lib.optionalString withGoerli "-goerli";
builder = ./ivory.sh;
arvo = if withRopsten then arvo.ropsten else arvo;
arvo = if withGoerli then arvo.goerli else arvo;
pier = bootFakeShip {
inherit urbit;
@ -39,4 +39,4 @@ in {
preferLocalBuild = true;
};
} // lib.optionalAttrs (!withRopsten) { inherit lfs; }
} // lib.optionalAttrs (!withGoerli) { inherit lfs; }

View File

@ -185,7 +185,7 @@
::
?- network
%mainnet 0x1
%ropsten 0x3
%goerli 0x5
%fakenet `@ux``@`1.337
[%other *] id.network
==

View File

@ -65,7 +65,7 @@
:: frequency: time to wait between sending batches (TODO fancier)
:: endpoint: ethereum rpc endpoint to use
:: contract: ethereum contract address
:: chain-id: mainnet, ropsten, local (https://chainid.network/)
:: chain-id: mainnet, goerli, local (https://chainid.network/)
:: resend-time: time to resend a batch with higher gas prie
:: update-rate: frequency to update the roller's predicted state
:: fallback-gas-price: default batch gas price
@ -1017,9 +1017,9 @@
=/ [contract=@ux chain-id=@]
=< [naive chain-id]
=, azimuth
?- net.config
?+ net.config !!
%mainnet mainnet-contracts
%ropsten ropsten-contracts
%goerli goerli-contracts
%local local-contracts
%default contracts
==

View File

@ -1,5 +1,5 @@
:: Change node url and network for azimuth
::
:- %say
|= [* [url=@ta net=?(%mainnet %ropsten %local %default) ~] ~]
|= [* [url=@ta net=?(%mainnet %goerli %local %default) ~] ~]
[%azimuth-poke %watch url net]

View File

@ -1,4 +1,4 @@
::
:- %say
|= [* [url=@t net=?(%mainnet %ropsten %local) ~] ~]
|= [* [url=@t net=?(%mainnet %goerli %local) ~] ~]
[%roller-action %config %endpoint url net]

View File

@ -0,0 +1,10 @@
:: Configures /app/roller to listen to a Goerli Infura node
::
:- %say
|= *
:* %roller-action
%config
%endpoint
'https://goerli.infura.io/v3/2599df54929b47099bda360958d75aaf'
%goerli
==

View File

@ -1,10 +0,0 @@
:: Configures /app/roller to listen to a Ropsten Infura node
::
:- %say
|= *
:* %roller-action
%config
%endpoint
'https://ropsten.infura.io/v3/2599df54929b47099bda360958d75aaf'
%ropsten
==

View File

@ -25,7 +25,7 @@
|= =network
?+ network ~&(%careful-fallback-contracts mainnet-contracts:azimuth)
%mainnet mainnet-contracts:azimuth
%ropsten ropsten-contracts:azimuth
%goerli goerli-contracts:azimuth
==
::
++ encode-claz-call

View File

@ -32,9 +32,9 @@
^- [azimuth=@ux naive=@ux chain-id=@ launch=@]
=< [azimuth naive chain-id launch]
=, azimuth
?- net
?+ net !!
%mainnet mainnet-contracts
%ropsten ropsten-contracts
%goerli goerli-contracts
%local local-contracts
%default contracts
==

View File

@ -1095,6 +1095,7 @@
%+ lard /init
=/ m (strand:rand ,vase)
;< =riot:clay bind:m (warp:strandio her sud ~ %sing %y ud+1 /)
?> ?=(^ riot)
~> %slog.(fmt "activated install into {here}")
;< now=@da bind:m get-time:strandio
;< =riot:clay bind:m (warp:strandio her sud ~ %sing %w da+now /)
@ -1109,6 +1110,7 @@
%+ lard /next
=/ m (strand:rand ,vase)
;< =riot:clay bind:m (warp:strandio her sud ~ %sing %w ud+let /)
?> ?=(^ riot)
~> %slog.(fmt "downloading update for {here}")
;< =riot:clay bind:m (warp:strandio her sud ~ %sing %v ud+let /)
?> ?=(^ riot)
@ -1176,14 +1178,6 @@
::
%main
?> ?=(%mere +<.sign-arvo)
:: This case is maintained by superstition. If you remove it,
:: carefully test that if the source ship is breached, we
:: correctly reset let to 0
::
?: ?=([%| %ali-unavailable *] p.sign-arvo)
=+ "kiln: merge into {here} failed, maybe because sunk; restarting"
%- (slog leaf/- p.p.sign-arvo)
init
?: ?=(%| -.p.sign-arvo)
=+ "kiln: merge into {here} failed, waiting for next revision"
%- (slog leaf/- p.p.sign-arvo)
@ -1200,12 +1194,6 @@
?> ?=(%mere +<.sign-arvo)
?~ kid
..abet
:: See %main for this case
::
?: ?=([%| %ali-unavailable *] p.sign-arvo)
=+ "kids merge to {<u.kid>} failed, maybe peer sunk; restarting"
~> %slog.(fmt -)
init
:: Just notify; we've already started listening for the next
:: version
::

View File

@ -11,7 +11,7 @@
::
++ network
$? %mainnet
%ropsten
%goerli
%fakenet
[%other id=@]
==

View File

@ -8,7 +8,7 @@
+$ sponsors (map ship [residents=(set ship) requests=(set ship)])
+$ history (map address:ethereum (tree hist-tx))
+$ events (list event-log:rpc:ethereum)
+$ net ?(%mainnet %ropsten %local %default)
+$ net ?(%mainnet %ropsten %goerli %local %default)
+$ snap-state [%0 =id:block:jael nas=^state:naive =owners =sponsors]
::
+$ config

View File

@ -363,6 +363,8 @@
:: %sift: limit verbosity to .ships
:: %snub: set packet blacklist to .ships
:: %spew: set verbosity toggles
:: %cong: adjust congestion control parameters
:: %stir: recover from timer desync
:: %trim: release memory
:: %vega: kernel reload notification
::
@ -380,6 +382,7 @@
[%sift ships=(list ship)]
[%snub ships=(list ship)]
[%spew veb=(list verb)]
[%cong msg=@ud mem=@ud]
[%stir arg=@t]
$>(%trim vane-task)
$>(%vega vane-task)
@ -1554,6 +1557,9 @@
:: gall scry endpoint
::
[%scry ~]
:: respond with the @p the requester is authenticated as
::
[%name ~]
:: respond with the default file not found page
::
[%four-oh-four ~]

View File

@ -609,6 +609,7 @@
:: crypto-core: interface for encryption and signing
:: bug: debug printing configuration
:: snub: blocklist for incoming packets
:: cong: parameters for marking a flow as clogged
::
:: Note: .corks is only still present for unreleased migration reasons
::
@ -621,6 +622,7 @@
=bug
corks=(set wire)
snub=(set ship)
cong=[msg=@ud mem=@ud]
==
+$ ames-state-4 ames-state-5
+$ ames-state-5
@ -703,6 +705,11 @@
ships=(set ship)
==
::
+$ bug-10
$: veb=_[`?`%.n `?`%.n `?`%.n `?`%.n `?`%.n `?`%.n `?`%.n `?`%.n]
ships=(set ship)
==
::
+$ ames-state-9
$: peers=(map ship ship-state)
=unix=duct
@ -713,6 +720,16 @@
snub=(set ship)
==
::
+$ ames-state-10
$: peers=(map ship ship-state)
=unix=duct
=life
crypto-core=acru:ames
bug=bug-10
corks=(set wire)
snub=(set ship)
==
::
:: $bug: debug printing configuration
::
:: veb: verbosity toggles
@ -876,7 +893,8 @@
[%7 ames-state-7]
[%8 ames-state-8]
[%9 ames-state-9]
[%10 ^ames-state]
[%10 ames-state-10]
[%11 ^ames-state]
==
::
|= [now=@da eny=@ rof=roof]
@ -999,7 +1017,7 @@
:: lifecycle arms; mostly pass-throughs to the contained adult ames
::
++ scry scry:adult-core
++ stay [%10 %larva queued-events ames-state.adult-gate]
++ stay [%11 %larva queued-events ames-state.adult-gate]
++ load
|= $= old
$% $: %4
@ -1045,6 +1063,13 @@
[%adult state=ames-state-9]
== ==
$: %10
$% $: %larva
events=(qeu queued-event)
state=ames-state-10
==
[%adult state=ames-state-10]
== ==
$: %11
$% $: %larva
events=(qeu queued-event)
state=_ames-state.adult-gate
@ -1109,12 +1134,22 @@
=. queued-events events.old
larval-gate
::
[%10 %adult *] (load:adult-core %10 state.old)
[%10 %adult *]
=. cached-state `[%10 state.old]
~> %slog.0^leaf/"ames: larva reload"
larval-gate
::
[%10 %larva *]
~> %slog.1^leaf/"ames: larva: load"
=. queued-events events.old
=. adult-gate (load:adult-core %10 state.old)
larval-gate
::
[%11 %adult *] (load:adult-core %11 state.old)
::
[%11 %larva *]
~> %slog.1^leaf/"ames: larva: load"
=. queued-events events.old
=. adult-gate (load:adult-core %11 state.old)
larval-gate
::
==
@ -1137,7 +1172,9 @@
9+(state-8-to-9:load:adult-core +.u.cached-state)
=? u.cached-state ?=(%9 -.u.cached-state)
10+(state-9-to-10:load:adult-core +.u.cached-state)
?> ?=(%10 -.u.cached-state)
=? u.cached-state ?=(%10 -.u.cached-state)
11+(state-10-to-11:load:adult-core +.u.cached-state)
?> ?=(%11 -.u.cached-state)
=. ames-state.adult-gate +.u.cached-state
[moz larval-core(cached-state ~)]
--
@ -1178,6 +1215,7 @@
%sift (on-sift:event-core ships.task)
%snub (on-snub:event-core ships.task)
%spew (on-spew:event-core veb.task)
%cong (on-cong:event-core [msg mem]:task)
%stir (on-stir:event-core arg.task)
%trim on-trim:event-core
%vega on-vega:event-core
@ -1214,19 +1252,19 @@
[moves ames-gate]
:: +stay: extract state before reload
::
++ stay [%10 %adult ames-state]
++ stay [%11 %adult ames-state]
:: +load: load in old state after reload
::
++ load
=< |= $= old-state
$% [%10 ^ames-state]
$% [%11 ^ames-state]
==
^+ ames-gate
?> ?=(%10 -.old-state)
?> ?=(%11 -.old-state)
ames-gate(ames-state +.old-state)
:: all state transitions are called from larval ames
::
|%
:: +state-4-to-5 called from larval-ames
::
++ state-4-to-5
|= ames-state=ames-state-4
@ -1244,7 +1282,6 @@
message-pump-state
ship-state
ames-state
:: +state-5-to-6 called from larval-ames
::
++ state-5-to-6
|= ames-state=ames-state-5
@ -1267,7 +1304,6 @@
:_ +.peer-state
=, -.peer-state
[symmetric-key life rift public-key sponsor]
:: +state-6-to-7 called from larval-ames
::
++ state-6-to-7
|= ames-state=ames-state-6
@ -1282,41 +1318,42 @@
^- peer-state
:- +<.ship-state
[route qos ossuary snd rcv nax heeds ~ ~ ~]:ship-state
:: +state-7-to-8 called from larval-ames
::
++ state-7-to-8
|= ames-state=ames-state-7
^- ames-state-8
:* peers.ames-state
unix-duct.ames-state
life.ames-state
crypto-core.ames-state
bug.ames-state
=, ames-state
:* peers unix-duct life crypto-core bug
*(set wire)
==
::
++ state-8-to-9
|= ames-state=ames-state-8
^- ames-state-9
:* peers.ames-state
unix-duct.ames-state
life.ames-state
crypto-core.ames-state
bug.ames-state
corks.ames-state
=, ames-state
:* peers unix-duct life crypto-core bug corks
*(set ship)
==
::
++ state-9-to-10
|= ames-state=ames-state-9
^- ^^ames-state
:* peers.ames-state
unix-duct.ames-state
life.ames-state
crypto-core.ames-state
^- ames-state-10
=, ames-state
:* peers unix-duct life crypto-core
%= bug.ames-state
veb [&1 &2 &3 &4 &5 &6 |6 %.n]:veb.bug.ames-state
veb [&1 &2 &3 &4 &5 &6 |6 %.n]:veb.bug
==
corks.ames-state
snub.ames-state
corks snub
==
::
++ state-10-to-11
|= ames-state=ames-state-10
^- ^^ames-state
=, ames-state
:* peers unix-duct life crypto-core bug corks snub
:: 5 messages and 100Kb of data outstanding
::
[msg=5 mem=100.000]
==
--
:: +scry: dereference namespace
@ -1583,6 +1620,13 @@
=. peer-core (run-message-pump:peer-core i.bones %prod ~)
$(bones t.bones)
--
:: +on-cong: adjust congestion control parameters
::
++ on-cong
|= [msg=@ud mem=@ud]
^+ event-core
=. cong.ames-state msg^mem
event-core
:: +on-stir: recover from timer desync, setting new timers as needed
::
:: .arg is unused, meant to ease future debug commands
@ -2571,27 +2615,40 @@
?: =(0 (end 0 bone))
~
`u=message-pump-state
:: clogged: are five or more response messages unsent to this peer?
::
=/ clogged=?
=| acc=@ud
|- ^- ?
?~ pumps
%.n
=. acc
%+ add acc
%+ add
:: in-flight messages
::
(sub [next current]:i.pumps)
:: queued messages
::
~(wyt in unsent-messages.i.pumps)
|^ &(nuf-messages nuf-memory)
:: +nuf-messages: are there enough messages to mark as clogged?
::
?: (gte acc 5)
%.y
$(pumps t.pumps)
:: if clogged, notify client vanek
++ nuf-messages
=| num=@ud
|- ^- ?
?~ pumps |
=. num
;: add num
(sub [next current]:i.pumps)
~(wyt in unsent-messages.i.pumps)
==
?: (gte num msg.cong.ames-state)
&
$(pumps t.pumps)
:: +nuf-memory: is enough memory used to mark as clogged?
::
++ nuf-memory
=| mem=@ud
|- ^- ?
?~ pumps |
=. mem
%+ add
%- ~(rep in unsent-messages.i.pumps)
|=([a=@ b=_mem] (add b (met 3 a)))
?~ unsent-fragments.i.pumps 0
(met 3 fragment.i.unsent-fragments.i.pumps)
?: (gte mem mem.cong.ames-state)
&
$(pumps t.pumps)
--
:: if clogged, notify client vane
::
?. clogged
peer-core

View File

@ -4827,7 +4827,9 @@
::
%merg :: direct state up
?: =(%$ des.req)
~&(%merg-no-desk !!)
~|(%merg-no-desk !!)
?. ((sane %tas) des.req)
~|([%merg-bad-desk-name des.req] !!)
=^ mos ruf
=/ den ((de now rof hen ruf) our des.req)
abet:(start-merge:den her.req dem.req cas.req how.req)
@ -4835,7 +4837,9 @@
::
%fuse
?: =(%$ des.req)
~&(%fuse-no-desk !!)
~|(%fuse-no-desk !!)
?. ((sane %tas) des.req)
~|([%fuse-bad-desk-name des.req] !!)
=^ mos ruf
=/ den ((de now rof hen ruf) our des.req)
abet:(start-fuse:den bas.req con.req)
@ -4881,6 +4885,8 @@
[(weld moves-1 moves-2) ..^^$]
::
%park
?. ((sane %tas) des.req)
~|([%park-bad-desk des.req] !!)
=^ mos ruf
=/ den ((de now rof hen ruf) our des.req)
abet:(park:den | & [yok ran]:req)

View File

@ -745,11 +745,32 @@
::
%scry
(handle-scry authenticated address request(url suburl))
::
%name
(handle-name authenticated request)
::
%four-oh-four
%^ return-static-data-on-duct 404 'text/html'
(error-page 404 authenticated url.request ~)
==
:: +handle-name: respond with our @p or 403
::
++ handle-name
|= [authenticated=? =request:http]
|^ ^- (quip move server-state)
?. authenticated
(error-response 403 ~)
?. =(%'GET' method.request)
(error-response 405 "may only GET name")
%^ return-static-data-on-duct 200 'text/plain'
(as-octs:mimes:html (scot %p our))
::
++ error-response
|= [status=@ud =tape]
^- (quip move server-state)
%^ return-static-data-on-duct status 'text/html'
(error-page status authenticated url.request tape)
--
:: +handle-scry: respond with scry result, 404 or 500
::
++ handle-scry
@ -850,7 +871,7 @@
%leave ~
==
::
?(%authentication %logout)
?(%authentication %logout %name)
[~ state]
::
%channel
@ -2224,6 +2245,7 @@
[[~ /~/logout] duct [%logout ~]]
[[~ /~/channel] duct [%channel ~]]
[[~ /~/scry] duct [%scry ~]]
[[~ /~/name] duct [%name ~]]
==
[~ http-server-gate]
:: %trim: in response to memory pressure

View File

@ -46,7 +46,7 @@
+$ address address:naive :: @ux
+$ keccak @ux :: used for transaction and roll hashes
+$ blocknum number:block :: @udblocknumber
+$ net net:dice :: ?(%mainnet %ropsten %local %default)
+$ net net:dice :: ?(%mainnet %goerli %local %default)
+$ roll-dat :: all data required for each roll
[[gas=@ud sender=address] =effects:naive]
+$ block-dat :: all data required for each block

View File

@ -114,29 +114,29 @@
::
:: Testnet contract addresses
::
++ ropsten-contracts
++ goerli-contracts
|%
++ azimuth
0x308a.b6a6.024c.f198.b57e.008d.0ac9.ad02.1988.6579
0xbb61.fa68.3e4b.9104.18e2.7b00.a143.8a93.6234.df52
::
++ ecliptic
0x8b9f.86a2.8921.d9c7.05b3.113a.755f.b979.e1bd.1bce
0xe129.0a32.9014.5e63.e6a8.ec1e.f661.6906.856d.0c8f
::
++ linear-star-release
0x1f8e.dd03.1ee4.1474.0aed.b39b.84fb.8f2f.66ca.422f
0x0
::
++ conditional-star-release
0x0
::
++ delegated-sending
0x3e8c.a510.354b.c2fd.bbd6.1502.52d9.3105.c9c2.7bbe
0x0
::
++ naive
0xe7cf.4b83.06d3.11ba.ca15.585f.e3f0.7cd0.441c.21d1
0x56e3.7137.cdaf.c026.a732.e8e8.40cd.621e.d50b.d210
::
++ launch 4.601.630
++ public launch
++ chain-id 3
++ launch 7.834.742
++ public 7.834.800
++ chain-id 5
--
::
:: Local contract addresses

21
sh/create-goerli-pills Executable file
View File

@ -0,0 +1,21 @@
#!/usr/bin/env bash
# Usage: create-goerli-pills
# Build the ivory and brass goerli pills, copying them to the local directory,
# named with the current give revision
set -xeuo pipefail
cd "${0%/*}/.."
rev="$(git rev-parse HEAD)"
sha="${rev:0:5}"
brass="brass-goerli-${sha}.pill"
ivory="ivory-goerli-${sha}.pill"
cp -f "$(nix-build -A brass-goerli.build --no-out-link)" "$brass"
cp -f "$(nix-build -A ivory-goerli.build --no-out-link)" "$ivory"
chmod 0644 "$brass" "$ivory"

View File

@ -1,21 +0,0 @@
#!/usr/bin/env bash
# Usage: create-ropsten-pills
# Build the ivory and brass ropsten pills, copying them to the local directory,
# named with the current give revision
set -xeuo pipefail
cd "${0%/*}/.."
rev="$(git rev-parse HEAD)"
sha="${rev:0:5}"
brass="brass-ropsten-${sha}.pill"
ivory="ivory-ropsten-${sha}.pill"
cp -f "$(nix-build -A brass-ropsten.build --no-out-link)" "$brass"
cp -f "$(nix-build -A ivory-ropsten.build --no-out-link)" "$ivory"
chmod 0644 "$brass" "$ivory"