agoric-labs / ag-power-tools Goto Github PK
View Code? Open in Web Editor NEWAgoric Power Tools: Contracts to Partition System Authorities
License: Apache License 2.0
Agoric Power Tools: Contracts to Partition System Authorities
License: Apache License 2.0
The contractStarter
contract is not actually privileged. Any other contract could call zcf.getZoeService()
and do the same thing to installBundleID()
and then startInstance()
.
I suppose this is not news; we have known for a while:
agoricNames
is a set of namehubs whose entries are reflected into vstorage under published.agoricNames.brand
etc.
vstorageShop is a (prototype) contract that sells access to vstorage.
How about a contract that sells nameHubs that are reflected into vstorage?
For example: let somebody publish the osmosis asset list.
The smart wallet will only make purses for issuers in agoricNames
. We can't give everyone the right to register their token under a name of their choosing in agoricNames: they could register a worthless token as BTC.
But we can perhaps let people register tokens (issuers / brands) in agoricNames where the system chooses an arbitrary name for them.
And we might as well use board ids as the arbitrary names.
Tricky: names under issuer and brand usually correspond... should it be the brand boardID or the issuer boardID? my intuition says brand
perhaps using UMD and tree shaking?
comparable to https://app.streamswap.io/
The test where starterSam starts the postalSvc starts by giving him namesByAddress
. How would that happen? It seems like postalSvc is privileged... or is it? We could just put namesByAddress
in vstorage. It's low-privilege.
What's a good path for it? put it near published.wallet
? Perhaps published.walletNames
?
Probably best not to make up a new name now. Better stick with published.namesByAddress
.
Require a (large) bond to start a contract. You can get the bond back when the contract has shut down. This motivates cleaning up contracts that are of little utility. If the contract goes rogue, the bond is forfeit.
above is as discussed with @dtribble; below are further thoughts
shutdown()
methodawait E(zoe).startInstance(...)
gets a red squiggly under startInstance
. Something about E
and a never
type.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.