Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: amount to receive #196

Merged
merged 50 commits into from
Jun 11, 2024
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
28e1ee2
fix: fixing erronous amount to receive displayed due to double subtra…
wainola May 13, 2024
3780105
fix: wrong amount displayed if user changes original value
wainola May 14, 2024
4484a38
chore: removing log
wainola May 14, 2024
3f7a9f8
chore: small refactor of some functions to avoid some race conditions
wainola May 22, 2024
ea04338
chore: small fixes
wainola May 22, 2024
cb9a62a
chore: removing log
wainola May 23, 2024
48e4084
Merge branch 'fix/amount-to-receive' of github.com:sygmaprotocol/sygm…
saadahmsiddiqui May 23, 2024
2e2eb99
chore: remove unused check
wainola May 23, 2024
df51abc
chore: pr review
wainola May 23, 2024
81cfc75
chore: fixing build
wainola May 23, 2024
5f70270
chore: pr review suggestions and small changes
wainola May 24, 2024
9c40d46
chore: fixing build
wainola May 24, 2024
1df0279
chore: adding new variable to display amount to receive
wainola May 27, 2024
5437f6d
Merge branch 'main' into fix/amount-to-receive
Lykhoyda May 28, 2024
ae58317
Merge branch 'main' into fix/amount-to-receive
Lykhoyda May 28, 2024
95e05cf
chore: changing variable state for substrate transaction build
wainola May 28, 2024
fbba63e
wip: debounce + flag
wainola May 29, 2024
40abc39
Merge branch 'fix/amount-to-receive' of github.com:sygmaprotocol/sygm…
saadahmsiddiqui May 29, 2024
0e4b661
added debounce input
saadahmsiddiqui May 29, 2024
0dc8e64
increase debounce time
saadahmsiddiqui May 29, 2024
b10473e
added fix for changing network selection
saadahmsiddiqui May 29, 2024
b1c2c65
fix: custom debounce
wainola May 30, 2024
e71b775
fix: remove dependency, fixing linting and build issues
wainola May 30, 2024
7275014
chore: fix tests
wainola May 30, 2024
3e84792
chore: update deps
wainola Jun 3, 2024
d041495
chore: remove commented code
wainola Jun 3, 2024
2aa84c3
chore: avoid re-asignement
wainola Jun 3, 2024
805c8d2
chore: restoring re-asignement
wainola Jun 3, 2024
c009d9b
chore: removing re-asignemt of resource amount
wainola Jun 3, 2024
0176aa8
reset stuff on build or estimation errors
saadahmsiddiqui Jun 3, 2024
355f6fd
chore: solving conflicts
wainola Jun 4, 2024
98cd816
chore: fixing lint
wainola Jun 4, 2024
b317ab0
chore: fixing tests
wainola Jun 4, 2024
fc726d8
chore: fixing tests
wainola Jun 4, 2024
08f3ae4
Merge branch 'main' into fix/amount-to-receive
Lykhoyda Jun 5, 2024
3423849
chore: addressing comments
wainola Jun 7, 2024
82bf8f3
chore: remove unused method
wainola Jun 7, 2024
8a1d687
chore: using constant in test
wainola Jun 7, 2024
588d171
Merge branch 'main' of github.com:sygmaprotocol/sygma-widget into fix…
saadahmsiddiqui Jun 7, 2024
8cad80c
Update packages/widget/src/components/resource-amount-selector/resour…
wainola Jun 7, 2024
f3f6cc6
Update packages/widget/src/controllers/transfers/fungible-token-trans…
wainola Jun 7, 2024
53ed022
Update packages/widget/src/controllers/transfers/fungible-token-trans…
wainola Jun 7, 2024
2c12d8b
Update packages/widget/src/controllers/transfers/evm/execute.ts
wainola Jun 7, 2024
35259b0
Update packages/widget/src/utils/gas.ts
wainola Jun 7, 2024
88a0922
chore: addressing comments
wainola Jun 7, 2024
81febd9
chore: generic arg for debounce
wainola Jun 7, 2024
22af7b1
chore: addressing comments
wainola Jun 7, 2024
3b160fa
chore: small change on request update call
wainola Jun 7, 2024
48cd4fd
Update packages/widget/src/controllers/transfers/evm/build.ts
wainola Jun 9, 2024
d1fd4b7
chore: fixing lint issues
wainola Jun 9, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions packages/widget/src/controllers/transfers/evm/build.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import {
type PercentageFee
} from '@buildwithsygma/sygma-sdk-core';
import { Web3Provider } from '@ethersproject/providers';
import { constants, utils } from 'ethers';
import { BigNumber, constants, utils } from 'ethers';
import { type FungibleTokenTransferController } from '../fungible-token-transfer';

/**
Expand Down Expand Up @@ -46,9 +46,15 @@ export async function buildEvmFungibleTransactions(
this.resourceAmount.toString()
);
const originalFee = await evmTransfer.getFee(originalTransfer);
// NOTE: for percentage fee, if both are equal, it means we can calculate the amount with fee avoiding second subtraction
const calculateAmountWithFee =
originalFee.type === FeeHandlerType.PERCENTAGE &&
this.resourceAmount.toString() ===
wainola marked this conversation as resolved.
Show resolved Hide resolved
BigNumber.from(originalTransfer.details.amount).toString();

//in case of percentage fee handler, we are calculating what amount + fee will result int user inputed amount
//in case of fixed(basic) fee handler, fee is taken from native token
if (originalFee.type === FeeHandlerType.PERCENTAGE) {
if (calculateAmountWithFee) {
const { lowerBound, upperBound, percentage } = originalFee as PercentageFee;
const userInputAmount = this.resourceAmount;
//calculate amount without fee (percentage)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,14 @@ export async function buildSubstrateFungibleTransactions(
String(this.resourceAmount)
);

console.log('substrate transfer', transfer);
wainola marked this conversation as resolved.
Show resolved Hide resolved

this.fee = await substrateTransfer.getFee(transfer);

this.resourceAmount = this.resourceAmount.sub(this.fee.fee.toString());
if (this.resourceAmount.toString() === transfer.details.amount.toString()) {
this.resourceAmount = this.resourceAmount.sub(this.fee.fee.toString());
}

this.pendingTransferTransaction = substrateTransfer.buildTransferTransaction(
transfer,
this.fee
Expand Down
Loading