@dynamic-labs-sdk/starknet 1.12.2 → 1.14.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/dist/addStarknetExtension/addStarknetExtension.d.ts +1 -1
- package/dist/{addStarknetInjectedWalletsExtension-CWGMozZ_.esm.js → addStarknetInjectedWalletsExtension-B5-lr1h9.esm.js} +12 -12
- package/dist/addStarknetInjectedWalletsExtension-B5-lr1h9.esm.js.map +1 -0
- package/dist/{addStarknetInjectedWalletsExtension-DgMZQnn_.cjs → addStarknetInjectedWalletsExtension-COJsb1CP.cjs} +12 -12
- package/dist/addStarknetInjectedWalletsExtension-COJsb1CP.cjs.map +1 -0
- package/dist/getStarknetAccount/getStarknetAccount.d.ts +1 -1
- package/dist/getStarknetAccount/getStarknetAccount.d.ts.map +1 -1
- package/dist/index.cjs +3 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.esm.js +3 -3
- package/dist/index.esm.js.map +1 -1
- package/dist/injected/addStarknetInjectedWalletsExtension/addStarknetInjectedWalletsExtension.d.ts +1 -1
- package/dist/injected/utils/createWalletProviderFromStarknetWallet/createWalletProviderFromStarknetWallet.d.ts +1 -1
- package/dist/injected/utils/createWalletProviderFromStarknetWallet/createWalletProviderFromStarknetWallet.d.ts.map +1 -1
- package/dist/injected.cjs +1 -1
- package/dist/injected.esm.js +1 -1
- package/dist/isStarknetNetworkProvider/isStarknetNetworkProvider.d.ts +1 -1
- package/dist/isStarknetNetworkProvider/isStarknetNetworkProvider.d.ts.map +1 -1
- package/dist/isStarknetWalletAccount/isStarknetWalletAccount.d.ts +1 -1
- package/dist/isStarknetWalletAccount/isStarknetWalletAccount.d.ts.map +1 -1
- package/dist/isStarknetWalletProvider/isStarknetWalletProvider.d.ts +1 -1
- package/dist/isStarknetWalletProvider/isStarknetWalletProvider.d.ts.map +1 -1
- package/dist/registerStarknetNetworkProviderBuilder/registerStarknetNetworkProviderBuilder.d.ts +1 -1
- package/dist/registerStarknetNetworkProviderBuilder/registerStarknetNetworkProviderBuilder.d.ts.map +1 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/dist/utils/createStarknetNetworkProvider/createStarknetNetworkProvider.d.ts +1 -1
- package/dist/utils/createStarknetNetworkProvider/createStarknetNetworkProvider.d.ts.map +1 -1
- package/dist/utils/fetchStarknetBalance/fetchStarknetBalance.d.ts +1 -1
- package/dist/utils/fetchStarknetBalance/fetchStarknetBalance.d.ts.map +1 -1
- package/dist/utils/formatStarknetTypedDataMessage/formatStarknetTypedDataMessage.d.ts +1 -1
- package/dist/utils/formatStarknetTypedDataMessage/formatStarknetTypedDataMessage.d.ts.map +1 -1
- package/dist/utils/starknetTransferAmount/starknetTransferAmount.d.ts +1 -1
- package/package.json +3 -3
- package/dist/addStarknetInjectedWalletsExtension-CWGMozZ_.esm.js.map +0 -1
- package/dist/addStarknetInjectedWalletsExtension-DgMZQnn_.cjs.map +0 -1
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* like Braavos, Ready and more.
|
|
6
6
|
*
|
|
7
7
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
8
|
-
* @
|
|
8
|
+
* @notInstrumented
|
|
9
9
|
*/
|
|
10
10
|
export declare const addStarknetExtension: (client?: import("@dynamic-labs-sdk/client").DynamicClient) => void;
|
|
11
11
|
//# sourceMappingURL=addStarknetExtension.d.ts.map
|
|
@@ -6,7 +6,7 @@ import { WalletProviderEnum } from "@dynamic-labs/sdk-api-core";
|
|
|
6
6
|
|
|
7
7
|
//#region package.json
|
|
8
8
|
var name = "@dynamic-labs-sdk/starknet";
|
|
9
|
-
var version = "1.
|
|
9
|
+
var version = "1.14.0";
|
|
10
10
|
|
|
11
11
|
//#endregion
|
|
12
12
|
//#region src/utils/constants.ts
|
|
@@ -296,7 +296,7 @@ const ETH_CONTRACT_ABI = [
|
|
|
296
296
|
|
|
297
297
|
//#endregion
|
|
298
298
|
//#region src/utils/fetchStarknetBalance/fetchStarknetBalance.ts
|
|
299
|
-
/** @
|
|
299
|
+
/** @notInstrumented */
|
|
300
300
|
const fetchStarknetBalance = async ({ address, networkData }) => {
|
|
301
301
|
const { balance } = await new Contract(ETH_CONTRACT_ABI, ETH_STARKNET_ADDRESS, new RpcProvider({ nodeUrl: networkData.rpcUrls.http[0] })).balanceOf(address);
|
|
302
302
|
return (Number(cairo.uint256(balance.low).low) / WEI_PER_ETH).toFixed(6);
|
|
@@ -304,7 +304,7 @@ const fetchStarknetBalance = async ({ address, networkData }) => {
|
|
|
304
304
|
|
|
305
305
|
//#endregion
|
|
306
306
|
//#region src/utils/createStarknetNetworkProvider/createStarknetNetworkProvider.ts
|
|
307
|
-
/** @
|
|
307
|
+
/** @notInstrumented */
|
|
308
308
|
const createStarknetNetworkProvider = (networkData) => ({
|
|
309
309
|
...createBaseNetworkProvider("STARK", networkData),
|
|
310
310
|
getBalance: async ({ address }) => ({ balance: await fetchStarknetBalance({
|
|
@@ -315,7 +315,7 @@ const createStarknetNetworkProvider = (networkData) => ({
|
|
|
315
315
|
|
|
316
316
|
//#endregion
|
|
317
317
|
//#region src/registerStarknetNetworkProviderBuilder/registerStarknetNetworkProviderBuilder.ts
|
|
318
|
-
/** @
|
|
318
|
+
/** @notInstrumented */
|
|
319
319
|
const registerStarknetNetworkProviderBuilder = (client) => {
|
|
320
320
|
const networkProviderBuilderRegistry = getNetworkProviderBuilderRegistry(client);
|
|
321
321
|
if (networkProviderBuilderRegistry.get().get("STARK")) return;
|
|
@@ -350,7 +350,7 @@ const defaultTypedData = {
|
|
|
350
350
|
]
|
|
351
351
|
}
|
|
352
352
|
};
|
|
353
|
-
/** @
|
|
353
|
+
/** @notInstrumented */
|
|
354
354
|
const formatStarknetTypedDataMessage = ({ inputMessage, chainId }) => {
|
|
355
355
|
let nonce, domain;
|
|
356
356
|
try {
|
|
@@ -391,14 +391,14 @@ var NotStarknetProviderError = class extends BaseError {
|
|
|
391
391
|
|
|
392
392
|
//#endregion
|
|
393
393
|
//#region src/isStarknetWalletProvider/isStarknetWalletProvider.ts
|
|
394
|
-
/** @
|
|
394
|
+
/** @notInstrumented */
|
|
395
395
|
const isStarknetWalletProvider = (provider) => {
|
|
396
396
|
return provider.chain === "STARK";
|
|
397
397
|
};
|
|
398
398
|
|
|
399
399
|
//#endregion
|
|
400
400
|
//#region src/getStarknetAccount/getStarknetAccount.ts
|
|
401
|
-
/** @
|
|
401
|
+
/** @notInstrumented */
|
|
402
402
|
const getStarknetAccount = async ({ walletAccount }, client = getDefaultClient()) => {
|
|
403
403
|
const provider = getWalletProviderFromWalletAccount({ walletAccount }, client);
|
|
404
404
|
if (!isStarknetWalletProvider(provider)) throw new NotStarknetProviderError({ providerKey: provider.key });
|
|
@@ -407,7 +407,7 @@ const getStarknetAccount = async ({ walletAccount }, client = getDefaultClient()
|
|
|
407
407
|
|
|
408
408
|
//#endregion
|
|
409
409
|
//#region src/isStarknetWalletAccount/isStarknetWalletAccount.ts
|
|
410
|
-
/** @
|
|
410
|
+
/** @notInstrumented */
|
|
411
411
|
const isStarknetWalletAccount = (walletAccount) => walletAccount.chain === "STARK";
|
|
412
412
|
|
|
413
413
|
//#endregion
|
|
@@ -418,7 +418,7 @@ const STARKNET_ETH_DECIMALS = 18;
|
|
|
418
418
|
*
|
|
419
419
|
* For native ETH, uses the Starknet ETH contract address with 18 decimals.
|
|
420
420
|
* For tokens, uses the provided token address and decimals.
|
|
421
|
-
* @
|
|
421
|
+
* @notInstrumented
|
|
422
422
|
*/
|
|
423
423
|
const starknetTransferAmount = async ({ amount, recipient, token, walletAccount }, client) => {
|
|
424
424
|
if (!isStarknetWalletAccount(walletAccount)) throw new InvalidParamError("Wallet account is not a Starknet wallet account");
|
|
@@ -433,7 +433,7 @@ const starknetTransferAmount = async ({ amount, recipient, token, walletAccount
|
|
|
433
433
|
|
|
434
434
|
//#endregion
|
|
435
435
|
//#region src/injected/utils/createWalletProviderFromStarknetWallet/createWalletProviderFromStarknetWallet.ts
|
|
436
|
-
/** @
|
|
436
|
+
/** @notInstrumented */
|
|
437
437
|
const createWalletProviderFromStarknetWallet = ({ dynamicClient, starknetWindowProvider }) => {
|
|
438
438
|
const walletProviderType = WalletProviderEnum.BrowserExtension;
|
|
439
439
|
const key = formatWalletProviderKey({
|
|
@@ -551,7 +551,7 @@ const STARKNET_INJECTED_WALLETS_EXTENSION_KEY = "starknetInjectedWallets";
|
|
|
551
551
|
* This extension enables integration with many Starknet wallets, like Braavos, Ready and Xverse.
|
|
552
552
|
*
|
|
553
553
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
554
|
-
* @
|
|
554
|
+
* @notInstrumented
|
|
555
555
|
*/
|
|
556
556
|
const addStarknetInjectedWalletsExtension = (client = getDefaultClient()) => {
|
|
557
557
|
if (hasExtension({ extensionKey: STARKNET_INJECTED_WALLETS_EXTENSION_KEY }, client)) return;
|
|
@@ -576,4 +576,4 @@ const addStarknetInjectedWalletsExtension = (client = getDefaultClient()) => {
|
|
|
576
576
|
|
|
577
577
|
//#endregion
|
|
578
578
|
export { ETH_CONTRACT_ABI as a, name as c, NotStarknetProviderError as i, version as l, isStarknetWalletAccount as n, ETH_STARKNET_ADDRESS as o, getStarknetAccount as r, WEI_PER_ETH as s, addStarknetInjectedWalletsExtension as t };
|
|
579
|
-
//# sourceMappingURL=addStarknetInjectedWalletsExtension-
|
|
579
|
+
//# sourceMappingURL=addStarknetInjectedWalletsExtension-B5-lr1h9.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addStarknetInjectedWalletsExtension-B5-lr1h9.esm.js","names":["ETH_CONTRACT_ABI: Abi","message: Record<string, unknown>","connect: StarknetWalletProvider['connect']","getActiveNetworkId: StarknetWalletProvider['getActiveNetworkId']","getConnectedAddresses: StarknetWalletProvider['getConnectedAddresses']","getStarknetAccount: StarknetWalletProvider['getStarknetAccount']","signMessage: StarknetWalletProvider['signMessage']","switchActiveNetwork: StarknetWalletProvider['switchActiveNetwork']","destroy: StarknetWalletProvider['destroy']"],"sources":["../package.json","../src/utils/constants.ts","../src/utils/fetchStarknetBalance/fetchStarknetBalance.ts","../src/utils/createStarknetNetworkProvider/createStarknetNetworkProvider.ts","../src/registerStarknetNetworkProviderBuilder/registerStarknetNetworkProviderBuilder.ts","../src/utils/formatStarknetTypedDataMessage/formatStarknetTypedDataMessage.ts","../src/errors/NotStarknetProviderError/NotStarknetProviderError.ts","../src/isStarknetWalletProvider/isStarknetWalletProvider.ts","../src/getStarknetAccount/getStarknetAccount.ts","../src/isStarknetWalletAccount/isStarknetWalletAccount.ts","../src/utils/starknetTransferAmount/starknetTransferAmount.ts","../src/injected/utils/createWalletProviderFromStarknetWallet/createWalletProviderFromStarknetWallet.ts","../src/injected/addStarknetInjectedWalletsExtension/addStarknetInjectedWalletsExtension.ts"],"sourcesContent":["","/* eslint-disable custom-rules/ban-ethereum-eth-terms */\n\nimport type { Abi } from 'starknet';\n\n// Starknet uses ETH as its native token: 1 ETH = 10^18 wei.\nexport const WEI_PER_ETH = 1e18;\n\nexport const ETH_STARKNET_ADDRESS =\n '0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7';\n\nexport const ETH_CONTRACT_ABI: Abi = [\n {\n members: [\n {\n name: 'low',\n offset: 0,\n type: 'felt',\n },\n {\n name: 'high',\n offset: 1,\n type: 'felt',\n },\n ],\n name: 'Uint256',\n size: 2,\n type: 'struct',\n },\n {\n data: [\n {\n name: 'from_',\n type: 'felt',\n },\n {\n name: 'to',\n type: 'felt',\n },\n {\n name: 'value',\n type: 'Uint256',\n },\n ],\n keys: [],\n name: 'Transfer',\n type: 'event',\n },\n {\n data: [\n {\n name: 'owner',\n type: 'felt',\n },\n {\n name: 'spender',\n type: 'felt',\n },\n {\n name: 'value',\n type: 'Uint256',\n },\n ],\n keys: [],\n name: 'Approval',\n type: 'event',\n },\n {\n inputs: [],\n name: 'name',\n outputs: [\n {\n name: 'name',\n type: 'felt',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'symbol',\n outputs: [\n {\n name: 'symbol',\n type: 'felt',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'totalSupply',\n outputs: [\n {\n name: 'totalSupply',\n type: 'Uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'decimals',\n outputs: [\n {\n name: 'decimals',\n type: 'felt',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n {\n name: 'account',\n type: 'felt',\n },\n ],\n name: 'balanceOf',\n outputs: [\n {\n name: 'balance',\n type: 'Uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n {\n name: 'owner',\n type: 'felt',\n },\n {\n name: 'spender',\n type: 'felt',\n },\n ],\n name: 'allowance',\n outputs: [\n {\n name: 'remaining',\n type: 'Uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'permittedMinter',\n outputs: [\n {\n name: 'minter',\n type: 'felt',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'initialized',\n outputs: [\n {\n name: 'res',\n type: 'felt',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'get_version',\n outputs: [\n {\n name: 'version',\n type: 'felt',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'get_identity',\n outputs: [\n {\n name: 'identity',\n type: 'felt',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n {\n name: 'init_vector_len',\n type: 'felt',\n },\n {\n name: 'init_vector',\n type: 'felt*',\n },\n ],\n name: 'initialize',\n outputs: [],\n type: 'function',\n },\n {\n inputs: [\n {\n name: 'recipient',\n type: 'felt',\n },\n {\n name: 'amount',\n type: 'Uint256',\n },\n ],\n name: 'transfer',\n outputs: [\n {\n name: 'success',\n type: 'felt',\n },\n ],\n type: 'function',\n },\n {\n inputs: [\n {\n name: 'sender',\n type: 'felt',\n },\n {\n name: 'recipient',\n type: 'felt',\n },\n {\n name: 'amount',\n type: 'Uint256',\n },\n ],\n name: 'transferFrom',\n outputs: [\n {\n name: 'success',\n type: 'felt',\n },\n ],\n type: 'function',\n },\n {\n inputs: [\n {\n name: 'spender',\n type: 'felt',\n },\n {\n name: 'amount',\n type: 'Uint256',\n },\n ],\n name: 'approve',\n outputs: [\n {\n name: 'success',\n type: 'felt',\n },\n ],\n type: 'function',\n },\n {\n inputs: [\n {\n name: 'spender',\n type: 'felt',\n },\n {\n name: 'added_value',\n type: 'Uint256',\n },\n ],\n name: 'increaseAllowance',\n outputs: [\n {\n name: 'success',\n type: 'felt',\n },\n ],\n type: 'function',\n },\n {\n inputs: [\n {\n name: 'spender',\n type: 'felt',\n },\n {\n name: 'subtracted_value',\n type: 'Uint256',\n },\n ],\n name: 'decreaseAllowance',\n outputs: [\n {\n name: 'success',\n type: 'felt',\n },\n ],\n type: 'function',\n },\n {\n inputs: [\n {\n name: 'recipient',\n type: 'felt',\n },\n {\n name: 'amount',\n type: 'Uint256',\n },\n ],\n name: 'permissionedMint',\n outputs: [],\n type: 'function',\n },\n {\n inputs: [\n {\n name: 'account',\n type: 'felt',\n },\n {\n name: 'amount',\n type: 'Uint256',\n },\n ],\n name: 'permissionedBurn',\n outputs: [],\n type: 'function',\n },\n];\n","/* eslint-disable custom-rules/ban-ethereum-eth-terms */\nimport type { NetworkData } from '@dynamic-labs-sdk/client';\nimport { Contract, RpcProvider, cairo } from 'starknet';\n\nimport {\n ETH_CONTRACT_ABI,\n ETH_STARKNET_ADDRESS,\n WEI_PER_ETH,\n} from '../constants';\n\ntype FetchStarknetBalanceParams = {\n address: string;\n networkData: NetworkData;\n};\n\n/** @notInstrumented */\nexport const fetchStarknetBalance = async ({\n address,\n networkData,\n}: FetchStarknetBalanceParams): Promise<string | null> => {\n const provider = new RpcProvider({\n nodeUrl: networkData.rpcUrls.http[0],\n });\n\n const contract = new Contract(\n ETH_CONTRACT_ABI,\n ETH_STARKNET_ADDRESS,\n provider\n );\n\n const { balance } = await contract.balanceOf(address);\n\n return (Number(cairo.uint256(balance.low).low) / WEI_PER_ETH).toFixed(6);\n};\n","import type { NetworkData } from '@dynamic-labs-sdk/client';\nimport { createBaseNetworkProvider } from '@dynamic-labs-sdk/client/core';\n\nimport type { StarknetNetworkProvider } from '../../StarknetNetworkProvider.types';\nimport { fetchStarknetBalance } from '../fetchStarknetBalance';\n\n/** @notInstrumented */\nexport const createStarknetNetworkProvider = (\n networkData: NetworkData\n): StarknetNetworkProvider => ({\n ...createBaseNetworkProvider('STARK', networkData),\n getBalance: async ({ address }) => ({\n balance: await fetchStarknetBalance({\n address,\n networkData,\n }),\n }),\n});\n","import type { DynamicClient } from '@dynamic-labs-sdk/client';\nimport { getNetworkProviderBuilderRegistry } from '@dynamic-labs-sdk/client/core';\n\nimport { createStarknetNetworkProvider } from '../utils/createStarknetNetworkProvider';\n\n/** @notInstrumented */\nexport const registerStarknetNetworkProviderBuilder = (\n client: DynamicClient\n): void => {\n const networkProviderBuilderRegistry =\n getNetworkProviderBuilderRegistry(client);\n\n // If the Starknet network provider builder is already registered, return.\n if (networkProviderBuilderRegistry.get().get('STARK')) {\n return;\n }\n\n networkProviderBuilderRegistry.register({\n builder: createStarknetNetworkProvider,\n chain: 'STARK',\n });\n};\n","import type { TypedData, constants } from 'starknet';\n\nconst defaultTypedData = {\n primaryType: 'Message',\n types: {\n Message: [\n {\n name: 'message',\n type: 'felt',\n },\n ],\n StarkNetDomain: [\n {\n name: 'name',\n type: 'felt',\n },\n {\n name: 'chainId',\n type: 'felt',\n },\n {\n name: 'version',\n type: 'felt',\n },\n ],\n },\n};\n\ntype FormatStarknetTypedDataMessageParams = {\n chainId: constants.StarknetChainId;\n inputMessage: string;\n};\n\n/** @notInstrumented */\nexport const formatStarknetTypedDataMessage = ({\n inputMessage,\n chainId,\n}: FormatStarknetTypedDataMessageParams): TypedData => {\n let nonce, domain;\n try {\n const { nonce: parsedNonce, domain: parsedDomain } =\n JSON.parse(inputMessage);\n nonce = parsedNonce;\n domain = parsedDomain;\n } catch {\n nonce = inputMessage;\n domain = 'domain';\n }\n\n // Starknet strings could be at most 31 chars long\n const message: Record<string, unknown> = {\n message: nonce.substring(0, 31),\n };\n\n return {\n ...defaultTypedData,\n domain: {\n chainId,\n name: domain.substring(0, 31),\n version: '0.0.1',\n },\n message,\n };\n};\n","import { BaseError } from '@dynamic-labs-sdk/client';\n\nexport class NotStarknetProviderError extends BaseError {\n public readonly providerKey: string;\n\n constructor(params: { providerKey: string }) {\n super({\n cause: null,\n code: 'not_starknet_provider_error',\n docsUrl: null,\n name: 'NotStarknetProviderError',\n shortMessage: 'Provider is not a Starknet wallet provider',\n });\n\n this.providerKey = params.providerKey;\n }\n}\n","import type { WalletProvider } from '@dynamic-labs-sdk/client/core';\n\nimport type { StarknetWalletProvider } from '../StarknetWalletProvider.types';\n\n/** @notInstrumented */\n// eslint-disable-next-line custom-rules/require-single-object-param\nexport const isStarknetWalletProvider = (\n provider: WalletProvider | StarknetWalletProvider\n): provider is StarknetWalletProvider => {\n return provider.chain === 'STARK';\n};\n","import {\n getDefaultClient,\n getWalletProviderFromWalletAccount,\n} from '@dynamic-labs-sdk/client/core';\n\nimport { NotStarknetProviderError } from '../errors/NotStarknetProviderError';\nimport { isStarknetWalletProvider } from '../isStarknetWalletProvider';\nimport type { StarknetWalletAccount } from '../StarknetWalletAccount.types';\n\ntype GetStarknetAccountParams = {\n walletAccount: StarknetWalletAccount;\n};\n\n/** @notInstrumented */\nexport const getStarknetAccount = async (\n { walletAccount }: GetStarknetAccountParams,\n client = getDefaultClient()\n) => {\n const provider = getWalletProviderFromWalletAccount(\n { walletAccount },\n client\n );\n\n if (!isStarknetWalletProvider(provider)) {\n throw new NotStarknetProviderError({ providerKey: provider.key });\n }\n\n return provider.getStarknetAccount({ walletAccount });\n};\n","import type { WalletAccount } from '@dynamic-labs-sdk/client';\n\nimport type { StarknetWalletAccount } from '../StarknetWalletAccount.types';\n\n/** @notInstrumented */\nexport const isStarknetWalletAccount = (\n walletAccount: WalletAccount\n): walletAccount is StarknetWalletAccount => walletAccount.chain === 'STARK';\n","/* eslint-disable custom-rules/ban-ethereum-eth-terms */\nimport type { DynamicClient } from '@dynamic-labs-sdk/client';\nimport { InvalidParamError } from '@dynamic-labs-sdk/client';\nimport {\n type TransferAmountParams,\n parseAmountToSmallestUnit,\n} from '@dynamic-labs-sdk/client/core';\nimport { Contract, cairo } from 'starknet';\n\nimport { getStarknetAccount } from '../../getStarknetAccount';\nimport { isStarknetWalletAccount } from '../../isStarknetWalletAccount';\nimport { ETH_CONTRACT_ABI, ETH_STARKNET_ADDRESS } from '../constants';\n\nconst STARKNET_ETH_DECIMALS = 18;\n\n/**\n * Transfers native ETH or a token on Starknet from one wallet to another.\n *\n * For native ETH, uses the Starknet ETH contract address with 18 decimals.\n * For tokens, uses the provided token address and decimals.\n * @notInstrumented\n */\nexport const starknetTransferAmount = async (\n { amount, recipient, token, walletAccount }: TransferAmountParams,\n client: DynamicClient\n): Promise<{ transactionHash: string }> => {\n if (!isStarknetWalletAccount(walletAccount)) {\n throw new InvalidParamError(\n 'Wallet account is not a Starknet wallet account'\n );\n }\n\n const { account } = await getStarknetAccount({ walletAccount }, client);\n\n const contractAddress = token?.address || ETH_STARKNET_ADDRESS;\n const decimals = token?.decimals ?? STARKNET_ETH_DECIMALS;\n\n const smallestUnit = parseAmountToSmallestUnit({ amount, decimals });\n\n const contract = new Contract(ETH_CONTRACT_ABI, contractAddress, account);\n\n const result = await contract.invoke('transfer', [\n recipient,\n cairo.uint256(smallestUnit),\n ]);\n\n return { transactionHash: result.transaction_hash };\n};\n","import {\n type DynamicClient,\n assertWalletAccountSigningAvailability,\n getActiveNetworkData,\n} from '@dynamic-labs-sdk/client';\nimport {\n assertDefined,\n createWalletProviderEventEmitter,\n formatWalletProviderGroupKey,\n formatWalletProviderKey,\n getCore,\n} from '@dynamic-labs-sdk/client/core';\nimport { WalletProviderEnum } from '@dynamic-labs/sdk-api-core';\nimport type { StarknetWindowObject } from '@starknet-io/get-starknet-core';\nimport starknetCore from '@starknet-io/get-starknet-core';\nimport { RpcProvider, WalletAccount, type constants } from 'starknet';\n\nimport type { StarknetWalletProvider } from '../../../StarknetWalletProvider.types';\nimport { formatStarknetTypedDataMessage } from '../../../utils/formatStarknetTypedDataMessage';\nimport { starknetTransferAmount } from '../../../utils/starknetTransferAmount';\n\ntype CreateWalletProviderFromStarknetWalletParams = {\n dynamicClient: DynamicClient;\n starknetWindowProvider: StarknetWindowObject;\n};\n\n/** @notInstrumented */\nexport const createWalletProviderFromStarknetWallet = ({\n dynamicClient,\n starknetWindowProvider,\n}: CreateWalletProviderFromStarknetWalletParams): StarknetWalletProvider => {\n const walletProviderType = WalletProviderEnum.BrowserExtension;\n\n const key = formatWalletProviderKey({\n chain: 'STARK',\n displayName: starknetWindowProvider.name,\n walletProviderType,\n });\n\n const connect: StarknetWalletProvider['connect'] = async () => {\n const accounts = await starknetWindowProvider.request({\n type: 'wallet_requestAccounts',\n });\n\n return {\n addresses: accounts.map((address) => ({\n address,\n })),\n };\n };\n\n const getActiveNetworkId: StarknetWalletProvider['getActiveNetworkId'] =\n async () => {\n const chainId = await starknetWindowProvider.request({\n type: 'wallet_requestChainId',\n });\n\n return {\n networkId: chainId,\n };\n };\n\n const getConnectedAddresses: StarknetWalletProvider['getConnectedAddresses'] =\n async () => {\n const accounts = await starknetWindowProvider.request({\n params: {\n silent_mode: true,\n },\n type: 'wallet_requestAccounts',\n });\n\n return {\n addresses: accounts,\n };\n };\n\n const getStarknetAccount: StarknetWalletProvider['getStarknetAccount'] =\n async ({ walletAccount }) => {\n await assertWalletAccountSigningAvailability(\n { walletAccount },\n dynamicClient\n );\n\n const { networkData } = await getActiveNetworkData(\n { walletAccount },\n dynamicClient\n );\n\n assertDefined(networkData, 'No active network data found');\n\n const rpcProvider = new RpcProvider({\n nodeUrl: networkData.rpcUrls.http[0],\n });\n\n const account = await WalletAccount.connectSilent(\n rpcProvider,\n starknetWindowProvider\n );\n\n return { account };\n };\n\n const signMessage: StarknetWalletProvider['signMessage'] = async ({\n message,\n walletAccount,\n }) => {\n assertDefined(walletAccount, 'Wallet account not found');\n\n await assertWalletAccountSigningAvailability(\n {\n walletAccount,\n },\n dynamicClient\n );\n\n const { networkId } = await getActiveNetworkId();\n\n const encodedMessage = formatStarknetTypedDataMessage({\n chainId: networkId as constants.StarknetChainId,\n inputMessage: message,\n });\n\n const signature = await starknetWindowProvider.request({\n params: encodedMessage,\n type: 'wallet_signTypedData',\n });\n\n return { signature: signature.join(',') };\n };\n\n const switchActiveNetwork: StarknetWalletProvider['switchActiveNetwork'] =\n async ({ networkId }) => {\n await starknetWindowProvider.request({\n params: {\n chainId: networkId,\n },\n type: 'wallet_switchStarknetChain',\n });\n };\n\n const { getEventEmitter, cleanupEventEmitter } =\n createWalletProviderEventEmitter<{\n removeAccountChangeListener: VoidFunction;\n removeNetworkChangeListener: VoidFunction;\n }>({\n removeEventListeners: ({ setupReturnValue }) => {\n assertDefined(setupReturnValue, 'Setup return value not defined');\n\n setupReturnValue.removeNetworkChangeListener();\n setupReturnValue.removeAccountChangeListener();\n },\n\n setupEventListeners: ({\n handleAccountsChanged,\n handleNetworkChanged,\n }) => {\n // eslint-disable-next-line custom-rules/require-single-object-param\n const onAccountsChanged = (accounts: string[] | undefined) => {\n handleAccountsChanged({\n addresses: accounts ?? [],\n });\n };\n starknetWindowProvider.on('accountsChanged', onAccountsChanged);\n const removeAccountChangeListener = () => {\n starknetWindowProvider.off('accountsChanged', onAccountsChanged);\n };\n\n // eslint-disable-next-line custom-rules/require-single-object-param\n const onNetworkChanged = (network: string | undefined) => {\n if (!network) {\n return;\n }\n\n handleNetworkChanged({\n networkId: network.toString(),\n });\n };\n starknetWindowProvider.on('networkChanged', onNetworkChanged);\n const removeNetworkChangeListener = () => {\n starknetWindowProvider.off('networkChanged', onNetworkChanged);\n };\n\n return {\n removeAccountChangeListener,\n removeNetworkChangeListener,\n };\n },\n\n supportedEvents: ['accountsChanged', 'networkChanged'],\n });\n\n const destroy: StarknetWalletProvider['destroy'] = async () => {\n cleanupEventEmitter();\n try {\n try {\n await starknetWindowProvider.request({\n type: 'wallet_disconnect',\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } as any);\n } catch {\n // Do nothing, wallet is missing `wallet_disconnect` method\n }\n await starknetCore.disconnect();\n } catch (err) {\n getCore(dynamicClient).logger.error(\n `[${key}] destroy: remote signal failed`,\n err\n );\n }\n };\n\n const walletProvider: StarknetWalletProvider = {\n chain: 'STARK',\n connect,\n destroy,\n get events() {\n return getEventEmitter();\n },\n getActiveNetworkId,\n getConnectedAddresses,\n getStarknetAccount,\n groupKey: formatWalletProviderGroupKey(starknetWindowProvider.name),\n key,\n metadata: {\n displayName: starknetWindowProvider.name,\n icon:\n typeof starknetWindowProvider.icon === 'string'\n ? starknetWindowProvider.icon\n : starknetWindowProvider.icon.light,\n },\n signMessage,\n switchActiveNetwork,\n transferAmount: (args) => starknetTransferAmount(args, dynamicClient),\n walletProviderType,\n };\n\n return walletProvider;\n};\n","import {\n WalletProviderPriority,\n getCore,\n getDefaultClient,\n getWalletProviderRegistry,\n hasExtension,\n registerExtension,\n} from '@dynamic-labs-sdk/client/core';\nimport starknetCore from '@starknet-io/get-starknet-core';\n\nimport { registerStarknetNetworkProviderBuilder } from '../../registerStarknetNetworkProviderBuilder';\nimport { createWalletProviderFromStarknetWallet } from '../utils/createWalletProviderFromStarknetWallet';\n\nexport const STARKNET_INJECTED_WALLETS_EXTENSION_KEY =\n 'starknetInjectedWallets';\n\n/**\n * Adds the Starknet Injected Wallets extension to the Dynamic client.\n *\n * This extension enables integration with many Starknet wallets, like Braavos, Ready and Xverse.\n *\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n * @notInstrumented\n */\nexport const addStarknetInjectedWalletsExtension = (\n client = getDefaultClient()\n): void => {\n if (\n hasExtension(\n { extensionKey: STARKNET_INJECTED_WALLETS_EXTENSION_KEY },\n client\n )\n ) {\n return;\n }\n\n registerExtension(\n { extensionKey: STARKNET_INJECTED_WALLETS_EXTENSION_KEY },\n client\n );\n\n registerStarknetNetworkProviderBuilder(client);\n\n const walletProviderRegistry = getWalletProviderRegistry(client);\n\n starknetCore\n .getAvailableWallets()\n .then((starknetWindowProviders) => {\n starknetWindowProviders.forEach((starknetWindowProvider) => {\n const walletProvider = createWalletProviderFromStarknetWallet({\n dynamicClient: client,\n starknetWindowProvider,\n });\n\n walletProviderRegistry.register({\n priority: WalletProviderPriority.WINDOW_INJECT,\n walletProvider,\n });\n });\n })\n .catch((error) => {\n getCore(client).logger.error(\n 'Error getting available starknet wallets',\n error\n );\n });\n};\n"],"mappings":";;;;;;;;;;;;ACKA,MAAa,cAAc;AAE3B,MAAa,uBACX;AAEF,MAAaA,mBAAwB;CACnC;EACE,SAAS,CACP;GACE,MAAM;GACN,QAAQ;GACR,MAAM;GACP,EACD;GACE,MAAM;GACN,QAAQ;GACR,MAAM;GACP,CACF;EACD,MAAM;EACN,MAAM;EACN,MAAM;EACP;CACD;EACE,MAAM;GACJ;IACE,MAAM;IACN,MAAM;IACP;GACD;IACE,MAAM;IACN,MAAM;IACP;GACD;IACE,MAAM;IACN,MAAM;IACP;GACF;EACD,MAAM,EAAE;EACR,MAAM;EACN,MAAM;EACP;CACD;EACE,MAAM;GACJ;IACE,MAAM;IACN,MAAM;IACP;GACD;IACE,MAAM;IACN,MAAM;IACP;GACD;IACE,MAAM;IACN,MAAM;IACP;GACF;EACD,MAAM,EAAE;EACR,MAAM;EACN,MAAM;EACP;CACD;EACE,QAAQ,EAAE;EACV,MAAM;EACN,SAAS,CACP;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,iBAAiB;EACjB,MAAM;EACP;CACD;EACE,QAAQ,EAAE;EACV,MAAM;EACN,SAAS,CACP;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,iBAAiB;EACjB,MAAM;EACP;CACD;EACE,QAAQ,EAAE;EACV,MAAM;EACN,SAAS,CACP;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,iBAAiB;EACjB,MAAM;EACP;CACD;EACE,QAAQ,EAAE;EACV,MAAM;EACN,SAAS,CACP;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,iBAAiB;EACjB,MAAM;EACP;CACD;EACE,QAAQ,CACN;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,MAAM;EACN,SAAS,CACP;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,iBAAiB;EACjB,MAAM;EACP;CACD;EACE,QAAQ,CACN;GACE,MAAM;GACN,MAAM;GACP,EACD;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,MAAM;EACN,SAAS,CACP;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,iBAAiB;EACjB,MAAM;EACP;CACD;EACE,QAAQ,EAAE;EACV,MAAM;EACN,SAAS,CACP;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,iBAAiB;EACjB,MAAM;EACP;CACD;EACE,QAAQ,EAAE;EACV,MAAM;EACN,SAAS,CACP;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,iBAAiB;EACjB,MAAM;EACP;CACD;EACE,QAAQ,EAAE;EACV,MAAM;EACN,SAAS,CACP;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,iBAAiB;EACjB,MAAM;EACP;CACD;EACE,QAAQ,EAAE;EACV,MAAM;EACN,SAAS,CACP;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,iBAAiB;EACjB,MAAM;EACP;CACD;EACE,QAAQ,CACN;GACE,MAAM;GACN,MAAM;GACP,EACD;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,MAAM;EACN,SAAS,EAAE;EACX,MAAM;EACP;CACD;EACE,QAAQ,CACN;GACE,MAAM;GACN,MAAM;GACP,EACD;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,MAAM;EACN,SAAS,CACP;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,MAAM;EACP;CACD;EACE,QAAQ;GACN;IACE,MAAM;IACN,MAAM;IACP;GACD;IACE,MAAM;IACN,MAAM;IACP;GACD;IACE,MAAM;IACN,MAAM;IACP;GACF;EACD,MAAM;EACN,SAAS,CACP;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,MAAM;EACP;CACD;EACE,QAAQ,CACN;GACE,MAAM;GACN,MAAM;GACP,EACD;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,MAAM;EACN,SAAS,CACP;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,MAAM;EACP;CACD;EACE,QAAQ,CACN;GACE,MAAM;GACN,MAAM;GACP,EACD;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,MAAM;EACN,SAAS,CACP;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,MAAM;EACP;CACD;EACE,QAAQ,CACN;GACE,MAAM;GA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"}
|
|
@@ -34,7 +34,7 @@ let _dynamic_labs_sdk_api_core = require("@dynamic-labs/sdk-api-core");
|
|
|
34
34
|
|
|
35
35
|
//#region package.json
|
|
36
36
|
var name = "@dynamic-labs-sdk/starknet";
|
|
37
|
-
var version = "1.
|
|
37
|
+
var version = "1.14.0";
|
|
38
38
|
|
|
39
39
|
//#endregion
|
|
40
40
|
//#region src/utils/constants.ts
|
|
@@ -324,7 +324,7 @@ const ETH_CONTRACT_ABI = [
|
|
|
324
324
|
|
|
325
325
|
//#endregion
|
|
326
326
|
//#region src/utils/fetchStarknetBalance/fetchStarknetBalance.ts
|
|
327
|
-
/** @
|
|
327
|
+
/** @notInstrumented */
|
|
328
328
|
const fetchStarknetBalance = async ({ address, networkData }) => {
|
|
329
329
|
const { balance } = await new starknet.Contract(ETH_CONTRACT_ABI, ETH_STARKNET_ADDRESS, new starknet.RpcProvider({ nodeUrl: networkData.rpcUrls.http[0] })).balanceOf(address);
|
|
330
330
|
return (Number(starknet.cairo.uint256(balance.low).low) / WEI_PER_ETH).toFixed(6);
|
|
@@ -332,7 +332,7 @@ const fetchStarknetBalance = async ({ address, networkData }) => {
|
|
|
332
332
|
|
|
333
333
|
//#endregion
|
|
334
334
|
//#region src/utils/createStarknetNetworkProvider/createStarknetNetworkProvider.ts
|
|
335
|
-
/** @
|
|
335
|
+
/** @notInstrumented */
|
|
336
336
|
const createStarknetNetworkProvider = (networkData) => ({
|
|
337
337
|
...(0, _dynamic_labs_sdk_client_core.createBaseNetworkProvider)("STARK", networkData),
|
|
338
338
|
getBalance: async ({ address }) => ({ balance: await fetchStarknetBalance({
|
|
@@ -343,7 +343,7 @@ const createStarknetNetworkProvider = (networkData) => ({
|
|
|
343
343
|
|
|
344
344
|
//#endregion
|
|
345
345
|
//#region src/registerStarknetNetworkProviderBuilder/registerStarknetNetworkProviderBuilder.ts
|
|
346
|
-
/** @
|
|
346
|
+
/** @notInstrumented */
|
|
347
347
|
const registerStarknetNetworkProviderBuilder = (client) => {
|
|
348
348
|
const networkProviderBuilderRegistry = (0, _dynamic_labs_sdk_client_core.getNetworkProviderBuilderRegistry)(client);
|
|
349
349
|
if (networkProviderBuilderRegistry.get().get("STARK")) return;
|
|
@@ -378,7 +378,7 @@ const defaultTypedData = {
|
|
|
378
378
|
]
|
|
379
379
|
}
|
|
380
380
|
};
|
|
381
|
-
/** @
|
|
381
|
+
/** @notInstrumented */
|
|
382
382
|
const formatStarknetTypedDataMessage = ({ inputMessage, chainId }) => {
|
|
383
383
|
let nonce, domain;
|
|
384
384
|
try {
|
|
@@ -419,14 +419,14 @@ var NotStarknetProviderError = class extends _dynamic_labs_sdk_client.BaseError
|
|
|
419
419
|
|
|
420
420
|
//#endregion
|
|
421
421
|
//#region src/isStarknetWalletProvider/isStarknetWalletProvider.ts
|
|
422
|
-
/** @
|
|
422
|
+
/** @notInstrumented */
|
|
423
423
|
const isStarknetWalletProvider = (provider) => {
|
|
424
424
|
return provider.chain === "STARK";
|
|
425
425
|
};
|
|
426
426
|
|
|
427
427
|
//#endregion
|
|
428
428
|
//#region src/getStarknetAccount/getStarknetAccount.ts
|
|
429
|
-
/** @
|
|
429
|
+
/** @notInstrumented */
|
|
430
430
|
const getStarknetAccount = async ({ walletAccount }, client = (0, _dynamic_labs_sdk_client_core.getDefaultClient)()) => {
|
|
431
431
|
const provider = (0, _dynamic_labs_sdk_client_core.getWalletProviderFromWalletAccount)({ walletAccount }, client);
|
|
432
432
|
if (!isStarknetWalletProvider(provider)) throw new NotStarknetProviderError({ providerKey: provider.key });
|
|
@@ -435,7 +435,7 @@ const getStarknetAccount = async ({ walletAccount }, client = (0, _dynamic_labs_
|
|
|
435
435
|
|
|
436
436
|
//#endregion
|
|
437
437
|
//#region src/isStarknetWalletAccount/isStarknetWalletAccount.ts
|
|
438
|
-
/** @
|
|
438
|
+
/** @notInstrumented */
|
|
439
439
|
const isStarknetWalletAccount = (walletAccount) => walletAccount.chain === "STARK";
|
|
440
440
|
|
|
441
441
|
//#endregion
|
|
@@ -446,7 +446,7 @@ const STARKNET_ETH_DECIMALS = 18;
|
|
|
446
446
|
*
|
|
447
447
|
* For native ETH, uses the Starknet ETH contract address with 18 decimals.
|
|
448
448
|
* For tokens, uses the provided token address and decimals.
|
|
449
|
-
* @
|
|
449
|
+
* @notInstrumented
|
|
450
450
|
*/
|
|
451
451
|
const starknetTransferAmount = async ({ amount, recipient, token, walletAccount }, client) => {
|
|
452
452
|
if (!isStarknetWalletAccount(walletAccount)) throw new _dynamic_labs_sdk_client.InvalidParamError("Wallet account is not a Starknet wallet account");
|
|
@@ -461,7 +461,7 @@ const starknetTransferAmount = async ({ amount, recipient, token, walletAccount
|
|
|
461
461
|
|
|
462
462
|
//#endregion
|
|
463
463
|
//#region src/injected/utils/createWalletProviderFromStarknetWallet/createWalletProviderFromStarknetWallet.ts
|
|
464
|
-
/** @
|
|
464
|
+
/** @notInstrumented */
|
|
465
465
|
const createWalletProviderFromStarknetWallet = ({ dynamicClient, starknetWindowProvider }) => {
|
|
466
466
|
const walletProviderType = _dynamic_labs_sdk_api_core.WalletProviderEnum.BrowserExtension;
|
|
467
467
|
const key = (0, _dynamic_labs_sdk_client_core.formatWalletProviderKey)({
|
|
@@ -579,7 +579,7 @@ const STARKNET_INJECTED_WALLETS_EXTENSION_KEY = "starknetInjectedWallets";
|
|
|
579
579
|
* This extension enables integration with many Starknet wallets, like Braavos, Ready and Xverse.
|
|
580
580
|
*
|
|
581
581
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
582
|
-
* @
|
|
582
|
+
* @notInstrumented
|
|
583
583
|
*/
|
|
584
584
|
const addStarknetInjectedWalletsExtension = (client = (0, _dynamic_labs_sdk_client_core.getDefaultClient)()) => {
|
|
585
585
|
if ((0, _dynamic_labs_sdk_client_core.hasExtension)({ extensionKey: STARKNET_INJECTED_WALLETS_EXTENSION_KEY }, client)) return;
|
|
@@ -663,4 +663,4 @@ Object.defineProperty(exports, 'version', {
|
|
|
663
663
|
return version;
|
|
664
664
|
}
|
|
665
665
|
});
|
|
666
|
-
//# sourceMappingURL=addStarknetInjectedWalletsExtension-
|
|
666
|
+
//# sourceMappingURL=addStarknetInjectedWalletsExtension-COJsb1CP.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addStarknetInjectedWalletsExtension-COJsb1CP.cjs","names":["ETH_CONTRACT_ABI: Abi","Contract","RpcProvider","cairo","message: Record<string, unknown>","BaseError","InvalidParamError","Contract","cairo","WalletProviderEnum","connect: StarknetWalletProvider['connect']","getActiveNetworkId: StarknetWalletProvider['getActiveNetworkId']","getConnectedAddresses: StarknetWalletProvider['getConnectedAddresses']","getStarknetAccount: StarknetWalletProvider['getStarknetAccount']","RpcProvider","WalletAccount","signMessage: StarknetWalletProvider['signMessage']","switchActiveNetwork: StarknetWalletProvider['switchActiveNetwork']","destroy: StarknetWalletProvider['destroy']","starknetCore","WalletProviderPriority"],"sources":["../package.json","../src/utils/constants.ts","../src/utils/fetchStarknetBalance/fetchStarknetBalance.ts","../src/utils/createStarknetNetworkProvider/createStarknetNetworkProvider.ts","../src/registerStarknetNetworkProviderBuilder/registerStarknetNetworkProviderBuilder.ts","../src/utils/formatStarknetTypedDataMessage/formatStarknetTypedDataMessage.ts","../src/errors/NotStarknetProviderError/NotStarknetProviderError.ts","../src/isStarknetWalletProvider/isStarknetWalletProvider.ts","../src/getStarknetAccount/getStarknetAccount.ts","../src/isStarknetWalletAccount/isStarknetWalletAccount.ts","../src/utils/starknetTransferAmount/starknetTransferAmount.ts","../src/injected/utils/createWalletProviderFromStarknetWallet/createWalletProviderFromStarknetWallet.ts","../src/injected/addStarknetInjectedWalletsExtension/addStarknetInjectedWalletsExtension.ts"],"sourcesContent":["","/* eslint-disable custom-rules/ban-ethereum-eth-terms */\n\nimport type { Abi } from 'starknet';\n\n// Starknet uses ETH as its native token: 1 ETH = 10^18 wei.\nexport const WEI_PER_ETH = 1e18;\n\nexport const ETH_STARKNET_ADDRESS =\n '0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7';\n\nexport const ETH_CONTRACT_ABI: Abi = [\n {\n members: [\n {\n name: 'low',\n offset: 0,\n type: 'felt',\n },\n {\n name: 'high',\n offset: 1,\n type: 'felt',\n },\n ],\n name: 'Uint256',\n size: 2,\n type: 'struct',\n },\n {\n data: [\n {\n name: 'from_',\n type: 'felt',\n },\n {\n name: 'to',\n type: 'felt',\n },\n {\n name: 'value',\n type: 'Uint256',\n },\n ],\n keys: [],\n name: 'Transfer',\n type: 'event',\n },\n {\n data: [\n {\n name: 'owner',\n type: 'felt',\n },\n {\n name: 'spender',\n type: 'felt',\n },\n {\n name: 'value',\n type: 'Uint256',\n },\n ],\n keys: [],\n name: 'Approval',\n type: 'event',\n },\n {\n inputs: [],\n name: 'name',\n outputs: [\n {\n name: 'name',\n type: 'felt',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'symbol',\n outputs: [\n {\n name: 'symbol',\n type: 'felt',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'totalSupply',\n outputs: [\n {\n name: 'totalSupply',\n type: 'Uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'decimals',\n outputs: [\n {\n name: 'decimals',\n type: 'felt',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n {\n name: 'account',\n type: 'felt',\n },\n ],\n name: 'balanceOf',\n outputs: [\n {\n name: 'balance',\n type: 'Uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n {\n name: 'owner',\n type: 'felt',\n },\n {\n name: 'spender',\n type: 'felt',\n },\n ],\n name: 'allowance',\n outputs: [\n {\n name: 'remaining',\n type: 'Uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'permittedMinter',\n outputs: [\n {\n name: 'minter',\n type: 'felt',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'initialized',\n outputs: [\n {\n name: 'res',\n type: 'felt',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'get_version',\n outputs: [\n {\n name: 'version',\n type: 'felt',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'get_identity',\n outputs: [\n {\n name: 'identity',\n type: 'felt',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n {\n name: 'init_vector_len',\n type: 'felt',\n },\n {\n name: 'init_vector',\n type: 'felt*',\n },\n ],\n name: 'initialize',\n outputs: [],\n type: 'function',\n },\n {\n inputs: [\n {\n name: 'recipient',\n type: 'felt',\n },\n {\n name: 'amount',\n type: 'Uint256',\n },\n ],\n name: 'transfer',\n outputs: [\n {\n name: 'success',\n type: 'felt',\n },\n ],\n type: 'function',\n },\n {\n inputs: [\n {\n name: 'sender',\n type: 'felt',\n },\n {\n name: 'recipient',\n type: 'felt',\n },\n {\n name: 'amount',\n type: 'Uint256',\n },\n ],\n name: 'transferFrom',\n outputs: [\n {\n name: 'success',\n type: 'felt',\n },\n ],\n type: 'function',\n },\n {\n inputs: [\n {\n name: 'spender',\n type: 'felt',\n },\n {\n name: 'amount',\n type: 'Uint256',\n },\n ],\n name: 'approve',\n outputs: [\n {\n name: 'success',\n type: 'felt',\n },\n ],\n type: 'function',\n },\n {\n inputs: [\n {\n name: 'spender',\n type: 'felt',\n },\n {\n name: 'added_value',\n type: 'Uint256',\n },\n ],\n name: 'increaseAllowance',\n outputs: [\n {\n name: 'success',\n type: 'felt',\n },\n ],\n type: 'function',\n },\n {\n inputs: [\n {\n name: 'spender',\n type: 'felt',\n },\n {\n name: 'subtracted_value',\n type: 'Uint256',\n },\n ],\n name: 'decreaseAllowance',\n outputs: [\n {\n name: 'success',\n type: 'felt',\n },\n ],\n type: 'function',\n },\n {\n inputs: [\n {\n name: 'recipient',\n type: 'felt',\n },\n {\n name: 'amount',\n type: 'Uint256',\n },\n ],\n name: 'permissionedMint',\n outputs: [],\n type: 'function',\n },\n {\n inputs: [\n {\n name: 'account',\n type: 'felt',\n },\n {\n name: 'amount',\n type: 'Uint256',\n },\n ],\n name: 'permissionedBurn',\n outputs: [],\n type: 'function',\n },\n];\n","/* eslint-disable custom-rules/ban-ethereum-eth-terms */\nimport type { NetworkData } from '@dynamic-labs-sdk/client';\nimport { Contract, RpcProvider, cairo } from 'starknet';\n\nimport {\n ETH_CONTRACT_ABI,\n ETH_STARKNET_ADDRESS,\n WEI_PER_ETH,\n} from '../constants';\n\ntype FetchStarknetBalanceParams = {\n address: string;\n networkData: NetworkData;\n};\n\n/** @notInstrumented */\nexport const fetchStarknetBalance = async ({\n address,\n networkData,\n}: FetchStarknetBalanceParams): Promise<string | null> => {\n const provider = new RpcProvider({\n nodeUrl: networkData.rpcUrls.http[0],\n });\n\n const contract = new Contract(\n ETH_CONTRACT_ABI,\n ETH_STARKNET_ADDRESS,\n provider\n );\n\n const { balance } = await contract.balanceOf(address);\n\n return (Number(cairo.uint256(balance.low).low) / WEI_PER_ETH).toFixed(6);\n};\n","import type { NetworkData } from '@dynamic-labs-sdk/client';\nimport { createBaseNetworkProvider } from '@dynamic-labs-sdk/client/core';\n\nimport type { StarknetNetworkProvider } from '../../StarknetNetworkProvider.types';\nimport { fetchStarknetBalance } from '../fetchStarknetBalance';\n\n/** @notInstrumented */\nexport const createStarknetNetworkProvider = (\n networkData: NetworkData\n): StarknetNetworkProvider => ({\n ...createBaseNetworkProvider('STARK', networkData),\n getBalance: async ({ address }) => ({\n balance: await fetchStarknetBalance({\n address,\n networkData,\n }),\n }),\n});\n","import type { DynamicClient } from '@dynamic-labs-sdk/client';\nimport { getNetworkProviderBuilderRegistry } from '@dynamic-labs-sdk/client/core';\n\nimport { createStarknetNetworkProvider } from '../utils/createStarknetNetworkProvider';\n\n/** @notInstrumented */\nexport const registerStarknetNetworkProviderBuilder = (\n client: DynamicClient\n): void => {\n const networkProviderBuilderRegistry =\n getNetworkProviderBuilderRegistry(client);\n\n // If the Starknet network provider builder is already registered, return.\n if (networkProviderBuilderRegistry.get().get('STARK')) {\n return;\n }\n\n networkProviderBuilderRegistry.register({\n builder: createStarknetNetworkProvider,\n chain: 'STARK',\n });\n};\n","import type { TypedData, constants } from 'starknet';\n\nconst defaultTypedData = {\n primaryType: 'Message',\n types: {\n Message: [\n {\n name: 'message',\n type: 'felt',\n },\n ],\n StarkNetDomain: [\n {\n name: 'name',\n type: 'felt',\n },\n {\n name: 'chainId',\n type: 'felt',\n },\n {\n name: 'version',\n type: 'felt',\n },\n ],\n },\n};\n\ntype FormatStarknetTypedDataMessageParams = {\n chainId: constants.StarknetChainId;\n inputMessage: string;\n};\n\n/** @notInstrumented */\nexport const formatStarknetTypedDataMessage = ({\n inputMessage,\n chainId,\n}: FormatStarknetTypedDataMessageParams): TypedData => {\n let nonce, domain;\n try {\n const { nonce: parsedNonce, domain: parsedDomain } =\n JSON.parse(inputMessage);\n nonce = parsedNonce;\n domain = parsedDomain;\n } catch {\n nonce = inputMessage;\n domain = 'domain';\n }\n\n // Starknet strings could be at most 31 chars long\n const message: Record<string, unknown> = {\n message: nonce.substring(0, 31),\n };\n\n return {\n ...defaultTypedData,\n domain: {\n chainId,\n name: domain.substring(0, 31),\n version: '0.0.1',\n },\n message,\n };\n};\n","import { BaseError } from '@dynamic-labs-sdk/client';\n\nexport class NotStarknetProviderError extends BaseError {\n public readonly providerKey: string;\n\n constructor(params: { providerKey: string }) {\n super({\n cause: null,\n code: 'not_starknet_provider_error',\n docsUrl: null,\n name: 'NotStarknetProviderError',\n shortMessage: 'Provider is not a Starknet wallet provider',\n });\n\n this.providerKey = params.providerKey;\n }\n}\n","import type { WalletProvider } from '@dynamic-labs-sdk/client/core';\n\nimport type { StarknetWalletProvider } from '../StarknetWalletProvider.types';\n\n/** @notInstrumented */\n// eslint-disable-next-line custom-rules/require-single-object-param\nexport const isStarknetWalletProvider = (\n provider: WalletProvider | StarknetWalletProvider\n): provider is StarknetWalletProvider => {\n return provider.chain === 'STARK';\n};\n","import {\n getDefaultClient,\n getWalletProviderFromWalletAccount,\n} from '@dynamic-labs-sdk/client/core';\n\nimport { NotStarknetProviderError } from '../errors/NotStarknetProviderError';\nimport { isStarknetWalletProvider } from '../isStarknetWalletProvider';\nimport type { StarknetWalletAccount } from '../StarknetWalletAccount.types';\n\ntype GetStarknetAccountParams = {\n walletAccount: StarknetWalletAccount;\n};\n\n/** @notInstrumented */\nexport const getStarknetAccount = async (\n { walletAccount }: GetStarknetAccountParams,\n client = getDefaultClient()\n) => {\n const provider = getWalletProviderFromWalletAccount(\n { walletAccount },\n client\n );\n\n if (!isStarknetWalletProvider(provider)) {\n throw new NotStarknetProviderError({ providerKey: provider.key });\n }\n\n return provider.getStarknetAccount({ walletAccount });\n};\n","import type { WalletAccount } from '@dynamic-labs-sdk/client';\n\nimport type { StarknetWalletAccount } from '../StarknetWalletAccount.types';\n\n/** @notInstrumented */\nexport const isStarknetWalletAccount = (\n walletAccount: WalletAccount\n): walletAccount is StarknetWalletAccount => walletAccount.chain === 'STARK';\n","/* eslint-disable custom-rules/ban-ethereum-eth-terms */\nimport type { DynamicClient } from '@dynamic-labs-sdk/client';\nimport { InvalidParamError } from '@dynamic-labs-sdk/client';\nimport {\n type TransferAmountParams,\n parseAmountToSmallestUnit,\n} from '@dynamic-labs-sdk/client/core';\nimport { Contract, cairo } from 'starknet';\n\nimport { getStarknetAccount } from '../../getStarknetAccount';\nimport { isStarknetWalletAccount } from '../../isStarknetWalletAccount';\nimport { ETH_CONTRACT_ABI, ETH_STARKNET_ADDRESS } from '../constants';\n\nconst STARKNET_ETH_DECIMALS = 18;\n\n/**\n * Transfers native ETH or a token on Starknet from one wallet to another.\n *\n * For native ETH, uses the Starknet ETH contract address with 18 decimals.\n * For tokens, uses the provided token address and decimals.\n * @notInstrumented\n */\nexport const starknetTransferAmount = async (\n { amount, recipient, token, walletAccount }: TransferAmountParams,\n client: DynamicClient\n): Promise<{ transactionHash: string }> => {\n if (!isStarknetWalletAccount(walletAccount)) {\n throw new InvalidParamError(\n 'Wallet account is not a Starknet wallet account'\n );\n }\n\n const { account } = await getStarknetAccount({ walletAccount }, client);\n\n const contractAddress = token?.address || ETH_STARKNET_ADDRESS;\n const decimals = token?.decimals ?? STARKNET_ETH_DECIMALS;\n\n const smallestUnit = parseAmountToSmallestUnit({ amount, decimals });\n\n const contract = new Contract(ETH_CONTRACT_ABI, contractAddress, account);\n\n const result = await contract.invoke('transfer', [\n recipient,\n cairo.uint256(smallestUnit),\n ]);\n\n return { transactionHash: result.transaction_hash };\n};\n","import {\n type DynamicClient,\n assertWalletAccountSigningAvailability,\n getActiveNetworkData,\n} from '@dynamic-labs-sdk/client';\nimport {\n assertDefined,\n createWalletProviderEventEmitter,\n formatWalletProviderGroupKey,\n formatWalletProviderKey,\n getCore,\n} from '@dynamic-labs-sdk/client/core';\nimport { WalletProviderEnum } from '@dynamic-labs/sdk-api-core';\nimport type { StarknetWindowObject } from '@starknet-io/get-starknet-core';\nimport starknetCore from '@starknet-io/get-starknet-core';\nimport { RpcProvider, WalletAccount, type constants } from 'starknet';\n\nimport type { StarknetWalletProvider } from '../../../StarknetWalletProvider.types';\nimport { formatStarknetTypedDataMessage } from '../../../utils/formatStarknetTypedDataMessage';\nimport { starknetTransferAmount } from '../../../utils/starknetTransferAmount';\n\ntype CreateWalletProviderFromStarknetWalletParams = {\n dynamicClient: DynamicClient;\n starknetWindowProvider: StarknetWindowObject;\n};\n\n/** @notInstrumented */\nexport const createWalletProviderFromStarknetWallet = ({\n dynamicClient,\n starknetWindowProvider,\n}: CreateWalletProviderFromStarknetWalletParams): StarknetWalletProvider => {\n const walletProviderType = WalletProviderEnum.BrowserExtension;\n\n const key = formatWalletProviderKey({\n chain: 'STARK',\n displayName: starknetWindowProvider.name,\n walletProviderType,\n });\n\n const connect: StarknetWalletProvider['connect'] = async () => {\n const accounts = await starknetWindowProvider.request({\n type: 'wallet_requestAccounts',\n });\n\n return {\n addresses: accounts.map((address) => ({\n address,\n })),\n };\n };\n\n const getActiveNetworkId: StarknetWalletProvider['getActiveNetworkId'] =\n async () => {\n const chainId = await starknetWindowProvider.request({\n type: 'wallet_requestChainId',\n });\n\n return {\n networkId: chainId,\n };\n };\n\n const getConnectedAddresses: StarknetWalletProvider['getConnectedAddresses'] =\n async () => {\n const accounts = await starknetWindowProvider.request({\n params: {\n silent_mode: true,\n },\n type: 'wallet_requestAccounts',\n });\n\n return {\n addresses: accounts,\n };\n };\n\n const getStarknetAccount: StarknetWalletProvider['getStarknetAccount'] =\n async ({ walletAccount }) => {\n await assertWalletAccountSigningAvailability(\n { walletAccount },\n dynamicClient\n );\n\n const { networkData } = await getActiveNetworkData(\n { walletAccount },\n dynamicClient\n );\n\n assertDefined(networkData, 'No active network data found');\n\n const rpcProvider = new RpcProvider({\n nodeUrl: networkData.rpcUrls.http[0],\n });\n\n const account = await WalletAccount.connectSilent(\n rpcProvider,\n starknetWindowProvider\n );\n\n return { account };\n };\n\n const signMessage: StarknetWalletProvider['signMessage'] = async ({\n message,\n walletAccount,\n }) => {\n assertDefined(walletAccount, 'Wallet account not found');\n\n await assertWalletAccountSigningAvailability(\n {\n walletAccount,\n },\n dynamicClient\n );\n\n const { networkId } = await getActiveNetworkId();\n\n const encodedMessage = formatStarknetTypedDataMessage({\n chainId: networkId as constants.StarknetChainId,\n inputMessage: message,\n });\n\n const signature = await starknetWindowProvider.request({\n params: encodedMessage,\n type: 'wallet_signTypedData',\n });\n\n return { signature: signature.join(',') };\n };\n\n const switchActiveNetwork: StarknetWalletProvider['switchActiveNetwork'] =\n async ({ networkId }) => {\n await starknetWindowProvider.request({\n params: {\n chainId: networkId,\n },\n type: 'wallet_switchStarknetChain',\n });\n };\n\n const { getEventEmitter, cleanupEventEmitter } =\n createWalletProviderEventEmitter<{\n removeAccountChangeListener: VoidFunction;\n removeNetworkChangeListener: VoidFunction;\n }>({\n removeEventListeners: ({ setupReturnValue }) => {\n assertDefined(setupReturnValue, 'Setup return value not defined');\n\n setupReturnValue.removeNetworkChangeListener();\n setupReturnValue.removeAccountChangeListener();\n },\n\n setupEventListeners: ({\n handleAccountsChanged,\n handleNetworkChanged,\n }) => {\n // eslint-disable-next-line custom-rules/require-single-object-param\n const onAccountsChanged = (accounts: string[] | undefined) => {\n handleAccountsChanged({\n addresses: accounts ?? [],\n });\n };\n starknetWindowProvider.on('accountsChanged', onAccountsChanged);\n const removeAccountChangeListener = () => {\n starknetWindowProvider.off('accountsChanged', onAccountsChanged);\n };\n\n // eslint-disable-next-line custom-rules/require-single-object-param\n const onNetworkChanged = (network: string | undefined) => {\n if (!network) {\n return;\n }\n\n handleNetworkChanged({\n networkId: network.toString(),\n });\n };\n starknetWindowProvider.on('networkChanged', onNetworkChanged);\n const removeNetworkChangeListener = () => {\n starknetWindowProvider.off('networkChanged', onNetworkChanged);\n };\n\n return {\n removeAccountChangeListener,\n removeNetworkChangeListener,\n };\n },\n\n supportedEvents: ['accountsChanged', 'networkChanged'],\n });\n\n const destroy: StarknetWalletProvider['destroy'] = async () => {\n cleanupEventEmitter();\n try {\n try {\n await starknetWindowProvider.request({\n type: 'wallet_disconnect',\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } as any);\n } catch {\n // Do nothing, wallet is missing `wallet_disconnect` method\n }\n await starknetCore.disconnect();\n } catch (err) {\n getCore(dynamicClient).logger.error(\n `[${key}] destroy: remote signal failed`,\n err\n );\n }\n };\n\n const walletProvider: StarknetWalletProvider = {\n chain: 'STARK',\n connect,\n destroy,\n get events() {\n return getEventEmitter();\n },\n getActiveNetworkId,\n getConnectedAddresses,\n getStarknetAccount,\n groupKey: formatWalletProviderGroupKey(starknetWindowProvider.name),\n key,\n metadata: {\n displayName: starknetWindowProvider.name,\n icon:\n typeof starknetWindowProvider.icon === 'string'\n ? starknetWindowProvider.icon\n : starknetWindowProvider.icon.light,\n },\n signMessage,\n switchActiveNetwork,\n transferAmount: (args) => starknetTransferAmount(args, dynamicClient),\n walletProviderType,\n };\n\n return walletProvider;\n};\n","import {\n WalletProviderPriority,\n getCore,\n getDefaultClient,\n getWalletProviderRegistry,\n hasExtension,\n registerExtension,\n} from '@dynamic-labs-sdk/client/core';\nimport starknetCore from '@starknet-io/get-starknet-core';\n\nimport { registerStarknetNetworkProviderBuilder } from '../../registerStarknetNetworkProviderBuilder';\nimport { createWalletProviderFromStarknetWallet } from '../utils/createWalletProviderFromStarknetWallet';\n\nexport const STARKNET_INJECTED_WALLETS_EXTENSION_KEY =\n 'starknetInjectedWallets';\n\n/**\n * Adds the Starknet Injected Wallets extension to the Dynamic client.\n *\n * This extension enables integration with many Starknet wallets, like Braavos, Ready and Xverse.\n *\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n * @notInstrumented\n */\nexport const addStarknetInjectedWalletsExtension = (\n client = getDefaultClient()\n): void => {\n if (\n hasExtension(\n { extensionKey: STARKNET_INJECTED_WALLETS_EXTENSION_KEY },\n client\n )\n ) {\n return;\n }\n\n registerExtension(\n { extensionKey: STARKNET_INJECTED_WALLETS_EXTENSION_KEY },\n client\n );\n\n registerStarknetNetworkProviderBuilder(client);\n\n const walletProviderRegistry = getWalletProviderRegistry(client);\n\n starknetCore\n .getAvailableWallets()\n .then((starknetWindowProviders) => {\n starknetWindowProviders.forEach((starknetWindowProvider) => {\n const walletProvider = createWalletProviderFromStarknetWallet({\n dynamicClient: client,\n starknetWindowProvider,\n });\n\n walletProviderRegistry.register({\n priority: WalletProviderPriority.WINDOW_INJECT,\n walletProvider,\n });\n });\n })\n .catch((error) => {\n getCore(client).logger.error(\n 'Error getting available starknet wallets',\n error\n );\n });\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACKA,MAAa,cAAc;AAE3B,MAAa,uBACX;AAEF,MAAaA,mBAAwB;CACnC;EACE,SAAS,CACP;GACE,MAAM;GACN,QAAQ;GACR,MAAM;GACP,EACD;GACE,MAAM;GACN,QAAQ;GACR,MAAM;GACP,CACF;EACD,MAAM;EACN,MAAM;EACN,MAAM;EACP;CACD;EACE,MAAM;GACJ;IACE,MAAM;IACN,MAAM;IACP;GACD;IACE,MAAM;IACN,MAAM;IACP;GACD;IACE,MAAM;IACN,MAAM;IACP;GACF;EACD,MAAM,EAAE;EACR,MAAM;EACN,MAAM;EACP;CACD;EACE,MAAM;GACJ;IACE,MAAM;IACN,MAAM;IACP;GACD;IACE,MAAM;IACN,MAAM;IACP;GACD;IACE,MAAM;IACN,MAAM;IACP;GACF;EACD,MAAM,EAAE;EACR,MAAM;EACN,MAAM;EACP;CACD;EACE,QAAQ,EAAE;EACV,MAAM;EACN,SAAS,CACP;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,iBAAiB;EACjB,MAAM;EACP;CACD;EACE,QAAQ,EAAE;EACV,MAAM;EACN,SAAS,CACP;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,iBAAiB;EACjB,MAAM;EACP;CACD;EACE,QAAQ,EAAE;EACV,MAAM;EACN,SAAS,CACP;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,iBAAiB;EACjB,MAAM;EACP;CACD;EACE,QAAQ,EAAE;EACV,MAAM;EACN,SAAS,CACP;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,iBAAiB;EACjB,MAAM;EACP;CACD;EACE,QAAQ,CACN;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,MAAM;EACN,SAAS,CACP;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,iBAAiB;EACjB,MAAM;EACP;CACD;EACE,QAAQ,CACN;GACE,MAAM;GACN,MAAM;GACP,EACD;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,MAAM;EACN,SAAS,CACP;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,iBAAiB;EACjB,MAAM;EACP;CACD;EACE,QAAQ,EAAE;EACV,MAAM;EACN,SAAS,CACP;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,iBAAiB;EACjB,MAAM;EACP;CACD;EACE,QAAQ,EAAE;EACV,MAAM;EACN,SAAS,CACP;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,iBAAiB;EACjB,MAAM;EACP;CACD;EACE,QAAQ,EAAE;EACV,MAAM;EACN,SAAS,CACP;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,iBAAiB;EACjB,MAAM;EACP;CACD;EACE,QAAQ,EAAE;EACV,MAAM;EACN,SAAS,CACP;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,iBAAiB;EACjB,MAAM;EACP;CACD;EACE,QAAQ,CACN;GACE,MAAM;GACN,MAAM;GACP,EACD;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,MAAM;EACN,SAAS,EAAE;EACX,MAAM;EACP;CACD;EACE,QAAQ,CACN;GACE,MAAM;GACN,MAAM;GACP,EACD;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,MAAM;EACN,SAAS,CACP;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,MAAM;EACP;CACD;EACE,QAAQ;GACN;IACE,MAAM;IACN,MAAM;IACP;GACD;IACE,MAAM;IACN,MAAM;IACP;GACD;IACE,MAAM;IACN,MAAM;IACP;GACF;EACD,MAAM;EACN,SAAS,CACP;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,MAAM;EACP;CACD;EACE,QAAQ,CACN;GACE,MAAM;GACN,MAAM;GACP,EACD;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,MAAM;EACN,SAAS,CACP;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,MAAM;EACP;CACD;EACE,QAAQ,CACN;GACE,MAAM;GACN,MAAM;GACP,EACD;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,MAAM;EACN,SAAS,CACP;GACE,MAAM;GACN,MAAM;GACP,CACF;EACD,MAAM;EACP;CACD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"}
|
|
@@ -2,7 +2,7 @@ import type { StarknetWalletAccount } from '../StarknetWalletAccount.types';
|
|
|
2
2
|
type GetStarknetAccountParams = {
|
|
3
3
|
walletAccount: StarknetWalletAccount;
|
|
4
4
|
};
|
|
5
|
-
/** @
|
|
5
|
+
/** @notInstrumented */
|
|
6
6
|
export declare const getStarknetAccount: ({ walletAccount }: GetStarknetAccountParams, client?: import("@dynamic-labs-sdk/client").DynamicClient) => Promise<{
|
|
7
7
|
account: import("starknet").WalletAccount;
|
|
8
8
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getStarknetAccount.d.ts","sourceRoot":"","sources":["../../src/getStarknetAccount/getStarknetAccount.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAE5E,KAAK,wBAAwB,GAAG;IAC9B,aAAa,EAAE,qBAAqB,CAAC;CACtC,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"getStarknetAccount.d.ts","sourceRoot":"","sources":["../../src/getStarknetAccount/getStarknetAccount.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAE5E,KAAK,wBAAwB,GAAG;IAC9B,aAAa,EAAE,qBAAqB,CAAC;CACtC,CAAC;AAEF,uBAAuB;AACvB,eAAO,MAAM,kBAAkB,sBACV,wBAAwB;;EAa5C,CAAC"}
|
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_addStarknetInjectedWalletsExtension = require('./addStarknetInjectedWalletsExtension-
|
|
1
|
+
const require_addStarknetInjectedWalletsExtension = require('./addStarknetInjectedWalletsExtension-COJsb1CP.cjs');
|
|
2
2
|
let _dynamic_labs_sdk_assert_package_version = require("@dynamic-labs-sdk/assert-package-version");
|
|
3
3
|
let _dynamic_labs_sdk_client_core = require("@dynamic-labs-sdk/client/core");
|
|
4
4
|
|
|
@@ -10,7 +10,7 @@ let _dynamic_labs_sdk_client_core = require("@dynamic-labs-sdk/client/core");
|
|
|
10
10
|
* like Braavos, Ready and more.
|
|
11
11
|
*
|
|
12
12
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
13
|
-
* @
|
|
13
|
+
* @notInstrumented
|
|
14
14
|
*/
|
|
15
15
|
const addStarknetExtension = (client = (0, _dynamic_labs_sdk_client_core.getDefaultClient)()) => {
|
|
16
16
|
require_addStarknetInjectedWalletsExtension.addStarknetInjectedWalletsExtension(client);
|
|
@@ -18,7 +18,7 @@ const addStarknetExtension = (client = (0, _dynamic_labs_sdk_client_core.getDefa
|
|
|
18
18
|
|
|
19
19
|
//#endregion
|
|
20
20
|
//#region src/isStarknetNetworkProvider/isStarknetNetworkProvider.ts
|
|
21
|
-
/** @
|
|
21
|
+
/** @notInstrumented */
|
|
22
22
|
const isStarknetNetworkProvider = (networkProvider) => networkProvider.chain === "STARK";
|
|
23
23
|
|
|
24
24
|
//#endregion
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["packageName","packageVersion"],"sources":["../src/addStarknetExtension/addStarknetExtension.ts","../src/isStarknetNetworkProvider/isStarknetNetworkProvider.ts","../src/exports/index.ts"],"sourcesContent":["import { getDefaultClient } from '@dynamic-labs-sdk/client/core';\n\nimport { addStarknetInjectedWalletsExtension } from '../injected/addStarknetInjectedWalletsExtension';\n\n/**\n * Adds the Starknet extension to the Dynamic client.\n *\n * This is a convenience function that adds support for a variety of Starknet wallets,\n * like Braavos, Ready and more.\n *\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n * @
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["packageName","packageVersion"],"sources":["../src/addStarknetExtension/addStarknetExtension.ts","../src/isStarknetNetworkProvider/isStarknetNetworkProvider.ts","../src/exports/index.ts"],"sourcesContent":["import { getDefaultClient } from '@dynamic-labs-sdk/client/core';\n\nimport { addStarknetInjectedWalletsExtension } from '../injected/addStarknetInjectedWalletsExtension';\n\n/**\n * Adds the Starknet extension to the Dynamic client.\n *\n * This is a convenience function that adds support for a variety of Starknet wallets,\n * like Braavos, Ready and more.\n *\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n * @notInstrumented\n */\n\nexport const addStarknetExtension = (client = getDefaultClient()): void => {\n addStarknetInjectedWalletsExtension(client);\n};\n","import type { NetworkProvider } from '@dynamic-labs-sdk/client';\n\nimport type { StarknetNetworkProvider } from '../StarknetNetworkProvider.types';\n\n/** @notInstrumented */\nexport const isStarknetNetworkProvider = (\n networkProvider: NetworkProvider\n): networkProvider is StarknetNetworkProvider => networkProvider.chain === 'STARK';\n","/* eslint-disable custom-rules/ban-ethereum-eth-terms */\nimport { assertPackageVersion } from '@dynamic-labs-sdk/assert-package-version';\n\nimport {\n name as packageName,\n version as packageVersion,\n} from '../../package.json';\nassertPackageVersion(packageName, packageVersion);\n\nexport { addStarknetExtension } from '../addStarknetExtension';\nexport { NotStarknetProviderError } from '../errors/NotStarknetProviderError';\nexport { getStarknetAccount } from '../getStarknetAccount';\nexport { isStarknetNetworkProvider } from '../isStarknetNetworkProvider';\nexport { isStarknetWalletAccount } from '../isStarknetWalletAccount';\nexport type { StarknetNetworkProvider } from '../StarknetNetworkProvider.types';\nexport type { StarknetWalletAccount } from '../StarknetWalletAccount.types';\n\nexport {\n ETH_CONTRACT_ABI,\n ETH_STARKNET_ADDRESS,\n WEI_PER_ETH,\n} from '../utils/constants';\n"],"mappings":";;;;;;;;;;;;;;AAcA,MAAa,wBAAwB,8DAA2B,KAAW;AACzE,iFAAoC,OAAO;;;;;;ACV7C,MAAa,6BACX,oBAC+C,gBAAgB,UAAU;;;;mECAtDA,kDAAaC,oDAAe"}
|
package/dist/index.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as ETH_CONTRACT_ABI, c as name, i as NotStarknetProviderError, l as version, n as isStarknetWalletAccount, o as ETH_STARKNET_ADDRESS, r as getStarknetAccount, s as WEI_PER_ETH, t as addStarknetInjectedWalletsExtension } from "./addStarknetInjectedWalletsExtension-
|
|
1
|
+
import { a as ETH_CONTRACT_ABI, c as name, i as NotStarknetProviderError, l as version, n as isStarknetWalletAccount, o as ETH_STARKNET_ADDRESS, r as getStarknetAccount, s as WEI_PER_ETH, t as addStarknetInjectedWalletsExtension } from "./addStarknetInjectedWalletsExtension-B5-lr1h9.esm.js";
|
|
2
2
|
import { assertPackageVersion } from "@dynamic-labs-sdk/assert-package-version";
|
|
3
3
|
import { getDefaultClient } from "@dynamic-labs-sdk/client/core";
|
|
4
4
|
|
|
@@ -10,7 +10,7 @@ import { getDefaultClient } from "@dynamic-labs-sdk/client/core";
|
|
|
10
10
|
* like Braavos, Ready and more.
|
|
11
11
|
*
|
|
12
12
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
13
|
-
* @
|
|
13
|
+
* @notInstrumented
|
|
14
14
|
*/
|
|
15
15
|
const addStarknetExtension = (client = getDefaultClient()) => {
|
|
16
16
|
addStarknetInjectedWalletsExtension(client);
|
|
@@ -18,7 +18,7 @@ const addStarknetExtension = (client = getDefaultClient()) => {
|
|
|
18
18
|
|
|
19
19
|
//#endregion
|
|
20
20
|
//#region src/isStarknetNetworkProvider/isStarknetNetworkProvider.ts
|
|
21
|
-
/** @
|
|
21
|
+
/** @notInstrumented */
|
|
22
22
|
const isStarknetNetworkProvider = (networkProvider) => networkProvider.chain === "STARK";
|
|
23
23
|
|
|
24
24
|
//#endregion
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","names":["packageName","packageVersion"],"sources":["../src/addStarknetExtension/addStarknetExtension.ts","../src/isStarknetNetworkProvider/isStarknetNetworkProvider.ts","../src/exports/index.ts"],"sourcesContent":["import { getDefaultClient } from '@dynamic-labs-sdk/client/core';\n\nimport { addStarknetInjectedWalletsExtension } from '../injected/addStarknetInjectedWalletsExtension';\n\n/**\n * Adds the Starknet extension to the Dynamic client.\n *\n * This is a convenience function that adds support for a variety of Starknet wallets,\n * like Braavos, Ready and more.\n *\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n * @
|
|
1
|
+
{"version":3,"file":"index.esm.js","names":["packageName","packageVersion"],"sources":["../src/addStarknetExtension/addStarknetExtension.ts","../src/isStarknetNetworkProvider/isStarknetNetworkProvider.ts","../src/exports/index.ts"],"sourcesContent":["import { getDefaultClient } from '@dynamic-labs-sdk/client/core';\n\nimport { addStarknetInjectedWalletsExtension } from '../injected/addStarknetInjectedWalletsExtension';\n\n/**\n * Adds the Starknet extension to the Dynamic client.\n *\n * This is a convenience function that adds support for a variety of Starknet wallets,\n * like Braavos, Ready and more.\n *\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n * @notInstrumented\n */\n\nexport const addStarknetExtension = (client = getDefaultClient()): void => {\n addStarknetInjectedWalletsExtension(client);\n};\n","import type { NetworkProvider } from '@dynamic-labs-sdk/client';\n\nimport type { StarknetNetworkProvider } from '../StarknetNetworkProvider.types';\n\n/** @notInstrumented */\nexport const isStarknetNetworkProvider = (\n networkProvider: NetworkProvider\n): networkProvider is StarknetNetworkProvider => networkProvider.chain === 'STARK';\n","/* eslint-disable custom-rules/ban-ethereum-eth-terms */\nimport { assertPackageVersion } from '@dynamic-labs-sdk/assert-package-version';\n\nimport {\n name as packageName,\n version as packageVersion,\n} from '../../package.json';\nassertPackageVersion(packageName, packageVersion);\n\nexport { addStarknetExtension } from '../addStarknetExtension';\nexport { NotStarknetProviderError } from '../errors/NotStarknetProviderError';\nexport { getStarknetAccount } from '../getStarknetAccount';\nexport { isStarknetNetworkProvider } from '../isStarknetNetworkProvider';\nexport { isStarknetWalletAccount } from '../isStarknetWalletAccount';\nexport type { StarknetNetworkProvider } from '../StarknetNetworkProvider.types';\nexport type { StarknetWalletAccount } from '../StarknetWalletAccount.types';\n\nexport {\n ETH_CONTRACT_ABI,\n ETH_STARKNET_ADDRESS,\n WEI_PER_ETH,\n} from '../utils/constants';\n"],"mappings":";;;;;;;;;;;;;;AAcA,MAAa,wBAAwB,SAAS,kBAAkB,KAAW;AACzE,qCAAoC,OAAO;;;;;;ACV7C,MAAa,6BACX,oBAC+C,gBAAgB,UAAU;;;;ACA3E,qBAAqBA,MAAaC,QAAe"}
|
package/dist/injected/addStarknetInjectedWalletsExtension/addStarknetInjectedWalletsExtension.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export declare const STARKNET_INJECTED_WALLETS_EXTENSION_KEY = "starknetInjected
|
|
|
5
5
|
* This extension enables integration with many Starknet wallets, like Braavos, Ready and Xverse.
|
|
6
6
|
*
|
|
7
7
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
8
|
-
* @
|
|
8
|
+
* @notInstrumented
|
|
9
9
|
*/
|
|
10
10
|
export declare const addStarknetInjectedWalletsExtension: (client?: import("@dynamic-labs-sdk/client").DynamicClient) => void;
|
|
11
11
|
//# sourceMappingURL=addStarknetInjectedWalletsExtension.d.ts.map
|
|
@@ -5,7 +5,7 @@ type CreateWalletProviderFromStarknetWalletParams = {
|
|
|
5
5
|
dynamicClient: DynamicClient;
|
|
6
6
|
starknetWindowProvider: StarknetWindowObject;
|
|
7
7
|
};
|
|
8
|
-
/** @
|
|
8
|
+
/** @notInstrumented */
|
|
9
9
|
export declare const createWalletProviderFromStarknetWallet: ({ dynamicClient, starknetWindowProvider, }: CreateWalletProviderFromStarknetWalletParams) => StarknetWalletProvider;
|
|
10
10
|
export {};
|
|
11
11
|
//# sourceMappingURL=createWalletProviderFromStarknetWallet.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createWalletProviderFromStarknetWallet.d.ts","sourceRoot":"","sources":["../../../../src/injected/utils/createWalletProviderFromStarknetWallet/createWalletProviderFromStarknetWallet.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAGnB,MAAM,0BAA0B,CAAC;AASlC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAI3E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAIpF,KAAK,4CAA4C,GAAG;IAClD,aAAa,EAAE,aAAa,CAAC;IAC7B,sBAAsB,EAAE,oBAAoB,CAAC;CAC9C,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"createWalletProviderFromStarknetWallet.d.ts","sourceRoot":"","sources":["../../../../src/injected/utils/createWalletProviderFromStarknetWallet/createWalletProviderFromStarknetWallet.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAGnB,MAAM,0BAA0B,CAAC;AASlC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAI3E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAIpF,KAAK,4CAA4C,GAAG;IAClD,aAAa,EAAE,aAAa,CAAC;IAC7B,sBAAsB,EAAE,oBAAoB,CAAC;CAC9C,CAAC;AAEF,uBAAuB;AACvB,eAAO,MAAM,sCAAsC,+CAGhD,4CAA4C,KAAG,sBA+MjD,CAAC"}
|
package/dist/injected.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_addStarknetInjectedWalletsExtension = require('./addStarknetInjectedWalletsExtension-
|
|
1
|
+
const require_addStarknetInjectedWalletsExtension = require('./addStarknetInjectedWalletsExtension-COJsb1CP.cjs');
|
|
2
2
|
let _dynamic_labs_sdk_assert_package_version = require("@dynamic-labs-sdk/assert-package-version");
|
|
3
3
|
|
|
4
4
|
//#region src/exports/injected.ts
|
package/dist/injected.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as name, l as version, t as addStarknetInjectedWalletsExtension } from "./addStarknetInjectedWalletsExtension-
|
|
1
|
+
import { c as name, l as version, t as addStarknetInjectedWalletsExtension } from "./addStarknetInjectedWalletsExtension-B5-lr1h9.esm.js";
|
|
2
2
|
import { assertPackageVersion } from "@dynamic-labs-sdk/assert-package-version";
|
|
3
3
|
|
|
4
4
|
//#region src/exports/injected.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { NetworkProvider } from '@dynamic-labs-sdk/client';
|
|
2
2
|
import type { StarknetNetworkProvider } from '../StarknetNetworkProvider.types';
|
|
3
|
-
/** @
|
|
3
|
+
/** @notInstrumented */
|
|
4
4
|
export declare const isStarknetNetworkProvider: (networkProvider: NetworkProvider) => networkProvider is StarknetNetworkProvider;
|
|
5
5
|
//# sourceMappingURL=isStarknetNetworkProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isStarknetNetworkProvider.d.ts","sourceRoot":"","sources":["../../src/isStarknetNetworkProvider/isStarknetNetworkProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,
|
|
1
|
+
{"version":3,"file":"isStarknetNetworkProvider.d.ts","sourceRoot":"","sources":["../../src/isStarknetNetworkProvider/isStarknetNetworkProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,uBAAuB;AACvB,eAAO,MAAM,yBAAyB,oBACnB,eAAe,KAC/B,eAAe,IAAI,uBAA4D,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { WalletAccount } from '@dynamic-labs-sdk/client';
|
|
2
2
|
import type { StarknetWalletAccount } from '../StarknetWalletAccount.types';
|
|
3
|
-
/** @
|
|
3
|
+
/** @notInstrumented */
|
|
4
4
|
export declare const isStarknetWalletAccount: (walletAccount: WalletAccount) => walletAccount is StarknetWalletAccount;
|
|
5
5
|
//# sourceMappingURL=isStarknetWalletAccount.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isStarknetWalletAccount.d.ts","sourceRoot":"","sources":["../../src/isStarknetWalletAccount/isStarknetWalletAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAE5E,
|
|
1
|
+
{"version":3,"file":"isStarknetWalletAccount.d.ts","sourceRoot":"","sources":["../../src/isStarknetWalletAccount/isStarknetWalletAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAE5E,uBAAuB;AACvB,eAAO,MAAM,uBAAuB,kBACnB,aAAa,KAC3B,aAAa,IAAI,qBAAwD,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { WalletProvider } from '@dynamic-labs-sdk/client/core';
|
|
2
2
|
import type { StarknetWalletProvider } from '../StarknetWalletProvider.types';
|
|
3
|
-
/** @
|
|
3
|
+
/** @notInstrumented */
|
|
4
4
|
export declare const isStarknetWalletProvider: (provider: WalletProvider | StarknetWalletProvider) => provider is StarknetWalletProvider;
|
|
5
5
|
//# sourceMappingURL=isStarknetWalletProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isStarknetWalletProvider.d.ts","sourceRoot":"","sources":["../../src/isStarknetWalletProvider/isStarknetWalletProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAE9E,
|
|
1
|
+
{"version":3,"file":"isStarknetWalletProvider.d.ts","sourceRoot":"","sources":["../../src/isStarknetWalletProvider/isStarknetWalletProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAE9E,uBAAuB;AAEvB,eAAO,MAAM,wBAAwB,aACzB,cAAc,GAAG,sBAAsB,KAChD,QAAQ,IAAI,sBAEd,CAAC"}
|
package/dist/registerStarknetNetworkProviderBuilder/registerStarknetNetworkProviderBuilder.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { DynamicClient } from '@dynamic-labs-sdk/client';
|
|
2
|
-
/** @
|
|
2
|
+
/** @notInstrumented */
|
|
3
3
|
export declare const registerStarknetNetworkProviderBuilder: (client: DynamicClient) => void;
|
|
4
4
|
//# sourceMappingURL=registerStarknetNetworkProviderBuilder.d.ts.map
|
package/dist/registerStarknetNetworkProviderBuilder/registerStarknetNetworkProviderBuilder.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerStarknetNetworkProviderBuilder.d.ts","sourceRoot":"","sources":["../../src/registerStarknetNetworkProviderBuilder/registerStarknetNetworkProviderBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAK9D,
|
|
1
|
+
{"version":3,"file":"registerStarknetNetworkProviderBuilder.d.ts","sourceRoot":"","sources":["../../src/registerStarknetNetworkProviderBuilder/registerStarknetNetworkProviderBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAK9D,uBAAuB;AACvB,eAAO,MAAM,sCAAsC,WACzC,aAAa,KACpB,IAaF,CAAC"}
|