diff --git a/bin/brass.pill b/bin/brass.pill index 6752f4069..d6e0a1dba 100644 --- a/bin/brass.pill +++ b/bin/brass.pill @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1fcda8a239d9b2128901e952ca30c17a016323ffdd855c97670ac65d47ae4006 -size 6686327 +oid sha256:9a43b1d307aa13e04be838bcda121ee6fdce505eaf9eac0809e089e4f1d6062b +size 6836920 diff --git a/bin/ivory.pill b/bin/ivory.pill index 16d355f37..01cc91e48 100644 --- a/bin/ivory.pill +++ b/bin/ivory.pill @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:288a89d1ac85d6a55fe34fc862fbf2358a43781de3f187bcf2e5654cdbb822b0 -size 1202044 +oid sha256:cc9d089fb46a2931654acbe3d663fdf7be18d8df626a01d9c38f69f9df246bf0 +size 1831462 diff --git a/bin/solid.pill b/bin/solid.pill index 22a0c6ecd..f74775998 100644 --- a/bin/solid.pill +++ b/bin/solid.pill @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ed6affa7a4c8d5b50f0f6235907173e9730b81f008712c753244b56e94bf18b5 -size 9195975 +oid sha256:fc3a22acc52944401c75186d9ff05445d2c992d4342482bb6a9988edb93ca1ff +size 9199123 diff --git a/pkg/arvo/lib/hood/drum.hoon b/pkg/arvo/lib/hood/drum.hoon index cb3e7e16b..631cd61c8 100644 --- a/pkg/arvo/lib/hood/drum.hoon +++ b/pkg/arvo/lib/hood/drum.hoon @@ -79,20 +79,17 @@ :: =- (turn - |=(a=term home+a)) ^- (list term) - ?: lit + %+ welp :~ %dojo %spider %eth-watcher %azimuth-tracker %ping == - :~ %dojo - %spider + ?: lit + ~ + :~ %clock %lens - %eth-watcher - %azimuth-tracker - %clock - %ping == :: %+ welp :: ?: ?=(%pawn (clan:title our)) ~ diff --git a/pkg/arvo/lib/hood/kiln.hoon b/pkg/arvo/lib/hood/kiln.hoon index dfdea7070..9d60b20ae 100644 --- a/pkg/arvo/lib/hood/kiln.hoon +++ b/pkg/arvo/lib/hood/kiln.hoon @@ -216,7 +216,7 @@ :: ++ tracked-vanes ^- (list @tas) - ~[%ames %behn %clay %dill %eyre %ford %gall %iris %jael] + ~[%alef %ames %behn %clay %dill %eyre %ford %gall %iris %jael] :: ++ our-home /(scot %p our)/home/(scot %da now) ++ sys-hash |=(pax/path .^(@uvI %cz :(welp our-home /sys pax))) diff --git a/pkg/arvo/sys/vane/alef.hoon b/pkg/arvo/sys/vane/alef.hoon index d0005fdc9..95c678819 100644 --- a/pkg/arvo/sys/vane/alef.hoon +++ b/pkg/arvo/sys/vane/alef.hoon @@ -1147,15 +1147,14 @@ :: =/ =peer-state +.u.sndr-state =/ =channel [[our sndr.packet] now |2.ames-state -.peer-state] + ~| %ames-crashed-on-packet-from^her.channel =/ =shut-packet (decrypt symmetric-key.channel content.packet) :: ward against replay attacks :: :: We only accept packets from a ship at their known life, and to :: us at our current life. :: - ~| [sndr=sndr.packet rcvr=rcvr.packet] - ~| [sndr-life=sndr-life.shut-packet expected=her-life.channel] - ~| [rcvr-life=rcvr-life.shut-packet expected=our-life.channel] + ~| [[her our-life her-life]:channel [sndr-life rcvr-life]:shut-packet] ?> =(sndr-life.shut-packet her-life.channel) ?> =(rcvr-life.shut-packet our-life.channel) :: non-galaxy: update route with heard lane or forwarded lane @@ -1282,11 +1281,6 @@ :: Abandon all pretense of continuity and delete all messaging state :: associated with .ship, including sent and unsent messages. :: - :: TODO: cancel all timers? otherwise we'll get spurious firings - :: from behn - :: - :: TODO: cancel gall subscriptions on breach - :: ++ on-publ-breach |= =ship ^+ event-core @@ -1307,6 +1301,20 @@ :: =/ =peer-state +.u.ship-state =/ old-qos=qos qos.peer-state + :: cancel all timers related to .ship + :: + =. event-core + %+ roll ~(tap by snd.peer-state) + |= [[=snd=bone =message-pump-state] core=_event-core] + ^+ core + :: + ?~ next-wake=next-wake.packet-pump-state.message-pump-state + core + :: note: copies +on-pump-rest:message-pump + :: + =/ wire (make-pump-timer-wire ship snd-bone) + =/ duct ~[/ames] + (emit:core duct %pass wire %b %rest u.next-wake) :: reset all peer state other than pki data :: =. +.peer-state +:*^peer-state @@ -1655,10 +1663,22 @@ ++ on-wake |= [=bone error=(unit tang)] ^+ peer-core - :: if we previously errored out, print and try again + :: if we previously errored out, print and reset timer for later :: - =? peer-core ?=(^ error) - (emit duct %pass /wake-fail %d %flog %crud %ames-wake u.error) + :: This really shouldn't happen, but if it does, make sure we + :: don't brick either this messaging flow or Behn. + :: + ?^ error + =. peer-core + (emit duct %pass /wake-fail %d %flog %crud %ames-wake u.error) + :: + ?~ message-pump-state=(~(get by snd.peer-state) bone) + peer-core + ?~ next-wake.packet-pump-state.u.message-pump-state + peer-core + :: + =/ =wire (make-pump-timer-wire her.channel bone) + (emit duct %pass wire %b %wait (add now.channel ~s30)) :: update and print connection state :: =. peer-core %- update-qos diff --git a/pkg/arvo/sys/zuse.hoon b/pkg/arvo/sys/zuse.hoon index 703aafab0..c52a95b53 100644 --- a/pkg/arvo/sys/zuse.hoon +++ b/pkg/arvo/sys/zuse.hoon @@ -7574,7 +7574,7 @@ :: # constants :: :: contract addresses - ++ contracts mainnet-contracts + ++ contracts ropsten-contracts ++ mainnet-contracts |% :: azimuth: data contract