diff --git a/packages/agoric-cli/src/commands/oracle.js b/packages/agoric-cli/src/commands/oracle.js index dcc4dcd88593..cd958fb609c5 100644 --- a/packages/agoric-cli/src/commands/oracle.js +++ b/packages/agoric-cli/src/commands/oracle.js @@ -19,6 +19,8 @@ import { } from '../lib/wallet.js'; import { bigintReplacer } from '../lib/format.js'; +/** @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; */ + // XXX support other decimal places const COSMOS_UNIT = 1_000_000n; const scaleDecimals = num => BigInt(num * Number(COSMOS_UNIT)); diff --git a/packages/inter-protocol/src/auction/auctionBook.js b/packages/inter-protocol/src/auction/auctionBook.js index e819fe8f53cb..46f63f036667 100644 --- a/packages/inter-protocol/src/auction/auctionBook.js +++ b/packages/inter-protocol/src/auction/auctionBook.js @@ -29,6 +29,11 @@ import { priceFrom, } from './util.js'; +/** + * @import {Baggage} from '@agoric/vat-data'; + * @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; + */ + const { Fail } = assert; const { makeEmpty } = AmountMath; @@ -90,8 +95,6 @@ export const makeOfferSpecShape = (bidBrand, collateralBrand) => { ); }; -/** @import {Baggage} from '@agoric/vat-data' */ - /** * @typedef {object} BookDataNotification * @property {Ratio | null} startPrice identifies the priceAuthority and price diff --git a/packages/inter-protocol/src/auction/auctioneer.js b/packages/inter-protocol/src/auction/auctioneer.js index ee5339c94897..8807b00f5a16 100644 --- a/packages/inter-protocol/src/auction/auctioneer.js +++ b/packages/inter-protocol/src/auction/auctioneer.js @@ -35,7 +35,10 @@ import { auctioneerParamTypes } from './params.js'; import { makeScheduler } from './scheduler.js'; import { AuctionState } from './util.js'; -/** @import {Baggage} from '@agoric/vat-data' */ +/** + * @import {Baggage} from '@agoric/vat-data'; + * @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; + */ const { Fail, quote: q } = assert; const { add, multiply } = natSafeMath; diff --git a/packages/inter-protocol/src/auction/params.js b/packages/inter-protocol/src/auction/params.js index 71e660ddabe4..c4bb7bf13285 100644 --- a/packages/inter-protocol/src/auction/params.js +++ b/packages/inter-protocol/src/auction/params.js @@ -6,8 +6,11 @@ import { import { TimeMath, RelativeTimeRecordShape } from '@agoric/time'; import { M } from '@agoric/store'; -/** @import {AsyncSpecTuple} from '@agoric/governance/src/contractGovernance/typedParamManager.js' */ -/** @import {SyncSpecTuple} from '@agoric/governance/src/contractGovernance/typedParamManager.js' */ +/** + * @import {AsyncSpecTuple} from '@agoric/governance/src/contractGovernance/typedParamManager.js'; + * @import {SyncSpecTuple} from '@agoric/governance/src/contractGovernance/typedParamManager.js'; + * @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; + */ // TODO duplicated with zoe/src/TypeGuards.js export const InvitationShape = M.remotable('Invitation'); diff --git a/packages/inter-protocol/src/auction/util.js b/packages/inter-protocol/src/auction/util.js index 2a844c6ea82f..3099285b9d2d 100644 --- a/packages/inter-protocol/src/auction/util.js +++ b/packages/inter-protocol/src/auction/util.js @@ -7,6 +7,8 @@ import { } from '@agoric/zoe/src/contractSupport/index.js'; import { Far } from '@endo/marshal'; +/** @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; */ + /** * Constants for Auction State. * diff --git a/packages/inter-protocol/src/contractSupport.js b/packages/inter-protocol/src/contractSupport.js index 59d7c89d5c3c..1aec13135a99 100644 --- a/packages/inter-protocol/src/contractSupport.js +++ b/packages/inter-protocol/src/contractSupport.js @@ -4,6 +4,8 @@ import { AmountMath } from '@agoric/ertp'; import { M } from '@agoric/store'; import { makeRatioFromAmounts } from '@agoric/zoe/src/contractSupport/index.js'; +/** @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; */ + const { Fail, quote: q } = assert; export const amountPattern = harden({ brand: M.remotable(), value: M.any() }); diff --git a/packages/inter-protocol/src/price/fluxAggregatorKit.js b/packages/inter-protocol/src/price/fluxAggregatorKit.js index 950e809da7c6..164a5997da6a 100644 --- a/packages/inter-protocol/src/price/fluxAggregatorKit.js +++ b/packages/inter-protocol/src/price/fluxAggregatorKit.js @@ -18,6 +18,8 @@ import { Far } from '@endo/marshal'; import { prepareOracleAdminKit } from './priceOracleKit.js'; import { prepareRoundsManagerKit } from './roundsManager.js'; +/** @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; */ + const trace = makeTracer('FlxAgg', true); export const INVITATION_MAKERS_DESC = 'oracle invitation'; diff --git a/packages/inter-protocol/src/price/roundsManager.js b/packages/inter-protocol/src/price/roundsManager.js index 780c6942af37..2d4c1256824a 100644 --- a/packages/inter-protocol/src/price/roundsManager.js +++ b/packages/inter-protocol/src/price/roundsManager.js @@ -14,10 +14,10 @@ import { UnguardedHelperI } from '@agoric/internal/src/typeGuards.js'; const { add, subtract, multiply, floorDivide, ceilDivide, isGTE } = natSafeMath; -/** @import {OracleStatus} from './priceOracleKit.js' */ /** - * @import {Timestamp} from '@agoric/time' - * @import {TimerService} from '@agoric/time' + * @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; + * @import {Timestamp, TimerService} from '@agoric/time' + * @import {OracleStatus} from './priceOracleKit.js' */ /** @type {string} */ diff --git a/packages/inter-protocol/src/vaultFactory/liquidation.js b/packages/inter-protocol/src/vaultFactory/liquidation.js index 8cf72418997d..2c992d150868 100644 --- a/packages/inter-protocol/src/vaultFactory/liquidation.js +++ b/packages/inter-protocol/src/vaultFactory/liquidation.js @@ -17,6 +17,7 @@ const trace = makeTracer('LIQ'); /** @import {TimerWaker} from '@agoric/time' */ /** @import {CancelToken} from '@agoric/time' */ /** @import {RelativeTimeRecord} from '@agoric/time' */ +/** @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; */ const makeCancelToken = makeCancelTokenMaker('liq'); diff --git a/packages/inter-protocol/src/vaultFactory/math.js b/packages/inter-protocol/src/vaultFactory/math.js index 5583ffc16db0..9b42e0af2477 100644 --- a/packages/inter-protocol/src/vaultFactory/math.js +++ b/packages/inter-protocol/src/vaultFactory/math.js @@ -16,6 +16,8 @@ import { import { priceFrom } from '../auction/util.js'; import { addSubtract } from '../contractSupport.js'; +/** @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; */ + /** * Calculate the minimum collateralization given the liquidation margin and the * "padding" from that liquidation threshold. diff --git a/packages/inter-protocol/src/vaultFactory/params.js b/packages/inter-protocol/src/vaultFactory/params.js index 239a33ce53f3..8a92143cabf4 100644 --- a/packages/inter-protocol/src/vaultFactory/params.js +++ b/packages/inter-protocol/src/vaultFactory/params.js @@ -14,6 +14,8 @@ import { provideDurableMapStore } from '@agoric/vat-data'; import { subtractRatios } from '@agoric/zoe/src/contractSupport/ratio.js'; import { amountPattern, ratioPattern } from '../contractSupport.js'; +/** @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; */ + export const CHARGING_PERIOD_KEY = 'ChargingPeriod'; export const RECORDING_PERIOD_KEY = 'RecordingPeriod'; diff --git a/packages/inter-protocol/src/vaultFactory/proceeds.js b/packages/inter-protocol/src/vaultFactory/proceeds.js index eaeb0c5b2d6c..70f9aa3b0d20 100644 --- a/packages/inter-protocol/src/vaultFactory/proceeds.js +++ b/packages/inter-protocol/src/vaultFactory/proceeds.js @@ -9,6 +9,8 @@ import { import { quoteAsRatio, subtractToEmpty } from '../contractSupport.js'; import { liquidationResults } from './liquidation.js'; +/** @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; */ + /** * @typedef {{ * overage: Amount<'nat'>; diff --git a/packages/inter-protocol/src/vaultFactory/storeUtils.js b/packages/inter-protocol/src/vaultFactory/storeUtils.js index 8caae9c7da39..55fea23f9c19 100644 --- a/packages/inter-protocol/src/vaultFactory/storeUtils.js +++ b/packages/inter-protocol/src/vaultFactory/storeUtils.js @@ -5,6 +5,8 @@ * API supports them. */ +/** @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; */ + // XXX importing these that are declared to be used only for testing // until @agoric/store supports composite keys import { makeDecodePassable, makeEncodePassable } from '@endo/marshal'; diff --git a/packages/inter-protocol/src/vaultFactory/types.js b/packages/inter-protocol/src/vaultFactory/types.js index 2286f312a3b0..cc6cdd0fe7e3 100644 --- a/packages/inter-protocol/src/vaultFactory/types.js +++ b/packages/inter-protocol/src/vaultFactory/types.js @@ -76,7 +76,7 @@ * @typedef {object} GetVaultParams * @property {() => Ratio} getLiquidationMargin * @property {() => Ratio} getMintFee - * @property {() => Promise} getCollateralQuote + * @property {() => Promise} getCollateralQuote * @property {() => Ratio} getInterestRate - The annual interest rate on a debt * position * @property {() => RelativeTime} getChargingPeriod - The period (in seconds) at diff --git a/packages/inter-protocol/src/vaultFactory/vaultFactory.js b/packages/inter-protocol/src/vaultFactory/vaultFactory.js index e7ae15ff6523..cce581eef8d1 100644 --- a/packages/inter-protocol/src/vaultFactory/vaultFactory.js +++ b/packages/inter-protocol/src/vaultFactory/vaultFactory.js @@ -32,6 +32,8 @@ import { InvitationShape } from '../auction/params.js'; import { SHORTFALL_INVITATION_KEY, vaultDirectorParamTypes } from './params.js'; import { provideDirector } from './vaultDirector.js'; +/** @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; */ + const trace = makeTracer('VF', true); /** diff --git a/packages/inter-protocol/src/vaultFactory/vaultManager.js b/packages/inter-protocol/src/vaultFactory/vaultManager.js index e3ea552a8fc4..d4e39a390555 100644 --- a/packages/inter-protocol/src/vaultFactory/vaultManager.js +++ b/packages/inter-protocol/src/vaultFactory/vaultManager.js @@ -64,6 +64,11 @@ import { makePrioritizedVaults } from './prioritizedVaults.js'; import { Phase, prepareVault } from './vault.js'; import { calculateDistributionPlan } from './proceeds.js'; +/** + * @import {Baggage} from '@agoric/vat-data'; + * @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; + */ + const { details: X, Fail, quote: q } = assert; const trace = makeTracer('VM'); diff --git a/packages/inter-protocol/test/vaultFactory/test-collatRatio.js b/packages/inter-protocol/test/vaultFactory/test-collatRatio.js index fb67b32629e1..d51e5e088832 100644 --- a/packages/inter-protocol/test/vaultFactory/test-collatRatio.js +++ b/packages/inter-protocol/test/vaultFactory/test-collatRatio.js @@ -8,6 +8,8 @@ import { makeRatioFromAmounts } from '@agoric/zoe/src/contractSupport/index.js'; import { normalizedCollRatio } from '../../src/vaultFactory/storeUtils.js'; import { withAmountUtils } from '../supports.js'; +/** @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; */ + export const mockBrand = Far('brand'); const makeFakeQuote = (amountIn, amountOut) => { diff --git a/packages/inter-protocol/test/vaultFactory/test-math.js b/packages/inter-protocol/test/vaultFactory/test-math.js index a96a1b90b5d2..cd987df2c991 100644 --- a/packages/inter-protocol/test/vaultFactory/test-math.js +++ b/packages/inter-protocol/test/vaultFactory/test-math.js @@ -7,7 +7,10 @@ import { } from '../../src/vaultFactory/math.js'; import { withAmountUtils } from '../supports.js'; +/** @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; */ + const stable = withAmountUtils(makeIssuerKit('Stable')); + const aeth = withAmountUtils(makeIssuerKit('Aeth')); //#region maxDebtForVaults diff --git a/packages/inter-protocol/test/vaultFactory/test-proceeds.js b/packages/inter-protocol/test/vaultFactory/test-proceeds.js index 3c3aa5f5da80..67034e298844 100644 --- a/packages/inter-protocol/test/vaultFactory/test-proceeds.js +++ b/packages/inter-protocol/test/vaultFactory/test-proceeds.js @@ -7,6 +7,8 @@ import { makeRatio } from '@agoric/zoe/src/contractSupport/index.js'; import { calculateDistributionPlan } from '../../src/vaultFactory/proceeds.js'; import { withAmountUtils } from '../supports.js'; +/** @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; */ + const debt = withAmountUtils(makeIssuerKit('IST')); const coll = withAmountUtils(makeIssuerKit('aEth')); diff --git a/packages/inter-protocol/test/vaultFactory/test-vaultFactory.js b/packages/inter-protocol/test/vaultFactory/test-vaultFactory.js index 9ce6fec7dab6..aba4a9c8c011 100644 --- a/packages/inter-protocol/test/vaultFactory/test-vaultFactory.js +++ b/packages/inter-protocol/test/vaultFactory/test-vaultFactory.js @@ -40,7 +40,10 @@ import { setupElectorateReserveAndAuction, } from './vaultFactoryUtils.js'; -/** @import {VaultFactoryContract as VFC} from '../../src/vaultFactory/vaultFactory.js' */ +/** + * @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; + * @import {VaultFactoryContract as VFC} from '../../src/vaultFactory/vaultFactory.js' + */ /** * @typedef {Record & { diff --git a/packages/vats/src/priceAuthorityRegistry.js b/packages/vats/src/priceAuthorityRegistry.js index 85b8570f73d6..eb8bb0e30133 100644 --- a/packages/vats/src/priceAuthorityRegistry.js +++ b/packages/vats/src/priceAuthorityRegistry.js @@ -10,6 +10,11 @@ import { E } from '@endo/far'; import { Far } from '@endo/marshal'; import { PriceAuthorityI } from '@agoric/zoe/src/contractSupport/priceAuthority.js'; +/** + * @import {Baggage} from '@agoric/vat-data'; + * @import {MutableQuote, PriceAuthority, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; + */ + const { Fail } = assert; /** diff --git a/packages/zoe/exported.js b/packages/zoe/exported.js index e3828978f722..7f0c9e62f9cd 100644 --- a/packages/zoe/exported.js +++ b/packages/zoe/exported.js @@ -5,7 +5,6 @@ import './src/zoeService/types-ambient.js'; import './src/contractSupport/types-ambient.js'; import './src/contracts/exported.js'; import './src/types-ambient.js'; -import './tools/types-ambient.js'; import '@agoric/notifier/exported.js'; import '@agoric/ertp/exported.js'; import '@agoric/store/exported.js'; diff --git a/packages/zoe/package.json b/packages/zoe/package.json index 3cdfbbf51bdc..e5f3699fce06 100644 --- a/packages/zoe/package.json +++ b/packages/zoe/package.json @@ -10,8 +10,8 @@ "scripts": { "build": "yarn build:bundles", "build:bundles": "node scripts/build-bundles.js", - "prepack": "echo \"export {}; \" | cat - tools/types-ambient.js > tools/types.js && tsc --build tsconfig.build.json", - "postpack": "git clean -f '*.d.ts*' tools/types.js", + "prepack": "tsc --build tsconfig.build.json", + "postpack": "git clean -f '*.d.ts*'", "test": "ava --verbose", "test:c8": "c8 $C8_OPTIONS ava --config=ava-nesm.config.js", "test:unit": "ava 'test/unitTests/**/test-*.js' -T 1m --verbose", diff --git a/packages/zoe/src/contractSupport/priceAuthority.js b/packages/zoe/src/contractSupport/priceAuthority.js index 99b7d71b2667..a3510f7eb23d 100644 --- a/packages/zoe/src/contractSupport/priceAuthority.js +++ b/packages/zoe/src/contractSupport/priceAuthority.js @@ -8,6 +8,10 @@ import { makeTracer } from '@agoric/internal'; import { TimestampShape } from '@agoric/time'; import { M } from '@agoric/store'; +/** + * @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery, PriceQuoteCreate, PriceAuthorityKit, PriceQuoteTrigger, MutableQuote,} from '@agoric/zoe/tools/types.js'; + */ + const { quote: q, Fail } = assert; const trace = makeTracer('PA', false); diff --git a/packages/zoe/src/contractSupport/priceAuthorityInitial.js b/packages/zoe/src/contractSupport/priceAuthorityInitial.js index d6a8c02550aa..273d375729d4 100644 --- a/packages/zoe/src/contractSupport/priceAuthorityInitial.js +++ b/packages/zoe/src/contractSupport/priceAuthorityInitial.js @@ -11,6 +11,10 @@ import { AmountMath } from '@agoric/ertp'; import { multiplyBy } from './ratio.js'; import { mintQuote } from './priceAuthorityTransform.js'; +/** + * @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; + */ + /** * Override `makeQuoteNotifier`, `quoteGiven` to provide an initial price * in case one is not yet available from the source. diff --git a/packages/zoe/src/contractSupport/priceAuthorityTransform.js b/packages/zoe/src/contractSupport/priceAuthorityTransform.js index 1a1017493946..2744c5998763 100644 --- a/packages/zoe/src/contractSupport/priceAuthorityTransform.js +++ b/packages/zoe/src/contractSupport/priceAuthorityTransform.js @@ -4,7 +4,10 @@ import { Fail, assert } from '@agoric/assert'; import { AmountMath } from '@agoric/ertp'; import { makeNotifier } from '@agoric/notifier'; -/** @import {EOnly} from '@endo/eventual-send' */ +/** + * @import {EOnly} from '@endo/eventual-send'; + * @import {MutableQuote, PriceAuthority, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; + */ /** * @param {Brand<'set'>} quoteBrand diff --git a/packages/zoe/src/contractSupport/priceQuote.js b/packages/zoe/src/contractSupport/priceQuote.js index 341712b43f57..ff8b22e4c6b3 100644 --- a/packages/zoe/src/contractSupport/priceQuote.js +++ b/packages/zoe/src/contractSupport/priceQuote.js @@ -4,6 +4,10 @@ import { AmountMath } from '@agoric/ertp'; import { Nat } from '@endo/nat'; import { E } from '@endo/eventual-send'; +/** + * @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; + */ + const { Fail } = assert; // PriceAuthorities return quotes as a pair of an amount and a payment, both diff --git a/packages/zoe/src/contracts/callSpread/fundedCallSpread.js b/packages/zoe/src/contracts/callSpread/fundedCallSpread.js index f0f7724afb01..f31827dec4f5 100644 --- a/packages/zoe/src/contracts/callSpread/fundedCallSpread.js +++ b/packages/zoe/src/contracts/callSpread/fundedCallSpread.js @@ -11,6 +11,10 @@ import { import { makePayoffHandler } from './payoffHandler.js'; import { Position } from './position.js'; +/** + * @import {PriceAuthority} from '@agoric/zoe/tools/types.js'; + */ + /** * This contract implements a fully collateralized call spread. This is a * combination of a call option bought at one strike price and a second call diff --git a/packages/zoe/src/contracts/callSpread/pricedCallSpread.js b/packages/zoe/src/contracts/callSpread/pricedCallSpread.js index 9d4da2aa3196..f4695017cccc 100644 --- a/packages/zoe/src/contracts/callSpread/pricedCallSpread.js +++ b/packages/zoe/src/contracts/callSpread/pricedCallSpread.js @@ -15,6 +15,10 @@ import { import { makePayoffHandler } from './payoffHandler.js'; import { Position } from './position.js'; +/** + * @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; + */ + const { Fail } = assert; const PERCENT_BASE = 100n; diff --git a/packages/zoe/src/contracts/loan/index.js b/packages/zoe/src/contracts/loan/index.js index caa76ed5ee40..792a29094fce 100644 --- a/packages/zoe/src/contracts/loan/index.js +++ b/packages/zoe/src/contracts/loan/index.js @@ -6,6 +6,10 @@ import { } from '../../contractSupport/index.js'; import { makeLendInvitation } from './lend.js'; +/** + * @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; + */ + /** * Add collateral of a particular brand and get a loan of another * brand. Collateral (also known as margin) must be greater than the diff --git a/packages/zoe/src/contracts/loan/types.js b/packages/zoe/src/contracts/loan/types.js index 3afe36113022..39fa1067fec1 100644 --- a/packages/zoe/src/contracts/loan/types.js +++ b/packages/zoe/src/contracts/loan/types.js @@ -24,7 +24,7 @@ * * @property {AutoswapInstance} autoswapInstance * - * @property {PriceAuthority} priceAuthority + * @property {import('../../../tools/types.js').PriceAuthority} priceAuthority * * Used for getting the current value of collateral and setting * liquidation triggers. @@ -66,7 +66,7 @@ * * A function to get the current debt * - * @property {PromiseRecord} liquidationPromiseKit + * @property {PromiseRecord} liquidationPromiseKit * * PromiseKit that includes a promise that resolves to a PriceQuote * when liquidation is triggered @@ -80,7 +80,7 @@ * The ZCFSeat holding the collateral in escrow after the borrower * escrows it * - * @property {PromiseRecord} liquidationPromiseKit + * @property {PromiseRecord} liquidationPromiseKit * * PromiseKit that includes a promise that resolves to a PriceQuote * when liquidation is triggered @@ -179,7 +179,7 @@ * @property {PromiseRecord} liquidationPromiseKit * @property {bigint} [mmr] * @property {Handle<'Instance'>} autoswapInstance - * @property {PriceAuthority} priceAuthority + * @property {import('../../../tools/types.js').PriceAuthority} priceAuthority * @property {PeriodNotifier} periodNotifier * @property {bigint} interestRate * @property {import('@agoric/time').RelativeTime} interestPeriod @@ -198,7 +198,7 @@ * * Make an invitation to add collateral to protect against liquidation * - * @property {() => Promise} getLiquidationPromise + * @property {() => Promise} getLiquidationPromise * * Get a promise for a priceQuote that will resolve if liquidation * occurs. The priceQuote is for the value of the collateral that diff --git a/packages/zoe/src/contracts/priceAggregator.js b/packages/zoe/src/contracts/priceAggregator.js index 857ba9352a8e..97bcff66f04f 100644 --- a/packages/zoe/src/contracts/priceAggregator.js +++ b/packages/zoe/src/contracts/priceAggregator.js @@ -13,7 +13,6 @@ import { E } from '@endo/eventual-send'; import { Far } from '@endo/marshal'; import { notForProductionUse } from '@agoric/internal/src/magic-cookie-test-only.js'; -import '../../tools/types-ambient.js'; import { calculateMedian, makeOnewayPriceAuthorityKit, @@ -33,6 +32,7 @@ import { /** * @import {LegacyMap} from '@agoric/store' + * @import {PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; */ /** @typedef {bigint | number | string} ParsableNumber */ /** diff --git a/packages/zoe/src/contracts/scaledPriceAuthority.js b/packages/zoe/src/contracts/scaledPriceAuthority.js index 1e8507afa9f2..b558a315c165 100644 --- a/packages/zoe/src/contracts/scaledPriceAuthority.js +++ b/packages/zoe/src/contracts/scaledPriceAuthority.js @@ -9,6 +9,10 @@ import { makeInitialTransform } from '../contractSupport/priceAuthorityInitial.j import { makePriceAuthorityTransform } from '../contractSupport/priceAuthorityTransform.js'; import { provideQuoteMint } from '../contractSupport/priceAuthorityQuoteMint.js'; +/** + * @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; + */ + /** * @typedef {object} ScaledPriceAuthorityOpts * @property {ERef} sourcePriceAuthority diff --git a/packages/zoe/test/unitTests/contracts/test-priceAggregator.js b/packages/zoe/test/unitTests/contracts/test-priceAggregator.js index ad478c62660b..9ac5e8b75d9a 100644 --- a/packages/zoe/test/unitTests/contracts/test-priceAggregator.js +++ b/packages/zoe/test/unitTests/contracts/test-priceAggregator.js @@ -30,6 +30,10 @@ import { parseRatio, } from '../../../src/contractSupport/ratio.js'; +/** + * @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; + */ + /** * @callback MakeFakePriceOracle * @param {bigint} [valueOut] diff --git a/packages/zoe/tools/fakePriceAuthority.js b/packages/zoe/tools/fakePriceAuthority.js index 625f3cf5b2a0..7c93d869ce8a 100644 --- a/packages/zoe/tools/fakePriceAuthority.js +++ b/packages/zoe/tools/fakePriceAuthority.js @@ -10,7 +10,9 @@ import { TimeMath } from '@agoric/time'; import { natSafeMath } from '../src/contractSupport/index.js'; -import './types-ambient.js'; +/** + * @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; + */ const { Fail } = assert; const { coerceRelativeTimeRecord } = TimeMath; diff --git a/packages/zoe/tools/manualPriceAuthority.js b/packages/zoe/tools/manualPriceAuthority.js index 93ffdc64e54a..856258cdb6a6 100644 --- a/packages/zoe/tools/manualPriceAuthority.js +++ b/packages/zoe/tools/manualPriceAuthority.js @@ -11,6 +11,10 @@ import { floorDivideBy, } from '../src/contractSupport/index.js'; +/** + * @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; + */ + /** * @param {object} options * @param {Brand<'nat'>} options.actualBrandIn diff --git a/packages/zoe/tools/manualTimer.js b/packages/zoe/tools/manualTimer.js index 622e2c6cd970..40717e0bcc91 100644 --- a/packages/zoe/tools/manualTimer.js +++ b/packages/zoe/tools/manualTimer.js @@ -3,7 +3,6 @@ import { bindAllMethods } from '@agoric/internal'; import { buildManualTimer as build } from '@agoric/swingset-vat/tools/manual-timer.js'; import { TimeMath } from '@agoric/time'; -import './types-ambient.js'; import './internal-types.js'; const { Fail } = assert; diff --git a/packages/zoe/tools/scriptedPriceAuthority.js b/packages/zoe/tools/scriptedPriceAuthority.js index 939ba641b8e9..14cc036d9835 100644 --- a/packages/zoe/tools/scriptedPriceAuthority.js +++ b/packages/zoe/tools/scriptedPriceAuthority.js @@ -9,6 +9,10 @@ import { makeOnewayPriceAuthorityKit, } from '../src/contractSupport/index.js'; +/** + * @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; + */ + export function makeScriptedPriceAuthority(options) { const { actualBrandIn, diff --git a/packages/zoe/tools/types-ambient.js b/packages/zoe/tools/types.js similarity index 99% rename from packages/zoe/tools/types-ambient.js rename to packages/zoe/tools/types.js index 4c5cd6abcce1..13ee37f5de5f 100644 --- a/packages/zoe/tools/types-ambient.js +++ b/packages/zoe/tools/types.js @@ -1,4 +1,5 @@ -// @jessie-check +// Ensure this is a module. +export {}; /** * @typedef {object} PriceQuote diff --git a/packages/zoe/typedoc.json b/packages/zoe/typedoc.json index bdab322c101c..f9eee1c3b4e4 100644 --- a/packages/zoe/typedoc.json +++ b/packages/zoe/typedoc.json @@ -12,7 +12,6 @@ "src/zoeService/utils.d.ts", "src/zoeService/zoe.js", "tools/internal-types.js", - "tools/manualTimer.js", - "tools/types-ambient.js", + "tools/manualTimer.js" ] }