Skip to content

Commit

Permalink
refactor(treasury): Convert RESM to NESM
Browse files Browse the repository at this point in the history
  • Loading branch information
kriskowal committed Aug 11, 2021
1 parent ceba76f commit d9de2d3
Show file tree
Hide file tree
Showing 25 changed files with 135 additions and 121 deletions.
6 changes: 3 additions & 3 deletions packages/treasury/bundles/install-on-chain.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
import { assert, details as X } from '@agoric/assert';
import { E } from '@agoric/eventual-send';

import liquidateBundle from './bundle-liquidateMinimum';
import autoswapBundle from './bundle-multipoolAutoswap';
import stablecoinBundle from './bundle-stablecoinMachine';
import liquidateBundle from './bundle-liquidateMinimum.js';
import autoswapBundle from './bundle-multipoolAutoswap.js';
import stablecoinBundle from './bundle-stablecoinMachine.js';

const SECONDS_PER_HOUR = 60n * 60n;
const SECONDS_PER_DAY = 24n * SECONDS_PER_HOUR;
Expand Down
10 changes: 5 additions & 5 deletions packages/treasury/exported.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import './src/types';
import '@agoric/notifier/exported';
import '@agoric/ertp/exported';
import '@agoric/store/exported';
import '@agoric/swingset-vat/exported';
import './src/types.js';
import '@agoric/notifier/exported.js';
import '@agoric/ertp/exported.js';
import '@agoric/store/exported.js';
import '@agoric/swingset-vat/exported.js';
11 changes: 3 additions & 8 deletions packages/treasury/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,14 @@
"name": "@agoric/treasury",
"version": "0.5.9",
"description": "Core cryptoeconomy contracts",
"parsers": {
"js": "mjs"
},
"type": "module",
"main": "src/stablecoinMachine.js",
"engines": {
"node": ">=11.0"
},
"scripts": {
"build": "yarn build:bundles",
"build:bundles": "node -r esm scripts/build-bundles.js",
"build:bundles": "node scripts/build-bundles.js",
"test": "ava",
"test:xs": "exit 0",
"lint-fix": "yarn lint:eslint --fix && yarn lint:types",
Expand Down Expand Up @@ -49,7 +47,7 @@
"@agoric/babel-standalone": "^7.14.3",
"@agoric/install-ses": "^0.5.21",
"ava": "^3.12.1",
"esm": "agoric-labs/esm#Agoric-built",
"import-meta-resolve": "^1.1.1",
"ses": "^0.14.0"
},
"files": [
Expand All @@ -62,9 +60,6 @@
"files": [
"test/**/test-*.js"
],
"require": [
"esm"
],
"timeout": "10m"
},
"eslintConfig": {
Expand Down
18 changes: 11 additions & 7 deletions packages/treasury/scripts/build-bundles.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,20 @@
/* global __dirname require */

// eslint-disable-next-line import/no-extraneous-dependencies
import 'ses';
import fs from 'fs';
import path from 'path';
import process from 'process';
import bundleSource from '@agoric/bundle-source';
import { resolve as importMetaResolve } from 'import-meta-resolve';

const filename = new URL(import.meta.url).pathname;
const dirname = path.dirname(filename);

const srcDir = `${__dirname}/../src`;
const bundlesDir = `${__dirname}/../bundles`;
const srcDir = `${dirname}/../src`;
const bundlesDir = `${dirname}/../bundles`;

async function writeSourceBundle(contractFilename, outputPath) {
const path = require.resolve(contractFilename);
const url = await importMetaResolve(contractFilename, import.meta.url);
const path = new URL(url).pathname;
await bundleSource(path).then(bundle => {
// TODO: fix
// @ts-ignore mkdirSync believes it only accepts 2 arguments.
Expand All @@ -32,8 +36,8 @@ async function main() {
`${bundlesDir}/bundle-liquidateMinimum.js`,
],
[
`@agoric/zoe/src/contracts/multipoolAutoswap/multipoolAutoswap`,
`${__dirname}/../bundles/bundle-multipoolAutoswap.js`,
`@agoric/zoe/src/contracts/multipoolAutoswap/multipoolAutoswap.js`,
`${dirname}/../bundles/bundle-multipoolAutoswap.js`,
],
];
for (const [contractFilename, outputPath] of contractOutputs) {
Expand Down
2 changes: 1 addition & 1 deletion packages/treasury/src/burn.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// @ts-check
import '@agoric/zoe/exported';
import '@agoric/zoe/exported.js';

import { E } from '@agoric/eventual-send';

Expand Down
2 changes: 1 addition & 1 deletion packages/treasury/src/collectRewardFees.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// @ts-check

import { offerTo } from '@agoric/zoe/src/contractSupport';
import { offerTo } from '@agoric/zoe/src/contractSupport/index.js';
import { E } from '@agoric/eventual-send';

export const makeMakeCollectFeesInvitation = (
Expand Down
8 changes: 4 additions & 4 deletions packages/treasury/src/interest.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
// @ts-check

import '@agoric/zoe/exported';
import '@agoric/zoe/src/contracts/callSpread/types';
import './types';
import { multiplyBy, makeRatio } from '@agoric/zoe/src/contractSupport/ratio';
import '@agoric/zoe/exported.js';
import '@agoric/zoe/src/contracts/callSpread/types.js';
import './types.js';
import { multiplyBy, makeRatio } from '@agoric/zoe/src/contractSupport/ratio.js';
import { AmountMath } from '@agoric/ertp';

function makeResult(latestInterestUpdate, interest, newDebt) {
Expand Down
6 changes: 3 additions & 3 deletions packages/treasury/src/liquidateMinimum.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
// @ts-check

import { E } from '@agoric/eventual-send';
import { offerTo } from '@agoric/zoe/src/contractSupport';
import { offerTo } from '@agoric/zoe/src/contractSupport/index.js';
import { assert, q } from '@agoric/assert';
import { AmountMath } from '@agoric/ertp';
import { Far } from '@agoric/marshal';

import { makeDefaultLiquidationStrategy } from './liquidation';
import { makeTracer } from './makeTracer';
import { makeDefaultLiquidationStrategy } from './liquidation.js';
import { makeTracer } from './makeTracer.js';

// TODO(hibbert): export from autoswap
const AutoswapInsufficientMsg = / is insufficient to buy amountOut /;
Expand Down
4 changes: 2 additions & 2 deletions packages/treasury/src/liquidation.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

import { E } from '@agoric/eventual-send';
import { AmountMath } from '@agoric/ertp';
import { offerTo } from '@agoric/zoe/src/contractSupport';
import { makeTracer } from './makeTracer';
import { offerTo } from '@agoric/zoe/src/contractSupport/index.js';
import { makeTracer } from './makeTracer.js';

const trace = makeTracer('LIQ');

Expand Down
2 changes: 1 addition & 1 deletion packages/treasury/src/prioritizedVaults.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { observeNotifier } from '@agoric/notifier';
import {
natSafeMath,
makeRatioFromAmounts,
} from '@agoric/zoe/src/contractSupport';
} from '@agoric/zoe/src/contractSupport/index.js';
import { assert } from '@agoric/assert';
import { AmountMath } from '@agoric/ertp';

Expand Down
16 changes: 8 additions & 8 deletions packages/treasury/src/stablecoinMachine.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// @ts-check
import { Far } from '@agoric/marshal';

import '@agoric/zoe/exported';
import '@agoric/zoe/src/contracts/exported';
import '@agoric/zoe/exported.js';
import '@agoric/zoe/src/contracts/exported.js';

// The StableCoinMachine owns a number of VaultManagers, and a mint for the
// "RUN" stablecoin. This overarching SCM will hold ownershipTokens in the
Expand All @@ -26,17 +26,17 @@ import {
offerTo,
getAmountOut,
getAmountIn,
} from '@agoric/zoe/src/contractSupport';
} from '@agoric/zoe/src/contractSupport/index.js';

import {
multiplyBy,
makeRatioFromAmounts,
} from '@agoric/zoe/src/contractSupport/ratio';
} from '@agoric/zoe/src/contractSupport/ratio.js';
import { AmountMath } from '@agoric/ertp';
import { makeTracer } from './makeTracer';
import { makeVaultManager } from './vaultManager';
import { makeLiquidationStrategy } from './liquidateMinimum';
import { makeMakeCollectFeesInvitation } from './collectRewardFees';
import { makeTracer } from './makeTracer.js';
import { makeVaultManager } from './vaultManager.js';
import { makeLiquidationStrategy } from './liquidateMinimum.js';
import { makeMakeCollectFeesInvitation } from './collectRewardFees.js';

const trace = makeTracer('ST');

Expand Down
2 changes: 1 addition & 1 deletion packages/treasury/src/type-imports.js
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
import '@agoric/zoe/exported';
import '@agoric/zoe/exported.js';
import './types.js';
10 changes: 5 additions & 5 deletions packages/treasury/src/vault.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// @ts-check
import '@agoric/zoe/exported';
import '@agoric/zoe/exported.js';

import { assert, details as X, q } from '@agoric/assert';
import { E } from '@agoric/eventual-send';
Expand All @@ -9,14 +9,14 @@ import {
multiplyBy,
getAmountOut,
makeRatioFromAmounts,
} from '@agoric/zoe/src/contractSupport';
} from '@agoric/zoe/src/contractSupport/index.js';
import { makeNotifierKit } from '@agoric/notifier';

import { makeRatio } from '@agoric/zoe/src/contractSupport/ratio';
import { makeRatio } from '@agoric/zoe/src/contractSupport/ratio.js';
import { AmountMath } from '@agoric/ertp';
import { Far } from '@agoric/marshal';
import { makeTracer } from './makeTracer';
import { makeInterestCalculator } from './interest';
import { makeTracer } from './makeTracer.js';
import { makeInterestCalculator } from './interest.js';

// a Vault is an individual loan, using some collateralType as the
// collateral, and lending RUN to the borrower
Expand Down
12 changes: 6 additions & 6 deletions packages/treasury/src/vaultManager.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// @ts-check
import '@agoric/zoe/exported';
import '@agoric/zoe/exported.js';

import { E } from '@agoric/eventual-send';
import { Nat } from '@agoric/nat';
Expand All @@ -10,15 +10,15 @@ import {
getAmountIn,
divideBy,
multiplyBy,
} from '@agoric/zoe/src/contractSupport';
} from '@agoric/zoe/src/contractSupport/index.js';
import { observeNotifier } from '@agoric/notifier';
import { AmountMath } from '@agoric/ertp';
import { Far } from '@agoric/marshal';

import { makeVaultKit } from './vault';
import { makePrioritizedVaults } from './prioritizedVaults';
import { liquidate } from './liquidation';
import { makeTracer } from './makeTracer';
import { makeVaultKit } from './vault.js';
import { makePrioritizedVaults } from './prioritizedVaults.js';
import { liquidate } from './liquidation.js';
import { makeTracer } from './makeTracer.js';

const { details: X } = assert;

Expand Down
2 changes: 1 addition & 1 deletion packages/treasury/test/swingsetTests/bootstrap.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import { E } from '@agoric/eventual-send';
import { Far } from '@agoric/marshal';
import { makeIssuerKit, AmountMath } from '@agoric/ertp';
import buildManualTimer from '@agoric/zoe/tools/manualTimer';
import buildManualTimer from '@agoric/zoe/tools/manualTimer.js';

const ONE_DAY = 24n * 60n * 60n;

Expand Down
16 changes: 9 additions & 7 deletions packages/treasury/test/swingsetTests/test-treasury.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
/* global __dirname */

// @ts-check

// TODO Remove babel-standalone preinitialization
Expand All @@ -9,13 +7,17 @@ import '@agoric/babel-standalone';
import '@agoric/install-ses';
// eslint-disable-next-line import/no-extraneous-dependencies
import rawTest from 'ava';
import path from 'path';
import { buildVatController, buildKernelBundles } from '@agoric/swingset-vat';
import bundleSource from '@agoric/bundle-source';
import { E } from '@agoric/eventual-send';

import liquidateBundle from '../../bundles/bundle-liquidateMinimum';
import autoswapBundle from '../../bundles/bundle-multipoolAutoswap';
import stablecoinBundle from '../../bundles/bundle-stablecoinMachine';
import liquidateBundle from '../../bundles/bundle-liquidateMinimum.js';
import autoswapBundle from '../../bundles/bundle-multipoolAutoswap.js';
import stablecoinBundle from '../../bundles/bundle-stablecoinMachine.js';

const filename = new URL(import.meta.url).pathname;
const dirname = path.dirname(filename);

/** @type {import('ava').TestInterface<{ data: { kernelBundles: any, config: any } }>} */
const test = rawTest;
Expand All @@ -35,10 +37,10 @@ test.before(async t => {

const vatNames = ['alice', 'zoe', 'priceAuthority', 'owner'];
const vatNameToSource = vatNames.map(name => {
const source = `${__dirname}/vat-${name}.js`;
const source = `${dirname}/vat-${name}.js`;
return [name, source];
});
const bootstrapSource = `${__dirname}/bootstrap.js`;
const bootstrapSource = `${dirname}/bootstrap.js`;
vatNameToSource.push(['bootstrap', bootstrapSource]);

const bundles = await Promise.all(
Expand Down
2 changes: 1 addition & 1 deletion packages/treasury/test/swingsetTests/vat-owner.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import { E } from '@agoric/eventual-send';
import { Far } from '@agoric/marshal';
import { makeRatio } from '@agoric/zoe/src/contractSupport';
import { makeRatio } from '@agoric/zoe/src/contractSupport/index.js';
import { AmountMath } from '@agoric/ertp';

const SECONDS_PER_HOUR = 60n * 60n;
Expand Down
4 changes: 2 additions & 2 deletions packages/treasury/test/swingsetTests/vat-priceAuthority.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { Far } from '@agoric/marshal';
import { makePriceAuthorityRegistry } from '@agoric/zoe/tools/priceAuthorityRegistry';
import { makeScriptedPriceAuthority } from '@agoric/zoe/tools/scriptedPriceAuthority';
import { makePriceAuthorityRegistry } from '@agoric/zoe/tools/priceAuthorityRegistry.js';
import { makeScriptedPriceAuthority } from '@agoric/zoe/tools/scriptedPriceAuthority.js';

export function buildRootObject(_vatPowers) {
return Far('root', {
Expand Down
34 changes: 20 additions & 14 deletions packages/treasury/test/test-bootstrapPayment.js
Original file line number Diff line number Diff line change
@@ -1,23 +1,29 @@
// @ts-check

/* global require __dirname */
import { test } from '@agoric/zoe/tools/prepare-test-env-ava.js';

import { test } from '@agoric/zoe/tools/prepare-test-env-ava';
import '@agoric/zoe/exported';
import '../src/types';
import '@agoric/zoe/exported.js';
import '../src/types.js';

import path from 'path';
import { E } from '@agoric/eventual-send';
import bundleSource from '@agoric/bundle-source';
import fakeVatAdmin from '@agoric/zoe/tools/fakeVatAdmin';
import fakeVatAdmin from '@agoric/zoe/tools/fakeVatAdmin.js';
import { makeZoe } from '@agoric/zoe';
import buildManualTimer from '@agoric/zoe/tools/manualTimer';
import buildManualTimer from '@agoric/zoe/tools/manualTimer.js';
import { AmountMath } from '@agoric/ertp';
import { resolve as importMetaResolve } from 'import-meta-resolve';

const stablecoinRoot = `${__dirname}/../src/stablecoinMachine.js`;
const liquidationRoot = `${__dirname}/../src/liquidateMinimum.js`;
const autoswapRoot = require.resolve(
'@agoric/zoe/src/contracts/multipoolAutoswap/multipoolAutoswap',
);
const filename = new URL(import.meta.url).pathname;
const dirname = path.dirname(filename);

const stablecoinRoot = `${dirname}/../src/stablecoinMachine.js`;
const liquidationRoot = `${dirname}/../src/liquidateMinimum.js`;

const autoswapRoot = importMetaResolve(
'@agoric/zoe/src/contracts/multipoolAutoswap/multipoolAutoswap.js',
import.meta.url,
).then(url => new URL(url).pathname);

const makeInstall = async (root, zoe) => {
const bundle = await bundleSource(root);
Expand All @@ -28,7 +34,7 @@ const makeInstall = async (root, zoe) => {

test('bootstrap payment', async t => {
const zoe = makeZoe(fakeVatAdmin);
const autoswapInstall = await makeInstall(autoswapRoot, zoe);
const autoswapInstall = await makeInstall(await autoswapRoot, zoe);
const stablecoinInstall = await makeInstall(stablecoinRoot, zoe);
const liquidationInstall = await makeInstall(liquidationRoot, zoe);

Expand Down Expand Up @@ -74,7 +80,7 @@ test('bootstrap payment', async t => {

test('bootstrap payment - only minted once', async t => {
const zoe = makeZoe(fakeVatAdmin);
const autoswapInstall = await makeInstall(autoswapRoot, zoe);
const autoswapInstall = await makeInstall(await autoswapRoot, zoe);
const stablecoinInstall = await makeInstall(stablecoinRoot, zoe);
const liquidationInstall = await makeInstall(liquidationRoot, zoe);

Expand Down Expand Up @@ -129,7 +135,7 @@ test('bootstrap payment - only minted once', async t => {

test('bootstrap payment - default value is 0n', async t => {
const zoe = makeZoe(fakeVatAdmin);
const autoswapInstall = await makeInstall(autoswapRoot, zoe);
const autoswapInstall = await makeInstall(await autoswapRoot, zoe);
const stablecoinInstall = await makeInstall(stablecoinRoot, zoe);
const liquidationInstall = await makeInstall(liquidationRoot, zoe);

Expand Down
Loading

0 comments on commit d9de2d3

Please sign in to comment.