thirdweb 5.93.9 → 5.93.10

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.
Files changed (64) hide show
  1. package/dist/cjs/contract/deployment/utils/create-2-factory.js +0 -4
  2. package/dist/cjs/contract/deployment/utils/create-2-factory.js.map +1 -1
  3. package/dist/cjs/pay/buyWithCrypto/getQuote.js +0 -2
  4. package/dist/cjs/pay/buyWithCrypto/getQuote.js.map +1 -1
  5. package/dist/cjs/pay/buyWithCrypto/getTransfer.js +0 -1
  6. package/dist/cjs/pay/buyWithCrypto/getTransfer.js.map +1 -1
  7. package/dist/cjs/react/core/hooks/contract/useWaitForReceipt.js +1 -1
  8. package/dist/cjs/react/core/hooks/contract/useWaitForReceipt.js.map +1 -1
  9. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +1 -1
  10. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +4 -1
  11. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -1
  12. package/dist/cjs/react/web/ui/ConnectWallet/screens/WalletTransactionHistory.js +36 -15
  13. package/dist/cjs/react/web/ui/ConnectWallet/screens/WalletTransactionHistory.js.map +1 -1
  14. package/dist/cjs/transaction/transaction-store.js +25 -0
  15. package/dist/cjs/transaction/transaction-store.js.map +1 -1
  16. package/dist/cjs/utils/domains.js +3 -0
  17. package/dist/cjs/utils/domains.js.map +1 -1
  18. package/dist/cjs/version.js +1 -1
  19. package/dist/cjs/version.js.map +1 -1
  20. package/dist/esm/contract/deployment/utils/create-2-factory.js +0 -4
  21. package/dist/esm/contract/deployment/utils/create-2-factory.js.map +1 -1
  22. package/dist/esm/pay/buyWithCrypto/getQuote.js +0 -2
  23. package/dist/esm/pay/buyWithCrypto/getQuote.js.map +1 -1
  24. package/dist/esm/pay/buyWithCrypto/getTransfer.js +0 -1
  25. package/dist/esm/pay/buyWithCrypto/getTransfer.js.map +1 -1
  26. package/dist/esm/react/core/hooks/contract/useWaitForReceipt.js +1 -1
  27. package/dist/esm/react/core/hooks/contract/useWaitForReceipt.js.map +1 -1
  28. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +1 -1
  29. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +4 -1
  30. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -1
  31. package/dist/esm/react/web/ui/ConnectWallet/screens/WalletTransactionHistory.js +37 -16
  32. package/dist/esm/react/web/ui/ConnectWallet/screens/WalletTransactionHistory.js.map +1 -1
  33. package/dist/esm/transaction/transaction-store.js +24 -0
  34. package/dist/esm/transaction/transaction-store.js.map +1 -1
  35. package/dist/esm/utils/domains.js +3 -0
  36. package/dist/esm/utils/domains.js.map +1 -1
  37. package/dist/esm/version.js +1 -1
  38. package/dist/esm/version.js.map +1 -1
  39. package/dist/types/pay/buyWithCrypto/getQuote.d.ts.map +1 -1
  40. package/dist/types/pay/buyWithCrypto/getTransfer.d.ts.map +1 -1
  41. package/dist/types/react/core/hooks/contract/useWaitForReceipt.d.ts +5 -1
  42. package/dist/types/react/core/hooks/contract/useWaitForReceipt.d.ts.map +1 -1
  43. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.d.ts.map +1 -1
  44. package/dist/types/react/web/ui/ConnectWallet/screens/WalletTransactionHistory.d.ts.map +1 -1
  45. package/dist/types/transaction/transaction-store.d.ts +14 -0
  46. package/dist/types/transaction/transaction-store.d.ts.map +1 -1
  47. package/dist/types/utils/domains.d.ts +6 -0
  48. package/dist/types/utils/domains.d.ts.map +1 -1
  49. package/dist/types/version.d.ts +1 -1
  50. package/dist/types/version.d.ts.map +1 -1
  51. package/package.json +1 -1
  52. package/src/bridge/Buy.test.ts +1 -1
  53. package/src/bridge/Sell.test.ts +1 -1
  54. package/src/contract/deployment/utils/create-2-factory.ts +0 -4
  55. package/src/pay/buyWithCrypto/getQuote.ts +0 -2
  56. package/src/pay/buyWithCrypto/getTransfer.ts +0 -1
  57. package/src/react/core/hooks/contract/useWaitForReceipt.ts +5 -2
  58. package/src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx +1 -1
  59. package/src/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.tsx +4 -1
  60. package/src/react/web/ui/ConnectWallet/screens/WalletTransactionHistory.tsx +51 -17
  61. package/src/transaction/transaction-store.ts +50 -0
  62. package/src/utils/domain.test.ts +1 -0
  63. package/src/utils/domains.ts +8 -1
  64. package/src/version.ts +1 -1
@@ -1,9 +1,17 @@
1
+ import type { Chain } from "../chains/types.js";
2
+ import type { ThirdwebClient } from "../client/client.js";
1
3
  import { type Store, createStore } from "../reactive/store.js";
4
+ import { getThirdwebDomains } from "../utils/domains.js";
2
5
  import type { Hex } from "../utils/encoding/hex.js";
6
+ import { getClientFetch } from "../utils/fetch.js";
3
7
 
4
8
  export type StoredTransaction = {
5
9
  transactionHash: Hex;
6
10
  chainId: number;
11
+ receipt?: {
12
+ status: "success" | "failed";
13
+ to: string;
14
+ };
7
15
  };
8
16
 
9
17
  const transactionsByAddress = new Map<string, Store<StoredTransaction[]>>();
@@ -33,6 +41,7 @@ export function getTransactionStore(
33
41
 
34
42
  const newStore = createStore<StoredTransaction[]>([]);
35
43
  transactionsByAddress.set(address, newStore);
44
+
36
45
  return newStore;
37
46
  }
38
47
 
@@ -54,3 +63,44 @@ export function addTransactionToStore(options: {
54
63
 
55
64
  transactionsByAddress.set(address, tranasctionStore);
56
65
  }
66
+
67
+ /**
68
+ * @internal for now
69
+ */
70
+ export async function getPastTransactions(options: {
71
+ walletAddress: string;
72
+ chain: Chain;
73
+ client: ThirdwebClient;
74
+ }): Promise<StoredTransaction[]> {
75
+ const { walletAddress, chain, client } = options;
76
+ const oneMonthsAgoInSeconds = Math.floor(
77
+ (Date.now() - 1 * 30 * 24 * 60 * 60 * 1000) / 1000,
78
+ );
79
+ const url = new URL(
80
+ `https://${getThirdwebDomains().insight}/v1/wallets/${walletAddress}/transactions`,
81
+ );
82
+ url.searchParams.set("limit", "10");
83
+ url.searchParams.set("chain", chain.id.toString());
84
+ url.searchParams.set(
85
+ "filter_block_timestamp_gte",
86
+ oneMonthsAgoInSeconds.toString(),
87
+ );
88
+ const clientFetch = getClientFetch(client);
89
+ const result = await clientFetch(url.toString());
90
+ const json = (await result.json()) as {
91
+ data: {
92
+ chain_id: number;
93
+ hash: string;
94
+ status: number;
95
+ to_address: string;
96
+ }[];
97
+ };
98
+ return json.data.map((tx) => ({
99
+ transactionHash: tx.hash as Hex,
100
+ chainId: tx.chain_id,
101
+ receipt: {
102
+ status: tx.status === 1 ? "success" : "failed",
103
+ to: tx.to_address,
104
+ },
105
+ }));
106
+ }
@@ -15,6 +15,7 @@ describe("Thirdweb Domains", () => {
15
15
  storage: "storage.thirdweb.com",
16
16
  bundler: "bundler.thirdweb.com",
17
17
  analytics: "c.thirdweb.com",
18
+ insight: "insight.thirdweb.com",
18
19
  };
19
20
 
20
21
  beforeEach(() => {
@@ -34,6 +34,11 @@ type DomainOverrides = {
34
34
  * @default "c.thirdweb.com"
35
35
  */
36
36
  analytics?: string;
37
+ /**
38
+ * The base URL for the insight server.
39
+ * @default "insight.thirdweb.com"
40
+ */
41
+ insight?: string;
37
42
  };
38
43
 
39
44
  export const DEFAULT_RPC_URL = "rpc.thirdweb.com";
@@ -43,7 +48,7 @@ const DEFAULT_PAY_URL = "pay.thirdweb.com";
43
48
  const DEFAULT_STORAGE_URL = "storage.thirdweb.com";
44
49
  const DEFAULT_BUNDLER_URL = "bundler.thirdweb.com";
45
50
  const DEFAULT_ANALYTICS_URL = "c.thirdweb.com";
46
-
51
+ const DEFAULT_INSIGHT_URL = "insight.thirdweb.com";
47
52
  let domains: { [k in keyof DomainOverrides]-?: string } = {
48
53
  rpc: DEFAULT_RPC_URL,
49
54
  inAppWallet: DEFAULT_IN_APP_WALLET_URL,
@@ -52,6 +57,7 @@ let domains: { [k in keyof DomainOverrides]-?: string } = {
52
57
  storage: DEFAULT_STORAGE_URL,
53
58
  bundler: DEFAULT_BUNDLER_URL,
54
59
  analytics: DEFAULT_ANALYTICS_URL,
60
+ insight: DEFAULT_INSIGHT_URL,
55
61
  };
56
62
 
57
63
  /**
@@ -66,6 +72,7 @@ export const setThirdwebDomains = (DomainOverrides: DomainOverrides) => {
66
72
  storage: DomainOverrides.storage ?? DEFAULT_STORAGE_URL,
67
73
  bundler: DomainOverrides.bundler ?? DEFAULT_BUNDLER_URL,
68
74
  analytics: DomainOverrides.analytics ?? DEFAULT_ANALYTICS_URL,
75
+ insight: DomainOverrides.insight ?? DEFAULT_INSIGHT_URL,
69
76
  };
70
77
  };
71
78
 
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = "5.93.9";
1
+ export const version = "5.93.10";