mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
Merge pull request #13731 from MetaMask/Version-v10.10.1
Version v10.10.1 RC
This commit is contained in:
commit
2369782196
11
CHANGELOG.md
11
CHANGELOG.md
@ -6,6 +6,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [10.10.1]
|
||||||
|
### Added
|
||||||
|
- Swaps: Enable Avalanche ([#13653](https://github.com/MetaMask/metamask-extension/pull/13653))
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Ensure Lattice hardware wallet can correctly sign all EIP-712 messages ([#13691](https://github.com/MetaMask/metamask-extension/pull/13691))
|
||||||
|
- Fix occasional errors when fetching swaps quotes ([#13732](https://github.com/MetaMask/metamask-extension/pull/13732))
|
||||||
|
|
||||||
## [10.10.0]
|
## [10.10.0]
|
||||||
### Added
|
### Added
|
||||||
- Enable toggle to turn on the new gas fee customization UI ([#13481](https://github.com/MetaMask/metamask-extension/pull/13481))
|
- Enable toggle to turn on the new gas fee customization UI ([#13481](https://github.com/MetaMask/metamask-extension/pull/13481))
|
||||||
@ -2731,7 +2739,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
### Uncategorized
|
### Uncategorized
|
||||||
- Added the ability to restore accounts from seed words.
|
- Added the ability to restore accounts from seed words.
|
||||||
|
|
||||||
[Unreleased]: https://github.com/MetaMask/metamask-extension/compare/v10.10.0...HEAD
|
[Unreleased]: https://github.com/MetaMask/metamask-extension/compare/v10.10.1...HEAD
|
||||||
|
[10.10.1]: https://github.com/MetaMask/metamask-extension/compare/v10.10.0...v10.10.1
|
||||||
[10.10.0]: https://github.com/MetaMask/metamask-extension/compare/v10.9.3...v10.10.0
|
[10.10.0]: https://github.com/MetaMask/metamask-extension/compare/v10.9.3...v10.10.0
|
||||||
[10.9.3]: https://github.com/MetaMask/metamask-extension/compare/v10.9.2...v10.9.3
|
[10.9.3]: https://github.com/MetaMask/metamask-extension/compare/v10.9.2...v10.9.3
|
||||||
[10.9.2]: https://github.com/MetaMask/metamask-extension/compare/v10.9.1...v10.9.2
|
[10.9.2]: https://github.com/MetaMask/metamask-extension/compare/v10.9.1...v10.9.2
|
||||||
|
@ -1835,6 +1835,9 @@
|
|||||||
"networkName": {
|
"networkName": {
|
||||||
"message": "Network Name"
|
"message": "Network Name"
|
||||||
},
|
},
|
||||||
|
"networkNameAvalanche": {
|
||||||
|
"message": "Avalanche"
|
||||||
|
},
|
||||||
"networkNameBSC": {
|
"networkNameBSC": {
|
||||||
"message": "BSC"
|
"message": "BSC"
|
||||||
},
|
},
|
||||||
|
BIN
app/images/avax-token.png
Normal file
BIN
app/images/avax-token.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.6 KiB |
@ -270,14 +270,16 @@ export default class SwapsController {
|
|||||||
fetchParams.fromAddress,
|
fetchParams.fromAddress,
|
||||||
chainId,
|
chainId,
|
||||||
);
|
);
|
||||||
|
const [firstQuote] = Object.values(newQuotes);
|
||||||
|
|
||||||
// For a user to be able to swap a token, they need to have approved the MetaSwap contract to withdraw that token.
|
// For a user to be able to swap a token, they need to have approved the MetaSwap contract to withdraw that token.
|
||||||
// _getERC20Allowance() returns the amount of the token they have approved for withdrawal. If that amount is greater
|
// _getERC20Allowance() returns the amount of the token they have approved for withdrawal. If that amount is greater
|
||||||
// than 0, it means that approval has already occurred and is not needed. Otherwise, for tokens to be swapped, a new
|
// than 0, it means that approval has already occurred and is not needed. Otherwise, for tokens to be swapped, a new
|
||||||
// call of the ERC-20 approve method is required.
|
// call of the ERC-20 approve method is required.
|
||||||
approvalRequired =
|
approvalRequired =
|
||||||
|
firstQuote.approvalNeeded &&
|
||||||
allowance.eq(0) &&
|
allowance.eq(0) &&
|
||||||
Object.values(newQuotes)[0].aggregator !== 'wrappedNative';
|
firstQuote.aggregator !== 'wrappedNative';
|
||||||
if (!approvalRequired) {
|
if (!approvalRequired) {
|
||||||
newQuotes = mapValues(newQuotes, (quote) => ({
|
newQuotes = mapValues(newQuotes, (quote) => ({
|
||||||
...quote,
|
...quote,
|
||||||
@ -285,7 +287,7 @@ export default class SwapsController {
|
|||||||
}));
|
}));
|
||||||
} else if (!isPolledRequest) {
|
} else if (!isPolledRequest) {
|
||||||
const { gasLimit: approvalGas } = await this.timedoutGasReturn(
|
const { gasLimit: approvalGas } = await this.timedoutGasReturn(
|
||||||
Object.values(newQuotes)[0].approvalNeeded,
|
firstQuote.approvalNeeded,
|
||||||
);
|
);
|
||||||
|
|
||||||
newQuotes = mapValues(newQuotes, (quote) => ({
|
newQuotes = mapValues(newQuotes, (quote) => ({
|
||||||
|
@ -1793,6 +1793,16 @@
|
|||||||
"safe-event-emitter": true
|
"safe-event-emitter": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"eth-eip712-util-browser": {
|
||||||
|
"globals": {
|
||||||
|
"intToBuffer": true
|
||||||
|
},
|
||||||
|
"packages": {
|
||||||
|
"bn.js": true,
|
||||||
|
"buffer": true,
|
||||||
|
"js-sha3": true
|
||||||
|
}
|
||||||
|
},
|
||||||
"eth-ens-namehash": {
|
"eth-ens-namehash": {
|
||||||
"globals": {
|
"globals": {
|
||||||
"name": "write"
|
"name": "write"
|
||||||
@ -1879,7 +1889,6 @@
|
|||||||
"addEventListener": true,
|
"addEventListener": true,
|
||||||
"browser": true,
|
"browser": true,
|
||||||
"clearInterval": true,
|
"clearInterval": true,
|
||||||
"console.warn": true,
|
|
||||||
"open": true,
|
"open": true,
|
||||||
"setInterval": true
|
"setInterval": true
|
||||||
},
|
},
|
||||||
@ -2047,11 +2056,6 @@
|
|||||||
"@ethersproject/wordlists": true
|
"@ethersproject/wordlists": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ethers-eip712": {
|
|
||||||
"packages": {
|
|
||||||
"ethers": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"ethjs": {
|
"ethjs": {
|
||||||
"globals": {
|
"globals": {
|
||||||
"clearInterval": true,
|
"clearInterval": true,
|
||||||
@ -2268,8 +2272,7 @@
|
|||||||
"buffer": true,
|
"buffer": true,
|
||||||
"crc-32": true,
|
"crc-32": true,
|
||||||
"elliptic": true,
|
"elliptic": true,
|
||||||
"ethers": true,
|
"eth-eip712-util-browser": true,
|
||||||
"ethers-eip712": true,
|
|
||||||
"js-sha3": true,
|
"js-sha3": true,
|
||||||
"rlp-browser": true,
|
"rlp-browser": true,
|
||||||
"secp256k1": true,
|
"secp256k1": true,
|
||||||
|
@ -1793,6 +1793,16 @@
|
|||||||
"safe-event-emitter": true
|
"safe-event-emitter": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"eth-eip712-util-browser": {
|
||||||
|
"globals": {
|
||||||
|
"intToBuffer": true
|
||||||
|
},
|
||||||
|
"packages": {
|
||||||
|
"bn.js": true,
|
||||||
|
"buffer": true,
|
||||||
|
"js-sha3": true
|
||||||
|
}
|
||||||
|
},
|
||||||
"eth-ens-namehash": {
|
"eth-ens-namehash": {
|
||||||
"globals": {
|
"globals": {
|
||||||
"name": "write"
|
"name": "write"
|
||||||
@ -1879,7 +1889,6 @@
|
|||||||
"addEventListener": true,
|
"addEventListener": true,
|
||||||
"browser": true,
|
"browser": true,
|
||||||
"clearInterval": true,
|
"clearInterval": true,
|
||||||
"console.warn": true,
|
|
||||||
"open": true,
|
"open": true,
|
||||||
"setInterval": true
|
"setInterval": true
|
||||||
},
|
},
|
||||||
@ -2047,11 +2056,6 @@
|
|||||||
"@ethersproject/wordlists": true
|
"@ethersproject/wordlists": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ethers-eip712": {
|
|
||||||
"packages": {
|
|
||||||
"ethers": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"ethjs": {
|
"ethjs": {
|
||||||
"globals": {
|
"globals": {
|
||||||
"clearInterval": true,
|
"clearInterval": true,
|
||||||
@ -2268,8 +2272,7 @@
|
|||||||
"buffer": true,
|
"buffer": true,
|
||||||
"crc-32": true,
|
"crc-32": true,
|
||||||
"elliptic": true,
|
"elliptic": true,
|
||||||
"ethers": true,
|
"eth-eip712-util-browser": true,
|
||||||
"ethers-eip712": true,
|
|
||||||
"js-sha3": true,
|
"js-sha3": true,
|
||||||
"rlp-browser": true,
|
"rlp-browser": true,
|
||||||
"secp256k1": true,
|
"secp256k1": true,
|
||||||
|
@ -1793,6 +1793,16 @@
|
|||||||
"safe-event-emitter": true
|
"safe-event-emitter": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"eth-eip712-util-browser": {
|
||||||
|
"globals": {
|
||||||
|
"intToBuffer": true
|
||||||
|
},
|
||||||
|
"packages": {
|
||||||
|
"bn.js": true,
|
||||||
|
"buffer": true,
|
||||||
|
"js-sha3": true
|
||||||
|
}
|
||||||
|
},
|
||||||
"eth-ens-namehash": {
|
"eth-ens-namehash": {
|
||||||
"globals": {
|
"globals": {
|
||||||
"name": "write"
|
"name": "write"
|
||||||
@ -1879,7 +1889,6 @@
|
|||||||
"addEventListener": true,
|
"addEventListener": true,
|
||||||
"browser": true,
|
"browser": true,
|
||||||
"clearInterval": true,
|
"clearInterval": true,
|
||||||
"console.warn": true,
|
|
||||||
"open": true,
|
"open": true,
|
||||||
"setInterval": true
|
"setInterval": true
|
||||||
},
|
},
|
||||||
@ -2047,11 +2056,6 @@
|
|||||||
"@ethersproject/wordlists": true
|
"@ethersproject/wordlists": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ethers-eip712": {
|
|
||||||
"packages": {
|
|
||||||
"ethers": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"ethjs": {
|
"ethjs": {
|
||||||
"globals": {
|
"globals": {
|
||||||
"clearInterval": true,
|
"clearInterval": true,
|
||||||
@ -2268,8 +2272,7 @@
|
|||||||
"buffer": true,
|
"buffer": true,
|
||||||
"crc-32": true,
|
"crc-32": true,
|
||||||
"elliptic": true,
|
"elliptic": true,
|
||||||
"ethers": true,
|
"eth-eip712-util-browser": true,
|
||||||
"ethers-eip712": true,
|
|
||||||
"js-sha3": true,
|
"js-sha3": true,
|
||||||
"rlp-browser": true,
|
"rlp-browser": true,
|
||||||
"secp256k1": true,
|
"secp256k1": true,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "metamask-crx",
|
"name": "metamask-crx",
|
||||||
"version": "10.10.0",
|
"version": "10.10.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
@ -64,6 +64,7 @@ export const ETH_TOKEN_IMAGE_URL = './images/eth_logo.svg';
|
|||||||
export const TEST_ETH_TOKEN_IMAGE_URL = './images/black-eth-logo.svg';
|
export const TEST_ETH_TOKEN_IMAGE_URL = './images/black-eth-logo.svg';
|
||||||
export const BNB_TOKEN_IMAGE_URL = './images/bnb.png';
|
export const BNB_TOKEN_IMAGE_URL = './images/bnb.png';
|
||||||
export const MATIC_TOKEN_IMAGE_URL = './images/matic-token.png';
|
export const MATIC_TOKEN_IMAGE_URL = './images/matic-token.png';
|
||||||
|
export const AVAX_TOKEN_IMAGE_URL = './images/avax-token.png';
|
||||||
|
|
||||||
export const INFURA_PROVIDER_TYPES = [ROPSTEN, RINKEBY, KOVAN, MAINNET, GOERLI];
|
export const INFURA_PROVIDER_TYPES = [ROPSTEN, RINKEBY, KOVAN, MAINNET, GOERLI];
|
||||||
|
|
||||||
@ -138,6 +139,7 @@ export const NATIVE_CURRENCY_TOKEN_IMAGE_MAP = {
|
|||||||
[TEST_ETH_SYMBOL]: TEST_ETH_TOKEN_IMAGE_URL,
|
[TEST_ETH_SYMBOL]: TEST_ETH_TOKEN_IMAGE_URL,
|
||||||
[BNB_SYMBOL]: BNB_TOKEN_IMAGE_URL,
|
[BNB_SYMBOL]: BNB_TOKEN_IMAGE_URL,
|
||||||
[MATIC_SYMBOL]: MATIC_TOKEN_IMAGE_URL,
|
[MATIC_SYMBOL]: MATIC_TOKEN_IMAGE_URL,
|
||||||
|
[AVALANCHE_SYMBOL]: AVAX_TOKEN_IMAGE_URL,
|
||||||
};
|
};
|
||||||
|
|
||||||
export const INFURA_BLOCKED_KEY = 'countryBlocked';
|
export const INFURA_BLOCKED_KEY = 'countryBlocked';
|
||||||
|
@ -10,6 +10,9 @@ import {
|
|||||||
MATIC_SYMBOL,
|
MATIC_SYMBOL,
|
||||||
MATIC_TOKEN_IMAGE_URL,
|
MATIC_TOKEN_IMAGE_URL,
|
||||||
RINKEBY_CHAIN_ID,
|
RINKEBY_CHAIN_ID,
|
||||||
|
AVALANCHE_CHAIN_ID,
|
||||||
|
AVALANCHE_SYMBOL,
|
||||||
|
AVAX_TOKEN_IMAGE_URL,
|
||||||
} from './network';
|
} from './network';
|
||||||
|
|
||||||
export const QUOTES_EXPIRED_ERROR = 'quotes-expired';
|
export const QUOTES_EXPIRED_ERROR = 'quotes-expired';
|
||||||
@ -47,6 +50,14 @@ export const MATIC_SWAPS_TOKEN_OBJECT = {
|
|||||||
iconUrl: MATIC_TOKEN_IMAGE_URL,
|
iconUrl: MATIC_TOKEN_IMAGE_URL,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const AVAX_SWAPS_TOKEN_OBJECT = {
|
||||||
|
symbol: AVALANCHE_SYMBOL,
|
||||||
|
name: 'Avalanche',
|
||||||
|
address: DEFAULT_TOKEN_ADDRESS,
|
||||||
|
decimals: 18,
|
||||||
|
iconUrl: AVAX_TOKEN_IMAGE_URL,
|
||||||
|
};
|
||||||
|
|
||||||
export const TEST_ETH_SWAPS_TOKEN_OBJECT = {
|
export const TEST_ETH_SWAPS_TOKEN_OBJECT = {
|
||||||
symbol: TEST_ETH_SYMBOL,
|
symbol: TEST_ETH_SYMBOL,
|
||||||
name: 'Test Ether',
|
name: 'Test Ether',
|
||||||
@ -75,6 +86,8 @@ const BSC_CONTRACT_ADDRESS = '0x1a1ec25dc08e98e5e93f1104b5e5cdd298707d31';
|
|||||||
// It's the same as we use for BSC.
|
// It's the same as we use for BSC.
|
||||||
const POLYGON_CONTRACT_ADDRESS = '0x1a1ec25dc08e98e5e93f1104b5e5cdd298707d31';
|
const POLYGON_CONTRACT_ADDRESS = '0x1a1ec25dc08e98e5e93f1104b5e5cdd298707d31';
|
||||||
|
|
||||||
|
const AVALANCHE_CONTRACT_ADDRESS = '0x1a1ec25dc08e98e5e93f1104b5e5cdd298707d31';
|
||||||
|
|
||||||
export const WETH_CONTRACT_ADDRESS =
|
export const WETH_CONTRACT_ADDRESS =
|
||||||
'0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2';
|
'0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2';
|
||||||
export const WETH_RINKEBY_CONTRACT_ADDRESS =
|
export const WETH_RINKEBY_CONTRACT_ADDRESS =
|
||||||
@ -83,12 +96,14 @@ export const WBNB_CONTRACT_ADDRESS =
|
|||||||
'0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c';
|
'0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c';
|
||||||
export const WMATIC_CONTRACT_ADDRESS =
|
export const WMATIC_CONTRACT_ADDRESS =
|
||||||
'0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270';
|
'0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270';
|
||||||
|
export const WAVAX_CONTRACT_ADDRESS =
|
||||||
|
'0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7';
|
||||||
|
|
||||||
const SWAPS_TESTNET_CHAIN_ID = '0x539';
|
const SWAPS_TESTNET_CHAIN_ID = '0x539';
|
||||||
|
|
||||||
export const SWAPS_API_V2_BASE_URL = 'https://api2.metaswap.codefi.network';
|
export const SWAPS_API_V2_BASE_URL = 'https://api2.metaswap.codefi.network';
|
||||||
export const SWAPS_DEV_API_V2_BASE_URL =
|
export const SWAPS_DEV_API_V2_BASE_URL =
|
||||||
'https://api2.metaswap-dev.codefi.network';
|
'https://swap.metaswap-dev.codefi.network';
|
||||||
export const GAS_API_BASE_URL = 'https://gas-api.metaswap.codefi.network';
|
export const GAS_API_BASE_URL = 'https://gas-api.metaswap.codefi.network';
|
||||||
export const GAS_DEV_API_BASE_URL =
|
export const GAS_DEV_API_BASE_URL =
|
||||||
'https://gas-api.metaswap-dev.codefi.network';
|
'https://gas-api.metaswap-dev.codefi.network';
|
||||||
@ -97,6 +112,7 @@ const BSC_DEFAULT_BLOCK_EXPLORER_URL = 'https://bscscan.com/';
|
|||||||
const MAINNET_DEFAULT_BLOCK_EXPLORER_URL = 'https://etherscan.io/';
|
const MAINNET_DEFAULT_BLOCK_EXPLORER_URL = 'https://etherscan.io/';
|
||||||
const RINKEBY_DEFAULT_BLOCK_EXPLORER_URL = 'https://rinkeby.etherscan.io/';
|
const RINKEBY_DEFAULT_BLOCK_EXPLORER_URL = 'https://rinkeby.etherscan.io/';
|
||||||
const POLYGON_DEFAULT_BLOCK_EXPLORER_URL = 'https://polygonscan.com/';
|
const POLYGON_DEFAULT_BLOCK_EXPLORER_URL = 'https://polygonscan.com/';
|
||||||
|
const AVALANCHE_DEFAULT_BLOCK_EXPLORER_URL = 'https://snowtrace.io/';
|
||||||
|
|
||||||
export const ALLOWED_SWAPS_CHAIN_IDS = {
|
export const ALLOWED_SWAPS_CHAIN_IDS = {
|
||||||
[MAINNET_CHAIN_ID]: true,
|
[MAINNET_CHAIN_ID]: true,
|
||||||
@ -104,6 +120,7 @@ export const ALLOWED_SWAPS_CHAIN_IDS = {
|
|||||||
[BSC_CHAIN_ID]: true,
|
[BSC_CHAIN_ID]: true,
|
||||||
[POLYGON_CHAIN_ID]: true,
|
[POLYGON_CHAIN_ID]: true,
|
||||||
[RINKEBY_CHAIN_ID]: true,
|
[RINKEBY_CHAIN_ID]: true,
|
||||||
|
[AVALANCHE_CHAIN_ID]: true,
|
||||||
};
|
};
|
||||||
|
|
||||||
export const SWAPS_CHAINID_CONTRACT_ADDRESS_MAP = {
|
export const SWAPS_CHAINID_CONTRACT_ADDRESS_MAP = {
|
||||||
@ -112,6 +129,7 @@ export const SWAPS_CHAINID_CONTRACT_ADDRESS_MAP = {
|
|||||||
[BSC_CHAIN_ID]: BSC_CONTRACT_ADDRESS,
|
[BSC_CHAIN_ID]: BSC_CONTRACT_ADDRESS,
|
||||||
[POLYGON_CHAIN_ID]: POLYGON_CONTRACT_ADDRESS,
|
[POLYGON_CHAIN_ID]: POLYGON_CONTRACT_ADDRESS,
|
||||||
[RINKEBY_CHAIN_ID]: TESTNET_CONTRACT_ADDRESS,
|
[RINKEBY_CHAIN_ID]: TESTNET_CONTRACT_ADDRESS,
|
||||||
|
[AVALANCHE_CHAIN_ID]: AVALANCHE_CONTRACT_ADDRESS,
|
||||||
};
|
};
|
||||||
|
|
||||||
export const SWAPS_WRAPPED_TOKENS_ADDRESSES = {
|
export const SWAPS_WRAPPED_TOKENS_ADDRESSES = {
|
||||||
@ -120,6 +138,7 @@ export const SWAPS_WRAPPED_TOKENS_ADDRESSES = {
|
|||||||
[BSC_CHAIN_ID]: WBNB_CONTRACT_ADDRESS,
|
[BSC_CHAIN_ID]: WBNB_CONTRACT_ADDRESS,
|
||||||
[POLYGON_CHAIN_ID]: WMATIC_CONTRACT_ADDRESS,
|
[POLYGON_CHAIN_ID]: WMATIC_CONTRACT_ADDRESS,
|
||||||
[RINKEBY_CHAIN_ID]: WETH_RINKEBY_CONTRACT_ADDRESS,
|
[RINKEBY_CHAIN_ID]: WETH_RINKEBY_CONTRACT_ADDRESS,
|
||||||
|
[AVALANCHE_CHAIN_ID]: WAVAX_CONTRACT_ADDRESS,
|
||||||
};
|
};
|
||||||
|
|
||||||
export const ALLOWED_CONTRACT_ADDRESSES = {
|
export const ALLOWED_CONTRACT_ADDRESSES = {
|
||||||
@ -143,6 +162,10 @@ export const ALLOWED_CONTRACT_ADDRESSES = {
|
|||||||
SWAPS_CHAINID_CONTRACT_ADDRESS_MAP[POLYGON_CHAIN_ID],
|
SWAPS_CHAINID_CONTRACT_ADDRESS_MAP[POLYGON_CHAIN_ID],
|
||||||
SWAPS_WRAPPED_TOKENS_ADDRESSES[POLYGON_CHAIN_ID],
|
SWAPS_WRAPPED_TOKENS_ADDRESSES[POLYGON_CHAIN_ID],
|
||||||
],
|
],
|
||||||
|
[AVALANCHE_CHAIN_ID]: [
|
||||||
|
SWAPS_CHAINID_CONTRACT_ADDRESS_MAP[AVALANCHE_CHAIN_ID],
|
||||||
|
SWAPS_WRAPPED_TOKENS_ADDRESSES[AVALANCHE_CHAIN_ID],
|
||||||
|
],
|
||||||
};
|
};
|
||||||
|
|
||||||
export const SWAPS_CHAINID_DEFAULT_TOKEN_MAP = {
|
export const SWAPS_CHAINID_DEFAULT_TOKEN_MAP = {
|
||||||
@ -151,6 +174,7 @@ export const SWAPS_CHAINID_DEFAULT_TOKEN_MAP = {
|
|||||||
[BSC_CHAIN_ID]: BNB_SWAPS_TOKEN_OBJECT,
|
[BSC_CHAIN_ID]: BNB_SWAPS_TOKEN_OBJECT,
|
||||||
[POLYGON_CHAIN_ID]: MATIC_SWAPS_TOKEN_OBJECT,
|
[POLYGON_CHAIN_ID]: MATIC_SWAPS_TOKEN_OBJECT,
|
||||||
[RINKEBY_CHAIN_ID]: RINKEBY_SWAPS_TOKEN_OBJECT,
|
[RINKEBY_CHAIN_ID]: RINKEBY_SWAPS_TOKEN_OBJECT,
|
||||||
|
[AVALANCHE_CHAIN_ID]: AVAX_SWAPS_TOKEN_OBJECT,
|
||||||
};
|
};
|
||||||
|
|
||||||
export const SWAPS_CHAINID_DEFAULT_BLOCK_EXPLORER_URL_MAP = {
|
export const SWAPS_CHAINID_DEFAULT_BLOCK_EXPLORER_URL_MAP = {
|
||||||
@ -158,11 +182,13 @@ export const SWAPS_CHAINID_DEFAULT_BLOCK_EXPLORER_URL_MAP = {
|
|||||||
[MAINNET_CHAIN_ID]: MAINNET_DEFAULT_BLOCK_EXPLORER_URL,
|
[MAINNET_CHAIN_ID]: MAINNET_DEFAULT_BLOCK_EXPLORER_URL,
|
||||||
[POLYGON_CHAIN_ID]: POLYGON_DEFAULT_BLOCK_EXPLORER_URL,
|
[POLYGON_CHAIN_ID]: POLYGON_DEFAULT_BLOCK_EXPLORER_URL,
|
||||||
[RINKEBY_CHAIN_ID]: RINKEBY_DEFAULT_BLOCK_EXPLORER_URL,
|
[RINKEBY_CHAIN_ID]: RINKEBY_DEFAULT_BLOCK_EXPLORER_URL,
|
||||||
|
[AVALANCHE_CHAIN_ID]: AVALANCHE_DEFAULT_BLOCK_EXPLORER_URL,
|
||||||
};
|
};
|
||||||
|
|
||||||
export const ETHEREUM = 'ethereum';
|
export const ETHEREUM = 'ethereum';
|
||||||
export const POLYGON = 'polygon';
|
export const POLYGON = 'polygon';
|
||||||
export const BSC = 'bsc';
|
export const BSC = 'bsc';
|
||||||
export const RINKEBY = 'rinkeby';
|
export const RINKEBY = 'rinkeby';
|
||||||
|
export const AVALANCHE = 'avalanche';
|
||||||
|
|
||||||
export const SWAPS_CLIENT_ID = 'extension';
|
export const SWAPS_CLIENT_ID = 'extension';
|
||||||
|
@ -57,7 +57,7 @@ export default function TransactionStatus({
|
|||||||
const statusText =
|
const statusText =
|
||||||
statusKey === TRANSACTION_STATUSES.CONFIRMED && !statusOnly
|
statusKey === TRANSACTION_STATUSES.CONFIRMED && !statusOnly
|
||||||
? date
|
? date
|
||||||
: t(statusKey);
|
: statusKey && t(statusKey);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Tooltip
|
<Tooltip
|
||||||
|
@ -17,6 +17,7 @@ import {
|
|||||||
getUSDConversionRate,
|
getUSDConversionRate,
|
||||||
isHardwareWallet,
|
isHardwareWallet,
|
||||||
getHardwareWalletType,
|
getHardwareWalletType,
|
||||||
|
getSwapsDefaultToken,
|
||||||
} from '../../../selectors';
|
} from '../../../selectors';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
@ -30,6 +31,7 @@ import {
|
|||||||
prepareToLeaveSwaps,
|
prepareToLeaveSwaps,
|
||||||
getFromTokenInputValue,
|
getFromTokenInputValue,
|
||||||
getMaxSlippage,
|
getMaxSlippage,
|
||||||
|
setSwapsFromToken,
|
||||||
} from '../../../ducks/swaps/swaps';
|
} from '../../../ducks/swaps/swaps';
|
||||||
import Mascot from '../../../components/ui/mascot';
|
import Mascot from '../../../components/ui/mascot';
|
||||||
import Box from '../../../components/ui/box';
|
import Box from '../../../components/ui/box';
|
||||||
@ -80,6 +82,7 @@ export default function AwaitingSwap({
|
|||||||
const usdConversionRate = useSelector(getUSDConversionRate);
|
const usdConversionRate = useSelector(getUSDConversionRate);
|
||||||
const chainId = useSelector(getCurrentChainId);
|
const chainId = useSelector(getCurrentChainId);
|
||||||
const rpcPrefs = useSelector(getRpcPrefsForCurrentProvider, shallowEqual);
|
const rpcPrefs = useSelector(getRpcPrefsForCurrentProvider, shallowEqual);
|
||||||
|
const defaultSwapsToken = useSelector(getSwapsDefaultToken, isEqual);
|
||||||
|
|
||||||
const [trackedQuotesExpiredEvent, setTrackedQuotesExpiredEvent] = useState(
|
const [trackedQuotesExpiredEvent, setTrackedQuotesExpiredEvent] = useState(
|
||||||
false,
|
false,
|
||||||
@ -243,9 +246,10 @@ export default function AwaitingSwap({
|
|||||||
<Box marginBottom={3}>
|
<Box marginBottom={3}>
|
||||||
<a
|
<a
|
||||||
href="#"
|
href="#"
|
||||||
onClick={() => {
|
onClick={async () => {
|
||||||
makeAnotherSwapEvent();
|
makeAnotherSwapEvent();
|
||||||
dispatch(navigateBackToBuildQuote(history));
|
await dispatch(navigateBackToBuildQuote(history));
|
||||||
|
dispatch(setSwapsFromToken(defaultSwapsToken));
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{t('makeAnotherSwap')}
|
{t('makeAnotherSwap')}
|
||||||
|
@ -454,6 +454,7 @@ export default function BuildQuote({
|
|||||||
!isFeatureFlagLoaded ||
|
!isFeatureFlagLoaded ||
|
||||||
!Number(fromTokenInputValue) ||
|
!Number(fromTokenInputValue) ||
|
||||||
!selectedToToken?.address ||
|
!selectedToToken?.address ||
|
||||||
|
!fromTokenAddress ||
|
||||||
Number(maxSlippage) < 0 ||
|
Number(maxSlippage) < 0 ||
|
||||||
Number(maxSlippage) > MAX_ALLOWED_SLIPPAGE ||
|
Number(maxSlippage) > MAX_ALLOWED_SLIPPAGE ||
|
||||||
(toTokenIsNotDefault && occurrences < 2 && !verificationClicked);
|
(toTokenIsNotDefault && occurrences < 2 && !verificationClicked);
|
||||||
|
@ -9,6 +9,7 @@ import {
|
|||||||
LOCALHOST_CHAIN_ID,
|
LOCALHOST_CHAIN_ID,
|
||||||
POLYGON_CHAIN_ID,
|
POLYGON_CHAIN_ID,
|
||||||
RINKEBY_CHAIN_ID,
|
RINKEBY_CHAIN_ID,
|
||||||
|
AVALANCHE_CHAIN_ID,
|
||||||
} from '../../../../shared/constants/network';
|
} from '../../../../shared/constants/network';
|
||||||
import TransactionDetail from '../../../components/app/transaction-detail/transaction-detail.component';
|
import TransactionDetail from '../../../components/app/transaction-detail/transaction-detail.component';
|
||||||
import TransactionDetailItem from '../../../components/app/transaction-detail-item/transaction-detail-item.component';
|
import TransactionDetailItem from '../../../components/app/transaction-detail-item/transaction-detail-item.component';
|
||||||
@ -51,6 +52,8 @@ export default function FeeCard({
|
|||||||
return t('networkNameTestnet');
|
return t('networkNameTestnet');
|
||||||
case RINKEBY_CHAIN_ID:
|
case RINKEBY_CHAIN_ID:
|
||||||
return t('networkNameRinkeby');
|
return t('networkNameRinkeby');
|
||||||
|
case AVALANCHE_CHAIN_ID:
|
||||||
|
return t('networkNameAvalanche');
|
||||||
default:
|
default:
|
||||||
throw new Error('This network is not supported for token swaps');
|
throw new Error('This network is not supported for token swaps');
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,7 @@ import {
|
|||||||
POLYGON,
|
POLYGON,
|
||||||
BSC,
|
BSC,
|
||||||
RINKEBY,
|
RINKEBY,
|
||||||
|
AVALANCHE,
|
||||||
SWAPS_API_V2_BASE_URL,
|
SWAPS_API_V2_BASE_URL,
|
||||||
SWAPS_DEV_API_V2_BASE_URL,
|
SWAPS_DEV_API_V2_BASE_URL,
|
||||||
GAS_API_BASE_URL,
|
GAS_API_BASE_URL,
|
||||||
@ -26,6 +27,7 @@ import {
|
|||||||
POLYGON_CHAIN_ID,
|
POLYGON_CHAIN_ID,
|
||||||
LOCALHOST_CHAIN_ID,
|
LOCALHOST_CHAIN_ID,
|
||||||
RINKEBY_CHAIN_ID,
|
RINKEBY_CHAIN_ID,
|
||||||
|
AVALANCHE_CHAIN_ID,
|
||||||
} from '../../../shared/constants/network';
|
} from '../../../shared/constants/network';
|
||||||
import { SECOND } from '../../../shared/constants/time';
|
import { SECOND } from '../../../shared/constants/time';
|
||||||
import {
|
import {
|
||||||
@ -793,6 +795,8 @@ export const getNetworkNameByChainId = (chainId) => {
|
|||||||
return POLYGON;
|
return POLYGON;
|
||||||
case RINKEBY_CHAIN_ID:
|
case RINKEBY_CHAIN_ID:
|
||||||
return RINKEBY;
|
return RINKEBY;
|
||||||
|
case AVALANCHE_CHAIN_ID:
|
||||||
|
return AVALANCHE;
|
||||||
default:
|
default:
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,7 @@ import {
|
|||||||
LOCALHOST_CHAIN_ID,
|
LOCALHOST_CHAIN_ID,
|
||||||
RINKEBY_CHAIN_ID,
|
RINKEBY_CHAIN_ID,
|
||||||
KOVAN_CHAIN_ID,
|
KOVAN_CHAIN_ID,
|
||||||
|
AVALANCHE_CHAIN_ID,
|
||||||
} from '../../../shared/constants/network';
|
} from '../../../shared/constants/network';
|
||||||
import {
|
import {
|
||||||
SWAPS_CHAINID_CONTRACT_ADDRESS_MAP,
|
SWAPS_CHAINID_CONTRACT_ADDRESS_MAP,
|
||||||
@ -18,6 +19,7 @@ import {
|
|||||||
POLYGON,
|
POLYGON,
|
||||||
BSC,
|
BSC,
|
||||||
RINKEBY,
|
RINKEBY,
|
||||||
|
AVALANCHE,
|
||||||
} from '../../../shared/constants/swaps';
|
} from '../../../shared/constants/swaps';
|
||||||
import {
|
import {
|
||||||
TOKENS,
|
TOKENS,
|
||||||
@ -318,6 +320,10 @@ describe('Swaps Util', () => {
|
|||||||
expect(getNetworkNameByChainId(RINKEBY_CHAIN_ID)).toBe(RINKEBY);
|
expect(getNetworkNameByChainId(RINKEBY_CHAIN_ID)).toBe(RINKEBY);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('returns "avalanche" for Avalanche chain ID', () => {
|
||||||
|
expect(getNetworkNameByChainId(AVALANCHE_CHAIN_ID)).toBe(AVALANCHE);
|
||||||
|
});
|
||||||
|
|
||||||
it('returns an empty string for an unsupported network', () => {
|
it('returns an empty string for an unsupported network', () => {
|
||||||
expect(getNetworkNameByChainId(KOVAN_CHAIN_ID)).toBe('');
|
expect(getNetworkNameByChainId(KOVAN_CHAIN_ID)).toBe('');
|
||||||
});
|
});
|
||||||
|
45
yarn.lock
45
yarn.lock
@ -6626,6 +6626,11 @@ bn.js@=2.0.4:
|
|||||||
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-2.0.4.tgz#220a7cd677f7f1bfa93627ff4193776fe7819480"
|
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-2.0.4.tgz#220a7cd677f7f1bfa93627ff4193776fe7819480"
|
||||||
integrity sha1-Igp81nf38b+pNif/QZN3b+eBlIA=
|
integrity sha1-Igp81nf38b+pNif/QZN3b+eBlIA=
|
||||||
|
|
||||||
|
bn.js@>4.0.0, bn.js@^5.1.1, bn.js@^5.1.2, bn.js@^5.1.3, bn.js@^5.2.0:
|
||||||
|
version "5.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002"
|
||||||
|
integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==
|
||||||
|
|
||||||
bn.js@^1.0.0:
|
bn.js@^1.0.0:
|
||||||
version "1.3.0"
|
version "1.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-1.3.0.tgz#0db4cbf96f8f23b742f5bcb9d1aa7a9994a05e83"
|
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-1.3.0.tgz#0db4cbf96f8f23b742f5bcb9d1aa7a9994a05e83"
|
||||||
@ -6636,11 +6641,6 @@ bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.11.0, bn.js@^4.11.6, bn.js@^4
|
|||||||
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828"
|
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828"
|
||||||
integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==
|
integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==
|
||||||
|
|
||||||
bn.js@^5.1.1, bn.js@^5.1.2, bn.js@^5.1.3, bn.js@^5.2.0:
|
|
||||||
version "5.2.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002"
|
|
||||||
integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==
|
|
||||||
|
|
||||||
bo-selector@0.0.10:
|
bo-selector@0.0.10:
|
||||||
version "0.0.10"
|
version "0.0.10"
|
||||||
resolved "https://registry.yarnpkg.com/bo-selector/-/bo-selector-0.0.10.tgz#9816dcb00adf374ea87941a863b2acfc026afa3e"
|
resolved "https://registry.yarnpkg.com/bo-selector/-/bo-selector-0.0.10.tgz#9816dcb00adf374ea87941a863b2acfc026afa3e"
|
||||||
@ -10789,6 +10789,15 @@ eth-block-tracker@^5.0.1:
|
|||||||
json-rpc-random-id "^1.0.1"
|
json-rpc-random-id "^1.0.1"
|
||||||
pify "^3.0.0"
|
pify "^3.0.0"
|
||||||
|
|
||||||
|
eth-eip712-util-browser@^0.0.3:
|
||||||
|
version "0.0.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/eth-eip712-util-browser/-/eth-eip712-util-browser-0.0.3.tgz#334143d76d0a502b456e2ee5f1ce20f678a39fd3"
|
||||||
|
integrity sha512-RUXQ6Hjl0wEjm/ObWgYKjzMfO1segqcPFGnMPtBkkwGaHGbXXh6WFAn5vZfReK9WWujs35uIW2+kgJmh3FXtww==
|
||||||
|
dependencies:
|
||||||
|
bn.js ">4.0.0"
|
||||||
|
buffer "^6.0.3"
|
||||||
|
js-sha3 "^0.8.0"
|
||||||
|
|
||||||
eth-ens-namehash@^1.0.2:
|
eth-ens-namehash@^1.0.2:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/eth-ens-namehash/-/eth-ens-namehash-1.0.2.tgz#05ecdd6bac2d7fd7bc5ca84a993c6bad9da4edb9"
|
resolved "https://registry.yarnpkg.com/eth-ens-namehash/-/eth-ens-namehash-1.0.2.tgz#05ecdd6bac2d7fd7bc5ca84a993c6bad9da4edb9"
|
||||||
@ -10886,15 +10895,15 @@ eth-keyring-controller@^6.2.0, eth-keyring-controller@^6.2.1:
|
|||||||
obs-store "^4.0.3"
|
obs-store "^4.0.3"
|
||||||
|
|
||||||
eth-lattice-keyring@^0.4.0:
|
eth-lattice-keyring@^0.4.0:
|
||||||
version "0.4.0"
|
version "0.4.9"
|
||||||
resolved "https://registry.yarnpkg.com/eth-lattice-keyring/-/eth-lattice-keyring-0.4.0.tgz#0afab94fe1c9b13377e1c78660a725c9bc0639a0"
|
resolved "https://registry.yarnpkg.com/eth-lattice-keyring/-/eth-lattice-keyring-0.4.9.tgz#327a41fa25ef28dfc9fe87f2ce11e95139adfd67"
|
||||||
integrity sha512-AB+FzgnyqapcZmdLeVMUDGZqA09yRQZxoVm/qZaT3kb5e4jhWon4BGRo/g65JuNagC8SltIQY6fpDh/q5gXNTQ==
|
integrity sha512-ZflOgYrbuGJGPSDWgDA6PndCIlYRS2M+/bxKsJupbPgz/O8XwQdTGttszp0mHwOqPdvUULUmW08QCqd8trnuVg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethereumjs/common" "^2.4.0"
|
"@ethereumjs/common" "^2.4.0"
|
||||||
"@ethereumjs/tx" "^3.1.1"
|
"@ethereumjs/tx" "^3.1.1"
|
||||||
bignumber.js "^9.0.1"
|
bignumber.js "^9.0.1"
|
||||||
ethereumjs-util "^7.0.10"
|
ethereumjs-util "^7.0.10"
|
||||||
gridplus-sdk "^0.9.0"
|
gridplus-sdk "^0.9.7"
|
||||||
|
|
||||||
eth-lib@0.2.8:
|
eth-lib@0.2.8:
|
||||||
version "0.2.8"
|
version "0.2.8"
|
||||||
@ -11190,11 +11199,6 @@ ethereumjs-wallet@^1.0.1:
|
|||||||
utf8 "^3.0.0"
|
utf8 "^3.0.0"
|
||||||
uuid "^3.3.2"
|
uuid "^3.3.2"
|
||||||
|
|
||||||
ethers-eip712@^0.2.0:
|
|
||||||
version "0.2.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/ethers-eip712/-/ethers-eip712-0.2.0.tgz#52973b3a9a22638f7357283bf66624994c6e91ed"
|
|
||||||
integrity sha512-fgS196gCIXeiLwhsWycJJuxI9nL/AoUPGSQ+yvd+8wdWR+43G+J1n69LmWVWvAON0M6qNaf2BF4/M159U8fujQ==
|
|
||||||
|
|
||||||
ethers@^4.0.20, ethers@^4.0.28:
|
ethers@^4.0.20, ethers@^4.0.28:
|
||||||
version "4.0.48"
|
version "4.0.48"
|
||||||
resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.48.tgz#330c65b8133e112b0613156e57e92d9009d8fbbe"
|
resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.48.tgz#330c65b8133e112b0613156e57e92d9009d8fbbe"
|
||||||
@ -11210,7 +11214,7 @@ ethers@^4.0.20, ethers@^4.0.28:
|
|||||||
uuid "2.0.1"
|
uuid "2.0.1"
|
||||||
xmlhttprequest "1.8.0"
|
xmlhttprequest "1.8.0"
|
||||||
|
|
||||||
ethers@^5.0.8, ethers@^5.4.0, ethers@^5.4.1, ethers@^5.4.2, ethers@^5.4.5:
|
ethers@^5.0.8, ethers@^5.4.0, ethers@^5.4.1, ethers@^5.4.5:
|
||||||
version "5.5.1"
|
version "5.5.1"
|
||||||
resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.5.1.tgz#d3259a95a42557844aa543906c537106c0406fbf"
|
resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.5.1.tgz#d3259a95a42557844aa543906c537106c0406fbf"
|
||||||
integrity sha512-RodEvUFZI+EmFcE6bwkuJqpCYHazdzeR1nMzg+YWQSmQEsNtfl1KHGfp/FWZYl48bI/g7cgBeP2IlPthjiVngw==
|
integrity sha512-RodEvUFZI+EmFcE6bwkuJqpCYHazdzeR1nMzg+YWQSmQEsNtfl1KHGfp/FWZYl48bI/g7cgBeP2IlPthjiVngw==
|
||||||
@ -13239,10 +13243,10 @@ graphql-request@^1.8.2:
|
|||||||
dependencies:
|
dependencies:
|
||||||
cross-fetch "2.2.2"
|
cross-fetch "2.2.2"
|
||||||
|
|
||||||
gridplus-sdk@^0.9.0:
|
gridplus-sdk@^0.9.7:
|
||||||
version "0.9.0"
|
version "0.9.10"
|
||||||
resolved "https://registry.yarnpkg.com/gridplus-sdk/-/gridplus-sdk-0.9.0.tgz#6ed207e83dd0a607e472309a3d785ee2cf20c3cc"
|
resolved "https://registry.yarnpkg.com/gridplus-sdk/-/gridplus-sdk-0.9.10.tgz#8835e8bc9a2ca7ae163520ddcc0b313350e67dd2"
|
||||||
integrity sha512-uhxYZ8xiZ5RwLdfZyRCE571I4tdQxsTRU0miaY7A/r+1UW6xS4xSYPYu3azEl0ZJ8sO5awfdDylrim6LMkHe+g==
|
integrity sha512-CNvhyaz3F8UvlHqihFJlOt+FenmFkb2dFrbBTyRth/nlzD8Tm0HjW+uyY1W0ekDp45Exz9l0VY0EmdvjphBe1w==
|
||||||
dependencies:
|
dependencies:
|
||||||
aes-js "^3.1.1"
|
aes-js "^3.1.1"
|
||||||
bech32 "^2.0.0"
|
bech32 "^2.0.0"
|
||||||
@ -13253,8 +13257,7 @@ gridplus-sdk@^0.9.0:
|
|||||||
buffer "^5.6.0"
|
buffer "^5.6.0"
|
||||||
crc-32 "^1.2.0"
|
crc-32 "^1.2.0"
|
||||||
elliptic "6.5.4"
|
elliptic "6.5.4"
|
||||||
ethers "^5.4.2"
|
eth-eip712-util-browser "^0.0.3"
|
||||||
ethers-eip712 "^0.2.0"
|
|
||||||
js-sha3 "^0.8.0"
|
js-sha3 "^0.8.0"
|
||||||
rlp-browser "^1.0.1"
|
rlp-browser "^1.0.1"
|
||||||
secp256k1 "4.0.2"
|
secp256k1 "4.0.2"
|
||||||
|
Loading…
Reference in New Issue
Block a user