diff --git a/packages/dapp-svelte-wallet/api/package.json b/packages/dapp-svelte-wallet/api/package.json
index dcd7a414127..0880602f72b 100644
--- a/packages/dapp-svelte-wallet/api/package.json
+++ b/packages/dapp-svelte-wallet/api/package.json
@@ -27,8 +27,7 @@
"dependencies": {
"@agoric/eventual-send": "^0.12.0-dev.0",
"@agoric/store": "^0.3.1-dev.0",
- "esm": "^3.2.5",
- "json5": "^2.1.3"
+ "esm": "^3.2.5"
},
"eslintConfig": {
"extends": [
diff --git a/packages/dapp-svelte-wallet/api/src/lib-wallet.js b/packages/dapp-svelte-wallet/api/src/lib-wallet.js
index 803f3d3bd79..ae45e99d4a2 100644
--- a/packages/dapp-svelte-wallet/api/src/lib-wallet.js
+++ b/packages/dapp-svelte-wallet/api/src/lib-wallet.js
@@ -177,38 +177,6 @@ export async function makeWallet({
purse,
brand,
actions: {
- parseValue(str) {
- const { amountMath, displayInfo } = brandTable.getByBrand(brand);
- assert.typeof(
- str,
- 'string',
- details`stringValue ${str} is not a string`,
- );
-
- if (amountMath.getAmountMathKind() !== MathKind.NAT) {
- // Punt to JSON5 parsing.
- return JSON5.parse(str);
- }
-
- // Parse the string as a number.
- const { decimalPlaces = 0 } = displayInfo || {};
-
- const match = str.match(/^0*(\d+)(\.(\d*[1-9])?0*)?$/);
- assert(
- match,
- details`${str} must be a non-negative decimal number`,
- );
-
- const unitstr = match[1];
- const dec0str = match[3] || '';
- const dec0str0 = dec0str.padEnd(decimalPlaces, '0');
- assert(
- dec0str0.length <= decimalPlaces,
- details`${str} exceeds ${decimalPlaces} decimal places`,
- );
-
- return parseInt(`${unitstr}${dec0str0}`, 10);
- },
// Send a value from this purse.
async send(receiverP, sendValue) {
const { amountMath } = brandTable.getByBrand(brand);
@@ -634,7 +602,11 @@ export async function makeWallet({
const purse = getPurse(pursePetname);
purseKeywordRecord[keyword] = purse;
const brand = purseToBrand.get(purse);
- const amount = { brand, value };
+ const amount = {
+ brand,
+ value,
+ displayInfo: brandTable.getByBrand(brand).displayInfo,
+ };
return [keyword, amount];
},
),
diff --git a/packages/dapp-svelte-wallet/api/src/types.js b/packages/dapp-svelte-wallet/api/src/types.js
index 89495494886..9431b8d2add 100644
--- a/packages/dapp-svelte-wallet/api/src/types.js
+++ b/packages/dapp-svelte-wallet/api/src/types.js
@@ -18,6 +18,7 @@
* @property {Petname} brandPetname
* @property {Petname} pursePetname
* @property {any} displayInfo
+ * @property {AmountMathKind} amountMathKind
* @property {any} value
* @property {any} currentAmountSlots
* @property {any} currentAmount
diff --git a/packages/dapp-svelte-wallet/ui/package.json b/packages/dapp-svelte-wallet/ui/package.json
index 1a82c4d00d1..7f39e7fea05 100644
--- a/packages/dapp-svelte-wallet/ui/package.json
+++ b/packages/dapp-svelte-wallet/ui/package.json
@@ -16,6 +16,7 @@
"@agoric/captp": "^1.5.2-dev.0",
"@rollup/plugin-commonjs": "^12.0.0",
"@rollup/plugin-node-resolve": "^8.0.0",
+ "json5": "^2.1.3",
"livereload-js": "https://github.com/agoric-labs/livereload-js",
"rollup": "^2.3.4",
"rollup-plugin-livereload": "^1.0.0",
diff --git a/packages/dapp-svelte-wallet/ui/src/Amount.svelte b/packages/dapp-svelte-wallet/ui/src/Amount.svelte
index c1578c2e509..db63121b792 100644
--- a/packages/dapp-svelte-wallet/ui/src/Amount.svelte
+++ b/packages/dapp-svelte-wallet/ui/src/Amount.svelte
@@ -1,39 +1,14 @@