Skip to content
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

Prepare upgrade-16 branch #9444

Closed
wants to merge 6 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion a3p-integration/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"private": true,
"agoricSyntheticChain": {
"fromTag": "latest"
"fromTag": "use-upgrade-15"
},
"scripts": {
"build": "yarn run build:sdk && yarn run build:submissions && yarn run build:synthetic-chain",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@ import test from 'ava';
import { getVatDetails } from '@agoric/synthetic-chain';

const vats = {
network: { incarnation: 0 },
ibc: { incarnation: 0 },
localchain: { incarnation: 0 },
Comment on lines -6 to -8
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think these should stay in

walletFactory: { incarnation: 3 },
zoe: { incarnation: 1 },
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"agoricProposal": {
"releaseNotes": false,
"sdkImageTag": "unreleased",
"planName": "UNRELEASED_UPGRADE",
"planName": "agoric-upgrade-16",
"upgradeInfo": {
"coreProposals": []
},
Expand Down
102 changes: 102 additions & 0 deletions a3p-integration/proposals/a:upgrade-16/provisionPool.test.js
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this file is coming from the rebase. Please remove

Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
// @ts-check

import test from 'ava';

import {
evalBundles,
getIncarnation,
waitForBlock,
} from '@agoric/synthetic-chain';

import { bankSend, getProvisionPoolMetrics } from './agd-tools.js';

const NULL_UPGRADE_BANK_DIR = 'upgrade-bank';
const UPGRADE_PP_DIR = 'upgrade-provisionPool';
const ADD_LEMONS_DIR = 'add-LEMONS';
const ADD_OLIVES_DIR = 'add-OLIVES';

const USDC_DENOM =
'ibc/295548A78785A1007F232DE286149A6FF512F180AF5657780FC89C009E2C348F';
const PROVISIONING_POOL_ADDR = 'agoric1megzytg65cyrgzs6fvzxgrcqvwwl7ugpt62346';

/**
* @file
* The problem to be addressed is that provisionPool won't correctly handle
* (#8722) deposit of assets after it (provisionPool) is upgraded or (#8724)
* new asset kinds after vat-bank is upgraded.
*
* To test this, we will
*
* 1. See that we can add USDC.
*
* 2. Null upgrade vat-bank, and see that we can add a new collateal.
*
* 2a. Not null upgrade provisionPool, since it would fail. If it had succeeded,
* we would have been able to observe the effect of #8724, which would have
* caused addition of new currencies to be ignored.
*
* 3. Do a full upgrade of provisionPool; then deposit USDC, and see IST
* incremented in totalMintedConverted.
*
* 4. Null upgrade vat-bank again, and then see (in logs) that adding a new
* asset type gives the ability to make deposits. We don't actually add it
* because it would be too much work to add a faucet or other ability to mint
* the new collateral.
*/

const contributeToPool = async (t, asset, expectedToGrow) => {
const metricsBefore = await getProvisionPoolMetrics();
console.log('PPT pre', metricsBefore);

await bankSend(PROVISIONING_POOL_ADDR, asset);

const metricsAfter = await getProvisionPoolMetrics();
console.log('PPT post', metricsAfter);
t.is(
metricsAfter.totalMintedConverted.brand,
metricsBefore.totalMintedConverted.brand,
'brands match',
);
if (expectedToGrow) {
// I couldn't import AmountMath. dunno why.
t.true(
metricsAfter.totalMintedConverted.value >
metricsBefore.totalMintedConverted.value,
'brands match',
);
} else {
t.equal(
metricsAfter.totalMintedConverted.value,
metricsBefore.totalMintedConverted.value,
);
}
};

test('upgrading provisionPool and vat-bank', async t => {
t.log('add assets before');
await contributeToPool(t, `10000${USDC_DENOM}`, true);

t.log(`upgrade Bank`);
await evalBundles(NULL_UPGRADE_BANK_DIR);

const firstIncarnation = await getIncarnation('bank');
t.is(firstIncarnation, 1);

await evalBundles(ADD_LEMONS_DIR);

t.log('full upgrade ProvisionPool');
await evalBundles(UPGRADE_PP_DIR);
const ppIncarnation = await getIncarnation('db93f-provisionPool');
t.is(ppIncarnation, 1);

await contributeToPool(t, `30000${USDC_DENOM}`, true);

t.log(`Add assets after bank upgrade`);
await evalBundles(NULL_UPGRADE_BANK_DIR);
await waitForBlock(2);

const secondIncarnation = await getIncarnation('bank');
t.is(secondIncarnation, 2);

await evalBundles(ADD_OLIVES_DIR);
});
33 changes: 0 additions & 33 deletions a3p-integration/proposals/a:upgrade-next/localchain.test.js
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please maintain this file and others

This file was deleted.

This file was deleted.

27 changes: 0 additions & 27 deletions a3p-integration/proposals/a:upgrade-next/probeZcfBundleCap.test.js

This file was deleted.

This file was deleted.

This file was deleted.

51 changes: 0 additions & 51 deletions a3p-integration/proposals/a:upgrade-next/provisioning.test.js

This file was deleted.

Loading
Loading