thirdweb 5.102.3-nightly-f44d6ba2827d7d7391425a5ddb2d49cafdc934bb-20250531000435 → 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/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/version.js.map +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/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/version.js.map +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/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/version.d.ts.map +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/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
@@ -0,0 +1,153 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.tokens = tokens;
|
4
|
+
const domains_js_1 = require("../utils/domains.js");
|
5
|
+
const fetch_js_1 = require("../utils/fetch.js");
|
6
|
+
const Errors_js_1 = require("./types/Errors.js");
|
7
|
+
/**
|
8
|
+
* Retrieves supported Universal Bridge tokens based on the provided filters.
|
9
|
+
*
|
10
|
+
* When multiple filters are specified, a token must satisfy all filters to be included (it acts as an AND operator).
|
11
|
+
*
|
12
|
+
* @example
|
13
|
+
* ```typescript
|
14
|
+
* import { Bridge } from "thirdweb";
|
15
|
+
*
|
16
|
+
* const tokens = await Bridge.tokens({
|
17
|
+
* client: thirdwebClient,
|
18
|
+
* });
|
19
|
+
* ```
|
20
|
+
*
|
21
|
+
* Returned tokens might look something like:
|
22
|
+
* ```typescript
|
23
|
+
* [
|
24
|
+
* {
|
25
|
+
* chainId: 1,
|
26
|
+
* address: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
|
27
|
+
* decimals: 18,
|
28
|
+
* symbol: "ETH",
|
29
|
+
* name: "Ethereum",
|
30
|
+
* iconUri: "https://assets.relay.link/icons/1/light.png",
|
31
|
+
* priceUsd: 2000.50
|
32
|
+
* },
|
33
|
+
* {
|
34
|
+
* chainId: 1,
|
35
|
+
* address: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
|
36
|
+
* decimals: 6,
|
37
|
+
* symbol: "USDC",
|
38
|
+
* name: "USD Coin",
|
39
|
+
* iconUri: "https://assets.coingecko.com/coins/images/6319/large/USD_Coin_icon.png",
|
40
|
+
* priceUsd: 1.00
|
41
|
+
* }
|
42
|
+
* ]
|
43
|
+
* ```
|
44
|
+
*
|
45
|
+
* You can filter for specific chains or tokens:
|
46
|
+
* ```typescript
|
47
|
+
* import { Bridge } from "thirdweb";
|
48
|
+
*
|
49
|
+
* // Get all tokens on Ethereum mainnet
|
50
|
+
* const ethTokens = await Bridge.tokens({
|
51
|
+
* chainId: 1,
|
52
|
+
* client: thirdwebClient,
|
53
|
+
* });
|
54
|
+
* ```
|
55
|
+
*
|
56
|
+
* You can search for tokens by symbol or name:
|
57
|
+
* ```typescript
|
58
|
+
* import { Bridge } from "thirdweb";
|
59
|
+
*
|
60
|
+
* // Search for USDC tokens
|
61
|
+
* const usdcTokens = await Bridge.tokens({
|
62
|
+
* symbol: "USDC",
|
63
|
+
* client: thirdwebClient,
|
64
|
+
* });
|
65
|
+
*
|
66
|
+
* // Search for tokens by name
|
67
|
+
* const ethereumTokens = await Bridge.tokens({
|
68
|
+
* name: "Ethereum",
|
69
|
+
* client: thirdwebClient,
|
70
|
+
* });
|
71
|
+
* ```
|
72
|
+
*
|
73
|
+
* You can filter by a specific token address:
|
74
|
+
* ```typescript
|
75
|
+
* import { Bridge } from "thirdweb";
|
76
|
+
*
|
77
|
+
* // Get a specific token
|
78
|
+
* const token = await Bridge.tokens({
|
79
|
+
* tokenAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
|
80
|
+
* client: thirdwebClient,
|
81
|
+
* });
|
82
|
+
* ```
|
83
|
+
*
|
84
|
+
* The returned tokens will be limited based on the API. You can paginate through the results using the `limit` and `offset` parameters:
|
85
|
+
* ```typescript
|
86
|
+
* import { Bridge } from "thirdweb";
|
87
|
+
*
|
88
|
+
* // Get the first 50 tokens
|
89
|
+
* const tokens = await Bridge.tokens({
|
90
|
+
* limit: 50,
|
91
|
+
* offset: 0,
|
92
|
+
* client: thirdwebClient,
|
93
|
+
* });
|
94
|
+
*
|
95
|
+
* // Get the next 50 tokens
|
96
|
+
* const nextTokens = await Bridge.tokens({
|
97
|
+
* limit: 50,
|
98
|
+
* offset: 50,
|
99
|
+
* client: thirdwebClient,
|
100
|
+
* });
|
101
|
+
* ```
|
102
|
+
*
|
103
|
+
* @param options - The options for retrieving tokens.
|
104
|
+
* @param options.client - Your thirdweb client.
|
105
|
+
* @param options.chainId - Filter by a specific chain ID.
|
106
|
+
* @param options.tokenAddress - Filter by a specific token address.
|
107
|
+
* @param options.symbol - Filter by token symbol.
|
108
|
+
* @param options.name - Filter by token name.
|
109
|
+
* @param options.limit - Number of tokens to return (min: 1, default: 100).
|
110
|
+
* @param options.offset - Number of tokens to skip (min: 0, default: 0).
|
111
|
+
*
|
112
|
+
* @returns A promise that resolves to an array of tokens.
|
113
|
+
*
|
114
|
+
* @throws Will throw an error if there is an issue fetching the tokens.
|
115
|
+
* @bridge
|
116
|
+
* @beta
|
117
|
+
*/
|
118
|
+
async function tokens(options) {
|
119
|
+
const { client, chainId, tokenAddress, symbol, name, limit, offset } = options;
|
120
|
+
const clientFetch = (0, fetch_js_1.getClientFetch)(client);
|
121
|
+
const url = new URL(`${(0, domains_js_1.getThirdwebBaseUrl)("bridge")}/v1/tokens`);
|
122
|
+
if (chainId !== null && chainId !== undefined) {
|
123
|
+
url.searchParams.set("chainId", chainId.toString());
|
124
|
+
}
|
125
|
+
if (tokenAddress) {
|
126
|
+
url.searchParams.set("tokenAddress", tokenAddress);
|
127
|
+
}
|
128
|
+
if (symbol) {
|
129
|
+
url.searchParams.set("symbol", symbol);
|
130
|
+
}
|
131
|
+
if (name) {
|
132
|
+
url.searchParams.set("name", name);
|
133
|
+
}
|
134
|
+
if (limit !== undefined) {
|
135
|
+
url.searchParams.set("limit", limit.toString());
|
136
|
+
}
|
137
|
+
if (offset !== null && offset !== undefined) {
|
138
|
+
url.searchParams.set("offset", offset.toString());
|
139
|
+
}
|
140
|
+
const response = await clientFetch(url.toString());
|
141
|
+
if (!response.ok) {
|
142
|
+
const errorJson = await response.json();
|
143
|
+
throw new Errors_js_1.ApiError({
|
144
|
+
code: errorJson.code || "UNKNOWN_ERROR",
|
145
|
+
message: errorJson.message || response.statusText,
|
146
|
+
correlationId: errorJson.correlationId || undefined,
|
147
|
+
statusCode: response.status,
|
148
|
+
});
|
149
|
+
}
|
150
|
+
const { data } = await response.json();
|
151
|
+
return data;
|
152
|
+
}
|
153
|
+
//# sourceMappingURL=Token.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Token.js","sourceRoot":"","sources":["../../../src/bridge/Token.ts"],"names":[],"mappings":";;AAqHA,wBAuCC;AA3JD,oDAAyD;AACzD,gDAAmD;AACnD,iDAA6C;AAG7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8GG;AACI,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,IAAA,yBAAc,EAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAA,+BAAkB,EAAC,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,oBAAQ,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/cjs/bridge/index.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.parse = exports.chains = exports.routes = exports.status = exports.Webhook = exports.Onramp = exports.Transfer = exports.Sell = exports.Buy = void 0;
|
3
|
+
exports.parse = exports.tokens = exports.chains = exports.routes = exports.status = exports.Webhook = exports.Onramp = exports.Transfer = exports.Sell = exports.Buy = void 0;
|
4
4
|
exports.Buy = require("./Buy.js");
|
5
5
|
exports.Sell = require("./Sell.js");
|
6
6
|
exports.Transfer = require("./Transfer.js");
|
@@ -12,6 +12,8 @@ var Routes_js_1 = require("./Routes.js");
|
|
12
12
|
Object.defineProperty(exports, "routes", { enumerable: true, get: function () { return Routes_js_1.routes; } });
|
13
13
|
var Chains_js_1 = require("./Chains.js");
|
14
14
|
Object.defineProperty(exports, "chains", { enumerable: true, get: function () { return Chains_js_1.chains; } });
|
15
|
+
var Token_js_1 = require("./Token.js");
|
16
|
+
Object.defineProperty(exports, "tokens", { enumerable: true, get: function () { return Token_js_1.tokens; } });
|
15
17
|
var Webhook_js_1 = require("./Webhook.js");
|
16
18
|
Object.defineProperty(exports, "parse", { enumerable: true, get: function () { return Webhook_js_1.parse; } });
|
17
19
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bridge/index.ts"],"names":[],"mappings":";;;AAAA,kCAAgC;AAChC,oCAAkC;AAClC,4CAA0C;AAC1C,wCAAsC;AACtC,0CAAwC;AACxC,yCAAqC;AAA5B,mGAAA,MAAM,OAAA;AACf,yCAAqC;AAA5B,mGAAA,MAAM,OAAA;AACf,yCAAqC;AAA5B,mGAAA,MAAM,OAAA;AACf,2CAAqC;AAA5B,mGAAA,KAAK,OAAA"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bridge/index.ts"],"names":[],"mappings":";;;AAAA,kCAAgC;AAChC,oCAAkC;AAClC,4CAA0C;AAC1C,wCAAsC;AACtC,0CAAwC;AACxC,yCAAqC;AAA5B,mGAAA,MAAM,OAAA;AACf,yCAAqC;AAA5B,mGAAA,MAAM,OAAA;AACf,yCAAqC;AAA5B,mGAAA,MAAM,OAAA;AACf,uCAAoC;AAA3B,kGAAA,MAAM,OAAA;AACf,2CAAqC;AAA5B,mGAAA,KAAK,OAAA"}
|
@@ -52,8 +52,15 @@ async function getNFTsFromInsight(options) {
|
|
52
52
|
const currentOffset = start ?? 0;
|
53
53
|
const expectedResultLength = Math.min(count, Math.max(0, Number(supply) - currentOffset));
|
54
54
|
if (result.length < expectedResultLength) {
|
55
|
-
|
56
|
-
|
55
|
+
try {
|
56
|
+
// fresh contracts might be delayed in indexing, so we fallback to RPC
|
57
|
+
// must use await here
|
58
|
+
return await getNFTsFromRPC(options);
|
59
|
+
}
|
60
|
+
catch {
|
61
|
+
// if RPC fails, we return the result from insight
|
62
|
+
return result;
|
63
|
+
}
|
57
64
|
}
|
58
65
|
return result;
|
59
66
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getNFTs.js","sourceRoot":"","sources":["../../../../../src/extensions/erc1155/read/getNFTs.ts"],"names":[],"mappings":";;AAgDA,0BAYC;
|
1
|
+
{"version":3,"file":"getNFTs.js","sourceRoot":"","sources":["../../../../../src/extensions/erc1155/read/getNFTs.ts"],"names":[],"mappings":"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"}
|
@@ -77,8 +77,15 @@ async function getNFTsFromInsight(options) {
|
|
77
77
|
Number(supplyInfo.startTokenId) -
|
78
78
|
currentOffset));
|
79
79
|
if (result.length < expectedResultLength) {
|
80
|
-
|
81
|
-
|
80
|
+
try {
|
81
|
+
// fresh contracts might be delayed in indexing, so we fallback to RPC
|
82
|
+
// must use await here
|
83
|
+
return await getNFTsFromRPC(options);
|
84
|
+
}
|
85
|
+
catch {
|
86
|
+
// if RPC fails, we return the result from insight
|
87
|
+
return result;
|
88
|
+
}
|
82
89
|
}
|
83
90
|
return result;
|
84
91
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getNFTs.js","sourceRoot":"","sources":["../../../../../src/extensions/erc721/read/getNFTs.ts"],"names":[],"mappings":";;AAmEA,0BAYC;AAcD,gDAMC;AAnGD,wDAA4D;AAE5D,wDAA+C;AAE/C,oFAA8E;AAC9E,kFAGuD;AACvD,uGAGsE;AACtE,2CAAwD;AAExD,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAoCrC;;;;;;;;;;;;;;;GAeG;AACI,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,SAAgB,kBAAkB,CAAC,kBAA4B;IAC7D,OAAO,CACL,IAAA,6BAAiB,EAAC,kBAAkB,CAAC;QACrC,CAAC,IAAA,uCAAsB,EAAC,kBAAkB,CAAC;YACzC,IAAA,mDAA4B,EAAC,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,IAAA,0BAAe,EAAC;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,15 +1,8 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.convertCryptoToFiat = convertCryptoToFiat;
|
4
|
-
const insight_1 = require("@thirdweb-dev/insight");
|
5
|
-
const addresses_js_1 = require("../../constants/addresses.js");
|
6
|
-
const get_bytecode_js_1 = require("../../contract/actions/get-bytecode.js");
|
7
|
-
const contract_js_1 = require("../../contract/contract.js");
|
8
4
|
const address_js_1 = require("../../utils/address.js");
|
9
|
-
const
|
10
|
-
const fetch_js_1 = require("../../utils/fetch.js");
|
11
|
-
const json_js_1 = require("../../utils/json.js");
|
12
|
-
const withCache_js_1 = require("../../utils/promise/withCache.js");
|
5
|
+
const get_token_js_1 = require("./get-token.js");
|
13
6
|
/**
|
14
7
|
* Get a price of a token (using tokenAddress + chainId) in fiat.
|
15
8
|
* Only USD is supported at the moment.
|
@@ -33,7 +26,7 @@ const withCache_js_1 = require("../../utils/promise/withCache.js");
|
|
33
26
|
* @returns a number representing the price (in selected fiat) of "x" token, with "x" being the `fromAmount`.
|
34
27
|
*/
|
35
28
|
async function convertCryptoToFiat(options) {
|
36
|
-
const { client, fromTokenAddress,
|
29
|
+
const { client, fromTokenAddress, chain, fromAmount } = options;
|
37
30
|
if (Number(fromAmount) === 0) {
|
38
31
|
return { result: 0 };
|
39
32
|
}
|
@@ -47,35 +40,10 @@ async function convertCryptoToFiat(options) {
|
|
47
40
|
if (!(0, address_js_1.isAddress)(fromTokenAddress)) {
|
48
41
|
throw new Error("Invalid fromTokenAddress. Expected a valid EVM contract address");
|
49
42
|
}
|
50
|
-
|
51
|
-
if (
|
52
|
-
|
53
|
-
address: fromTokenAddress,
|
54
|
-
chain,
|
55
|
-
client,
|
56
|
-
})).catch(() => undefined);
|
57
|
-
if (!bytecode || bytecode === "0x") {
|
58
|
-
throw new Error(`Error: ${fromTokenAddress} on chainId: ${chain.id} is not a valid contract address.`);
|
59
|
-
}
|
43
|
+
const price = await (0, get_token_js_1.getTokenPrice)(client, fromTokenAddress, chain.id);
|
44
|
+
if (!price) {
|
45
|
+
throw new Error(`Error: Failed to fetch price for token ${fromTokenAddress} on chainId: ${chain.id}`);
|
60
46
|
}
|
61
|
-
|
62
|
-
baseUrl: `https://${(0, domains_js_1.getThirdwebDomains)().insight}`,
|
63
|
-
fetch: (0, fetch_js_1.getClientFetch)(client),
|
64
|
-
query: {
|
65
|
-
address: fromTokenAddress,
|
66
|
-
chain_id: [chain.id],
|
67
|
-
},
|
68
|
-
}), {
|
69
|
-
cacheKey: `convert-fiat-to-crypto-${fromTokenAddress}-${chain.id}`,
|
70
|
-
cacheTime: 1000 * 60, // 1 minute cache
|
71
|
-
});
|
72
|
-
if (result.error) {
|
73
|
-
throw new Error(`Failed to fetch ${to} value for token (${fromTokenAddress}) on chainId: ${chain.id} - ${result.response.status} ${result.response.statusText} - ${result.error ? (0, json_js_1.stringify)(result.error) : "Unknown error"}`);
|
74
|
-
}
|
75
|
-
const firstResult = result.data?.data[0];
|
76
|
-
if (!firstResult) {
|
77
|
-
throw new Error(`Failed to fetch ${to} value for token (${fromTokenAddress}) on chainId: ${chain.id}`);
|
78
|
-
}
|
79
|
-
return { result: firstResult.price_usd * fromAmount };
|
47
|
+
return { result: price * fromAmount };
|
80
48
|
}
|
81
49
|
//# 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":";;AAuDA,kDA2BC;AA/ED,uDAAmD;AACnD,iDAA+C;AA6B/C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACI,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,IAAA,sBAAS,EAAC,gBAAgB,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,IAAA,4BAAa,EAAC,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,15 +1,8 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.convertFiatToCrypto = convertFiatToCrypto;
|
4
|
-
const insight_1 = require("@thirdweb-dev/insight");
|
5
|
-
const addresses_js_1 = require("../../constants/addresses.js");
|
6
|
-
const get_bytecode_js_1 = require("../../contract/actions/get-bytecode.js");
|
7
|
-
const contract_js_1 = require("../../contract/contract.js");
|
8
4
|
const address_js_1 = require("../../utils/address.js");
|
9
|
-
const
|
10
|
-
const fetch_js_1 = require("../../utils/fetch.js");
|
11
|
-
const json_js_1 = require("../../utils/json.js");
|
12
|
-
const withCache_js_1 = require("../../utils/promise/withCache.js");
|
5
|
+
const get_token_js_1 = require("./get-token.js");
|
13
6
|
/**
|
14
7
|
* Convert a fiat value to a token.
|
15
8
|
* Currently only USD is supported.
|
@@ -33,7 +26,7 @@ const withCache_js_1 = require("../../utils/promise/withCache.js");
|
|
33
26
|
* @buyCrypto
|
34
27
|
*/
|
35
28
|
async function convertFiatToCrypto(options) {
|
36
|
-
const { client,
|
29
|
+
const { client, to, chain, fromAmount } = options;
|
37
30
|
if (Number(fromAmount) === 0) {
|
38
31
|
return { result: 0 };
|
39
32
|
}
|
@@ -47,35 +40,10 @@ async function convertFiatToCrypto(options) {
|
|
47
40
|
if (!(0, address_js_1.isAddress)(to)) {
|
48
41
|
throw new Error("Invalid `to`. Expected a valid EVM contract address");
|
49
42
|
}
|
50
|
-
|
51
|
-
if (
|
52
|
-
|
53
|
-
address: to,
|
54
|
-
chain,
|
55
|
-
client,
|
56
|
-
})).catch(() => undefined);
|
57
|
-
if (!bytecode || bytecode === "0x") {
|
58
|
-
throw new Error(`Error: ${to} on chainId: ${chain.id} is not a valid contract address.`);
|
59
|
-
}
|
43
|
+
const price = await (0, get_token_js_1.getTokenPrice)(client, to, chain.id);
|
44
|
+
if (!price || price === 0) {
|
45
|
+
throw new Error(`Error: Failed to fetch price for token ${to} on chainId: ${chain.id}`);
|
60
46
|
}
|
61
|
-
|
62
|
-
baseUrl: `https://${(0, domains_js_1.getThirdwebDomains)().insight}`,
|
63
|
-
fetch: (0, fetch_js_1.getClientFetch)(client),
|
64
|
-
query: {
|
65
|
-
address: to,
|
66
|
-
chain_id: [chain.id],
|
67
|
-
},
|
68
|
-
}), {
|
69
|
-
cacheKey: `convert-fiat-to-crypto-${to}-${chain.id}`,
|
70
|
-
cacheTime: 1000 * 60, // 1 minute cache
|
71
|
-
});
|
72
|
-
if (result.error) {
|
73
|
-
throw new Error(`Failed to fetch ${from} value for token (${to}) on chainId: ${chain.id} - ${result.response.status} ${result.response.statusText} - ${result.error ? (0, json_js_1.stringify)(result.error) : "Unknown error"}`);
|
74
|
-
}
|
75
|
-
const firstResult = result.data?.data[0];
|
76
|
-
if (!firstResult || firstResult.price_usd === 0) {
|
77
|
-
throw new Error(`Failed to fetch ${from} value for token (${to}) on chainId: ${chain.id}`);
|
78
|
-
}
|
79
|
-
return { result: fromAmount / firstResult.price_usd };
|
47
|
+
return { result: fromAmount / price };
|
80
48
|
}
|
81
49
|
//# 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":";;AAwDA,kDAyBC;AA9ED,uDAAmD;AACnD,iDAA+C;AA8B/C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACI,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,IAAA,sBAAS,EAAC,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,IAAA,4BAAa,EAAC,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,19 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.getTokenPrice = getTokenPrice;
|
4
|
+
const Token_js_1 = require("../../bridge/Token.js");
|
5
|
+
const withCache_js_1 = require("../../utils/promise/withCache.js");
|
6
|
+
async function getTokenPrice(client, tokenAddress, chainId) {
|
7
|
+
return (0, withCache_js_1.withCache)(async () => {
|
8
|
+
const result = await (0, Token_js_1.tokens)({
|
9
|
+
client,
|
10
|
+
tokenAddress,
|
11
|
+
chainId,
|
12
|
+
});
|
13
|
+
return result[0]?.priceUsd;
|
14
|
+
}, {
|
15
|
+
cacheKey: `get-token-price-${tokenAddress}-${chainId}`,
|
16
|
+
cacheTime: 1000 * 60, // 1 minute
|
17
|
+
});
|
18
|
+
}
|
19
|
+
//# 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":";;AAIA,sCAmBC;AAvBD,oDAA+C;AAE/C,mEAA6D;AAEtD,KAAK,UAAU,aAAa,CACjC,MAAsB,EACtB,YAAoB,EACpB,OAAe;IAEf,OAAO,IAAA,wBAAS,EACd,KAAK,IAAI,EAAE;QACT,MAAM,MAAM,GAAG,MAAM,IAAA,iBAAM,EAAC;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"}
|
@@ -7,9 +7,9 @@ const Bridge = require("../../../../bridge/index.js");
|
|
7
7
|
const send_transaction_js_1 = require("../../../../transaction/actions/send-transaction.js");
|
8
8
|
const utils_js_1 = require("../../../../transaction/utils.js");
|
9
9
|
const resolve_promised_value_js_1 = require("../../../../utils/promise/resolve-promised-value.js");
|
10
|
+
const is_smart_wallet_js_1 = require("../../../../wallets/smart/is-smart-wallet.js");
|
10
11
|
const getTokenBalance_js_1 = require("../../../../wallets/utils/getTokenBalance.js");
|
11
12
|
const getWalletBalance_js_1 = require("../../../../wallets/utils/getWalletBalance.js");
|
12
|
-
const wallet_js_1 = require("../../utils/wallet.js");
|
13
13
|
/**
|
14
14
|
* A hook to send a transaction.
|
15
15
|
* @returns A mutation object to send a transaction.
|
@@ -90,7 +90,7 @@ function useSendTransactionCore(args) {
|
|
90
90
|
: undefined,
|
91
91
|
(0, utils_js_1.getTransactionGasCost)(tx, account.address),
|
92
92
|
]);
|
93
|
-
const gasSponsored = (0,
|
93
|
+
const gasSponsored = (0, is_smart_wallet_js_1.hasSponsoredTransactionsEnabled)(wallet);
|
94
94
|
const txGasCost = gasSponsored ? 0n : gasCost;
|
95
95
|
const nativeCost = nativeValue + txGasCost;
|
96
96
|
const shouldShowModal = (erc20Value > 0n &&
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useSendTransaction.js","sourceRoot":"","sources":["../../../../../../src/react/core/hooks/transaction/useSendTransaction.ts"],"names":[],"mappings":";;AA8HA,wDAqKC;AAnSD,uDAA4E;AAC5E,+DAAmE;AACnE,sDAAsD;AAMtD,6FAAsF;AAGtF,+DAAyE;AAEzE,mGAA2F;AAE3F,qFAA+E;AAC/E,uFAAiF;
|
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 @@ exports.useEnsAvatar = useEnsAvatar;
|
|
5
5
|
exports.useConnectedWalletDetails = useConnectedWalletDetails;
|
6
6
|
exports.useWalletInfo = useWalletInfo;
|
7
7
|
exports.useWalletImage = useWalletImage;
|
8
|
-
exports.hasSponsoredTransactionsEnabled = hasSponsoredTransactionsEnabled;
|
9
8
|
const react_query_1 = require("@tanstack/react-query");
|
10
9
|
const ethereum_js_1 = require("../../../chains/chain-definitions/ethereum.js");
|
11
10
|
const resolve_avatar_js_1 = require("../../../extensions/ens/resolve-avatar.js");
|
@@ -13,7 +12,6 @@ const resolve_name_js_1 = require("../../../extensions/ens/resolve-name.js");
|
|
13
12
|
const address_js_1 = require("../../../utils/address.js");
|
14
13
|
const avatar_js_1 = require("../../../utils/ens/avatar.js");
|
15
14
|
const getWalletInfo_js_1 = require("../../../wallets/__generated__/getWalletInfo.js");
|
16
|
-
const is_ecosystem_wallet_js_1 = require("../../../wallets/ecosystem/is-ecosystem-wallet.js");
|
17
15
|
const useWalletBalance_js_1 = require("../hooks/others/useWalletBalance.js");
|
18
16
|
const useSocialProfiles_js_1 = require("../social/useSocialProfiles.js");
|
19
17
|
/**
|
@@ -186,50 +184,4 @@ function useWalletImage(id) {
|
|
186
184
|
enabled: !!id,
|
187
185
|
});
|
188
186
|
}
|
189
|
-
/**
|
190
|
-
* @internal
|
191
|
-
*/
|
192
|
-
function hasSponsoredTransactionsEnabled(wallet) {
|
193
|
-
if (!wallet) {
|
194
|
-
return false;
|
195
|
-
}
|
196
|
-
let sponsoredTransactionsEnabled = false;
|
197
|
-
if (wallet && wallet.id === "smart") {
|
198
|
-
const options = wallet.getConfig();
|
199
|
-
if ("sponsorGas" in options) {
|
200
|
-
sponsoredTransactionsEnabled = options.sponsorGas;
|
201
|
-
}
|
202
|
-
if ("gasless" in options) {
|
203
|
-
sponsoredTransactionsEnabled = options.gasless;
|
204
|
-
}
|
205
|
-
}
|
206
|
-
if (wallet && (wallet.id === "inApp" || (0, is_ecosystem_wallet_js_1.isEcosystemWallet)(wallet))) {
|
207
|
-
const options = wallet.getConfig();
|
208
|
-
if (options && "smartAccount" in options && options.smartAccount) {
|
209
|
-
const smartOptions = options.smartAccount;
|
210
|
-
if ("sponsorGas" in smartOptions) {
|
211
|
-
sponsoredTransactionsEnabled = smartOptions.sponsorGas;
|
212
|
-
}
|
213
|
-
if ("gasless" in smartOptions) {
|
214
|
-
sponsoredTransactionsEnabled = smartOptions.gasless;
|
215
|
-
}
|
216
|
-
}
|
217
|
-
if (options?.executionMode) {
|
218
|
-
const execMode = options.executionMode;
|
219
|
-
if (execMode.mode === "EIP4337") {
|
220
|
-
const smartOptions = execMode.smartAccount;
|
221
|
-
if (smartOptions && "sponsorGas" in smartOptions) {
|
222
|
-
sponsoredTransactionsEnabled = smartOptions.sponsorGas;
|
223
|
-
}
|
224
|
-
if (smartOptions && "gasless" in smartOptions) {
|
225
|
-
sponsoredTransactionsEnabled = smartOptions.gasless;
|
226
|
-
}
|
227
|
-
}
|
228
|
-
if (execMode.mode === "EIP7702") {
|
229
|
-
sponsoredTransactionsEnabled = execMode.sponsorGas || false;
|
230
|
-
}
|
231
|
-
}
|
232
|
-
}
|
233
|
-
return sponsoredTransactionsEnabled;
|
234
|
-
}
|
235
187
|
//# sourceMappingURL=wallet.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../../../../src/react/core/utils/wallet.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../../../../src/react/core/utils/wallet.ts"],"names":[],"mappings":"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"}
|
@@ -7,13 +7,13 @@ const react_native_1 = require("react-native");
|
|
7
7
|
const contract_js_1 = require("../../../../contract/contract.js");
|
8
8
|
const is_contract_deployed_js_1 = require("../../../../utils/bytecode/is-contract-deployed.js");
|
9
9
|
const formatNumber_js_1 = require("../../../../utils/formatNumber.js");
|
10
|
+
const is_smart_wallet_js_1 = require("../../../../wallets/smart/is-smart-wallet.js");
|
10
11
|
const useSiweAuth_js_1 = require("../../../core/hooks/auth/useSiweAuth.js");
|
11
12
|
const useChainQuery_js_1 = require("../../../core/hooks/others/useChainQuery.js");
|
12
13
|
const useActiveAccount_js_1 = require("../../../core/hooks/wallets/useActiveAccount.js");
|
13
14
|
const useActiveWallet_js_1 = require("../../../core/hooks/wallets/useActiveWallet.js");
|
14
15
|
const useActiveWalletChain_js_1 = require("../../../core/hooks/wallets/useActiveWalletChain.js");
|
15
16
|
const useDisconnect_js_1 = require("../../../core/hooks/wallets/useDisconnect.js");
|
16
|
-
const isSmartWallet_js_1 = require("../../../core/utils/isSmartWallet.js");
|
17
17
|
const wallet_js_1 = require("../../../core/utils/wallet.js");
|
18
18
|
const index_js_1 = require("../../design-system/index.js");
|
19
19
|
const Address_js_1 = require("../components/Address.js");
|
@@ -103,12 +103,12 @@ const DisconnectWallet = (props) => {
|
|
103
103
|
function SmartAccountBadge(props) {
|
104
104
|
const activeAccount = (0, useActiveAccount_js_1.useActiveAccount)();
|
105
105
|
const activeWallet = (0, useActiveWallet_js_1.useActiveWallet)();
|
106
|
-
const
|
106
|
+
const isSW = (0, is_smart_wallet_js_1.isSmartWallet)(activeWallet);
|
107
107
|
const chain = (0, useActiveWalletChain_js_1.useActiveWalletChain)();
|
108
108
|
const { client, theme } = props;
|
109
109
|
const [isSmartWalletDeployed, setIsSmartWalletDeployed] = (0, react_1.useState)(false);
|
110
110
|
(0, react_1.useEffect)(() => {
|
111
|
-
if (activeAccount &&
|
111
|
+
if (activeAccount && isSW && activeAccount.address && chain) {
|
112
112
|
const contract = (0, contract_js_1.getContract)({
|
113
113
|
address: activeAccount.address,
|
114
114
|
chain,
|
@@ -121,7 +121,7 @@ function SmartAccountBadge(props) {
|
|
121
121
|
else {
|
122
122
|
setIsSmartWalletDeployed(false);
|
123
123
|
}
|
124
|
-
}, [activeAccount, chain, client,
|
124
|
+
}, [activeAccount, chain, client, isSW]);
|
125
125
|
const content = ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: {
|
126
126
|
flexDirection: "row",
|
127
127
|
alignItems: "center",
|
@@ -133,7 +133,7 @@ function SmartAccountBadge(props) {
|
|
133
133
|
paddingLeft: index_js_1.spacing.sm,
|
134
134
|
paddingRight: index_js_1.spacing.smd,
|
135
135
|
}, children: [(0, jsx_runtime_1.jsx)(RNImage_js_1.RNImage, { theme: theme, data: svgs_js_1.SMART_WALLET_ICON, size: 14, color: theme.colors.accentButtonBg }), (0, jsx_runtime_1.jsx)(text_js_1.ThemedText, { theme: theme, style: { color: theme.colors.primaryText, fontSize: index_js_1.fontSize.xs }, children: "Smart Account" })] }));
|
136
|
-
if (chain && activeAccount &&
|
136
|
+
if (chain && activeAccount && isSW) {
|
137
137
|
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(spacer_js_1.Spacer, { size: "smd" }), isSmartWalletDeployed ? ((0, jsx_runtime_1.jsx)(react_native_1.TouchableOpacity, { onPress: () => react_native_1.Linking.openURL(`https://thirdweb.com/${chain.id}/${activeAccount.address}/account`), children: content })) : ((0, jsx_runtime_1.jsx)(react_native_1.View, { children: content }))] }));
|
138
138
|
}
|
139
139
|
return null;
|