Skip to content

Commit f694058

Browse files
committed
save
1 parent 4d867c1 commit f694058

File tree

1 file changed

+17
-7
lines changed

1 file changed

+17
-7
lines changed

src/lib/UXDController.ts

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -54,17 +54,19 @@ export class UXDController {
5454
amount,
5555
minAmountOut,
5656
signer,
57+
decimals,
5758
collateral,
5859
receiver,
5960
}: {
6061
amount: number;
6162
minAmountOut: number;
6263
signer: Signer;
64+
decimals: number;
6365
collateral?: Address;
6466
receiver?: Address;
6567
}): Promise<ContractTransaction> {
66-
const nativeAmount = utils.parseEther(amount.toString());
67-
const minNativeAmountOut = utils.parseEther(minAmountOut.toString());
68+
const nativeAmount = utils.parseUnits(amount.toString(), decimals);
69+
const minNativeAmountOut = utils.parseUnits(minAmountOut.toString(), decimals);
6870

6971
if (collateral) {
7072
return this.mintWithERC20({
@@ -138,17 +140,19 @@ export class UXDController {
138140
amount,
139141
minAmountOut,
140142
signer,
143+
decimals,
141144
collateral,
142145
receiver,
143146
}: {
144147
amount: number;
145148
minAmountOut: number;
146149
signer: Signer;
150+
decimals: number;
147151
collateral?: Address;
148152
receiver?: Address;
149153
}): Promise<ContractTransaction> {
150-
const nativeAmount = utils.parseEther(amount.toString());
151-
const minNativeAmountOut = utils.parseEther(minAmountOut.toString());
154+
const nativeAmount = utils.parseUnits(amount.toString(), decimals);
155+
const minNativeAmountOut = utils.parseUnits(minAmountOut.toString(), decimals);
152156

153157
if (collateral) {
154158
return this.redeemForERC20({
@@ -223,12 +227,14 @@ export class UXDController {
223227
spender,
224228
amount,
225229
signer,
230+
decimals,
226231
}: {
227232
spender: Address;
228233
amount: number;
229234
signer: Signer;
235+
decimals: number;
230236
}): Promise<ContractTransaction> {
231-
const uxdAmount = utils.parseEther(amount.toString());
237+
const uxdAmount = utils.parseUnits(amount.toString(), decimals);
232238

233239
return this.uxdTokenContract.connect(signer).approve(spender, uxdAmount);
234240
}
@@ -239,13 +245,15 @@ export class UXDController {
239245
spender,
240246
amount,
241247
signer,
248+
decimals,
242249
}: {
243250
token: Address;
244251
spender: Address;
245252
amount: number;
246253
signer: Signer;
254+
decimals: number;
247255
}): Promise<ContractTransaction> {
248-
const nativeAmount = utils.parseEther(amount.toString());
256+
const nativeAmount = utils.parseUnits(amount.toString(), decimals);
249257

250258
return ERC20__factory.connect(token, signer)
251259
.connect(signer)
@@ -273,15 +281,17 @@ export class UXDController {
273281
public async getTokenBalance({
274282
token,
275283
account,
284+
decimals,
276285
}: {
277286
token: Address;
278287
account: Address;
288+
decimals: number;
279289
}): Promise<number> {
280290
const balance = await ERC20__factory.connect(
281291
token,
282292
this.provider
283293
).balanceOf(account);
284294

285-
return parseInt(ethers.utils.formatEther(balance));
295+
return parseInt(ethers.utils.formatUnits(balance, decimals));
286296
}
287297
}

0 commit comments

Comments
 (0)