thirdweb 5.102.3-nightly-f44d6ba2827d7d7391425a5ddb2d49cafdc934bb-20250531000435 → 5.102.4-nightly-283dc289fca1ad16a9296e610d293b73a7123709-20250602000433
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/cjs/bridge/Token.js +153 -0
- package/dist/cjs/bridge/Token.js.map +1 -0
- package/dist/cjs/bridge/index.js +3 -1
- package/dist/cjs/bridge/index.js.map +1 -1
- package/dist/cjs/extensions/erc1155/read/getNFTs.js +9 -2
- package/dist/cjs/extensions/erc1155/read/getNFTs.js.map +1 -1
- package/dist/cjs/extensions/erc721/read/getNFTs.js +9 -2
- package/dist/cjs/extensions/erc721/read/getNFTs.js.map +1 -1
- package/dist/cjs/insight/get-tokens.js +5 -6
- package/dist/cjs/insight/get-tokens.js.map +1 -1
- package/dist/cjs/pay/convert/cryptoToFiat.js +6 -38
- package/dist/cjs/pay/convert/cryptoToFiat.js.map +1 -1
- package/dist/cjs/pay/convert/fiatToCrypto.js +6 -38
- package/dist/cjs/pay/convert/fiatToCrypto.js.map +1 -1
- package/dist/cjs/pay/convert/get-token.js +19 -0
- package/dist/cjs/pay/convert/get-token.js.map +1 -0
- package/dist/cjs/react/core/hooks/transaction/useSendTransaction.js +2 -2
- package/dist/cjs/react/core/hooks/transaction/useSendTransaction.js.map +1 -1
- package/dist/cjs/react/core/utils/wallet.js +0 -48
- package/dist/cjs/react/core/utils/wallet.js.map +1 -1
- package/dist/cjs/react/native/ui/connect/ConnectedModal.js +5 -5
- package/dist/cjs/react/native/ui/connect/ConnectedModal.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Details.js +7 -7
- package/dist/cjs/react/web/ui/ConnectWallet/Details.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +2 -2
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/fetchBalancesForWallet.js +28 -8
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/fetchBalancesForWallet.js.map +1 -1
- package/dist/cjs/react/web/ui/TransactionButton/DepositScreen.js +2 -2
- package/dist/cjs/react/web/ui/TransactionButton/DepositScreen.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/wallets/manager/index.js +1 -2
- package/dist/cjs/wallets/manager/index.js.map +1 -1
- package/dist/cjs/wallets/smart/is-smart-wallet.js +62 -5
- package/dist/cjs/wallets/smart/is-smart-wallet.js.map +1 -1
- package/dist/esm/bridge/Token.js +150 -0
- package/dist/esm/bridge/Token.js.map +1 -0
- package/dist/esm/bridge/index.js +1 -0
- package/dist/esm/bridge/index.js.map +1 -1
- package/dist/esm/extensions/erc1155/read/getNFTs.js +9 -2
- package/dist/esm/extensions/erc1155/read/getNFTs.js.map +1 -1
- package/dist/esm/extensions/erc721/read/getNFTs.js +9 -2
- package/dist/esm/extensions/erc721/read/getNFTs.js.map +1 -1
- package/dist/esm/insight/get-tokens.js +5 -6
- package/dist/esm/insight/get-tokens.js.map +1 -1
- package/dist/esm/pay/convert/cryptoToFiat.js +6 -38
- package/dist/esm/pay/convert/cryptoToFiat.js.map +1 -1
- package/dist/esm/pay/convert/fiatToCrypto.js +6 -38
- package/dist/esm/pay/convert/fiatToCrypto.js.map +1 -1
- package/dist/esm/pay/convert/get-token.js +16 -0
- package/dist/esm/pay/convert/get-token.js.map +1 -0
- package/dist/esm/react/core/hooks/transaction/useSendTransaction.js +1 -1
- package/dist/esm/react/core/hooks/transaction/useSendTransaction.js.map +1 -1
- package/dist/esm/react/core/utils/wallet.js +0 -47
- package/dist/esm/react/core/utils/wallet.js.map +1 -1
- package/dist/esm/react/native/ui/connect/ConnectedModal.js +5 -5
- package/dist/esm/react/native/ui/connect/ConnectedModal.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/Details.js +7 -7
- package/dist/esm/react/web/ui/ConnectWallet/Details.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/fetchBalancesForWallet.js +28 -8
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/fetchBalancesForWallet.js.map +1 -1
- package/dist/esm/react/web/ui/TransactionButton/DepositScreen.js +1 -1
- package/dist/esm/react/web/ui/TransactionButton/DepositScreen.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/wallets/manager/index.js +1 -2
- package/dist/esm/wallets/manager/index.js.map +1 -1
- package/dist/esm/wallets/smart/is-smart-wallet.js +61 -5
- package/dist/esm/wallets/smart/is-smart-wallet.js.map +1 -1
- package/dist/types/bridge/Token.d.ts +140 -0
- package/dist/types/bridge/Token.d.ts.map +1 -0
- package/dist/types/bridge/index.d.ts +1 -0
- package/dist/types/bridge/index.d.ts.map +1 -1
- package/dist/types/extensions/erc1155/read/getNFTs.d.ts.map +1 -1
- package/dist/types/insight/get-tokens.d.ts +2 -2
- package/dist/types/insight/get-tokens.d.ts.map +1 -1
- package/dist/types/pay/convert/cryptoToFiat.d.ts.map +1 -1
- package/dist/types/pay/convert/fiatToCrypto.d.ts.map +1 -1
- package/dist/types/pay/convert/get-token.d.ts +3 -0
- package/dist/types/pay/convert/get-token.d.ts.map +1 -0
- package/dist/types/react/core/hooks/transaction/useSendTransaction.d.ts.map +1 -1
- package/dist/types/react/core/utils/wallet.d.ts +1 -5
- package/dist/types/react/core/utils/wallet.d.ts.map +1 -1
- package/dist/types/react/native/ui/connect/ConnectedModal.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/Details.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/wallets/manager/index.d.ts.map +1 -1
- package/dist/types/wallets/smart/is-smart-wallet.d.ts +5 -1
- package/dist/types/wallets/smart/is-smart-wallet.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/bridge/Token.test.ts +90 -0
- package/src/bridge/Token.ts +184 -0
- package/src/bridge/index.ts +1 -0
- package/src/extensions/erc1155/read/getNFTs.ts +8 -2
- package/src/extensions/erc721/read/getNFTs.ts +8 -2
- package/src/insight/get-tokens.ts +13 -11
- package/src/pay/convert/cryptoToFiat.test.ts +1 -18
- package/src/pay/convert/cryptoToFiat.ts +6 -52
- package/src/pay/convert/fiatToCrypto.test.ts +1 -18
- package/src/pay/convert/fiatToCrypto.ts +6 -51
- package/src/pay/convert/get-token.ts +24 -0
- package/src/react/core/hooks/transaction/useSendTransaction.ts +1 -1
- package/src/react/core/utils/wallet.ts +1 -49
- package/src/react/native/ui/connect/ConnectedModal.tsx +5 -5
- package/src/react/web/ui/ConnectWallet/Details.tsx +7 -7
- package/src/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.tsx +1 -1
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/fetchBalancesForWallet.tsx +32 -8
- package/src/react/web/ui/TransactionButton/DepositScreen.tsx +1 -1
- package/src/version.ts +1 -1
- package/src/wallets/manager/index.ts +1 -2
- package/src/wallets/smart/is-smart-wallet.test.ts +163 -1
- package/src/wallets/smart/is-smart-wallet.ts +62 -5
- package/dist/cjs/react/core/utils/isSmartWallet.js +0 -12
- package/dist/cjs/react/core/utils/isSmartWallet.js.map +0 -1
- package/dist/cjs/wallets/smart/get-smart-wallet-config.js +0 -23
- package/dist/cjs/wallets/smart/get-smart-wallet-config.js.map +0 -1
- package/dist/esm/react/core/utils/isSmartWallet.js +0 -9
- package/dist/esm/react/core/utils/isSmartWallet.js.map +0 -1
- package/dist/esm/wallets/smart/get-smart-wallet-config.js +0 -20
- package/dist/esm/wallets/smart/get-smart-wallet-config.js.map +0 -1
- package/dist/types/react/core/utils/isSmartWallet.d.ts +0 -3
- package/dist/types/react/core/utils/isSmartWallet.d.ts.map +0 -1
- package/dist/types/wallets/smart/get-smart-wallet-config.d.ts +0 -13
- package/dist/types/wallets/smart/get-smart-wallet-config.d.ts.map +0 -1
- package/src/react/core/utils/isSmartWallet.test.ts +0 -19
- package/src/react/core/utils/isSmartWallet.ts +0 -12
- package/src/react/core/utils/wallet.test.ts +0 -77
- package/src/wallets/smart/get-smart-wallet-config.test.ts +0 -67
- package/src/wallets/smart/get-smart-wallet-config.ts +0 -24
@@ -1,6 +1,8 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.isSmartWallet = isSmartWallet;
|
4
|
+
exports.hasSponsoredTransactionsEnabled = hasSponsoredTransactionsEnabled;
|
5
|
+
const is_ecosystem_wallet_js_1 = require("../ecosystem/is-ecosystem-wallet.js");
|
4
6
|
/**
|
5
7
|
* Checks if the given wallet is a smart wallet.
|
6
8
|
*
|
@@ -8,14 +10,69 @@ exports.isSmartWallet = isSmartWallet;
|
|
8
10
|
* @returns {boolean} True if the wallet is a smart wallet, false otherwise.
|
9
11
|
* @internal
|
10
12
|
*/
|
11
|
-
function isSmartWallet(
|
12
|
-
if (
|
13
|
-
return
|
13
|
+
function isSmartWallet(activeWallet) {
|
14
|
+
if (!activeWallet) {
|
15
|
+
return false;
|
14
16
|
}
|
15
|
-
|
16
|
-
if (!!config && "smartAccount" in config && !!config.smartAccount) {
|
17
|
+
if (activeWallet.id === "smart") {
|
17
18
|
return true;
|
18
19
|
}
|
20
|
+
if (activeWallet.id === "inApp" || (0, is_ecosystem_wallet_js_1.isEcosystemWallet)(activeWallet)) {
|
21
|
+
const options = activeWallet.getConfig();
|
22
|
+
if (options && "smartAccount" in options && options.smartAccount) {
|
23
|
+
return true;
|
24
|
+
}
|
25
|
+
if (options?.executionMode) {
|
26
|
+
const execMode = options.executionMode;
|
27
|
+
return execMode.mode === "EIP4337" || execMode.mode === "EIP7702";
|
28
|
+
}
|
29
|
+
}
|
19
30
|
return false;
|
20
31
|
}
|
32
|
+
/**
|
33
|
+
* @internal
|
34
|
+
*/
|
35
|
+
function hasSponsoredTransactionsEnabled(wallet) {
|
36
|
+
if (!wallet) {
|
37
|
+
return false;
|
38
|
+
}
|
39
|
+
let sponsoredTransactionsEnabled = false;
|
40
|
+
if (wallet && wallet.id === "smart") {
|
41
|
+
const options = wallet.getConfig();
|
42
|
+
if ("sponsorGas" in options) {
|
43
|
+
sponsoredTransactionsEnabled = options.sponsorGas;
|
44
|
+
}
|
45
|
+
if ("gasless" in options) {
|
46
|
+
sponsoredTransactionsEnabled = options.gasless;
|
47
|
+
}
|
48
|
+
}
|
49
|
+
if (wallet && (wallet.id === "inApp" || (0, is_ecosystem_wallet_js_1.isEcosystemWallet)(wallet))) {
|
50
|
+
const options = wallet.getConfig();
|
51
|
+
if (options && "smartAccount" in options && options.smartAccount) {
|
52
|
+
const smartOptions = options.smartAccount;
|
53
|
+
if ("sponsorGas" in smartOptions) {
|
54
|
+
sponsoredTransactionsEnabled = smartOptions.sponsorGas;
|
55
|
+
}
|
56
|
+
if ("gasless" in smartOptions) {
|
57
|
+
sponsoredTransactionsEnabled = smartOptions.gasless;
|
58
|
+
}
|
59
|
+
}
|
60
|
+
if (options?.executionMode) {
|
61
|
+
const execMode = options.executionMode;
|
62
|
+
if (execMode.mode === "EIP4337") {
|
63
|
+
const smartOptions = execMode.smartAccount;
|
64
|
+
if (smartOptions && "sponsorGas" in smartOptions) {
|
65
|
+
sponsoredTransactionsEnabled = smartOptions.sponsorGas;
|
66
|
+
}
|
67
|
+
if (smartOptions && "gasless" in smartOptions) {
|
68
|
+
sponsoredTransactionsEnabled = smartOptions.gasless;
|
69
|
+
}
|
70
|
+
}
|
71
|
+
if (execMode.mode === "EIP7702") {
|
72
|
+
sponsoredTransactionsEnabled = execMode.sponsorGas || false;
|
73
|
+
}
|
74
|
+
}
|
75
|
+
}
|
76
|
+
return sponsoredTransactionsEnabled;
|
77
|
+
}
|
21
78
|
//# sourceMappingURL=is-smart-wallet.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"is-smart-wallet.js","sourceRoot":"","sources":["../../../../src/wallets/smart/is-smart-wallet.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"is-smart-wallet.js","sourceRoot":"","sources":["../../../../src/wallets/smart/is-smart-wallet.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,150 @@
|
|
1
|
+
import { getThirdwebBaseUrl } from "../utils/domains.js";
|
2
|
+
import { getClientFetch } from "../utils/fetch.js";
|
3
|
+
import { ApiError } from "./types/Errors.js";
|
4
|
+
/**
|
5
|
+
* Retrieves supported Universal Bridge tokens based on the provided filters.
|
6
|
+
*
|
7
|
+
* When multiple filters are specified, a token must satisfy all filters to be included (it acts as an AND operator).
|
8
|
+
*
|
9
|
+
* @example
|
10
|
+
* ```typescript
|
11
|
+
* import { Bridge } from "thirdweb";
|
12
|
+
*
|
13
|
+
* const tokens = await Bridge.tokens({
|
14
|
+
* client: thirdwebClient,
|
15
|
+
* });
|
16
|
+
* ```
|
17
|
+
*
|
18
|
+
* Returned tokens might look something like:
|
19
|
+
* ```typescript
|
20
|
+
* [
|
21
|
+
* {
|
22
|
+
* chainId: 1,
|
23
|
+
* address: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
|
24
|
+
* decimals: 18,
|
25
|
+
* symbol: "ETH",
|
26
|
+
* name: "Ethereum",
|
27
|
+
* iconUri: "https://assets.relay.link/icons/1/light.png",
|
28
|
+
* priceUsd: 2000.50
|
29
|
+
* },
|
30
|
+
* {
|
31
|
+
* chainId: 1,
|
32
|
+
* address: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
|
33
|
+
* decimals: 6,
|
34
|
+
* symbol: "USDC",
|
35
|
+
* name: "USD Coin",
|
36
|
+
* iconUri: "https://assets.coingecko.com/coins/images/6319/large/USD_Coin_icon.png",
|
37
|
+
* priceUsd: 1.00
|
38
|
+
* }
|
39
|
+
* ]
|
40
|
+
* ```
|
41
|
+
*
|
42
|
+
* You can filter for specific chains or tokens:
|
43
|
+
* ```typescript
|
44
|
+
* import { Bridge } from "thirdweb";
|
45
|
+
*
|
46
|
+
* // Get all tokens on Ethereum mainnet
|
47
|
+
* const ethTokens = await Bridge.tokens({
|
48
|
+
* chainId: 1,
|
49
|
+
* client: thirdwebClient,
|
50
|
+
* });
|
51
|
+
* ```
|
52
|
+
*
|
53
|
+
* You can search for tokens by symbol or name:
|
54
|
+
* ```typescript
|
55
|
+
* import { Bridge } from "thirdweb";
|
56
|
+
*
|
57
|
+
* // Search for USDC tokens
|
58
|
+
* const usdcTokens = await Bridge.tokens({
|
59
|
+
* symbol: "USDC",
|
60
|
+
* client: thirdwebClient,
|
61
|
+
* });
|
62
|
+
*
|
63
|
+
* // Search for tokens by name
|
64
|
+
* const ethereumTokens = await Bridge.tokens({
|
65
|
+
* name: "Ethereum",
|
66
|
+
* client: thirdwebClient,
|
67
|
+
* });
|
68
|
+
* ```
|
69
|
+
*
|
70
|
+
* You can filter by a specific token address:
|
71
|
+
* ```typescript
|
72
|
+
* import { Bridge } from "thirdweb";
|
73
|
+
*
|
74
|
+
* // Get a specific token
|
75
|
+
* const token = await Bridge.tokens({
|
76
|
+
* tokenAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
|
77
|
+
* client: thirdwebClient,
|
78
|
+
* });
|
79
|
+
* ```
|
80
|
+
*
|
81
|
+
* The returned tokens will be limited based on the API. You can paginate through the results using the `limit` and `offset` parameters:
|
82
|
+
* ```typescript
|
83
|
+
* import { Bridge } from "thirdweb";
|
84
|
+
*
|
85
|
+
* // Get the first 50 tokens
|
86
|
+
* const tokens = await Bridge.tokens({
|
87
|
+
* limit: 50,
|
88
|
+
* offset: 0,
|
89
|
+
* client: thirdwebClient,
|
90
|
+
* });
|
91
|
+
*
|
92
|
+
* // Get the next 50 tokens
|
93
|
+
* const nextTokens = await Bridge.tokens({
|
94
|
+
* limit: 50,
|
95
|
+
* offset: 50,
|
96
|
+
* client: thirdwebClient,
|
97
|
+
* });
|
98
|
+
* ```
|
99
|
+
*
|
100
|
+
* @param options - The options for retrieving tokens.
|
101
|
+
* @param options.client - Your thirdweb client.
|
102
|
+
* @param options.chainId - Filter by a specific chain ID.
|
103
|
+
* @param options.tokenAddress - Filter by a specific token address.
|
104
|
+
* @param options.symbol - Filter by token symbol.
|
105
|
+
* @param options.name - Filter by token name.
|
106
|
+
* @param options.limit - Number of tokens to return (min: 1, default: 100).
|
107
|
+
* @param options.offset - Number of tokens to skip (min: 0, default: 0).
|
108
|
+
*
|
109
|
+
* @returns A promise that resolves to an array of tokens.
|
110
|
+
*
|
111
|
+
* @throws Will throw an error if there is an issue fetching the tokens.
|
112
|
+
* @bridge
|
113
|
+
* @beta
|
114
|
+
*/
|
115
|
+
export async function tokens(options) {
|
116
|
+
const { client, chainId, tokenAddress, symbol, name, limit, offset } = options;
|
117
|
+
const clientFetch = getClientFetch(client);
|
118
|
+
const url = new URL(`${getThirdwebBaseUrl("bridge")}/v1/tokens`);
|
119
|
+
if (chainId !== null && chainId !== undefined) {
|
120
|
+
url.searchParams.set("chainId", chainId.toString());
|
121
|
+
}
|
122
|
+
if (tokenAddress) {
|
123
|
+
url.searchParams.set("tokenAddress", tokenAddress);
|
124
|
+
}
|
125
|
+
if (symbol) {
|
126
|
+
url.searchParams.set("symbol", symbol);
|
127
|
+
}
|
128
|
+
if (name) {
|
129
|
+
url.searchParams.set("name", name);
|
130
|
+
}
|
131
|
+
if (limit !== undefined) {
|
132
|
+
url.searchParams.set("limit", limit.toString());
|
133
|
+
}
|
134
|
+
if (offset !== null && offset !== undefined) {
|
135
|
+
url.searchParams.set("offset", offset.toString());
|
136
|
+
}
|
137
|
+
const response = await clientFetch(url.toString());
|
138
|
+
if (!response.ok) {
|
139
|
+
const errorJson = await response.json();
|
140
|
+
throw new ApiError({
|
141
|
+
code: errorJson.code || "UNKNOWN_ERROR",
|
142
|
+
message: errorJson.message || response.statusText,
|
143
|
+
correlationId: errorJson.correlationId || undefined,
|
144
|
+
statusCode: response.status,
|
145
|
+
});
|
146
|
+
}
|
147
|
+
const { data } = await response.json();
|
148
|
+
return data;
|
149
|
+
}
|
150
|
+
//# sourceMappingURL=Token.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Token.js","sourceRoot":"","sources":["../../../src/bridge/Token.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8GG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAuB;IAClD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAClE,OAAO,CAAC;IAEV,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,kBAAkB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAEjE,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC9C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QACjB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,MAAM,EAAE,CAAC;QACX,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,IAAI,EAAE,CAAC;QACT,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC5C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,IAAI,QAAQ,CAAC;YACjB,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,eAAe;YACvC,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,QAAQ,CAAC,UAAU;YACjD,aAAa,EAAE,SAAS,CAAC,aAAa,IAAI,SAAS;YACnD,UAAU,EAAE,QAAQ,CAAC,MAAM;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,GAAsB,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC1D,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/esm/bridge/index.js
CHANGED
@@ -6,5 +6,6 @@ export * as Webhook from "./Webhook.js";
|
|
6
6
|
export { status } from "./Status.js";
|
7
7
|
export { routes } from "./Routes.js";
|
8
8
|
export { chains } from "./Chains.js";
|
9
|
+
export { tokens } from "./Token.js";
|
9
10
|
export { parse } from "./Webhook.js";
|
10
11
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bridge/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bridge/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC"}
|
@@ -48,8 +48,15 @@ async function getNFTsFromInsight(options) {
|
|
48
48
|
const currentOffset = start ?? 0;
|
49
49
|
const expectedResultLength = Math.min(count, Math.max(0, Number(supply) - currentOffset));
|
50
50
|
if (result.length < expectedResultLength) {
|
51
|
-
|
52
|
-
|
51
|
+
try {
|
52
|
+
// fresh contracts might be delayed in indexing, so we fallback to RPC
|
53
|
+
// must use await here
|
54
|
+
return await getNFTsFromRPC(options);
|
55
|
+
}
|
56
|
+
catch {
|
57
|
+
// if RPC fails, we return the result from insight
|
58
|
+
return result;
|
59
|
+
}
|
53
60
|
}
|
54
61
|
return result;
|
55
62
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getNFTs.js","sourceRoot":"","sources":["../../../../../src/extensions/erc1155/read/getNFTs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAE/C,OAAO,EACL,4BAA4B,EAC5B,iBAAiB,GAClB,MAAM,+DAA+D,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAsBrC;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,OAA8C;IAE9C,MAAM,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACtC,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC;YACH,OAAO,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,OAA8C;IAE9C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,uBAAuB,CAAC,EAAE,GAAG,OAAO,CAAC;IAE7E,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzC,eAAe,CAAC;YACd,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;YACxB,eAAe,EAAE,QAAQ,CAAC,OAAO;YACjC,YAAY,EAAE;gBACZ,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;aACpD;SACF,CAAC;QACF,iBAAiB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC;KACnD,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,KAAK,IAAI,CAAC,CAAC;IACjC,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,CACnC,KAAK,EACL,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,CAC5C,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,GAAG,oBAAoB,EAAE,CAAC;QACzC,sEAAsE;
|
1
|
+
{"version":3,"file":"getNFTs.js","sourceRoot":"","sources":["../../../../../src/extensions/erc1155/read/getNFTs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAE/C,OAAO,EACL,4BAA4B,EAC5B,iBAAiB,GAClB,MAAM,+DAA+D,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAsBrC;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,OAA8C;IAE9C,MAAM,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACtC,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC;YACH,OAAO,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,OAA8C;IAE9C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,uBAAuB,CAAC,EAAE,GAAG,OAAO,CAAC;IAE7E,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzC,eAAe,CAAC;YACd,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;YACxB,eAAe,EAAE,QAAQ,CAAC,OAAO;YACjC,YAAY,EAAE;gBACZ,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;aACpD;SACF,CAAC;QACF,iBAAiB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC;KACnD,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,KAAK,IAAI,CAAC,CAAC;IACjC,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,CACnC,KAAK,EACL,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,CAC5C,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,GAAG,oBAAoB,EAAE,CAAC;QACzC,IAAI,CAAC;YACH,sEAAsE;YACtE,sBAAsB;YACtB,OAAO,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,kDAAkD;YAClD,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,OAA8C;IAE9C,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,uBAAuB,CAAC,CAAC;IAC/D,oFAAoF;IACpF,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;IAC5E,kGAAkG;IAClG,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,EAAE,KAAK,GAAG,KAAK,CAAC,CAAC;IAE7C,MAAM,QAAQ,GAAgC,EAAE,CAAC;IAEjD,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,QAAQ,CAAC,IAAI,CACX,MAAM,CAAC;YACL,GAAG,OAAO;YACV,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,KAAK;SAClB,CAAC,CACH,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAAC,kBAA4B;IAC7D,OAAO,CACL,iBAAiB,CAAC,kBAAkB,CAAC;QACrC,4BAA4B,CAAC,kBAAkB,CAAC,CACjD,CAAC;AACJ,CAAC"}
|
@@ -73,8 +73,15 @@ async function getNFTsFromInsight(options) {
|
|
73
73
|
Number(supplyInfo.startTokenId) -
|
74
74
|
currentOffset));
|
75
75
|
if (result.length < expectedResultLength) {
|
76
|
-
|
77
|
-
|
76
|
+
try {
|
77
|
+
// fresh contracts might be delayed in indexing, so we fallback to RPC
|
78
|
+
// must use await here
|
79
|
+
return await getNFTsFromRPC(options);
|
80
|
+
}
|
81
|
+
catch {
|
82
|
+
// if RPC fails, we return the result from insight
|
83
|
+
return result;
|
84
|
+
}
|
78
85
|
}
|
79
86
|
return result;
|
80
87
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getNFTs.js","sourceRoot":"","sources":["../../../../../src/extensions/erc721/read/getNFTs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,gDAAgD,CAAC;AAC9E,OAAO,EACL,sBAAsB,EACtB,WAAW,GACZ,MAAM,+CAA+C,CAAC;AACvD,OAAO,EACL,4BAA4B,EAC5B,iBAAiB,GAClB,MAAM,8DAA8D,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAoCrC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,OAA8C;IAE9C,MAAM,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACtC,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC;YACH,OAAO,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAAC,kBAA4B;IAC7D,OAAO,CACL,iBAAiB,CAAC,kBAAkB,CAAC;QACrC,CAAC,sBAAsB,CAAC,kBAAkB,CAAC;YACzC,4BAA4B,CAAC,kBAAkB,CAAC,CAAC,CACpD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,OAA8C;IAE9C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,uBAAuB,CAAC,EAAE,GAAG,OAAO,CAAC;IAE7E,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC7C,eAAe,CAAC;YACd,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;YACxB,eAAe,EAAE,QAAQ,CAAC,OAAO;YACjC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,KAAK;YAC7C,YAAY,EAAE;gBACZ,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;aACpD;SACF,CAAC;QACF,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YAClC,SAAS,EAAE,CAAC;YACZ,YAAY,EAAE,CAAC;SAChB,CAAC,CAAC;KACJ,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,KAAK,IAAI,CAAC,CAAC;IACjC,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,CACnC,KAAK,EACL,IAAI,CAAC,GAAG,CACN,CAAC,EACD,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC;QAC1B,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;QAC/B,aAAa,CAChB,CACF,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,GAAG,oBAAoB,EAAE,CAAC;QACzC,sEAAsE;
|
1
|
+
{"version":3,"file":"getNFTs.js","sourceRoot":"","sources":["../../../../../src/extensions/erc721/read/getNFTs.ts"],"names":[],"mappings":"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"}
|
@@ -13,7 +13,7 @@
|
|
13
13
|
* @insight
|
14
14
|
*/
|
15
15
|
export async function getOwnedTokens(args) {
|
16
|
-
const [{
|
16
|
+
const [{ getV1Tokens }, { getThirdwebDomains }, { getClientFetch }, { assertInsightEnabled }, { stringify },] = await Promise.all([
|
17
17
|
import("@thirdweb-dev/insight"),
|
18
18
|
import("../utils/domains.js"),
|
19
19
|
import("../utils/fetch.js"),
|
@@ -23,17 +23,16 @@ export async function getOwnedTokens(args) {
|
|
23
23
|
const { client, chains, ownerAddress, queryOptions } = args;
|
24
24
|
await assertInsightEnabled(chains);
|
25
25
|
const defaultQueryOptions = {
|
26
|
-
|
26
|
+
owner_address: ownerAddress,
|
27
|
+
chain_id: chains.map((chain) => chain.id),
|
28
|
+
include_native: "true",
|
27
29
|
include_spam: "false",
|
28
30
|
metadata: "true",
|
29
31
|
limit: 50,
|
30
32
|
};
|
31
|
-
const result = await
|
33
|
+
const result = await getV1Tokens({
|
32
34
|
baseUrl: `https://${getThirdwebDomains().insight}`,
|
33
35
|
fetch: getClientFetch(client),
|
34
|
-
path: {
|
35
|
-
ownerAddress: ownerAddress,
|
36
|
-
},
|
37
36
|
query: {
|
38
37
|
...defaultQueryOptions,
|
39
38
|
...queryOptions,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"get-tokens.js","sourceRoot":"","sources":["../../../src/insight/get-tokens.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,
|
1
|
+
{"version":3,"file":"get-tokens.js","sourceRoot":"","sources":["../../../src/insight/get-tokens.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAQpC;IACC,MAAM,CACJ,EAAE,WAAW,EAAE,EACf,EAAE,kBAAkB,EAAE,EACtB,EAAE,cAAc,EAAE,EAClB,EAAE,oBAAoB,EAAE,EACxB,EAAE,SAAS,EAAE,EACd,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpB,MAAM,CAAC,uBAAuB,CAAC;QAC/B,MAAM,CAAC,qBAAqB,CAAC;QAC7B,MAAM,CAAC,mBAAmB,CAAC;QAC3B,MAAM,CAAC,aAAa,CAAC;QACrB,MAAM,CAAC,kBAAkB,CAAC;KAC3B,CAAC,CAAC;IAEH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAE5D,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAEnC,MAAM,mBAAmB,GAA6B;QACpD,aAAa,EAAE,YAAY;QAC3B,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,cAAc,EAAE,MAAM;QACtB,YAAY,EAAE,OAAO;QACrB,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,EAAE;KACV,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;QAC/B,OAAO,EAAE,WAAW,kBAAkB,EAAE,CAAC,OAAO,EAAE;QAClD,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC;QAC7B,KAAK,EAAE;YACL,GAAG,mBAAmB;YACtB,GAAG,YAAY;SAChB;KACF,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CACxH,CAAC;IACJ,CAAC;IAED,OAAO,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,KAAmB;IAEnB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACvD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACrB,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO;YACL,KAAK;YACL,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;YACvC,YAAY,EAAE,CAAC,CAAC,aAAa;YAC7B,OAAO,EAAE,CAAC,CAAC,QAAQ;YACnB,QAAQ;YACR,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;YACtB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;SACnB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
@@ -1,12 +1,5 @@
|
|
1
|
-
import { getV1TokensPrice } from "@thirdweb-dev/insight";
|
2
|
-
import { NATIVE_TOKEN_ADDRESS } from "../../constants/addresses.js";
|
3
|
-
import { getBytecode } from "../../contract/actions/get-bytecode.js";
|
4
|
-
import { getContract } from "../../contract/contract.js";
|
5
1
|
import { isAddress } from "../../utils/address.js";
|
6
|
-
import {
|
7
|
-
import { getClientFetch } from "../../utils/fetch.js";
|
8
|
-
import { stringify } from "../../utils/json.js";
|
9
|
-
import { withCache } from "../../utils/promise/withCache.js";
|
2
|
+
import { getTokenPrice } from "./get-token.js";
|
10
3
|
/**
|
11
4
|
* Get a price of a token (using tokenAddress + chainId) in fiat.
|
12
5
|
* Only USD is supported at the moment.
|
@@ -30,7 +23,7 @@ import { withCache } from "../../utils/promise/withCache.js";
|
|
30
23
|
* @returns a number representing the price (in selected fiat) of "x" token, with "x" being the `fromAmount`.
|
31
24
|
*/
|
32
25
|
export async function convertCryptoToFiat(options) {
|
33
|
-
const { client, fromTokenAddress,
|
26
|
+
const { client, fromTokenAddress, chain, fromAmount } = options;
|
34
27
|
if (Number(fromAmount) === 0) {
|
35
28
|
return { result: 0 };
|
36
29
|
}
|
@@ -44,35 +37,10 @@ export async function convertCryptoToFiat(options) {
|
|
44
37
|
if (!isAddress(fromTokenAddress)) {
|
45
38
|
throw new Error("Invalid fromTokenAddress. Expected a valid EVM contract address");
|
46
39
|
}
|
47
|
-
|
48
|
-
if (
|
49
|
-
|
50
|
-
address: fromTokenAddress,
|
51
|
-
chain,
|
52
|
-
client,
|
53
|
-
})).catch(() => undefined);
|
54
|
-
if (!bytecode || bytecode === "0x") {
|
55
|
-
throw new Error(`Error: ${fromTokenAddress} on chainId: ${chain.id} is not a valid contract address.`);
|
56
|
-
}
|
40
|
+
const price = await getTokenPrice(client, fromTokenAddress, chain.id);
|
41
|
+
if (!price) {
|
42
|
+
throw new Error(`Error: Failed to fetch price for token ${fromTokenAddress} on chainId: ${chain.id}`);
|
57
43
|
}
|
58
|
-
|
59
|
-
baseUrl: `https://${getThirdwebDomains().insight}`,
|
60
|
-
fetch: getClientFetch(client),
|
61
|
-
query: {
|
62
|
-
address: fromTokenAddress,
|
63
|
-
chain_id: [chain.id],
|
64
|
-
},
|
65
|
-
}), {
|
66
|
-
cacheKey: `convert-fiat-to-crypto-${fromTokenAddress}-${chain.id}`,
|
67
|
-
cacheTime: 1000 * 60, // 1 minute cache
|
68
|
-
});
|
69
|
-
if (result.error) {
|
70
|
-
throw new Error(`Failed to fetch ${to} value for token (${fromTokenAddress}) on chainId: ${chain.id} - ${result.response.status} ${result.response.statusText} - ${result.error ? stringify(result.error) : "Unknown error"}`);
|
71
|
-
}
|
72
|
-
const firstResult = result.data?.data[0];
|
73
|
-
if (!firstResult) {
|
74
|
-
throw new Error(`Failed to fetch ${to} value for token (${fromTokenAddress}) on chainId: ${chain.id}`);
|
75
|
-
}
|
76
|
-
return { result: firstResult.price_usd * fromAmount };
|
44
|
+
return { result: price * fromAmount };
|
77
45
|
}
|
78
46
|
//# sourceMappingURL=cryptoToFiat.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cryptoToFiat.js","sourceRoot":"","sources":["../../../../src/pay/convert/cryptoToFiat.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"cryptoToFiat.js","sourceRoot":"","sources":["../../../../src/pay/convert/cryptoToFiat.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AA6B/C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAkC;IAElC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAChE,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACvB,CAAC;IACD,wDAAwD;IACxD,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,8CAA8C,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7E,CAAC;IACD,wEAAwE;IACxE,0EAA0E;IAE1E,qCAAqC;IACrC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACtE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,0CAA0C,gBAAgB,gBAAgB,KAAK,CAAC,EAAE,EAAE,CACrF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,KAAK,GAAG,UAAU,EAAE,CAAC;AACxC,CAAC"}
|
@@ -1,12 +1,5 @@
|
|
1
|
-
import { getV1TokensPrice } from "@thirdweb-dev/insight";
|
2
|
-
import { NATIVE_TOKEN_ADDRESS } from "../../constants/addresses.js";
|
3
|
-
import { getBytecode } from "../../contract/actions/get-bytecode.js";
|
4
|
-
import { getContract } from "../../contract/contract.js";
|
5
1
|
import { isAddress } from "../../utils/address.js";
|
6
|
-
import {
|
7
|
-
import { getClientFetch } from "../../utils/fetch.js";
|
8
|
-
import { stringify } from "../../utils/json.js";
|
9
|
-
import { withCache } from "../../utils/promise/withCache.js";
|
2
|
+
import { getTokenPrice } from "./get-token.js";
|
10
3
|
/**
|
11
4
|
* Convert a fiat value to a token.
|
12
5
|
* Currently only USD is supported.
|
@@ -30,7 +23,7 @@ import { withCache } from "../../utils/promise/withCache.js";
|
|
30
23
|
* @buyCrypto
|
31
24
|
*/
|
32
25
|
export async function convertFiatToCrypto(options) {
|
33
|
-
const { client,
|
26
|
+
const { client, to, chain, fromAmount } = options;
|
34
27
|
if (Number(fromAmount) === 0) {
|
35
28
|
return { result: 0 };
|
36
29
|
}
|
@@ -44,35 +37,10 @@ export async function convertFiatToCrypto(options) {
|
|
44
37
|
if (!isAddress(to)) {
|
45
38
|
throw new Error("Invalid `to`. Expected a valid EVM contract address");
|
46
39
|
}
|
47
|
-
|
48
|
-
if (
|
49
|
-
|
50
|
-
address: to,
|
51
|
-
chain,
|
52
|
-
client,
|
53
|
-
})).catch(() => undefined);
|
54
|
-
if (!bytecode || bytecode === "0x") {
|
55
|
-
throw new Error(`Error: ${to} on chainId: ${chain.id} is not a valid contract address.`);
|
56
|
-
}
|
40
|
+
const price = await getTokenPrice(client, to, chain.id);
|
41
|
+
if (!price || price === 0) {
|
42
|
+
throw new Error(`Error: Failed to fetch price for token ${to} on chainId: ${chain.id}`);
|
57
43
|
}
|
58
|
-
|
59
|
-
baseUrl: `https://${getThirdwebDomains().insight}`,
|
60
|
-
fetch: getClientFetch(client),
|
61
|
-
query: {
|
62
|
-
address: to,
|
63
|
-
chain_id: [chain.id],
|
64
|
-
},
|
65
|
-
}), {
|
66
|
-
cacheKey: `convert-fiat-to-crypto-${to}-${chain.id}`,
|
67
|
-
cacheTime: 1000 * 60, // 1 minute cache
|
68
|
-
});
|
69
|
-
if (result.error) {
|
70
|
-
throw new Error(`Failed to fetch ${from} value for token (${to}) on chainId: ${chain.id} - ${result.response.status} ${result.response.statusText} - ${result.error ? stringify(result.error) : "Unknown error"}`);
|
71
|
-
}
|
72
|
-
const firstResult = result.data?.data[0];
|
73
|
-
if (!firstResult || firstResult.price_usd === 0) {
|
74
|
-
throw new Error(`Failed to fetch ${from} value for token (${to}) on chainId: ${chain.id}`);
|
75
|
-
}
|
76
|
-
return { result: fromAmount / firstResult.price_usd };
|
44
|
+
return { result: fromAmount / price };
|
77
45
|
}
|
78
46
|
//# sourceMappingURL=fiatToCrypto.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"fiatToCrypto.js","sourceRoot":"","sources":["../../../../src/pay/convert/fiatToCrypto.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"fiatToCrypto.js","sourceRoot":"","sources":["../../../../src/pay/convert/fiatToCrypto.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AA8B/C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAkC;IAElC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAClD,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACvB,CAAC;IACD,wDAAwD;IACxD,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,8CAA8C,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7E,CAAC;IACD,wEAAwE;IACxE,0EAA0E;IAE1E,qCAAqC;IACrC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACxD,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,0CAA0C,EAAE,gBAAgB,KAAK,CAAC,EAAE,EAAE,CACvE,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,CAAC;AACxC,CAAC"}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { tokens } from "../../bridge/Token.js";
|
2
|
+
import { withCache } from "../../utils/promise/withCache.js";
|
3
|
+
export async function getTokenPrice(client, tokenAddress, chainId) {
|
4
|
+
return withCache(async () => {
|
5
|
+
const result = await tokens({
|
6
|
+
client,
|
7
|
+
tokenAddress,
|
8
|
+
chainId,
|
9
|
+
});
|
10
|
+
return result[0]?.priceUsd;
|
11
|
+
}, {
|
12
|
+
cacheKey: `get-token-price-${tokenAddress}-${chainId}`,
|
13
|
+
cacheTime: 1000 * 60, // 1 minute
|
14
|
+
});
|
15
|
+
}
|
16
|
+
//# sourceMappingURL=get-token.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"get-token.js","sourceRoot":"","sources":["../../../../src/pay/convert/get-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAE7D,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAsB,EACtB,YAAoB,EACpB,OAAe;IAEf,OAAO,SAAS,CACd,KAAK,IAAI,EAAE;QACT,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC;YAC1B,MAAM;YACN,YAAY;YACZ,OAAO;SACR,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;IAC7B,CAAC,EACD;QACE,QAAQ,EAAE,mBAAmB,YAAY,IAAI,OAAO,EAAE;QACtD,SAAS,EAAE,IAAI,GAAG,EAAE,EAAE,WAAW;KAClC,CACF,CAAC;AACJ,CAAC"}
|
@@ -4,9 +4,9 @@ import * as Bridge from "../../../../bridge/index.js";
|
|
4
4
|
import { sendTransaction } from "../../../../transaction/actions/send-transaction.js";
|
5
5
|
import { getTransactionGasCost } from "../../../../transaction/utils.js";
|
6
6
|
import { resolvePromisedValue } from "../../../../utils/promise/resolve-promised-value.js";
|
7
|
+
import { hasSponsoredTransactionsEnabled } from "../../../../wallets/smart/is-smart-wallet.js";
|
7
8
|
import { getTokenBalance } from "../../../../wallets/utils/getTokenBalance.js";
|
8
9
|
import { getWalletBalance } from "../../../../wallets/utils/getWalletBalance.js";
|
9
|
-
import { hasSponsoredTransactionsEnabled } from "../../utils/wallet.js";
|
10
10
|
/**
|
11
11
|
* A hook to send a transaction.
|
12
12
|
* @returns A mutation object to send a transaction.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useSendTransaction.js","sourceRoot":"","sources":["../../../../../../src/react/core/hooks/transaction/useSendTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,KAAK,MAAM,MAAM,6BAA6B,CAAC;AAMtD,OAAO,EAAE,eAAe,EAAE,MAAM,qDAAqD,CAAC;AAGtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qDAAqD,CAAC;AAE3F,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"useSendTransaction.js","sourceRoot":"","sources":["../../../../../../src/react/core/hooks/transaction/useSendTransaction.ts"],"names":[],"mappings":"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"}
|