@layerswap/wallet-starknet 2.1.0 → 2.2.0
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/README.md +13 -0
- package/dist/esm/service/StarknetConnectionService.js +2 -2
- package/dist/esm/starknetBalanceProvider.js +2 -2
- package/dist/esm/starknetNftProvider.js +2 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/starknetGasProvider.d.ts.map +1 -1
- package/package.json +9 -7
package/README.md
CHANGED
|
@@ -78,6 +78,19 @@ For detailed setup instructions, configuration options, and usage examples, see
|
|
|
78
78
|
- Xverse
|
|
79
79
|
- Cartridge Controller
|
|
80
80
|
|
|
81
|
+
## RPC compatibility
|
|
82
|
+
|
|
83
|
+
Balance queries, NFT queries, fee estimation, and connected wallet accounts use
|
|
84
|
+
Starknet.js 10 through the `starknet-rpc` package alias, supporting RPC v0.10 and
|
|
85
|
+
v0.9. The shared `starknet` catalog stays on v8 for Starknet React, StarknetKit,
|
|
86
|
+
and Paradex. Paradex reuses the connected account's v10 RPC provider for
|
|
87
|
+
Starknet authorization reads while retaining v8 for its own chain.
|
|
88
|
+
|
|
89
|
+
RPC URLs come from the network configuration (`node_url`, or `getRpcUrls` for a
|
|
90
|
+
custom network adapter). Configure an endpoint that serves RPC v0.10 to use that
|
|
91
|
+
version. URLs are passed through unchanged, and the provider detects the RPC
|
|
92
|
+
version. RPC v0.8 endpoints are no longer supported by this adapter.
|
|
93
|
+
|
|
81
94
|
## TypeScript
|
|
82
95
|
|
|
83
96
|
This package includes TypeScript definitions. All types are exported from the main entry point.
|
|
@@ -61,8 +61,8 @@ export async function resolveStarknetWallet(props) {
|
|
|
61
61
|
try {
|
|
62
62
|
const walletChain = network?.chainId;
|
|
63
63
|
assertSecureRpcUrl(network?.rpcUrl);
|
|
64
|
-
const { RpcProvider, WalletAccount } = await import('starknet');
|
|
65
|
-
const rpcProvider =
|
|
64
|
+
const { RpcProvider, WalletAccount } = await import('starknet-rpc');
|
|
65
|
+
const rpcProvider = await RpcProvider.create({ nodeUrl: network.rpcUrl });
|
|
66
66
|
const walletAccount = new WalletAccount({ provider: rpcProvider, walletProvider: connector.wallet, address });
|
|
67
67
|
const accounts = await walletAccount.requestAccounts(true);
|
|
68
68
|
const account = accounts?.[0];
|
|
@@ -10,12 +10,12 @@ export class StarknetBalanceProvider extends BalanceProvider {
|
|
|
10
10
|
return network.type === NetworkType.Starknet;
|
|
11
11
|
};
|
|
12
12
|
this.fetchBalance = async (address, network) => {
|
|
13
|
-
const { Contract, RpcProvider, uint256, } = await import("starknet");
|
|
13
|
+
const { Contract, RpcProvider, uint256, } = await import("starknet-rpc");
|
|
14
14
|
const { BigNumber } = await import("ethers");
|
|
15
15
|
let balances = [];
|
|
16
16
|
if (!network?.tokens)
|
|
17
17
|
return;
|
|
18
|
-
const provider =
|
|
18
|
+
const provider = await RpcProvider.create({
|
|
19
19
|
nodeUrl: network.node_url,
|
|
20
20
|
});
|
|
21
21
|
const tokens = insertIfNotExists(network.tokens || [], network.token);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Contract, RpcProvider } from "starknet";
|
|
1
|
+
import { Contract, RpcProvider } from "starknet-rpc";
|
|
2
2
|
import { KnownInternalNames } from "@layerswap/utils";
|
|
3
3
|
const NFT_ABI = [
|
|
4
4
|
{
|
|
@@ -25,7 +25,7 @@ export class StarknetNftProvider {
|
|
|
25
25
|
if (!contractAddress || !network.node_url) {
|
|
26
26
|
throw new Error("Missing NFT contract address or node URL");
|
|
27
27
|
}
|
|
28
|
-
const provider =
|
|
28
|
+
const provider = await RpcProvider.create({
|
|
29
29
|
nodeUrl: network.node_url
|
|
30
30
|
});
|
|
31
31
|
try {
|