@depay/web3-wallets-evm 12.4.0 → 12.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -108,6 +108,9 @@ const sendTransaction$2 = async ({ transaction, wallet })=> {
108
108
  if((await wallet.connectedTo(transaction.blockchain)) == false) {
109
109
  await wallet.switchTo(transaction.blockchain);
110
110
  }
111
+ if((await wallet.connectedTo(transaction.blockchain)) == false) {
112
+ throw({ code: 'WRONG_NETWORK' })
113
+ }
111
114
  await transaction.prepare({ wallet });
112
115
  let provider = new ethers.providers.Web3Provider(window.ethereum, 'any');
113
116
  let signer = provider.getSigner(0);
@@ -324,10 +327,13 @@ class MetaMask extends WindowEthereum {
324
327
  function _optionalChain$1(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
325
328
  const sendTransaction$1 = async ({ transaction, wallet })=> {
326
329
  transaction = new Transaction(transaction);
327
- await transaction.prepare({ wallet });
330
+ if((await wallet.connectedTo(transaction.blockchain)) == false) {
331
+ await wallet.switchTo(transaction.blockchain);
332
+ }
328
333
  if((await wallet.connectedTo(transaction.blockchain)) == false) {
329
334
  throw({ code: 'WRONG_NETWORK' })
330
335
  }
336
+ await transaction.prepare({ wallet });
331
337
  await submit$1({ transaction, wallet }).then(async (tx)=>{
332
338
  if (tx) {
333
339
  let blockchain = Blockchain.findByName(transaction.blockchain);
@@ -602,6 +608,9 @@ const sendTransaction = async ({ transaction, wallet })=> {
602
608
  if((await wallet.connectedTo(transaction.blockchain)) == false) {
603
609
  await wallet.switchTo(transaction.blockchain);
604
610
  }
611
+ if((await wallet.connectedTo(transaction.blockchain)) == false) {
612
+ throw({ code: 'WRONG_NETWORK' })
613
+ }
605
614
  await transaction.prepare({ wallet });
606
615
  let provider = new ethers.providers.Web3Provider(wallet.connector, 'any');
607
616
  let signer = provider.getSigner(0);
package/dist/esm/index.js CHANGED
@@ -109,6 +109,9 @@ const sendTransaction$3 = async ({ transaction, wallet })=> {
109
109
  if((await wallet.connectedTo(transaction.blockchain)) == false) {
110
110
  await wallet.switchTo(transaction.blockchain);
111
111
  }
112
+ if((await wallet.connectedTo(transaction.blockchain)) == false) {
113
+ throw({ code: 'WRONG_NETWORK' })
114
+ }
112
115
  await transaction.prepare({ wallet });
113
116
  let provider = new ethers.providers.Web3Provider(window.ethereum, 'any');
114
117
  let signer = provider.getSigner(0);
@@ -512,10 +515,13 @@ class Phantom extends WindowSolana {
512
515
  function _optionalChain$1(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
513
516
  const sendTransaction$1 = async ({ transaction, wallet })=> {
514
517
  transaction = new Transaction(transaction);
515
- await transaction.prepare({ wallet });
518
+ if((await wallet.connectedTo(transaction.blockchain)) == false) {
519
+ await wallet.switchTo(transaction.blockchain);
520
+ }
516
521
  if((await wallet.connectedTo(transaction.blockchain)) == false) {
517
522
  throw({ code: 'WRONG_NETWORK' })
518
523
  }
524
+ await transaction.prepare({ wallet });
519
525
  await submit$1({ transaction, wallet }).then(async (tx)=>{
520
526
  if (tx) {
521
527
  let blockchain = Blockchain.findByName(transaction.blockchain);
@@ -715,17 +721,35 @@ class WalletConnect {
715
721
 
716
722
  switchTo(blockchainName) {
717
723
  return new Promise((resolve, reject)=>{
724
+ let resolved, rejected;
718
725
  const blockchain = Blockchain.findByName(blockchainName);
726
+ setTimeout(async()=>{
727
+ if(!(await this.connectedTo(blockchainName)) && !resolved && !rejected){
728
+ reject({ code: 'NOT_SUPPORTED' });
729
+ } else {
730
+ resolve();
731
+ }
732
+ }, 3000);
719
733
  this.connector.sendCustomRequest({
720
734
  method: 'wallet_switchEthereumChain',
721
735
  params: [{ chainId: blockchain.id }],
722
- }).then(resolve).catch((error)=> {
723
- if(error && typeof error.message == 'string' && error.message.match('wallet_addEthereumChain')){ // chain not yet added
736
+ }).then(()=>{
737
+ resolved = true;
738
+ resolve();
739
+ }).catch((error)=> {
740
+ if(error && typeof error.message == 'string' && error.message.match('addEthereumChain')){ // chain not yet added
724
741
  this.addNetwork(blockchainName)
725
- .then(()=>this.switchTo(blockchainName).then(resolve))
726
- .catch(reject);
742
+ .then(()=>this.switchTo(blockchainName).then(()=>{
743
+ resolved = true;
744
+ resolve();
745
+ }))
746
+ .catch(()=>{
747
+ rejected = true;
748
+ reject({ code: 'NOT_SUPPORTED' });
749
+ });
727
750
  } else {
728
- reject(error);
751
+ rejected = true;
752
+ reject({ code: 'NOT_SUPPORTED' });
729
753
  }
730
754
  });
731
755
  })
@@ -790,6 +814,9 @@ const sendTransaction = async ({ transaction, wallet })=> {
790
814
  if((await wallet.connectedTo(transaction.blockchain)) == false) {
791
815
  await wallet.switchTo(transaction.blockchain);
792
816
  }
817
+ if((await wallet.connectedTo(transaction.blockchain)) == false) {
818
+ throw({ code: 'WRONG_NETWORK' })
819
+ }
793
820
  await transaction.prepare({ wallet });
794
821
  let provider = new ethers.providers.Web3Provider(wallet.connector, 'any');
795
822
  let signer = provider.getSigner(0);
@@ -107,6 +107,9 @@
107
107
  if((await wallet.connectedTo(transaction.blockchain)) == false) {
108
108
  await wallet.switchTo(transaction.blockchain);
109
109
  }
110
+ if((await wallet.connectedTo(transaction.blockchain)) == false) {
111
+ throw({ code: 'WRONG_NETWORK' })
112
+ }
110
113
  await transaction.prepare({ wallet });
111
114
  let provider = new ethers.ethers.providers.Web3Provider(window.ethereum, 'any');
112
115
  let signer = provider.getSigner(0);
@@ -323,10 +326,13 @@
323
326
  function _optionalChain$1(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
324
327
  const sendTransaction$1 = async ({ transaction, wallet })=> {
325
328
  transaction = new Transaction(transaction);
326
- await transaction.prepare({ wallet });
329
+ if((await wallet.connectedTo(transaction.blockchain)) == false) {
330
+ await wallet.switchTo(transaction.blockchain);
331
+ }
327
332
  if((await wallet.connectedTo(transaction.blockchain)) == false) {
328
333
  throw({ code: 'WRONG_NETWORK' })
329
334
  }
335
+ await transaction.prepare({ wallet });
330
336
  await submit$1({ transaction, wallet }).then(async (tx)=>{
331
337
  if (tx) {
332
338
  let blockchain = web3Blockchains.Blockchain.findByName(transaction.blockchain);
@@ -601,6 +607,9 @@
601
607
  if((await wallet.connectedTo(transaction.blockchain)) == false) {
602
608
  await wallet.switchTo(transaction.blockchain);
603
609
  }
610
+ if((await wallet.connectedTo(transaction.blockchain)) == false) {
611
+ throw({ code: 'WRONG_NETWORK' })
612
+ }
604
613
  await transaction.prepare({ wallet });
605
614
  let provider = new ethers.ethers.providers.Web3Provider(wallet.connector, 'any');
606
615
  let signer = provider.getSigner(0);
package/dist/umd/index.js CHANGED
@@ -107,6 +107,9 @@
107
107
  if((await wallet.connectedTo(transaction.blockchain)) == false) {
108
108
  await wallet.switchTo(transaction.blockchain);
109
109
  }
110
+ if((await wallet.connectedTo(transaction.blockchain)) == false) {
111
+ throw({ code: 'WRONG_NETWORK' })
112
+ }
110
113
  await transaction.prepare({ wallet });
111
114
  let provider = new ethers.ethers.providers.Web3Provider(window.ethereum, 'any');
112
115
  let signer = provider.getSigner(0);
@@ -510,10 +513,13 @@
510
513
  function _optionalChain$1(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
511
514
  const sendTransaction$1 = async ({ transaction, wallet })=> {
512
515
  transaction = new Transaction(transaction);
513
- await transaction.prepare({ wallet });
516
+ if((await wallet.connectedTo(transaction.blockchain)) == false) {
517
+ await wallet.switchTo(transaction.blockchain);
518
+ }
514
519
  if((await wallet.connectedTo(transaction.blockchain)) == false) {
515
520
  throw({ code: 'WRONG_NETWORK' })
516
521
  }
522
+ await transaction.prepare({ wallet });
517
523
  await submit$1({ transaction, wallet }).then(async (tx)=>{
518
524
  if (tx) {
519
525
  let blockchain = web3Blockchains.Blockchain.findByName(transaction.blockchain);
@@ -713,17 +719,35 @@
713
719
 
714
720
  switchTo(blockchainName) {
715
721
  return new Promise((resolve, reject)=>{
722
+ let resolved, rejected;
716
723
  const blockchain = web3Blockchains.Blockchain.findByName(blockchainName);
724
+ setTimeout(async()=>{
725
+ if(!(await this.connectedTo(blockchainName)) && !resolved && !rejected){
726
+ reject({ code: 'NOT_SUPPORTED' });
727
+ } else {
728
+ resolve();
729
+ }
730
+ }, 3000);
717
731
  this.connector.sendCustomRequest({
718
732
  method: 'wallet_switchEthereumChain',
719
733
  params: [{ chainId: blockchain.id }],
720
- }).then(resolve).catch((error)=> {
721
- if(error && typeof error.message == 'string' && error.message.match('wallet_addEthereumChain')){ // chain not yet added
734
+ }).then(()=>{
735
+ resolved = true;
736
+ resolve();
737
+ }).catch((error)=> {
738
+ if(error && typeof error.message == 'string' && error.message.match('addEthereumChain')){ // chain not yet added
722
739
  this.addNetwork(blockchainName)
723
- .then(()=>this.switchTo(blockchainName).then(resolve))
724
- .catch(reject);
740
+ .then(()=>this.switchTo(blockchainName).then(()=>{
741
+ resolved = true;
742
+ resolve();
743
+ }))
744
+ .catch(()=>{
745
+ rejected = true;
746
+ reject({ code: 'NOT_SUPPORTED' });
747
+ });
725
748
  } else {
726
- reject(error);
749
+ rejected = true;
750
+ reject({ code: 'NOT_SUPPORTED' });
727
751
  }
728
752
  });
729
753
  })
@@ -788,6 +812,9 @@
788
812
  if((await wallet.connectedTo(transaction.blockchain)) == false) {
789
813
  await wallet.switchTo(transaction.blockchain);
790
814
  }
815
+ if((await wallet.connectedTo(transaction.blockchain)) == false) {
816
+ throw({ code: 'WRONG_NETWORK' })
817
+ }
791
818
  await transaction.prepare({ wallet });
792
819
  let provider = new ethers.ethers.providers.Web3Provider(wallet.connector, 'any');
793
820
  let signer = provider.getSigner(0);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@depay/web3-wallets-evm",
3
3
  "moduleName": "Web3Wallets",
4
- "version": "12.4.0",
4
+ "version": "12.4.2",
5
5
  "description": "One-Stop-Shop JavaScript library to integrate various web3 crypto wallets and multiple blockchains at once with a single interface.",
6
6
  "main": "dist/umd/index.evm.js",
7
7
  "module": "dist/esm/index.evm.js",
@@ -27,7 +27,7 @@
27
27
  "peerDependencies": {
28
28
  "@depay/coinbase-wallet-sdk": "^1.1.0",
29
29
  "@depay/walletconnect-v1": "^1.7.10",
30
- "@depay/web3-blockchains": "^6.2.3",
30
+ "@depay/web3-blockchains": "^6.3.1",
31
31
  "@depay/web3-client-evm": "^10.2.1",
32
32
  "@depay/web3-constants": "^6.3.2",
33
33
  "ethers": "^5.7.1"