Skip to content

Commit

Permalink
chore: Update feeConfig.variableRate to 0.5%, i.e. 5n/1000n
Browse files Browse the repository at this point in the history
  • Loading branch information
dckc committed Feb 27, 2025
1 parent b140a23 commit af303c3
Showing 1 changed file with 31 additions and 5 deletions.
36 changes: 31 additions & 5 deletions packages/fast-usdc/src/update-noble-ica.core.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,40 @@ import { makeTracer } from '@agoric/internal';

const trace = makeTracer('FUSD-2', true);

// avoid importing all of @agoric/ertp
/** @type {typeof import('@agoric/ertp').AmountMath.make} */
// @ts-expect-error AssetKind conditionals aren't captured
const make = (brand, value) => harden({ brand, value });
/** @type {typeof import('@agoric/zoe/src/contractSupport/ratio').makeRatio} */
const makeRatio = (numerator, numeratorBrand, denominator = 100n) =>
harden({
numerator: make(numeratorBrand, numerator),
denominator: make(numeratorBrand, denominator),
});

/**
* @import {CopyRecord} from '@endo/pass-style'
* @import {IBCConnectionInfo} from '@agoric/orchestration'
* @import {ManifestBundleRef} from '@agoric/deploy-script-support/src/externalTypes.js'
* @import {BootstrapManifest} from '@agoric/vats/src/core/lib-boot.js'
* @import {FastUSDCCorePowers} from './start-fast-usdc.core.js'
* @import {ContractRecord} from './types.js'
* @import {ContractRecord, FeeConfig} from './types.js'
*/

/**
* Update feeConfig.variableRate to 0.5%, i.e. 5n/1000n
*
* @param {FeeConfig} feeConfigPre
* @param {Brand<'nat'>} usdcBrand
* @param {Ratio} [variableRate]
* @returns {FeeConfig}
*/
const updateFeeConfig = (
feeConfigPre,
usdcBrand,
variableRate = makeRatio(5n, usdcBrand, 1000n),
) => harden({ ...feeConfigPre, variableRate });

/**
* @typedef {object} UpdateOpts
* @property {IBCConnectionInfo} [agoricToNoble]
Expand Down Expand Up @@ -62,10 +87,11 @@ export const updateNobleICA = async (
await fastUsdcKit;
trace('got privateArgs', Object.keys(privateArgs));

const upgraded = await E(adminFacet).upgradeContract(
fastUsdcCode.bundleID,
privateArgs,
);
const { brand: usdcBrand } = privateArgs.feeConfig.flat;
const upgraded = await E(adminFacet).upgradeContract(fastUsdcCode.bundleID, {
...privateArgs,
feeConfig: updateFeeConfig(privateArgs.feeConfig, usdcBrand),
});
trace(upgraded);

const { agoric, noble } = privateArgs.chainInfo;
Expand Down

0 comments on commit af303c3

Please sign in to comment.