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 @@