Skip to content

Commit

Permalink
fix(a3p): use getContractInfo method to get vault data from Vstorage
Browse files Browse the repository at this point in the history
  • Loading branch information
Jorge-Lopes committed Sep 24, 2024
1 parent 9908477 commit 641c9cd
Showing 1 changed file with 13 additions and 28 deletions.
41 changes: 13 additions & 28 deletions a3p-integration/proposals/z:acceptance/vaults.test.js
Original file line number Diff line number Diff line change
@@ -1,25 +1,19 @@
import test from 'ava';
import {
agops,
agoric,
bankSend,
getUser,
openVault,
adjustVault,
closeVault,
getISTBalance,
queryVstorage,
getContractInfo,
ATOM_DENOM,
USER1ADDR,
waitForBlock,
} from '@agoric/synthetic-chain';

const getFormattedVaultData = vaultData => {
const { values } = JSON.parse(vaultData.value);
const { body } = JSON.parse(values[0]);
const cleanedBody = JSON.parse(body.slice(1));
return cleanedBody;
};

test.serial('attempt to open vaults under the minimum amount', async t => {
const activeVaultsBefore = await agops.vaults('list', '--from', USER1ADDR);
await bankSend(USER1ADDR, `20000000${ATOM_DENOM}`);
Expand Down Expand Up @@ -65,15 +59,14 @@ test.serial('remove collateral', async t => {
const vaultPath = activeVaults[activeVaults.length - 1];
const vaultID = vaultPath.split('.').pop();

let vaultDataString = await queryVstorage(vaultPath);
let vaultData = getFormattedVaultData(vaultDataString);
let vaultData = await getContractInfo(vaultPath, { agoric, prefix: '' });
const collateralBefore = vaultData.locked.value;

await adjustVault(USER1ADDR, vaultID, { wantCollateral: 1.0 });
await waitForBlock();

vaultDataString = await queryVstorage(vaultPath);
vaultData = getFormattedVaultData(vaultDataString);
vaultData = await getContractInfo(vaultPath, { agoric, prefix: '' });

const collateralAfter = vaultData.locked.value;

t.true(
Expand All @@ -87,15 +80,13 @@ test.serial('remove IST', async t => {
const vaultPath = activeVaults[activeVaults.length - 1];
const vaultID = vaultPath.split('.').pop();

let vaultDataString = await queryVstorage(vaultPath);
let vaultData = getFormattedVaultData(vaultDataString);
let vaultData = await getContractInfo(vaultPath, { agoric, prefix: '' });
const debtBefore = vaultData.debtSnapshot.debt.value;

await adjustVault(USER1ADDR, vaultID, { wantMinted: 1.0 });
await waitForBlock();

vaultDataString = await queryVstorage(vaultPath);
vaultData = getFormattedVaultData(vaultDataString);
vaultData = await getContractInfo(vaultPath, { agoric, prefix: '' });
const debtAfter = vaultData.debtSnapshot.debt.value;

t.true(
Expand All @@ -112,8 +103,7 @@ test.serial('close vault', async t => {
await closeVault(USER1ADDR, vaultID, 6.03);
await waitForBlock();

const vaultDataString = await queryVstorage(vaultPath);
const vaultData = getFormattedVaultData(vaultDataString);
const vaultData = await getContractInfo(vaultPath, { agoric, prefix: '' });
const vaultState = vaultData.vaultState;

t.is(vaultState, 'closed', 'The vault should be in the "closed" state.');
Expand Down Expand Up @@ -144,15 +134,13 @@ test.serial('add collateral', async t => {
const vaultPath = activeVaults[activeVaults.length - 1];
const vaultID = vaultPath.split('.').pop();

let vaultDataString = await queryVstorage(vaultPath);
let vaultData = getFormattedVaultData(vaultDataString);
let vaultData = await getContractInfo(vaultPath, { agoric, prefix: '' });
const collateralBefore = vaultData.locked.value;

await adjustVault(user2Address, vaultID, { giveCollateral: 1.0 });
await waitForBlock();

vaultDataString = await queryVstorage(vaultPath);
vaultData = getFormattedVaultData(vaultDataString);
vaultData = await getContractInfo(vaultPath, { agoric, prefix: '' });
const collateralAfter = vaultData.locked.value;

t.true(
Expand All @@ -167,15 +155,13 @@ test.serial('add IST', async t => {
const vaultPath = activeVaults[activeVaults.length - 1];
const vaultID = vaultPath.split('.').pop();

let vaultDataString = await queryVstorage(vaultPath);
let vaultData = getFormattedVaultData(vaultDataString);
let vaultData = await getContractInfo(vaultPath, { agoric, prefix: '' });
const debtBefore = vaultData.debtSnapshot.debt.value;

await adjustVault(user2Address, vaultID, { giveMinted: 1.0 });
await waitForBlock();

vaultDataString = await queryVstorage(vaultPath);
vaultData = getFormattedVaultData(vaultDataString);
vaultData = await getContractInfo(vaultPath, { agoric, prefix: '' });
const debtAfter = vaultData.debtSnapshot.debt.value;

t.true(
Expand All @@ -193,8 +179,7 @@ test.serial('close second vault', async t => {
await closeVault(user2Address, vaultID, 6.035);
await waitForBlock();

const vaultDataString = await queryVstorage(vaultPath);
const vaultData = getFormattedVaultData(vaultDataString);
const vaultData = await getContractInfo(vaultPath, { agoric, prefix: '' });
const vaultState = vaultData.vaultState;

t.is(vaultState, 'closed', 'The vault should be in the "closed" state.');
Expand Down

0 comments on commit 641c9cd

Please sign in to comment.