@layerswap/wallet-starknet 1.1.0 → 1.1.1
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.
- package/dist/esm/StarknetProvider.js +3 -0
- package/dist/esm/starknetBalanceProvider.js +1 -1
- package/dist/esm/starknetGasProvider.js +2 -2
- package/dist/esm/starknetNftProvider.js +1 -1
- package/dist/esm/useStarknetConnection.js +5 -5
- package/dist/esm/utils/index.js +1 -2
- package/dist/esm/utils/resolveStarknetWalletIcon.js +3 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/StarknetProvider.d.ts.map +1 -1
- package/dist/types/utils/index.d.ts +1 -2
- package/dist/types/utils/index.d.ts.map +1 -1
- package/dist/types/utils/resolveStarknetWalletIcon.d.ts +7 -0
- package/dist/types/utils/resolveStarknetWalletIcon.d.ts.map +1 -0
- package/package.json +8 -8
- package/dist/esm/utils/KnownStarknetConnectors.js +0 -28
- package/dist/esm/utils/resolveIcon.js +0 -9
- package/dist/types/utils/KnownStarknetConnectors.d.ts +0 -6
- package/dist/types/utils/KnownStarknetConnectors.d.ts.map +0 -1
- package/dist/types/utils/resolveIcon.d.ts +0 -6
- package/dist/types/utils/resolveIcon.d.ts.map +0 -1
|
@@ -21,6 +21,8 @@ import { ArgentMobileConnector } from "starknetkit/argentMobile";
|
|
|
21
21
|
import { InjectedConnector } from "starknetkit/injected";
|
|
22
22
|
// @ts-ignore
|
|
23
23
|
import { WebWalletConnector } from "starknetkit/webwallet";
|
|
24
|
+
// @ts-ignore
|
|
25
|
+
import { ControllerConnector } from "starknetkit/controller";
|
|
24
26
|
import useStarknetConnection, { resolveStarknetWallet } from "./useStarknetConnection";
|
|
25
27
|
import { useStarknetStore } from "./starknetWalletStore";
|
|
26
28
|
class DiscoveryConnector extends Connector {
|
|
@@ -105,6 +107,7 @@ const StarknetProvider = ({ children, walletConnectConfigs }) => {
|
|
|
105
107
|
description: walletConnectConfig?.description || 'Move crypto across exchanges, blockchains, and wallets.',
|
|
106
108
|
}
|
|
107
109
|
}));
|
|
110
|
+
defaultConnectors.push(new ControllerConnector());
|
|
108
111
|
defaultConnectors.push(new WebWalletConnector());
|
|
109
112
|
return defaultConnectors;
|
|
110
113
|
};
|
|
@@ -19,7 +19,7 @@ export class StarknetBalanceProvider extends BalanceProvider {
|
|
|
19
19
|
const tokens = insertIfNotExists(network.tokens || [], network.token);
|
|
20
20
|
for (const token of tokens) {
|
|
21
21
|
try {
|
|
22
|
-
const erc20 = new Contract(Erc20Abi, token.contract, provider);
|
|
22
|
+
const erc20 = new Contract({ abi: Erc20Abi, address: token.contract, providerOrAccount: provider });
|
|
23
23
|
const balanceResult = await erc20.balanceOf(address);
|
|
24
24
|
const balanceInWei = BigNumber.from(uint256.uint256ToBN(balanceResult.balance).toString()).toString();
|
|
25
25
|
const balance = {
|
|
@@ -28,11 +28,11 @@ export class StarknetGasProvider {
|
|
|
28
28
|
calldata: ["69420"],
|
|
29
29
|
};
|
|
30
30
|
const resp = await starknetWalletAccount.estimateInvokeFee([transferCall, watch], { skipValidate: true });
|
|
31
|
-
if (!resp?.
|
|
31
|
+
if (!resp?.overall_fee) {
|
|
32
32
|
throw new Error(`Couldn't get fee estimation for the transfer. Response: ${JSON.stringify(resp)}`);
|
|
33
33
|
}
|
|
34
34
|
;
|
|
35
|
-
const feeInWei = resp.
|
|
35
|
+
const feeInWei = resp.overall_fee.toString();
|
|
36
36
|
const gas = Number(formatUnits(BigInt(feeInWei), network.token.decimals));
|
|
37
37
|
return { gas, token: network.token };
|
|
38
38
|
};
|
|
@@ -29,7 +29,7 @@ export class StarknetNftProvider {
|
|
|
29
29
|
nodeUrl: network.node_url
|
|
30
30
|
});
|
|
31
31
|
try {
|
|
32
|
-
const contract = new Contract(NFT_ABI, contractAddress, provider);
|
|
32
|
+
const contract = new Contract({ abi: NFT_ABI, address: contractAddress, providerOrAccount: provider });
|
|
33
33
|
const response = await contract.balanceOf(address);
|
|
34
34
|
if (!response || typeof response.balance === 'undefined') {
|
|
35
35
|
throw new Error("Invalid response from NFT contract");
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useConnect, useDisconnect } from "@starknet-react/core";
|
|
2
|
-
import { KnownInternalNames } from "@layerswap/widget/internal";
|
|
3
|
-
import { resolveStarknetWalletConnectorIcon } from "./utils";
|
|
2
|
+
import { KnownInternalNames, walletIconResolver } from "@layerswap/widget/internal";
|
|
4
3
|
import { useStarknetStore } from "./starknetWalletStore";
|
|
5
4
|
import { useStarknetTransfer } from "./useStarknetTransfer";
|
|
5
|
+
import { resolveStarknetWalletIcon } from "./utils";
|
|
6
6
|
const starknetNames = [KnownInternalNames.Networks.StarkNetGoerli, KnownInternalNames.Networks.StarkNetMainnet, KnownInternalNames.Networks.StarkNetSepolia];
|
|
7
7
|
export default function useStarknetConnection({ networks }) {
|
|
8
8
|
const commonSupportedNetworks = [
|
|
@@ -76,7 +76,7 @@ export default function useStarknetConnection({ networks }) {
|
|
|
76
76
|
return {
|
|
77
77
|
name: name,
|
|
78
78
|
id: connector.id,
|
|
79
|
-
icon:
|
|
79
|
+
icon: resolveStarknetWalletIcon({ icon: connector.icon }),
|
|
80
80
|
type: connector?.["_wallet"] ? 'injected' : 'other',
|
|
81
81
|
installUrl: connector?.["_wallet"] ? undefined : connectorsConfigs.find(c => c.id === connector.id)?.installLink,
|
|
82
82
|
};
|
|
@@ -108,7 +108,7 @@ export async function resolveStarknetWallet(props) {
|
|
|
108
108
|
const walletChain = network?.chain_id;
|
|
109
109
|
const { RpcProvider, WalletAccount } = await import('starknet');
|
|
110
110
|
const rpcProvider = new RpcProvider({ nodeUrl: network?.node_url });
|
|
111
|
-
const walletAccount = new WalletAccount(rpcProvider, connector.wallet, address);
|
|
111
|
+
const walletAccount = new WalletAccount({ provider: rpcProvider, walletProvider: connector.wallet, address });
|
|
112
112
|
const accounts = await walletAccount.requestAccounts(true);
|
|
113
113
|
const account = accounts?.[0];
|
|
114
114
|
const wallet = {
|
|
@@ -117,7 +117,7 @@ export async function resolveStarknetWallet(props) {
|
|
|
117
117
|
address: account,
|
|
118
118
|
addresses: [account],
|
|
119
119
|
chainId: walletChain || '',
|
|
120
|
-
icon:
|
|
120
|
+
icon: walletIconResolver(address, resolveStarknetWalletIcon({ icon: connector.icon })),
|
|
121
121
|
providerName: name,
|
|
122
122
|
metadata: {
|
|
123
123
|
starknetAccount: walletAccount,
|
package/dist/esm/utils/index.js
CHANGED