Skip to content

Commit

Permalink
feat: add home.bank and home.bankManager
Browse files Browse the repository at this point in the history
  • Loading branch information
michaelfig committed May 1, 2021
1 parent 980711c commit 276a1d3
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 16 deletions.
2 changes: 1 addition & 1 deletion packages/cosmic-swingset/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ scenario2-run-chain:
scenario2-run-client: t1-provision-one-with-powers t1-start-ag-solo

# Provision the ag-solo from an provisionpass-holding address (idempotent).
AGORIC_POWERS = agoric.agoricNamesAdmin,agoric.pegasusConnections,agoric.priceAuthorityAdmin,agoric.treasuryCreator,agoric.vattp
AGORIC_POWERS = agoric.bankManager,agoric.agoricNamesAdmin,agoric.pegasusConnections,agoric.priceAuthorityAdmin,agoric.treasuryCreator,agoric.vattp
t1-provision-one-with-powers:
addr=$$(cat t1/$(BASE_PORT)/ag-cosmos-helper-address); \
$(AGCH) --home=t1/bootstrap query swingset egress $$addr --chain-id=$(CHAIN_ID) || \
Expand Down
3 changes: 3 additions & 0 deletions packages/vats/decentral-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
}
},
"vats": {
"bank": {
"sourceSpec": "./src/vat-bank.js"
},
"board": {
"sourceSpec": "./src/vat-board.js"
},
Expand Down
33 changes: 18 additions & 15 deletions packages/vats/src/bootstrap.js
Original file line number Diff line number Diff line change
Expand Up @@ -64,13 +64,15 @@ export function buildRootObject(vatPowers, vatParameters) {
) {
// Create singleton instances.
const [
bankManager,
sharingService,
registry,
board,
chainTimerService,
zoe,
{ priceAuthority, adminFacet: priceAuthorityAdmin },
] = await Promise.all([
bridgeManager && E(vats.bank).makeBankManager(bridgeManager),
E(vats.sharing).getSharingService(),
E(vats.registrar).getSharedRegistrar(),
E(vats.board).getBoard(),
Expand Down Expand Up @@ -403,21 +405,19 @@ export function buildRootObject(vatPowers, vatParameters) {
}

const additionalPowers = {};
if (powerFlags && powerFlags.includes('agoric.agoricNamesAdmin')) {
additionalPowers.agoricNamesAdmin = agoricNamesAdmin;
}
if (powerFlags && powerFlags.includes('agoric.pegasusConnections')) {
additionalPowers.pegasusConnections = pegasusConnections;
}
if (powerFlags && powerFlags.includes('agoric.priceAuthorityAdmin')) {
additionalPowers.priceAuthorityAdmin = priceAuthorityAdmin;
}
if (powerFlags && powerFlags.includes('agoric.treasuryCreator')) {
additionalPowers.treasuryCreator = treasuryCreator;
}
if (powerFlags && powerFlags.includes('agoric.vattp')) {
// Give the authority to create a new host for vattp to share objects with.
additionalPowers.vattp = makeVattpFrom(vats);
const powerFlagConfig = [
['agoricNamesAdmin', agoricNamesAdmin],
['bankManager', bankManager],
['pegasusConnections', pegasusConnections],
['priceAuthorityAdmin', priceAuthorityAdmin],
['treasuryCreator', treasuryCreator],
['vattp', () => makeVattpFrom(vats)],
];
for (const [flag, value] of powerFlagConfig) {
if (powerFlags && powerFlags.includes(`agoric.${flag}`)) {
const power = typeof value === 'function' ? value() : value;
additionalPowers[flag] = power;
}
}

const mintIssuerNames = [];
Expand Down Expand Up @@ -469,9 +469,12 @@ export function buildRootObject(vatPowers, vatParameters) {
},
};

const bank = await (bankManager &&
E(bankManager).makeBankForAddress(address));
const bundle = harden({
...additionalPowers,
agoricNames,
bank,
chainTimerService,
sharingService,
faucet,
Expand Down

0 comments on commit 276a1d3

Please sign in to comment.