-
Notifications
You must be signed in to change notification settings - Fork 229
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RUN protocol governance to start PSM, runStake, etc. #5165
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks pretty good! Please don't merge until the psm/installations/runStake
thing is sorted.
// @ts-check | ||
import { E } from '@endo/far'; | ||
import { ZipReader } from '@endo/zip'; | ||
import { encodeBase64, decodeBase64 } from '@endo/base64'; | ||
import { importBundle } from '@endo/import-bundle'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As lint says, it's necessary to add @endo/import-bundle
to packages/deploy-script-support/package.json
.dependencies.
const [mod0, bundle0] = installKeyGroups.econCommittee.binaryVoteCounter; | ||
await install(mod0, bundle0, { persist: true }); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would this create the first of two separate Zoe installations? Should the below publishGroup
avoid doing an install for group === 'econCommittee' && mod === 'binaryVoteCounter'
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, it makes a throw-away installation, but I didn't think it was worth fixing. Will do.
return { | ||
manifest: PSM_MANIFEST, | ||
installations: { | ||
runStake: restoreRef(installKeys.runStake), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like this shouldn't be runStake
?
@samsiegart when you can get |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No concerns from me.
8b45701
to
22f08bc
Compare
missing lienBridge |
I'm able to get |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
command[4]
E(home.attMaker).getAccountState()
history[4]
{"bonded":{"brand":[Object Alleged: BLD brand]{},"value":0n},"currentTime":1650555791n,"liened":{"brand":[Object Alleged: BLD brand]{},"value":0n},"locked":{"brand":[Object Alleged: BLD brand]{},"value":0n},"total":{"brand":[Object Alleged: BLD brand]{},"value":13000000n},"unbonding":{"brand":[Object Alleged: BLD brand]{},"value":0n}}
12ced00
to
dd35dfb
Compare
dd35dfb
to
840782a
Compare
After adding any number of entries, caller can call .persist() to save them to a cache, keyed by hash, that persists between calls to .makeBundler(). Then call .preFilter(hashes) to get the hashes that are already in the cache. For any such cache hits, call .addByRef(hash) instead of .add(). Performance measurement: combined with splitting some contracts out of a proposal, caching reduced runtime from 526.05s. to 236.89s. WARNING: Currently, since xsnap lacks efficient hashing, we trust the client to compute hashes. Since the endo-pieces-contract is not typically shared between clients, this is a moderate risk. - skip importBundle check doesn't work outside SwingSet - fix: hoist mutext - more logging
- refactor: prepare to break init-core into parts - separate proposal for startEconomicCommittee - separate core proposals for psm, runStake - avoid duplicate installation - omit PSM proposal unless ANCHOR_DENOM is set - makeAnchorAsset for PSM bootstrap - connect lienBridge to runStake
840782a
to
2c98994
Compare
@@ -191,7 +191,7 @@ export default async function deployMain(progname, rawArgs, powers, opts) { | |||
paths: [...paths, path.dirname(moduleFile)], | |||
}); | |||
} catch (e) { | |||
return path.resolve(...paths, fileName); | |||
return path.resolve(path.dirname(moduleFile), ...paths, fileName); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why was path.dirname(moduleFile)
added before ...paths
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nmv, this is correct and it's the paths
for require.resolve
above that isn't correct.
obsoletes #4953
closes: #3788
refs: #5010
Description
Break the default run-protocol governance proposal used in sim-chain / loadgen down into parts:
Security Considerations
The manifests / permits are an enforced security policy. (We have visualizations, but maintenance is a little iffy.)
Documentation Considerations
#5062 is a plan to launch the RUN protocol contracts on devnet by vote of BLD holders.
@rowgraus I'd like to brainstorm a bit about how we explain this stuff to the voters. devnet: proposal to deploy RUNstake passed was an post-facto explanation of an earlier episode to our commonwealth forum.
We're inviting not just our devnet validators but all our keplr users to participate in this preview of governance: Agoric/documentation#668
Testing Considerations
I'd like someone else to reproduce my results; I'm working with @samsiegart .
Instructions (sketch) so far:
branch: dc-boot-psm-runStake
start local chain:
start local solo:
deploy contracts; make proposals:
then...
(I used a different terminal...)