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
Changes from 1 commit
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
Prev Previous commit
Next Next commit
fix: remove dependency, fixing linting and build issues
  • Loading branch information
wainola committed May 30, 2024
commit e71b775470b4928446d9cc12e16e59b4abe94318
3 changes: 1 addition & 2 deletions packages/widget/package.json
Original file line number Diff line number Diff line change
@@ -47,8 +47,7 @@
"@web3-onboard/walletconnect": "^2.5.3",
"ethers": "5.7.2",
"events": "^3.3.0",
"lit": "3.0.0",
"lodash": "^4.17.21"
"lit": "3.0.0"
},
"devDependencies": {
"@open-wc/semantic-dom-diff": "^0.20.1",
Original file line number Diff line number Diff line change
@@ -11,8 +11,6 @@ import { html } from 'lit';
import { customElement, property, state } from 'lit/decorators.js';
import { classMap } from 'lit/directives/class-map.js';
import { when } from 'lit/directives/when.js';
// @ts-expect-error will remove this
import { debounce } from 'lodash';
import { networkIconsMap } from '../../assets';
import { DEFAULT_ETH_DECIMALS } from '../../constants';
import {
@@ -102,7 +100,6 @@ export class ResourceAmountSelector extends BaseComponent {
}
};

// debouncedHandler = debounce(this._onInputAmountChangeHandler, 600);
debouncedHandler = this.debounceAmountChange(
this._onInputAmountChangeHandler,
600
Original file line number Diff line number Diff line change
@@ -181,7 +181,7 @@ export class FungibleTokenTransfer extends BaseComponent {
.sourceDomainConfig=${this.transferController.sourceDomainConfig}
.disabled=${!this.transferController.sourceNetwork ||
!this.transferController.destinationNetwork ||
this.transferController.isBuildingTransactions}
this.transferController.isBuildingTransactions}
.resources=${this.transferController.supportedResources}
.onResourceSelected=${this.transferController.onResourceSelected}
>
Original file line number Diff line number Diff line change
@@ -26,6 +26,7 @@ import type { WalletContext } from '../../context';
import { walletContext } from '../../context';
import { MAINNET_EXPLORER_URL, TESTNET_EXPLORER_URL } from '../../constants';
import { validateAddress } from '../../utils';
import type { Eip1193Provider } from '../../interfaces';
import { SdkInitializedEvent } from '../../interfaces';
import { substrateProviderContext } from '../../context/wallet';
import { estimateEvmGas, estimateSubstrateGas } from '../../utils/gas';
@@ -512,19 +513,21 @@ export class FungibleTokenTransferController implements ReactiveController {
}

switch (this.sourceNetwork.type) {
case Network.EVM:
case Network.EVM: {
const address = this.walletContext.value?.evmWallet?.address;
const provider = this.walletContext.value?.evmWallet?.provider;
const providerChainId =
this.walletContext.value?.evmWallet?.providerChainId;
if (!address || !provider || !providerChainId) return false;
return true;
case Network.SUBSTRATE:
this.walletContext.value?.evmWallet?.providerChainId;
if (!address || !provider || !providerChainId) return false;
return true;
}
case Network.SUBSTRATE: {
const substrateProvider = this.sourceSubstrateProvider;
const substrateAddress =
this.walletContext.value?.substrateWallet?.signerAddress;
if (!substrateProvider || !substrateAddress) return false;
return true;
}
}
}

@@ -540,49 +543,52 @@ export class FungibleTokenTransferController implements ReactiveController {
switch (this.sourceNetwork!.type) {
case Network.EVM:
{
const address = this.walletContext.value?.evmWallet?.address!;
const provider = this.walletContext.value?.evmWallet?.provider!;
const providerChainId = this.walletContext.value?.evmWallet?.providerChainId!;
const address = this.walletContext.value?.evmWallet?.address;
const provider = this.walletContext.value?.evmWallet?.provider;
const providerChainId =
this.walletContext.value?.evmWallet?.providerChainId;
wainola marked this conversation as resolved.
Show resolved Hide resolved
this.isBuildingTransactions = true;

try {
const evmTransferArtifacts = await this.buildEvmTransactions({
wainola marked this conversation as resolved.
Show resolved Hide resolved
address,
address: address!,
chainId: this.destinationNetwork!.chainId,
destinationAddress: this.destinationAddress!,
resourceId: this.selectedResource!.resourceId,
resourceAmount: this.resourceAmount,
provider,
providerChainId,
provider: provider!,
providerChainId: providerChainId!,
env: this.env,
fee: this.fee,
pendingEvmApprovalTransactions: this.pendingEvmApprovalTransactions,
pendingEvmApprovalTransactions:
this.pendingEvmApprovalTransactions,
pendingTransferTransaction: this
.pendingTransferTransaction as UnsignedTransaction,
sourceNetwork: this.sourceNetwork!
})
});

this.fee = evmTransferArtifacts.fee;
this.pendingEvmApprovalTransactions = evmTransferArtifacts.pendingEvmApprovalTransactions;
this.pendingTransferTransaction = evmTransferArtifacts.pendingTransferTransaction;
this.pendingEvmApprovalTransactions =
evmTransferArtifacts.pendingEvmApprovalTransactions;
this.pendingTransferTransaction =
evmTransferArtifacts.pendingTransferTransaction;
this.resourceAmount = evmTransferArtifacts.resourceAmount;
this.resourceAmountToDisplay = evmTransferArtifacts.resourceAmount;
const state = this.getTransferState();
const transactions = [];

if (state === FungibleTransferState.PENDING_APPROVALS) {
transactions.push(this.pendingEvmApprovalTransactions[0])
transactions.push(this.pendingEvmApprovalTransactions[0]);
} else {
transactions.push(this.pendingTransferTransaction)
transactions.push(this.pendingTransferTransaction);
}

this.estimatedGas = await estimateEvmGas(
this.sourceNetwork?.chainId!,
this.walletContext.value?.evmWallet?.provider!,
this.walletContext.value?.evmWallet?.address!,
this.sourceNetwork?.chainId as number,
this.walletContext.value?.evmWallet?.provider as Eip1193Provider,
this.walletContext.value?.evmWallet?.address as string,
transactions
)

);
} catch (error) {
console.error('Error Building transactions: ', error);
} finally {
@@ -596,12 +602,12 @@ export class FungibleTokenTransferController implements ReactiveController {
this.isBuildingTransactions = true;
const substrateProvider = this.sourceSubstrateProvider!;
const address =
this.walletContext.value?.substrateWallet?.signerAddress!;
this.walletContext.value?.substrateWallet?.signerAddress;

try {
const { pendingTransferTransaction, fee, resourceAmount } =
await this.buildSubstrateTransactions({
address,
address: address!,
substrateProvider,
env: this.env,
chainId: this.destinationNetwork!.chainId,
@@ -613,27 +619,25 @@ export class FungibleTokenTransferController implements ReactiveController {
.pendingTransferTransaction as SubstrateTransaction
});

this.fee = fee;
this.resourceAmountToDisplay = resourceAmount;
this.pendingTransferTransaction = pendingTransferTransaction;
this.resourceAmount = resourceAmount;
this.estimatedGas = await estimateSubstrateGas(
address,
this.pendingTransferTransaction
);
this.fee = fee;
this.resourceAmountToDisplay = resourceAmount;
this.pendingTransferTransaction = pendingTransferTransaction;
this.resourceAmount = resourceAmount;

this.estimatedGas = await estimateSubstrateGas(
address as string,
this.pendingTransferTransaction
);
} catch (error) {
console.error('Error Building transactions: ', error);
} finally {
this.isBuildingTransactions = false;
this.host.requestUpdate();
}

}
break;
default:
throw new Error('Unsupported network type');
}

}
}
3 changes: 1 addition & 2 deletions yarn.lock
Original file line number Diff line number Diff line change
@@ -383,7 +383,6 @@ __metadata:
happy-dom: "npm:^13.3.1"
lit: "npm:3.0.0"
lit-analyzer: "npm:^2.0.3"
lodash: "npm:^4.17.21"
rollup-plugin-visualizer: "npm:^5.9.2"
typescript: "npm:5.2.2"
vite: "npm:4.4.11"
@@ -8960,7 +8959,7 @@ __metadata:
languageName: node
linkType: hard

"lodash@npm:^4.17.21, lodash@npm:~4.17.15":
"lodash@npm:~4.17.15":
version: 4.17.21
resolution: "lodash@npm:4.17.21"
checksum: d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c