thirdweb 5.102.2 → 5.102.3
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/Buy.js +7 -1
- package/dist/cjs/bridge/Buy.js.map +1 -1
- 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/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/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/Buy.js +7 -1
- package/dist/esm/bridge/Buy.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/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/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/Buy.d.ts +7 -1
- package/dist/types/bridge/Buy.d.ts.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/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/Buy.ts +7 -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/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/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
package/dist/esm/bridge/Buy.js
CHANGED
@@ -152,6 +152,8 @@ export async function quote(options) {
|
|
152
152
|
* destinationChainId: 10,
|
153
153
|
* destinationTokenAddress: NATIVE_TOKEN_ADDRESS,
|
154
154
|
* amount: toWei("0.01"),
|
155
|
+
* sender: "0x...",
|
156
|
+
* receiver: "0x...",
|
155
157
|
* client: thirdwebClient,
|
156
158
|
* });
|
157
159
|
* ```
|
@@ -237,6 +239,8 @@ export async function quote(options) {
|
|
237
239
|
* destinationChainId: 10,
|
238
240
|
* destinationTokenAddress: NATIVE_TOKEN_ADDRESS,
|
239
241
|
* amount: toWei("0.01"),
|
242
|
+
* sender: "0x...",
|
243
|
+
* receiver: "0x...",
|
240
244
|
* purchaseData: {
|
241
245
|
* size: "large",
|
242
246
|
* shippingAddress: "123 Main St, New York, NY 10001",
|
@@ -254,6 +258,8 @@ export async function quote(options) {
|
|
254
258
|
* destinationChainId: 10,
|
255
259
|
* destinationTokenAddress: NATIVE_TOKEN_ADDRESS,
|
256
260
|
* amount: toWei("0.01"),
|
261
|
+
* sender: "0x...",
|
262
|
+
* receiver: "0x...",
|
257
263
|
* maxSteps: 2, // Will only return a quote for routes with 2 or fewer steps
|
258
264
|
* client: thirdwebClient,
|
259
265
|
* });
|
@@ -267,7 +273,7 @@ export async function quote(options) {
|
|
267
273
|
* @param options.amount - The amount of the destination token to receive.
|
268
274
|
* @param options.sender - The address of the sender.
|
269
275
|
* @param options.receiver - The address of the recipient.
|
270
|
-
* @param options.purchaseData - Arbitrary data to be passed to the purchase function and included with any webhooks or status calls.
|
276
|
+
* @param [options.purchaseData] - Arbitrary data to be passed to the purchase function and included with any webhooks or status calls.
|
271
277
|
* @param [options.maxSteps] - Limit the number of total steps in the route.
|
272
278
|
* @param options.client - Your thirdweb client.
|
273
279
|
*
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Buy.js","sourceRoot":"","sources":["../../../src/bridge/Buy.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"Buy.js","sourceRoot":"","sources":["../../../src/bridge/Buy.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":"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"}
|
@@ -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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"}
|
@@ -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-${to}-${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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"}
|
@@ -5,7 +5,6 @@ import { resolveName } from "../../../extensions/ens/resolve-name.js";
|
|
5
5
|
import { shortenAddress } from "../../../utils/address.js";
|
6
6
|
import { parseAvatarRecord } from "../../../utils/ens/avatar.js";
|
7
7
|
import { getWalletInfo } from "../../../wallets/__generated__/getWalletInfo.js";
|
8
|
-
import { isEcosystemWallet } from "../../../wallets/ecosystem/is-ecosystem-wallet.js";
|
9
8
|
import { useWalletBalance } from "../hooks/others/useWalletBalance.js";
|
10
9
|
import { useSocialProfiles } from "../social/useSocialProfiles.js";
|
11
10
|
/**
|
@@ -178,50 +177,4 @@ export function useWalletImage(id) {
|
|
178
177
|
enabled: !!id,
|
179
178
|
});
|
180
179
|
}
|
181
|
-
/**
|
182
|
-
* @internal
|
183
|
-
*/
|
184
|
-
export function hasSponsoredTransactionsEnabled(wallet) {
|
185
|
-
if (!wallet) {
|
186
|
-
return false;
|
187
|
-
}
|
188
|
-
let sponsoredTransactionsEnabled = false;
|
189
|
-
if (wallet && wallet.id === "smart") {
|
190
|
-
const options = wallet.getConfig();
|
191
|
-
if ("sponsorGas" in options) {
|
192
|
-
sponsoredTransactionsEnabled = options.sponsorGas;
|
193
|
-
}
|
194
|
-
if ("gasless" in options) {
|
195
|
-
sponsoredTransactionsEnabled = options.gasless;
|
196
|
-
}
|
197
|
-
}
|
198
|
-
if (wallet && (wallet.id === "inApp" || isEcosystemWallet(wallet))) {
|
199
|
-
const options = wallet.getConfig();
|
200
|
-
if (options && "smartAccount" in options && options.smartAccount) {
|
201
|
-
const smartOptions = options.smartAccount;
|
202
|
-
if ("sponsorGas" in smartOptions) {
|
203
|
-
sponsoredTransactionsEnabled = smartOptions.sponsorGas;
|
204
|
-
}
|
205
|
-
if ("gasless" in smartOptions) {
|
206
|
-
sponsoredTransactionsEnabled = smartOptions.gasless;
|
207
|
-
}
|
208
|
-
}
|
209
|
-
if (options?.executionMode) {
|
210
|
-
const execMode = options.executionMode;
|
211
|
-
if (execMode.mode === "EIP4337") {
|
212
|
-
const smartOptions = execMode.smartAccount;
|
213
|
-
if (smartOptions && "sponsorGas" in smartOptions) {
|
214
|
-
sponsoredTransactionsEnabled = smartOptions.sponsorGas;
|
215
|
-
}
|
216
|
-
if (smartOptions && "gasless" in smartOptions) {
|
217
|
-
sponsoredTransactionsEnabled = smartOptions.gasless;
|
218
|
-
}
|
219
|
-
}
|
220
|
-
if (execMode.mode === "EIP7702") {
|
221
|
-
sponsoredTransactionsEnabled = execMode.sponsorGas || false;
|
222
|
-
}
|
223
|
-
}
|
224
|
-
}
|
225
|
-
return sponsoredTransactionsEnabled;
|
226
|
-
}
|
227
180
|
//# sourceMappingURL=wallet.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../../../../src/react/core/utils/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AAGzE,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;
|
1
|
+
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../../../../src/react/core/utils/wallet.ts"],"names":[],"mappings":"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"}
|