Compare commits

...
Author SHA1 Message Date
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>GitHub Action
449ae19f94 Version Packages (#3352)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: GitHub Action <[email protected]>
2024-06-18 10:08:57 +12:00
joaquim-verges 7304c5b0c7 refactor: respect Coinbase wallet optons when preloading (#3364) 2024-06-17 21:46:10 +00:00
dependabot 49cfdb3fd9 build(deps): bump @eth-optimism/sdk from 3.3.0 to 3.3.2 (#3357)
Bumps [@eth-optimism/sdk](https://github.com/ethereum-optimism/ecosystem) from 3.3.0 to 3.3.2.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/ethereum-optimism/ecosystem/commits/@eth-optimism/[email protected]">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@eth-optimism/sdk&package-manager=npm_and_yarn&previous-version=3.3.0&new-version=3.3.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

<!-- start pr-codex -->

---

## PR-Codex overview
This PR updates the `@eth-optimism/sdk` package to version 3.3.2 and makes corresponding changes in the `pnpm-lock.yaml` file.

### Detailed summary
- Updated `@eth-optimism/sdk` to version 3.3.2 in `package.json`
- Updated version and specifier in `pnpm-lock.yaml` for `@eth-optimism/sdk` to 3.3.2

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->
2024-06-17 20:47:43 +00:00
joaquim-verges 2d7ebe2111 fix: ConnectButton custom theme + customized component in playground (#3356) 2024-06-17 20:36:44 +00:00
kien-ngo a9ce10f39a Add ERC721 extension: updateMetadata & updateBatchBaseURI (#3347)
<!-- start pr-codex -->

## PR-Codex overview
This PR adds an ERC721 extension `updateMetadata` for updating NFT metadata in batches.

### Detailed summary
- Added `updateMetadata` function to update NFT metadata
- Implemented `getUpdateMetadataParams` to prepare transaction
- Added tests for `updateMetadata` function
- Introduced `freezeBatchBaseURI` function and related utilities

> The following files were skipped due to too many changes: `packages/thirdweb/src/extensions/erc721/__generated__/DropERC721/write/freezeBatchBaseURI.ts`, `packages/thirdweb/src/extensions/erc721/__generated__/DropERC721/write/setMaxTotalSupply.ts`, `packages/thirdweb/src/extensions/erc721/__generated__/DropERC721/write/updateBatchBaseURI.ts`

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->
2024-06-17 19:20:14 +00:00
github-actions[bot]GitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
321cf26342 chore(chains): update chains (#3348)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-17 11:31:07 -07:00
jnsdls d2ad36d76d [Fix] Ensure proper awaiting of the format function in generate script (#3349)
### TL;DR

This PR modifies the `generateFromAbi` function to ensure that the `format` function from Prettier is properly awaited. This solves issues with file writing inconsistencies.

### What changed?

- Added `await` to the `format` function calls within `generateFromAbi`.

### How to test?

1. Run the `generateFromAbi` script.
2. Ensure that generated files are consistently formatted.

### Why make this change?

This change ensures that the Prettier formatting is correctly applied before the files are written, resolving any inconsistencies and potential bugs caused by non-awaited formatting.

---
2024-06-17 18:26:12 +00:00
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
507d0e5bf4 Version Packages (#3346)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-06-17 16:19:35 +12:00
Joaquim VergesandGitHub 79e6a047d6 fix: inApp native wallet creation (#3345) 2024-06-17 16:02:30 +12:00
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>GitHub Action
4dce62de1c Version Packages (#3319)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: GitHub Action <[email protected]>
2024-06-17 15:09:31 +12:00
joaquim-verges 1c533efcd5 fix: respect transaction button theme prop (#3341)
<!-- start pr-codex -->

## PR-Codex overview
This PR fixes the issue where the transaction button did not respect the theme prop in the `SponsoredTxPreview` component.

### Detailed summary
- Fixed transaction button theme prop issue in `SponsoredTxPreview`
- Added `isValidTheme` and `parseTheme` functions in `buttons.tsx`
- Updated `parseTheme` to validate theme and return default if invalid

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->
2024-06-17 02:39:52 +00:00
joaquim-verges eca6217f77 refactor: separate onConnectRequested impl between web and native (#3344) 2024-06-17 00:36:22 +00:00
joaquim-verges df84f9c4ce refactor: improve Coinbase connection handling (#3340)
### TL;DR

To prevent popups from Coinbase wallet being blocked in Safari, pre-connection actions have been added. Specifically, popups will be displayed immediately upon connection request and before transaction preprocessing.

### What changed?

1. Removed the `COINBASE` constant and its related connection flow.
2. Integrated `onConnectRequested` optional function for wallets.
3. Updated Coinbase wallet's `onConnectRequested` to show the popup immediately.
4. Added `onTransactionRequested` to show popup before transaction processing.

### How to test?

1. Initiate connection with Coinbase wallet and observe that the popup appears immediately.
2. Perform a transaction with Coinbase wallet and ensure the popup is not blocked.
3. Test across different browsers, focusing on Safari.

### Why make this change?

Safari has stricter rules regarding popups, and the previous delay in showing the popup led to it being blocked. This change ensures a smoother user experience for Coinbase wallet users on Safari by addressing the popup blocking issue.

---

<!-- start pr-codex -->

---

## PR-Codex overview
The focus of this PR is to enhance wallet connectivity and transaction handling in the application.

### Detailed summary
- Added `onConnectRequested` and `onTransactionRequested` functions to wallet interfaces
- Updated wallet connection and transaction handling logic
- Preloaded wallet providers for smoother user experience

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->
2024-06-16 23:02:22 +00:00
jnsdls 17c0e6f282 [ConnectWallet] Include wallet name in injectedWalletLocale query key (#3333)
### TL;DR
Updated the queryKey used in the useQuery hook to also include the walletInfo.data?.name parameter, ensuring that injectedWalletLocale queries are correctly keyed and updated when the wallet name changes.

### What changed?
The queryKey array in the useQuery hook was updated from `["injectedWalletLocale", localeId]` to `["injectedWalletLocale", localeId, walletInfo.data?.name]`.

### How to test?
1. Ensure the application runs without errors.
2. Verify that locale-specific wallet names are correctly handled when displayed in the UI.

### Why make this change?
The change ensures that the locale-based queries are properly identified and updated when the wallet name changes, preventing potential stale data from being used in the UI.

---
2024-06-16 22:56:42 +00:00
jnsdls d51c1883af [Refactor] Migrate usePreloadWalletProviders to useQueries for wallet preloading (#3331)
Refactor `usePreloadWalletProviders` to utilize `useQueries` from `@tanstack/react-query`. This change optimizes wallet provider preloading, ensuring a non-blocking, and parallel fetching of necessary providers. Removes the `useEffect` based logic.

---
2024-06-16 22:56:39 +00:00
joaquim-verges 9cf3a1d663 feat: preloading wallet providers for improved performance (#3330)
<!-- start pr-codex -->

## PR-Codex overview
This PR fixes an issue with the Coinbase wallet popup not opening on Safari and improves inAppWallet web performance.

### Detailed summary
- Fixed Coinbase wallet popup not opening on Safari
- Improved inAppWallet web performance
- Added `usePreloadWalletProviders` hook
- Preloaded wallet providers for Coinbase and inApp wallet
- Updated `ConnectButton`, `ConnectEmbed`, `usePreloadWalletProviders`, and `ConnectModalContent` components

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->
2024-06-16 22:56:36 +00:00
joaquim-verges c94bcd574a refactor: change Coinbase SDK import to dynamic in coinbaseSDKWallet.ts (#3329)
<!-- start pr-codex -->

## PR-Codex overview
The focus of this PR is to dynamically import the `CoinbaseWalletSDK` to resolve cloudflare bundler issues.

### Detailed summary
- Dynamically import `CoinbaseWalletSDK` to avoid bundler issues
- Updated import statement for `ProviderInterface`
- Removed unnecessary imports
- Refactored `getCoinbaseWebProvider` function to dynamically import `CoinbaseWalletSDK`

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->
2024-06-15 04:55:17 +00:00
jnsdls 41c6d04c2f [dependencies] Bump turbo package to 2.0.4 (#3323)
<!-- start pr-codex -->

## PR-Codex overview
This PR updates Yarn installation and package versions, enhances test project scripts, and modifies Turbo tasks configuration.

### Detailed summary
- Updated Yarn installation to version 1.22.19
- Updated package versions in the test project
- Modified Turbo tasks configuration for various packages and builds

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->
2024-06-15 01:28:21 +00:00
jnsdls 3a78041de7 [Multi] Update dependencies and version packages (#3327)
## Problem solved

Short description of the bug fixed or feature added

## Changes made

- [ ] Public API changes: list the public API changes made if any
- [ ] Internal API changes: explain the internal logic changes

## How to test

- [ ] Automated tests: link to unit test file
- [ ] Manual tests: step by step instructions on how to test

## Contributor NFT

Paste in your wallet address below and we will airdrop you a special NFT when your pull request is merged.

```Address: ```

<!-- start pr-codex -->

---

## PR-Codex overview
This PR updates dependencies in `package.json` and `pnpm-lock.yaml`, focusing on versions of `axios`, `@grpc/grpc-js`, and `braces`.

### Detailed summary
- Updated `@grpc/grpc-js` to version `1.10.9`
- Updated `braces` to version `3.0.3`
- Adjusted versions of `axios` and `@ethereumjs/util`
- Updated `fill-range` to version `7.1.1`

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->
2024-06-14 22:32:39 +00:00
github-actions[bot]GitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
8b74602e3b chore(chains): update chains (#3311)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-14 13:23:51 -07:00
Joaquim VergesandGitHub f9081d58d4 refactor: inject storage and session handler in wallet connect connector [part 5] (#3314) 2024-06-14 19:11:03 +00:00
Joaquim VergesandGitHub b051d844d0 refactor: Inject storage EVERYWHERE [part 4] (#3312) 2024-06-14 19:00:12 +00:00
Joaquim VergesandGitHub f8e0c5f84b reafactor: reorganize react native export files [part 3] (#3304) 2024-06-14 18:54:24 +00:00
Joaquim VergesandGitHub 476b6cc271 refactor: separate native exports for inapp wallet [part 2] (#3300) 2024-06-14 18:43:27 +00:00
Joaquim VergesandGitHub ffaff744f7 refactor: separate native exports for cb wallet [part 1] (#3298) 2024-06-14 18:37:23 +00:00
FirekeeperandGitHub 198f72c493 [Unity] fix tx builder type parsing (#3317) 2024-06-14 18:20:49 +00:00
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>GitHub Action
5cb580e99e Version Packages (#3316)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: GitHub Action <[email protected]>
2024-06-14 11:12:41 -07:00
Manan TankandGitHub eff710738c [v4 react] Allow configuring qrcode and qrModalOptions on various wallet configurators (#3315) 2024-06-14 17:28:41 +00:00
Jonas DanielsandGitHub fb6a07d4b8 [Multi] Optimize package.json types versions & update ERC4337 factory methods (#3318) 2024-06-14 17:19:35 +00:00
7768067bf4 Modular contracts (#2880)
Signed-off-by: Yash <[email protected]>
Co-authored-by: Jonas Daniels <[email protected]>
2024-06-14 16:32:34 +00:00
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>GitHub Action
5ece04cdc0 Version Packages (#3287)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: GitHub Action <[email protected]>
2024-06-14 20:10:01 +12:00
1b15e7b1f2 docs: add examples for defineChain usage (#3308)
Co-authored-by: Joaquim Verges <[email protected]>
2024-06-14 18:48:02 +12:00
gregandGitHub a4086c6a39 refactor(constants): rename ADDRESS_ZERO to ZERO_ADDRESS and deprecate older name (#3307) 2024-06-14 06:16:41 +00:00
1aaa63eec7 fix(wallets): don't serialize eip5792 calls (#3306)
Co-authored-by: Joaquim Verges <[email protected]>
2024-06-14 06:16:02 +00:00
gregandGitHub 502c53ac0b fix(tests): zk AA tests (#3313) 2024-06-14 05:42:36 +00:00
gregandGitHub e7ba698f3e fix: set default recipients in sigMint and update tests (#3305) 2024-06-13 23:49:35 +00:00
github-actions[bot]andGitHub 6746416db9 chore(chains): update chains (#3289)
This PR was automatically created by a GitHub Action. It updates the chains package with the latest changes from the database.
2024-06-13 16:09:10 -07:00
fivecutandGitHub 2fb81bd4b7 chore: remove repeat words (#3297)
Signed-off-by: fivecut <[email protected]>
2024-06-13 15:57:16 +00:00
gregandGitHub 841c86aa12 feat: add export private key functionality (#3296) 2024-06-13 05:57:18 +00:00
Alec AnanianandGitHub 132b3cb45a feat(react): add ability to pass ReactNode for ConnectButton label (#3292) 2024-06-12 23:20:38 +00:00
b248afc160 fix(react): use custom title and icon in compact Connect modal (#3290)
Co-authored-by: Joaquim Verges <[email protected]>
2024-06-12 22:53:34 +00:00
github-actions[bot]GitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
9f42e4d241 chore(chains): update chains (#3279)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-12 10:37:25 -07:00
Winston YeoandGitHub 901427c33c [service-utils]: update usage tracker schema (#3286) 2024-06-12 16:22:00 +00:00
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>GitHub Action
62ee972a20 Version Packages (#3234)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: GitHub Action <[email protected]>
2024-06-12 16:52:09 +12:00
Joaquim VergesandGitHub 84e07fa9d5 fix tsdoc (#3282) 2024-06-12 15:41:25 +12:00
0ef7d6c0a8 fix ConnectEmbed example in playground (#3247)
Co-authored-by: Manan Tank <[email protected]>
Co-authored-by: greg <[email protected]>
Co-authored-by: Joaquim Verges <[email protected]>
2024-06-12 14:41:38 +12:00
Manan TankandGitHub 7dec4d049d Prevent autoConnect from running again on window focus (#3280) 2024-06-12 00:14:21 +00:00
Joaquim VergesandGitHub 3a1fd985fc Align inAppWallet secret sharing implementation with web and previous RN SDK (#3271) 2024-06-11 23:45:10 +00:00
FirekeeperandGitHub 5698b0c5a9 [v4 & v5] zkCandy Sepolia AA Support (#3278) 2024-06-11 22:08:34 +00:00
gregandGitHub 6a48b62783 fix(tests): update eth_signTypedData to eth_signTypedData_v4 in session_request tests (#3268) 2024-06-11 21:47:55 +00:00
github-actions[bot]GitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
668e3b9333 chore(chains): update chains (#3276)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-11 13:47:05 -07:00
gregandGitHub 7afd2dac0a Adds options refetchInterval and retry params to useReadContract (#3273) 2024-06-11 17:29:29 +00:00
Manan TankandGitHub 3948f4320c Wallet connection manager fixes (#3264) 2024-06-11 16:55:49 +00:00
github-actions[bot]andGitHub a4d041b368 chore(chains): update chains (#3267)
This PR was automatically created by a GitHub Action. It updates the chains package with the latest changes from the database.
2024-06-11 09:43:02 -07:00
Manan TankandGitHub 7a7b491e15 Add sections prop for ConnectWallet NetworkSelector screen customization (#3274) 2024-06-11 16:35:10 +00:00
ce45a793b5 Add currency selector in Pay UI (#3251)
Co-authored-by: greg <[email protected]>
2024-06-11 15:59:33 +00:00
FirekeeperandGitHub d2cbb1ee7e [TSv4] Force eth_signTypedData_v4 session proposal (#3269) 2024-06-11 14:46:07 +00:00
github-actions[bot]andGitHub 8750470d90 chore(chains): update chains (#3265)
This PR was automatically created by a GitHub Action. It updates the chains package with the latest changes from the database.
2024-06-10 19:24:59 -07:00
gregandGitHub 923a5ec556 Adds retry on watchContractEvents (#3256) 2024-06-11 00:24:04 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
75fde5c89f build(deps): bump @walletconnect/react-native-compat from 2.13.0 to 2.13.2 (#3260)
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-10 23:18:04 +00:00
Joaquim VergesandGitHub e763ace602 fix: sign typed data using inAppWalelt with salt in domain (#3266) 2024-06-11 11:14:30 +12:00
gregGitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
f2004b54ea Fix tests (#3263)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-10 22:36:24 +00:00
github-actions[bot]andGitHub ce45d4f3bd chore(chains): update chains (#3257)
This PR was automatically created by a GitHub Action. It updates the chains package with the latest changes from the database.
2024-06-10 14:57:32 -07:00
github-actions[bot]andGitHub 7135d6051a chore(chains): update chains (#3250)
This PR was automatically created by a GitHub Action. It updates the chains package with the latest changes from the database.

<!-- start pr-codex -->

---

## PR-Codex overview
This PR adds new chains with updated icons, URLs, and testnet information. It also includes new explorers, faucets, and network details.

### Detailed summary
- Added new chains with updated information and icons
- Included testnet details for various chains
- Added explorers and faucets for the chains

> The following files were skipped due to too many changes: `legacy_packages/chains/src/index.ts`

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->
2024-06-10 12:13:04 -07:00
github-actions[bot]andGitHub 0b3829032f chore(chains): update chains (#3249)
This PR was automatically created by a GitHub Action. It updates the chains package with the latest changes from the database.
2024-06-09 14:01:15 -07:00
github-actions[bot]andGitHub a5db9a330f chore(chains): update chains (#3245)
This PR was automatically created by a GitHub Action. It updates the chains package with the latest changes from the database.

<!-- start pr-codex -->

---

## PR-Codex overview
This PR adds new testnet chains `Xterio` and `LayerEdge` with unique configurations. It also updates chain imports and removes legacy chain configurations.

### Detailed summary
- Added `Xterio` testnet chain configuration
- Added `LayerEdge` testnet chain configuration
- Updated chain imports
- Removed legacy chain configurations

> The following files were skipped due to too many changes: `legacy_packages/chains/src/index.ts`

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->
2024-06-09 07:59:22 -07:00
Winston YeoandGitHub 73af67aad1 [service-utils]: Expose domain and bundle id validation logic (#3238) 2024-06-08 03:14:40 +00:00
Manan TankandGitHub d4882236b7 Fix custom theme not used in ConnectEmbed loading screen (#3240) 2024-06-08 15:13:47 +12:00
FirekeeperandGitHub 913f99a9a4 [TSv4] ZkSync AA & Default Factory (#3232) 2024-06-08 02:47:12 +00:00
github-actions[bot]andGitHub 5938f0d4a5 chore(chains): update chains (#3244)
This PR was automatically created by a GitHub Action. It updates the chains package with the latest changes from the database.

<!-- start pr-codex -->

---

## PR-Codex overview
This PR adds support for the Avalanche chain with specific explorers and features like EIP1559. It also includes a new SPACE Explorer and EIP1559 support.

### Detailed summary
- Added support for Avalanche chain with chain ID 48795
- Included a new SPACE Explorer with EIP3091 standard
- Added EIP1559 feature support

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->
2024-06-07 17:03:06 -07:00
github-actions[bot]andGitHub efae2f36b6 chore(chains): update chains (#3222)
This PR was automatically created by a GitHub Action. It updates the chains package with the latest changes from the database.

<!-- start pr-codex -->

---

## PR-Codex overview
This PR adds and updates chain configurations for various networks, including icon URLs, faucets, and RPC endpoints.

### Detailed summary
- Added new chain configurations for multiple networks
- Updated native currency names and symbols
- Included icon URLs, faucets, and RPC endpoints
- Added explorers and info URLs for some chains

> The following files were skipped due to too many changes: `legacy_packages/chains/chains/20041.ts`, `legacy_packages/chains/chains/721529.ts`, `legacy_packages/chains/chains/132902.ts`, `legacy_packages/chains/chains/7924.ts`, `legacy_packages/chains/chains/20073.ts`, `legacy_packages/chains/chains/9797.ts`, `legacy_packages/chains/chains/8008135.ts`, `legacy_packages/chains/chains/70157.ts`, `legacy_packages/chains/chains/32112.ts`, `legacy_packages/chains/chains/64947.ts`, `legacy_packages/chains/chains/66729.ts`, `legacy_packages/chains/chains/12885.ts`, `legacy_packages/chains/chains/53399.ts`, `legacy_packages/chains/chains/90343.ts`, `legacy_packages/chains/chains/41847.ts`, `legacy_packages/chains/chains/43994.ts`, `legacy_packages/chains/chains/49995.ts`, `legacy_packages/chains/chains/2715.ts`, `legacy_packages/chains/chains/14093.ts`, `legacy_packages/chains/chains/33100.ts`, `legacy_packages/chains/chains/51173.ts`, `legacy_packages/chains/chains/57822.ts`, `legacy_packages/chains/chains/60147.ts`, `legacy_packages/chains/chains/84977.ts`, `legacy_packages/chains/chains/16316.ts`, `legacy_packages/chains/chains/282.ts`, `legacy_packages/chains/chains/65622.ts`, `legacy_packages/chains/chains/328527624.ts`, `legacy_packages/chains/chains/97970.ts`, `legacy_packages/chains/chains/109.ts`, `legacy_packages/chains/chains/899.ts`, `legacy_packages/chains/chains/345.ts`, `legacy_packages/chains/chains/5112.ts`, `legacy_packages/chains/chains/10222.ts`, `legacy_packages/chains/chains/48899.ts`, `legacy_packages/chains/chains/820522.ts`, `legacy_packages/chains/chains/53302.ts`, `legacy_packages/chains/chains/622463.ts`, `legacy_packages/chains/chains/2340.ts`, `legacy_packages/chains/chains/240515.ts`, `legacy_packages/chains/chains/62298.ts`, `legacy_packages/chains/chains/8844.ts`, `legacy_packages/chains/chains/978657.ts`, `legacy_packages/chains/src/index.ts`

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->
2024-06-07 16:41:22 -07:00
Jonas DanielsandGitHub f66161f666 [CI, Size] Update release workflow permissions and increase thirdweb size limit (#3243) 2024-06-07 22:47:36 +00:00
Jonas DanielsandGitHub 37ec4ca28d Jd/fix ipfs reolve scheme bug (#3241) 2024-06-07 10:51:59 +00:00
558885aae9 fix: resolves viem#2306 (#3237)
Co-authored-by: Joaquim Verges <[email protected]>
2024-06-07 10:12:32 +12:00
21ca67dc13 [TSv4] Avoid unnecessary fetching for error formatting (#3239)
Co-authored-by: Joaquim Verges <[email protected]>
2024-06-06 20:23:38 +00:00
FirekeeperandGitHub 8acf5643d5 [TSv4] Fix caching logic, avoid fetch when abi passed (#3236) 2024-06-06 02:15:09 +00:00
Joaquim VergesandGitHub dbf74aad3f feat: TransactionButton react native implementation (#3231) 2024-06-06 12:06:40 +12:00
hsutaiyuandGitHub 63b4e6c507 Polygon amoy config update (#3233) 2024-06-06 11:23:20 +12:00
gregandGitHub 824a631b55 Move EIP-5792 hooks ro thirdweb/react export to match documentation (#3235) 2024-06-05 22:54:41 +00:00
Manan TankandGitHub e7b9b9f438 add useWalletDetailsModal hook (#3229) 2024-06-05 15:06:07 +00:00
Joaquim VergesandGitHub 95c4151f59 Update playground pages (#3224) 2024-06-04 21:47:21 +12:00
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>GitHub Action
5d47e505ed Version Packages (#3202)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: GitHub Action <[email protected]>
2024-06-04 20:56:10 +12:00
Joaquim VergesandGitHub 043f0da708 fix: better gas cost estimation for opBNB (#3227) 2024-06-04 20:31:18 +12:00
Joaquim VergesandGitHub 58d14c9eaf feat: add option to choose contract type for 1155 generateMintSignature (#3226) 2024-06-04 19:55:44 +12:00
ca31a6c0d8 Export toSerializableTransaction, getGasPrice, and estimateGasCost (#3198)
Co-authored-by: Joaquim Verges <[email protected]>
2024-06-04 02:56:21 +00:00
FirekeeperandGitHub fa146b1ec9 Unity 4.15.0 (#3223) 2024-06-04 02:44:14 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1cf9da4946 build(deps-dev): bump @swc/core from 1.5.7 to 1.5.24 (#3211)
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-03 20:37:10 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
0852edfe15 build(deps): bump @manypkg/cli from 0.21.3 to 0.21.4 (#3212)
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-03 13:36:04 -07:00
github-actions[bot]GitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
f13a40ba99 chore(chains): update chains (#3168)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-03 12:50:49 -07:00
Manan TankandGitHub e7443edda7 Fixes #3204 - Update Account object properly on Account change in Wallet (#3207) 2024-06-03 19:02:12 +00:00
Manan TankandGitHub ee20298535 Add JSDoc descriptions for Wallet and Account interface methods (#3206) 2024-06-03 11:53:22 -07:00
YashandGitHub ae9496e9d8 Fix zksync deterministic deploy (#3196) 2024-06-03 11:14:09 +00:00
Joaquim VergesandGitHub 4cd83e6707 initial account abstraction playground page (#3203) 2024-06-02 14:54:19 +12:00
Joaquim VergesandGitHub 0328bc894e fix: don't throw on erc20 metadata fetch failure (#3201) 2024-06-01 20:06:31 +00:00
Joaquim VergesandGitHub 61b0d26023 chore: update displayBalanceToken jsdoc (#3200) 2024-06-01 20:15:26 +12:00
653 changed files with 24421 additions and 4347 deletions
+1 -1
View File
@@ -106,7 +106,7 @@ jobs:
- name: Install Yarn (if needed)
if: matrix.package_manager == 'yarn'
run: npm install -g yarn
run: npm install -g yarn@1.22.19
- name: Create test project
run: |
+1 -1
View File
@@ -27,7 +27,7 @@ jobs:
id: validate_user
if: ${{ steps.check.outputs.triggered == 'true' }}
run: |
if [[ "${AUTHOR_ASSOCIATION}" != 'MEMBER' && "${AUTHOR_ASSOCIATION}" != 'OWNER' && "${AUTHOR_ASSOCIATION}" != 'CONTRIBUTOR' ]]
if [[ "${AUTHOR_ASSOCIATION}" != 'MEMBER' && "${AUTHOR_ASSOCIATION}" != 'OWNER' ]]
then
echo "User authorization failed"
exit 1
Binary file not shown.

After

Width:  |  Height:  |  Size: 551 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

@@ -0,0 +1,158 @@
import { Button } from "@/components/ui/button";
import { metadataBase } from "@/lib/constants";
import type { Metadata } from "next";
import Image from "next/image";
import Link from "next/link";
import {
ConnectSmartAccountCustomPreview,
ConnectSmartAccountPreview,
} from "../../../components/account-abstraction/connect-smart-account";
import { SponsoredTxPreview } from "../../../components/account-abstraction/sponsored-tx";
import { CodeExample } from "../../../components/code/code-example";
export const metadata: Metadata = {
metadataBase,
title: "Sign In, Account Abstraction and SIWE Auth | thirdweb Connect",
description:
"Let users sign up with their email, phone number, social media accounts or directly with a wallet. Seemlessly integrate account abstraction and SIWE auth.",
};
export default function Page() {
return (
<main className="flex-1 content-center relative py-12 md:py-24 lg:py-32 xl:py-48 space-y-12 md:space-y-24">
<section className="container px-4 md:px-6">
<div className="grid gap-10 lg:grid-cols-[1fr_400px] lg:gap-12 xl:grid-cols-[1fr_600px]">
<div className="flex flex-col justify-center space-y-4 min-h-[100%]">
<div className="space-y-2">
<h1 className="text-4xl font-bold tracking-tighter sm:text-5xl xl:text-6xl/none font-inter mb-6 text-balance">
Account abstraction
</h1>
<p className="max-w-[600px] text-gray-500 md:text-xl dark:text-gray-300 mb-6 font-inter">
Let users connect to their smart accounts with any wallet and
unlock gas sponsorship, batched transactions, session keys and
full wallet programmability.
</p>
</div>
<div className="flex flex-col gap-4 min-[400px]:flex-row">
<Button asChild size="lg">
<Link
target="_blank"
href="https://portal.thirdweb.com/connect/account-abstraction"
>
View docs
</Link>
</Button>
<Button asChild variant="outline" size="lg">
<Link target="_blank" href="https://thirdweb.com/contact-us">
Book a Demo
</Link>
</Button>
</div>
</div>
<div className="w-full mx-auto my-auto sm:w-full order-first lg:order-last relative flex flex-col space-y-2">
<div className="max-w-full sm:max-w-[500px] p-8">
<Image
src={"/account-abstraction.png"}
width={600}
height={400}
objectFit={"contain"}
alt=""
priority={true}
/>
</div>
</div>
</div>
</section>
<section className="container px-4 md:px-6 space-y-8">
<ConnectSmartAccount />
</section>
<section className="container px-4 md:px-6 space-y-8">
<SponsoredTx />
</section>
</main>
);
}
function ConnectSmartAccount() {
return (
<>
<div className="space-y-2">
<h2 className="text-2xl sm:text-3xl font-semibold tracking-tight">
Connect smart accounts
</h2>
<p className="max-w-[600px]">
Enable smart accounts on the UI components or build your own UI.
</p>
</div>
<CodeExample
preview={<ConnectSmartAccountPreview />}
code={`// Using UI components
import { ConnectButton } from "thirdweb/react";
function App(){
return (<>
<ConnectButton client={client}
// account abstraction options
accountAbstraction={{ chain, sponsorGas: true }} />
</>);
};`}
lang="tsx"
/>
<CodeExample
preview={<ConnectSmartAccountCustomPreview />}
code={`// Using your own UI
import { useConnect } from "thirdweb/react";
import { createWallet } from "thirdweb/wallets";
function App(){
const { connect } = useConnect({ client,
// account abstraction options
accountAbstraction: { chain, sponsorGas: true }});
return (<>
<button onClick={() => connect(async () => {
// any wallet connected here will be
// converted to a smart account
const adminWallet = createWallet("io.metamask");
await adminWallet.connect({ client });
return adminWallet;
})}>Connect (metamask)</button>
</>);
};`}
lang="tsx"
/>
</>
);
}
function SponsoredTx() {
return (
<>
<div className="space-y-2">
<h2 className="text-2xl sm:text-3xl font-semibold tracking-tight">
Sponsored transactions
</h2>
<p className="max-w-[600px]">
Set `sponsorGas: true` to enable gas-free transactions for your users.
<br />
Free on testnets, billed at the end of the month on mainnets.
</p>
</div>
<CodeExample
preview={<SponsoredTxPreview />}
code={`import { claimTo } from "thirdweb/extensions/erc1155";
import { TransactionButton } from "thirdweb/react";
function App(){
return (<>
{/* transactions will be sponsored */}
<TransactionButton transaction={() => claimTo({ contract, to: "0x123...", tokenId: 0n, quantity: 1n })}>Mint</TransactionButton>
</>);
};`}
lang="tsx"
/>
</>
);
}
@@ -0,0 +1,156 @@
import { CodeExample } from "@/components/code/code-example";
import { Button } from "@/components/ui/button";
import { metadataBase } from "@/lib/constants";
import type { Metadata } from "next";
import Image from "next/image";
import Link from "next/link";
import { SponsoredInAppTxPreview } from "../../../components/in-app-wallet/sponsored-tx";
import { StyledConnectEmbed } from "../../../components/styled-connect-embed";
export const metadata: Metadata = {
metadataBase,
title: "Sign In, Account Abstraction and SIWE Auth | thirdweb Connect",
description:
"Let users sign up with their email, phone number, social media accounts or directly with a wallet. Seemlessly integrate account abstraction and SIWE auth.",
};
export default function Page() {
return (
<main className="flex-1 content-center relative py-12 md:py-24 lg:py-32 xl:py-48 space-y-12 md:space-y-24">
<section className="container px-4 md:px-6">
<div className="grid gap-10 lg:grid-cols-[1fr_400px] lg:gap-12 xl:grid-cols-[1fr_600px]">
<div className="flex flex-col justify-center space-y-4 min-h-[100%]">
<div className="space-y-2">
<h1 className="text-4xl font-bold tracking-tighter sm:text-5xl xl:text-6xl/none font-inter mb-6 text-balance">
Onboard users to web3
</h1>
<p className="max-w-[600px] text-gray-500 md:text-xl dark:text-gray-300 mb-6 font-inter">
Onboard anyone with flexible auth options, secure account
recovery, and smart account integration.
</p>
</div>
<div className="flex flex-col gap-4 min-[400px]:flex-row">
<Button asChild size="lg">
<Link
target="_blank"
href="https://portal.thirdweb.com/connect/in-app-wallet/overview"
>
View docs
</Link>
</Button>
<Button asChild variant="outline" size="lg">
<Link target="_blank" href="https://thirdweb.com/contact-us">
Book a Demo
</Link>
</Button>
</div>
</div>
<div className="w-full mx-auto my-auto sm:w-full order-first lg:order-last relative flex flex-col space-y-2">
<div className="max-w-full sm:max-w-[600px]">
<Image
src={"/in-app-wallet.png"}
width={600}
height={400}
objectFit={"contain"}
alt=""
priority={true}
/>
</div>
</div>
</div>
</section>
<section className="container px-4 md:px-6 space-y-8">
<AnyAuth />
</section>
<section className="container px-4 md:px-6 space-y-8">
<SponsoredInAppTx />
</section>
</main>
);
}
function AnyAuth() {
return (
<>
<div className="space-y-2">
<h2 className="text-2xl sm:text-3xl font-semibold tracking-tight">
Any Auth Method
</h2>
<p className="max-w-[600px]">
Use any of the built-in auth methods or bring your own.
<br />
Supports custom auth endpoints to integrate with your existing user
base.
</p>
</div>
<CodeExample
preview={<StyledConnectEmbed />}
code={`import { inAppWallet } from "thirdweb/wallets";
import { ConnectEmbed } from "thirdweb/react";
const wallets = [
inAppWallet(
// built-in auth methods
{ auth: {
options: ["email", "phone", "passkey", "google", "apple", "facebook"]
}
}
// or bring your own auth endpoint
)
];
function App(){
return (
<ConnectEmbed client={client} wallets={wallets} />);
};`}
lang="tsx"
/>
</>
);
}
function SponsoredInAppTx() {
return (
<>
<div className="space-y-2">
<h2 className="text-2xl sm:text-3xl font-semibold tracking-tight">
Signless Sponsored Transactions
</h2>
<p className="max-w-[600px]">
With in-app wallets, users don&apos;t need to confirm every
transaction.
<br />
Combine it with smart account flag to cover gas costs for the best UX.
</p>
</div>
<CodeExample
preview={<SponsoredInAppTxPreview />}
code={`import { inAppWallet } from "thirdweb/wallets";
import { claimTo } from "thirdweb/extensions/erc1155";
import { ConnectButton, TransactionButton } from "thirdweb/react";
const wallets = [
inAppWallet(
// turn on gas sponsorship for in-app wallets
{ smartAccount: { chain, sponsorGas: true }}
)
];
function App(){
return (<>
<ConnectButton client={client} wallets={wallets} />
{/* signless, sponsored transactions */}
<TransactionButton transaction={() => claimTo({ contract, to: "0x123...", tokenId: 0n, quantity: 1n })}>Mint</TransactionButton>
</>);
};`}
lang="tsx"
/>
</>
);
}
+123 -77
View File
@@ -1,10 +1,11 @@
import { StyledPayEmbed } from "@/components/styled-pay-embed";
import { Button } from "@/components/ui/button";
import { metadataBase } from "@/lib/constants";
import type { Metadata } from "next";
import Image from "next/image";
import Link from "next/link";
import { CodeExample } from "../../../components/code/code-example";
import { StyledPayTransaction } from "../../../components/styled-pay-transaction";
import { StyledPayEmbedPreview } from "../../../components/pay/embed";
import { PayTransactionButtonPreview } from "../../../components/pay/transaction-button";
export const metadata: Metadata = {
metadataBase,
@@ -15,88 +16,133 @@ export const metadata: Metadata = {
export default function Page() {
return (
<main className="flex-1 content-center relative">
<section className="w-full py-12 md:py-24 lg:py-32 xl:py-48 z-10">
<div className="container px-4 md:px-6">
<div className="grid gap-10 lg:grid-cols-[1fr_400px] lg:gap-12 xl:grid-cols-[1fr_600px]">
<div className="flex flex-col justify-center space-y-4 min-h-[100%]">
<div className="space-y-2">
<h1 className="text-3xl font-bold tracking-tighter sm:text-5xl xl:text-6xl/none font-inter mb-6 text-balance">
The easiest way for users to transact in your app
</h1>
<p className="max-w-[600px] text-gray-500 md:text-xl dark:text-gray-300 mb-6 font-inter">
Onramp users in clicks with credit card &amp; cross-chain
crypto payments — and generate revenue for each user
transaction. Integrate for free.
</p>
</div>
<div className="flex flex-col gap-4 min-[400px]:flex-row">
<Button asChild size="lg">
<Link
target="_blank"
href="https://portal.thirdweb.com/connect/pay/get-started"
>
Get Started
</Link>
</Button>
<Button asChild variant="outline" size="lg">
<Link target="_blank" href="https://thirdweb.com/contact-us">
Book a Demo
</Link>
</Button>
</div>
</div>
<div className="w-full mx-auto my-auto sm:w-full lg:order-last relative flex flex-col space-y-2">
<div className="shadow-xl md:w-[400px] md:mx-auto">
<StyledPayEmbed />
</div>
<p className="md:text-xl text-center text-muted-foreground">
<small>👆 This is live, try it out! 👆</small>
<main className="flex-1 content-center relative py-12 md:py-24 lg:py-32 xl:py-48 space-y-12 md:space-y-24">
<section className="container px-4 md:px-6">
<div className="grid gap-10 lg:grid-cols-[1fr_400px] lg:gap-12 xl:grid-cols-[1fr_600px]">
<div className="flex flex-col justify-center space-y-4 min-h-[100%]">
<div className="space-y-2">
<h1 className="text-4xl font-bold tracking-tighter sm:text-5xl xl:text-6xl/none font-inter mb-6 text-balance">
The easiest way for users to transact in your app
</h1>
<p className="max-w-[600px] text-gray-500 md:text-xl dark:text-gray-300 mb-6 font-inter">
Onramp users with credit card &amp; cross-chain crypto payments
— and generate revenue for each user transaction.
</p>
</div>
<div className="flex flex-col gap-4 min-[400px]:flex-row">
<Button asChild size="lg">
<Link
target="_blank"
href="https://portal.thirdweb.com/connect/pay/get-started"
>
View docs
</Link>
</Button>
<Button asChild variant="outline" size="lg">
<Link target="_blank" href="https://thirdweb.com/contact-us">
Book a Demo
</Link>
</Button>
</div>
</div>
<div className="w-full mx-auto my-auto sm:w-full order-first lg:order-last relative flex flex-col space-y-2">
<div className="max-w-full sm:max-w-[600px]">
<Image
width={600}
height={400}
src={"/pay.png"}
objectFit={"contain"}
alt=""
priority={true}
/>
</div>
</div>
</div>
</section>
<section className="container px-4 md:px-6 space-y-8">
<div className="space-y-2">
<h2 className="text-4xl font-semibold tracking-tight">
Transaction Button
</h2>
<p className="max-w-[600px]">
Transaction Button is a handy component that handles transactions.
<br />
If your user doesn&apos;t have enough funds for that transaction, a
pre-filled pay modal will appear with the exact amount needed.
</p>
</div>
<CodeExample
preview={<StyledPayTransaction />}
code={`import { TransactionButton } from "thirdweb/react";
function App() {
const account = useActiveAccount();
return (
<TransactionButton
transaction={() => {
// any transaction works
return claimTo({
contract,
quantity: 1n,
tokenId: 0n,
to: account?.address,
});
}}
>
Buy for 10 MATIC
</TransactionButton>
);
};`}
lang="tsx"
/>
<StyledPayEmbed />
</section>
<section className="container px-4 md:px-6 space-y-8">
<PayTransactionButton />
</section>
</main>
);
}
function StyledPayEmbed() {
return (
<>
<div className="space-y-2">
<h2 className="text-2xl sm:text-3xl font-semibold tracking-tight">
Embed component
</h2>
<p className="max-w-[600px]">
Inline component that allows users to buy any currency.
<br />
Customize theme, currency, amounts, payment methods and more.
</p>
</div>
<CodeExample
preview={<StyledPayEmbedPreview />}
code={`
import { PayEmbed } from "thirdweb/react";
function App() {
return (
<PayEmbed
client={client}
/>
);
};`}
lang="tsx"
/>
</>
);
}
function PayTransactionButton() {
return (
<>
<div className="space-y-2">
<h2 className="text-2xl sm:text-3xl font-semibold tracking-tight">
Transaction Button
</h2>
<p className="max-w-[600px]">
Transaction Button is a handy component that handles transactions.
<br />
If your user doesn&apos;t have enough funds for that transaction, a
pre-filled pay modal will appear with the exact amount needed.
</p>
</div>
<CodeExample
preview={<PayTransactionButtonPreview />}
code={`import { claimTo } from "thirdweb/extensions/erc1155";
import { TransactionButton, useActiveAccount } from "thirdweb/react";
function App() {
const account = useActiveAccount();
return (
<TransactionButton
transaction={() => {
// any transaction works
return claimTo({
contract,
quantity: 1n,
tokenId: 0n,
to: account.address,
});
}}
>
Buy for 10 MATIC
</TransactionButton>
);
};`}
lang="tsx"
/>
</>
);
}
@@ -1,10 +1,13 @@
import { CodeExample } from "@/components/code/code-example";
import { StyledConnectButton } from "@/components/styled-connect-button";
import { StyledConnectEmbed } from "@/components/styled-connect-embed";
import { Button } from "@/components/ui/button";
import { metadataBase } from "@/lib/constants";
import type { Metadata } from "next";
import Image from "next/image";
import Link from "next/link";
import { CodeExample } from "../../../components/code/code-example";
import { CustomizedConnect } from "../../../components/sign-in/custom";
import { HooksPreview } from "../../../components/sign-in/hooks";
import { StyledConnectButton } from "../../../components/styled-connect-button";
import { StyledConnectEmbed } from "../../../components/styled-connect-embed";
export const metadata: Metadata = {
metadataBase,
@@ -15,18 +18,18 @@ export const metadata: Metadata = {
export default function Page() {
return (
<main className="flex-1 content-center relative py-12 md:py-24 lg:py-32 xl:py-48 space-y-12 md:space-y-24 lg:space-y-32 xl:space-y-48">
<main className="flex-1 content-center relative py-12 md:py-24 lg:py-32 xl:py-48 space-y-12 md:space-y-24">
<section className="container px-4 md:px-6">
<div className="grid gap-10 lg:grid-cols-[1fr_400px] lg:gap-12 xl:grid-cols-[1fr_600px]">
<div className="flex flex-col justify-center space-y-4 min-h-[100%]">
<div className="space-y-2">
<h1 className="text-3xl font-bold tracking-tighter sm:text-5xl xl:text-6xl/none font-inter mb-6 text-balance">
The easiest way for users to sign in to your app
<h1 className="text-4xl font-bold tracking-tighter sm:text-5xl xl:text-6xl/none font-inter mb-6 text-balance">
Sign in
</h1>
<p className="max-w-[600px] text-gray-500 md:text-xl dark:text-gray-300 mb-6 font-inter">
Let users sign in with their email, phone number, social media
accounts or directly with a wallet. Seemlessly integrate account
abstraction and SIWE auth.
Create a login experience tailor-made for your app. Add your
wallets of choice, enable web2 sign-in options and create a
modal that fits your brand.
</p>
</div>
<div className="flex flex-col gap-4 min-[400px]:flex-row">
@@ -35,7 +38,7 @@ export default function Page() {
target="_blank"
href="https://portal.thirdweb.com/connect/sign-in"
>
Get Started
View docs
</Link>
</Button>
<Button asChild variant="outline" size="lg">
@@ -45,78 +48,202 @@ export default function Page() {
</Button>
</div>
</div>
<div className="w-full mx-auto my-auto sm:w-full lg:order-last relative flex flex-col space-y-2">
<div className="mx-auto">
<StyledConnectButton />
<div className="w-full mx-auto my-auto sm:w-full order-first lg:order-last relative flex flex-col space-y-2">
<div className="max-w-full sm:max-w-[600px]">
<Image
src={"/connectors.png"}
width={600}
height={400}
objectFit={"contain"}
alt=""
priority={true}
/>
</div>
<p className="md:text-xl text-center text-muted-foreground">
<small>👆 This is live, try it out! 👆</small>
</p>
</div>
</div>
</section>
<section className="container px-4 md:px-6 space-y-8">
<div className="space-y-2">
<h2 className="text-4xl font-semibold tracking-tight">
Connect Button
</h2>
<p className="max-w-[600px]">
When clicked opens a modal and allows users to connect to various
wallets.
<br />
It is extremely customizable and very easy to use.
</p>
</div>
<CodeExample
preview={<StyledConnectButton />}
code={`import { createThirdwebClient } from "thirdweb";
import { ConnectButton } from "thirdweb/react";
const THIRDWEB_CLIENT = createThirdwebClient({
clientId: "<YOUR_CLIENT_ID>"
});
function App(){
return (
<ConnectButton client={THIRDWEB_CLIENT} />
);
};`}
lang="tsx"
/>
<ButtonComponent />
</section>
<section className="container px-4 md:px-6 space-y-8">
<div className="space-y-2">
<h2 className="text-4xl font-semibold tracking-tight">
Connect Embed
</h2>
<p className="max-w-[600px]">
When clicked opens a modal and allows users to connect to various
wallets.
<br />
It is extremely customizable and very easy to use.
</p>
</div>
<CodeExample
preview={<StyledConnectEmbed />}
code={`import { createThirdwebClient } from "thirdweb";
import { ConnectEmbed } from "thirdweb/react";
<EmbedComponent />
</section>
const THIRDWEB_CLIENT = createThirdwebClient({
clientId: "<YOUR_CLIENT_ID>"
});
<section className="container px-4 md:px-6 space-y-8">
<CustomizedComponent />
</section>
function App(){
return (
<ConnectEmbed client={THIRDWEB_CLIENT} />
);
};`}
lang="tsx"
/>
<section className="container px-4 md:px-6 space-y-8">
<Hooks />
</section>
</main>
);
}
function ButtonComponent() {
return (
<>
<div className="space-y-2">
<h2 className="text-2xl sm:text-3xl font-semibold tracking-tight">
Button Component
</h2>
<p className="max-w-[600px]">
When clicked opens a modal and allows users to connect to various
wallets.
<br />
Extremely customizable and easy to use.
</p>
</div>
<CodeExample
preview={<StyledConnectButton />}
code={`import { createThirdwebClient } from "thirdweb";
import { ConnectButton } from "thirdweb/react";
const THIRDWEB_CLIENT = createThirdwebClient({
clientId: "<YOUR_CLIENT_ID>"
});
function App(){
return (
<ConnectButton client={THIRDWEB_CLIENT} />
);
};`}
lang="tsx"
/>
</>
);
}
function EmbedComponent() {
return (
<>
<div className="space-y-2">
<h2 className="text-2xl sm:text-3xl font-semibold tracking-tight">
Embed Component
</h2>
<p className="max-w-[600px]">
Inline component to connect to various wallets.
<br />
Use this to create your own full screen login page.
</p>
</div>
<CodeExample
preview={<StyledConnectEmbed />}
code={`import { createThirdwebClient } from "thirdweb";
import { ConnectEmbed } from "thirdweb/react";
const THIRDWEB_CLIENT = createThirdwebClient({
clientId: "<YOUR_CLIENT_ID>"
});
function App(){
return (
<ConnectEmbed client={THIRDWEB_CLIENT} />
);
};`}
lang="tsx"
/>
</>
);
}
function CustomizedComponent() {
return (
<>
<div className="space-y-2">
<h2 className="text-2xl sm:text-3xl font-semibold tracking-tight">
Customized Component
</h2>
<p className="max-w-[600px]">
Change the look and feel of the connect button without rewriting your
own.
</p>
</div>
<CodeExample
preview={<CustomizedConnect />}
code={`import { createThirdwebClient } from "thirdweb";
import { ConnectEmbed } from "thirdweb/react";
const THIRDWEB_CLIENT = createThirdwebClient({
clientId: "<YOUR_CLIENT_ID>"
});
function App(){
return (
<ConnectButton
client={THIRDWEB_CLIENT}
connectButton={{
label: "Custom Connect Button",
}}
showAllWallets={false}
connectModal={{
title: "Custom Connect Modal",
size: "compact",
}}
theme={darkTheme({
colors: {
modalBg: "#281866",
accentButtonBg: "#281866",
connectedButtonBgHover: "#281866",
borderColor: "rgba(256, 256,256, 0.1)",
accentText: "rgba(256, 256,256, 0.1)",
connectedButtonBg: "#281866",
tertiaryBg: "rgba(256, 256,256, 0.1)",
primaryButtonBg: "#281866",
secondaryButtonBg: "rgba(256, 256,256, 0.1)",
primaryButtonText: "#E7E8E9",
primaryText: "#E7E8E9",
separatorLine: "rgba(256, 256,256, 0.1)",
},
})}
/>
);
};`}
lang="tsx"
/>
</>
);
}
function Hooks() {
return (
<>
<div className="space-y-2">
<h2 className="text-2xl sm:text-3xl font-semibold tracking-tight">
Custom UI
</h2>
<p className="max-w-[600px]">
Build your own connect UI using react hooks.
<br />
Wallet state management is all handled for you.
</p>
</div>
<CodeExample
preview={<HooksPreview />}
code={`// Using your own UI
import { useConnect } from "thirdweb/react";
import { createWallet } from "thirdweb/wallets";
function App(){
const { connect } = useConnect();
return (<>
<button onClick={() => connect(async () => {
// 350+ wallets supported with id autocomplete
const wallet = createWallet("io.metamask");
await wallet.connect({ client });
return wallet;
})}>Connect with Metamask</button>
</>);
};`}
lang="tsx"
/>
</>
);
}
@@ -23,7 +23,7 @@ export function Header() {
</div>
<div className="flex items-center gap-1">
<ThemeSelector />
{/* <ThemeSelector /> */}
<Button asChild size="icon" variant="ghost">
<Link href="https://github.com/thirdweb-dev" target="_blank">
<GithubIcon strokeWidth={1} />
+16 -21
View File
@@ -27,27 +27,22 @@ function WalletsSection() {
<div className="my-4 grid gap-4 md:grid-cols-2 lg:grid-cols-3">
<ArticleCardIndex
href="/connect/sign-in"
title="Sign-In"
description="Flexible user sign-up flow with wallet and social sign-in methods"
title="Sign In"
description="Integrate 350+ web3 wallets, in-app wallets, and smart accounts"
icon={WalletsConnectIcon}
/>
<ComingSoonWrapper>
<ArticleCardIndex
href="/connect/account-abstraction"
title="Account abstraction"
description="Complete toolkit for Account Abstraction"
icon={WalletsSmartIcon}
/>
</ComingSoonWrapper>
<ComingSoonWrapper>
<ArticleCardIndex
title="In-App Wallet"
description="Email & social login wallets for your customers"
href="/connect/in-app-wallet"
icon={WalletsInAppIcon}
/>
</ComingSoonWrapper>
<ArticleCardIndex
href="/connect/account-abstraction"
title="Account abstraction"
description="Complete toolkit for Account Abstraction"
icon={WalletsSmartIcon}
/>
<ArticleCardIndex
title="In-App Wallet"
description="Onboard users with an email, social logins, passkey or your own auth system"
href="/connect/in-app-wallet"
icon={WalletsInAppIcon}
/>
<ComingSoonWrapper>
<ArticleCardIndex
href="/connect/auth"
@@ -59,7 +54,7 @@ function WalletsSection() {
<ArticleCardIndex
href="/connect/pay"
title="Pay"
description="Easily integrate fiat onramps and cross-chain crypto purchases"
description="Add fiat and cross-chain crypto payments in your apps"
icon={PayIcon}
/>
<ComingSoonWrapper>
@@ -87,7 +82,7 @@ function ArticleCardIndex(props: {
return (
<Link
href={props.href}
className="flex items-center gap-4 rounded-lg border p-4 transition-colors hover:border-ring hover:bg-ring/20 h-full"
className="flex items-center gap-4 rounded-lg border p-4 transition-colors hover:border-ring hover:bg-ring/20 min-h-32"
>
{props.icon && <props.icon className="size-10 shrink-0" />}
<div className="flex flex-col gap-1">
+1 -1
View File
@@ -6,7 +6,7 @@ import { ThirdwebProvider } from "thirdweb/react";
export const Providers: React.FC<React.PropsWithChildren> = ({ children }) => {
return (
<ThemeProvider attribute="class" enableSystem>
<ThemeProvider attribute="class" defaultTheme="dark">
<ThirdwebProvider>{children}</ThirdwebProvider>
</ThemeProvider>
);
@@ -0,0 +1,74 @@
"use client";
import { useEffect } from "react";
import {
useActiveAccount,
useActiveWallet,
useConnect,
useDisconnect,
} from "thirdweb/react";
import { shortenAddress } from "thirdweb/utils";
import { createWallet } from "thirdweb/wallets";
import { THIRDWEB_CLIENT } from "../../lib/client";
import { StyledConnectButton } from "../styled-connect-button";
import { Button } from "../ui/button";
import { chain } from "./constants";
export function ConnectSmartAccountPreview() {
// force disconnect if not smart wallet already
const wallet = useActiveWallet();
const { disconnect } = useDisconnect();
useEffect(() => {
if (wallet && wallet.id !== "smart") {
disconnect(wallet);
}
}, [wallet, disconnect]);
return (
<div className="flex flex-col">
<StyledConnectButton
accountAbstraction={{
chain,
sponsorGas: true,
}}
/>
</div>
);
}
export function ConnectSmartAccountCustomPreview() {
const account = useActiveAccount();
const wallet = useActiveWallet();
const connectMutation = useConnect({
client: THIRDWEB_CLIENT,
accountAbstraction: { chain, sponsorGas: true },
});
const { disconnect } = useDisconnect();
const connect = async () => {
const wallet = await connectMutation.connect(async () => {
const adminWallet = createWallet("io.metamask");
await adminWallet.connect({
client: THIRDWEB_CLIENT,
});
return adminWallet;
});
return wallet;
};
return (
<div className="flex flex-col">
{account && wallet ? (
<>
<p className="py-4">Connected as {shortenAddress(account.address)}</p>
<Button variant={"outline"} onClick={() => disconnect(wallet)}>
Disconnect
</Button>
</>
) : (
<Button variant={"default"} onClick={connect}>
Connect (metamask)
</Button>
)}
</div>
);
}
@@ -0,0 +1,13 @@
import { getContract } from "thirdweb";
import { baseSepolia } from "thirdweb/chains";
import { THIRDWEB_CLIENT } from "../../lib/client";
export const chain = baseSepolia;
export const editionDropAddress = "0x638263e3eAa3917a53630e61B1fBa685308024fa";
export const editionDropTokenId = 0n;
export const editionDropContract = getContract({
address: editionDropAddress,
chain,
client: THIRDWEB_CLIENT,
});
@@ -0,0 +1,91 @@
"use client";
import { useTheme } from "next-themes";
import { useEffect } from "react";
import { claimTo, getNFT, getOwnedNFTs } from "thirdweb/extensions/erc1155";
import {
MediaRenderer,
TransactionButton,
useActiveAccount,
useActiveWallet,
useDisconnect,
useReadContract,
} from "thirdweb/react";
import { THIRDWEB_CLIENT } from "../../lib/client";
import { editionDropContract, editionDropTokenId } from "./constants";
export function SponsoredTxPreview() {
const wallet = useActiveWallet();
const { disconnect } = useDisconnect();
useEffect(() => {
if (wallet && wallet.id !== "smart") {
disconnect(wallet);
}
}, [wallet, disconnect]);
const { theme } = useTheme();
const smartAccount = useActiveAccount();
const { data: nft, isLoading: isNftLoading } = useReadContract(getNFT, {
contract: editionDropContract,
tokenId: editionDropTokenId,
});
const { data: ownedNfts } = useReadContract(getOwnedNFTs, {
contract: editionDropContract,
// biome-ignore lint/style/noNonNullAssertion: handled by queryOptions
address: smartAccount?.address!,
queryOptions: { enabled: !!smartAccount },
});
return (
<div className="flex flex-col">
{isNftLoading ? (
<div className="w-full mt-24">Loading...</div>
) : (
<>
{nft ? (
<MediaRenderer
client={THIRDWEB_CLIENT}
src={nft.metadata.image}
style={{ width: "100%", marginTop: "10px" }}
/>
) : null}
{smartAccount ? (
<div className="flex flex-col justify-center p-8">
<p className="font-semibold text-center mb-2">
You own {ownedNfts?.[0]?.quantityOwned.toString() || "0"}{" "}
Kittens
</p>
<TransactionButton
transaction={() =>
claimTo({
contract: editionDropContract,
tokenId: editionDropTokenId,
to: smartAccount.address,
quantity: 1n,
})
}
onError={(error) => {
alert(`Error: ${error.message}`);
}}
onTransactionConfirmed={async () => {
alert("Minted successful!");
}}
>
Mint
</TransactionButton>
</div>
) : (
<p
style={{
textAlign: "center",
width: "100%",
marginTop: "10px",
}}
>
Login to mint this Kitten!
</p>
)}
</>
)}
</div>
);
}
@@ -1,8 +1,3 @@
// enforces this only gets rendered on the server
import "server-only";
import { transformerTwoslash } from "@shikijs/twoslash";
import "@shikijs/twoslash/style-rich.css";
import * as parserBabel from "prettier/plugins/babel";
import * as estree from "prettier/plugins/estree";
import { format } from "prettier/standalone";
@@ -14,22 +9,17 @@ export type CodeProps = {
};
export const Code: React.FC<CodeProps> = async ({ code, lang }) => {
const formattedCode = await format(
`// @noErrors
${code}`,
{
parser: "babel-ts",
plugins: [parserBabel, estree],
printWidth: 50,
},
);
const formattedCode = await format(code, {
parser: "babel-ts",
plugins: [parserBabel, estree],
printWidth: 50,
});
const html = await codeToHtml(formattedCode, {
lang: lang,
themes: {
light: "github-light",
dark: "github-dark-default",
},
transformers: [transformerTwoslash()],
});
return (
@@ -0,0 +1,33 @@
"use client";
import { THIRDWEB_CLIENT } from "@/lib/client";
import { useTheme } from "next-themes";
import { ConnectButton } from "thirdweb/react";
import type { ConnectButtonProps } from "thirdweb/react";
import { inAppWallet } from "thirdweb/wallets/in-app";
import { chain } from "./constants";
export function InAppConnectButton(
props?: Omit<ConnectButtonProps, "client" | "theme">,
) {
const { theme } = useTheme();
return (
<ConnectButton
client={THIRDWEB_CLIENT}
theme={theme === "light" ? "light" : "dark"}
connectButton={{
label: "Sign in",
}}
wallets={[
inAppWallet({
smartAccount: {
chain,
sponsorGas: true,
},
}),
]}
{...props}
/>
);
}
@@ -0,0 +1,20 @@
import { getContract } from "thirdweb";
import { baseSepolia } from "thirdweb/chains";
import { THIRDWEB_CLIENT } from "../../lib/client";
export const chain = baseSepolia;
export const tokenDropAddress = "0xd64A548A82c190083707CBEFD26958E5e6551D18";
export const editionDropAddress = "0x638263e3eAa3917a53630e61B1fBa685308024fa";
export const editionDropTokenId = 0n;
export const editionDropContract = getContract({
address: editionDropAddress,
chain,
client: THIRDWEB_CLIENT,
});
export const tokenDropContract = getContract({
address: tokenDropAddress,
chain,
client: THIRDWEB_CLIENT,
});
@@ -0,0 +1,91 @@
"use client";
import { useTheme } from "next-themes";
import { useEffect } from "react";
import { claimTo, getNFT, getOwnedNFTs } from "thirdweb/extensions/erc1155";
import {
MediaRenderer,
TransactionButton,
useActiveAccount,
useActiveWallet,
useDisconnect,
useReadContract,
} from "thirdweb/react";
import { THIRDWEB_CLIENT } from "../../lib/client";
import { editionDropContract, editionDropTokenId } from "./constants";
export function SponsoredInAppTxPreview() {
const wallet = useActiveWallet();
const { disconnect } = useDisconnect();
useEffect(() => {
if (wallet && wallet.id !== "inApp") {
disconnect(wallet);
}
}, [wallet, disconnect]);
const { theme } = useTheme();
const smartAccount = useActiveAccount();
const { data: nft, isLoading: isNftLoading } = useReadContract(getNFT, {
contract: editionDropContract,
tokenId: editionDropTokenId,
});
const { data: ownedNfts } = useReadContract(getOwnedNFTs, {
contract: editionDropContract,
// biome-ignore lint/style/noNonNullAssertion: handled by queryOptions
address: smartAccount?.address!,
queryOptions: { enabled: !!smartAccount },
});
return (
<div className="flex flex-col">
{isNftLoading ? (
<div className="w-full mt-24">Loading...</div>
) : (
<>
{nft ? (
<MediaRenderer
client={THIRDWEB_CLIENT}
src={nft.metadata.image}
style={{ width: "100%", marginTop: "10px" }}
/>
) : null}
{smartAccount ? (
<>
<p className="font-semibold text-center mb-2">
You own {ownedNfts?.[0]?.quantityOwned.toString() || "0"}{" "}
Kittens
</p>
<TransactionButton
transaction={() =>
claimTo({
contract: editionDropContract,
tokenId: editionDropTokenId,
to: smartAccount.address,
quantity: 1n,
})
}
onError={(error) => {
alert(`Error: ${error.message}`);
}}
onTransactionConfirmed={async () => {
alert("Minted successful!");
}}
>
Mint
</TransactionButton>
</>
) : (
<p
style={{
textAlign: "center",
width: "100%",
marginTop: "10px",
}}
>
Login to mint this Kitten!
</p>
)}
</>
)}
</div>
);
}
@@ -4,13 +4,13 @@ import { THIRDWEB_CLIENT } from "@/lib/client";
import { useTheme } from "next-themes";
import { PayEmbed } from "thirdweb/react";
export function StyledPayEmbed() {
export function StyledPayEmbedPreview() {
const { theme } = useTheme();
return (
<PayEmbed
client={THIRDWEB_CLIENT}
theme={theme === "light" ? "dark" : "light"}
theme={theme === "light" ? "light" : "dark"}
/>
);
}
@@ -0,0 +1,41 @@
"use client";
import { useTheme } from "next-themes";
import { getContract } from "thirdweb";
import { polygon } from "thirdweb/chains";
import { claimTo } from "thirdweb/extensions/erc1155";
import { TransactionButton, useActiveAccount } from "thirdweb/react";
import { THIRDWEB_CLIENT } from "../../lib/client";
import { StyledConnectButton } from "../styled-connect-button";
const contract = getContract({
address: "0x96B30d36f783c7BC68535De23147e2ce65788e93",
chain: polygon,
client: THIRDWEB_CLIENT,
});
export function PayTransactionButtonPreview() {
const account = useActiveAccount();
const { theme } = useTheme();
return account ? (
<TransactionButton
transaction={() => {
if (!account) throw new Error("No active account");
return claimTo({
contract,
quantity: 1n,
tokenId: 0n,
to: account?.address,
});
}}
payModal={{
theme: theme === "light" ? "light" : "dark",
}}
>
Buy for 10 MATIC
</TransactionButton>
) : (
<StyledConnectButton />
);
}
@@ -0,0 +1,36 @@
"use client";
import { ConnectButton } from "thirdweb/react";
import { darkTheme, lightTheme } from "thirdweb/react";
import { THIRDWEB_CLIENT } from "../../lib/client";
export const CustomizedConnect = () => {
return (
<ConnectButton
client={THIRDWEB_CLIENT}
connectButton={{
label: "Custom Connect Button",
}}
showAllWallets={false}
connectModal={{
title: "Custom Connect Modal",
size: "compact",
}}
theme={darkTheme({
colors: {
modalBg: "#281866",
accentButtonBg: "#281866",
connectedButtonBgHover: "#281866",
borderColor: "rgba(256, 256,256, 0.1)",
accentText: "rgba(256, 256,256, 0.1)",
connectedButtonBg: "#281866",
tertiaryBg: "rgba(256, 256,256, 0.1)",
primaryButtonBg: "#281866",
secondaryButtonBg: "rgba(256, 256,256, 0.1)",
primaryButtonText: "#E7E8E9",
primaryText: "#E7E8E9",
separatorLine: "rgba(256, 256,256, 0.1)",
},
})}
/>
);
};
@@ -0,0 +1,47 @@
"use client";
import {
useActiveAccount,
useActiveWallet,
useConnect,
useDisconnect,
} from "thirdweb/react";
import { shortenAddress } from "thirdweb/utils";
import { createWallet } from "thirdweb/wallets";
import { THIRDWEB_CLIENT } from "../../lib/client";
import { Button } from "../ui/button";
export function HooksPreview() {
const account = useActiveAccount();
const wallet = useActiveWallet();
const connectMutation = useConnect();
const { disconnect } = useDisconnect();
const connect = async () => {
const wallet = await connectMutation.connect(async () => {
const adminWallet = createWallet("io.metamask");
await adminWallet.connect({
client: THIRDWEB_CLIENT,
});
return adminWallet;
});
return wallet;
};
return (
<div className="flex flex-col">
{account && wallet ? (
<>
<p className="py-4">Connected as {shortenAddress(account.address)}</p>
<Button variant={"outline"} onClick={() => disconnect(wallet)}>
Disconnect
</Button>
</>
) : (
<Button variant={"default"} onClick={connect}>
Connect with Metamask
</Button>
)}
</div>
);
}
@@ -3,14 +3,18 @@
import { THIRDWEB_CLIENT } from "@/lib/client";
import { useTheme } from "next-themes";
import { ConnectButton } from "thirdweb/react";
import type { ConnectButtonProps } from "thirdweb/react";
export function StyledConnectButton() {
export function StyledConnectButton(
props?: Omit<ConnectButtonProps, "client" | "theme">,
) {
const { theme } = useTheme();
return (
<ConnectButton
client={THIRDWEB_CLIENT}
theme={theme === "light" ? "light" : "dark"}
{...props}
/>
);
}
@@ -2,15 +2,28 @@
import { THIRDWEB_CLIENT } from "@/lib/client";
import { useTheme } from "next-themes";
import { ConnectEmbed } from "thirdweb/react";
import {
ConnectEmbed,
type ConnectEmbedProps,
useActiveAccount,
} from "thirdweb/react";
import { StyledConnectButton } from "./styled-connect-button";
export function StyledConnectEmbed() {
export function StyledConnectEmbed(
props?: Omit<ConnectEmbedProps, "client" | "theme">,
) {
const { theme } = useTheme();
const account = useActiveAccount();
return (
return account ? (
<div className="flex flex-col">
<StyledConnectButton />
</div>
) : (
<ConnectEmbed
client={THIRDWEB_CLIENT}
theme={theme === "light" ? "light" : "dark"}
{...props}
/>
);
}
+1
View File
@@ -22,6 +22,7 @@
"packages/thirdweb/src/crypto/aes/lib/md5.ts",
"packages/thirdweb/src/utils/promise/p-limit.ts",
"packages/thirdweb/src/utils/bytecode/cbor-decode.ts",
"packages/thirdweb/src/wallets/in-app/native/helpers/wallet/sss.ts",
"packages/thirdweb/src/**/__generated__/**"
]
},
+1 -1
View File
@@ -15,7 +15,7 @@
},
"devDependencies": {
"@swc/cli": "0.3.10",
"@swc/core": "^1.4.12",
"@swc/core": "^1.5.24",
"ora": "^6.3.1"
}
}
+49
View File
@@ -1,5 +1,54 @@
# @thirdweb-dev/auth
## 4.1.96
### Patch Changes
- Updated dependencies []:
- @thirdweb-dev/wallets@2.5.38
## 4.1.95
### Patch Changes
- Updated dependencies []:
- @thirdweb-dev/wallets@2.5.37
## 4.1.94
### Patch Changes
- Updated dependencies []:
- @thirdweb-dev/wallets@2.5.36
## 4.1.93
### Patch Changes
- Updated dependencies []:
- @thirdweb-dev/wallets@2.5.35
## 4.1.92
### Patch Changes
- Updated dependencies []:
- @thirdweb-dev/wallets@2.5.34
## 4.1.91
### Patch Changes
- Updated dependencies [[`5698b0c`](https://github.com/thirdweb-dev/js/commit/5698b0c5a9779830fa2d2582e551d050427c6254), [`913f99a`](https://github.com/thirdweb-dev/js/commit/913f99a9a4d002b82fcd9e55db41c64aab99cf83), [`d2cbb1e`](https://github.com/thirdweb-dev/js/commit/d2cbb1ee7ebe5aea9021d5be57cd80abd1df7a1c)]:
- @thirdweb-dev/wallets@2.5.33
## 4.1.90
### Patch Changes
- Updated dependencies []:
- @thirdweb-dev/wallets@2.5.32
## 4.1.89
### Patch Changes
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/auth",
"version": "4.1.89",
"version": "4.1.96",
"main": "dist/thirdweb-dev-auth.cjs.js",
"module": "dist/thirdweb-dev-auth.esm.js",
"browser": {
@@ -85,7 +85,7 @@
"@microsoft/tsdoc": "^0.14.2",
"@preconstruct/cli": "2.7.0",
"@swc-node/register": "^1.9.0",
"@swc/core": "^1.4.12",
"@swc/core": "^1.5.24",
"@thirdweb-dev/tsconfig": "workspace:*",
"@types/cookie": "^0.6.0",
"@types/cookie-parser": "^1.4.7",
+30
View File
@@ -1,5 +1,35 @@
# @thirdweb-dev/chains
## 0.1.120
### Patch Changes
- [#3348](https://github.com/thirdweb-dev/js/pull/3348) [`321cf26`](https://github.com/thirdweb-dev/js/commit/321cf26342d0755204aa465bc2390e052d5ed071) Thanks [@github-actions](https://github.com/apps/github-actions)! - Synced Chains Package
## 0.1.119
### Patch Changes
- [#3311](https://github.com/thirdweb-dev/js/pull/3311) [`8b74602`](https://github.com/thirdweb-dev/js/commit/8b74602e3b7fbe011bf886b9d5ee0e2ea62f7447) Thanks [@github-actions](https://github.com/apps/github-actions)! - Synced Chains Package
## 0.1.118
### Patch Changes
- [#3279](https://github.com/thirdweb-dev/js/pull/3279) [`9f42e4d`](https://github.com/thirdweb-dev/js/commit/9f42e4d2412df536d1b5f03a4e2a8b516911facb) Thanks [@github-actions](https://github.com/apps/github-actions)! - Synced Chains Package
## 0.1.117
### Patch Changes
- [#3222](https://github.com/thirdweb-dev/js/pull/3222) [`efae2f3`](https://github.com/thirdweb-dev/js/commit/efae2f36b60e0bcade159608903c9b756843151c) Thanks [@github-actions](https://github.com/apps/github-actions)! - Synced Chains Package
## 0.1.116
### Patch Changes
- [#3168](https://github.com/thirdweb-dev/js/pull/3168) [`f13a40b`](https://github.com/thirdweb-dev/js/commit/f13a40ba9905a05d02640aa6672557f53567b087) Thanks [@github-actions](https://github.com/apps/github-actions)! - Synced Chains Package
## 0.1.115
### Patch Changes
+26
View File
@@ -0,0 +1,26 @@
import type { Chain } from "../src/types";
export default {
"chain": "QuarkChain",
"chainId": 100011,
"explorers": [],
"faucets": [],
"infoURL": "https://www.quarkchain.io",
"name": "QuarkChain L2 Mainnet",
"nativeCurrency": {
"name": "QKC",
"symbol": "QKC",
"decimals": 18
},
"networkId": 100011,
"parent": {
"type": "L2",
"chain": "eip155-100000"
},
"rpc": [
"https://100011.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://mainnet-l2-ethapi.quarkchain.io"
],
"shortName": "qkc-l2",
"slug": "quarkchain-l2",
"testnet": false
} as const satisfies Chain;
+6
View File
@@ -10,6 +10,12 @@ export default {
}
],
"faucets": [],
"icon": {
"url": "ipfs://bafkreid3wd6ouu53r677q2z24a4eq5un5tlwbc4izfapcvvtrlhkmz43au",
"width": 133,
"height": 144,
"format": "png"
},
"infoURL": "https://stabilityprotocol.com",
"name": "Global Trust Network",
"nativeCurrency": {
+41
View File
@@ -0,0 +1,41 @@
import type { Chain } from "../src/types";
export default {
"chain": "GLC",
"chainId": 10222,
"explorers": [
{
"name": "GLScan Explorer",
"url": "https://glscan.io",
"standard": "none",
"icon": {
"url": "ipfs://QmTw21p6UfXVH2BCU81G2Ck28ecoknz4v9mC35fF8Z987i",
"width": 512,
"height": 557,
"format": "png"
}
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmTw21p6UfXVH2BCU81G2Ck28ecoknz4v9mC35fF8Z987i",
"width": 512,
"height": 557,
"format": "png"
},
"infoURL": "https://glscan.io/",
"name": "GLScan",
"nativeCurrency": {
"name": "GLC",
"symbol": "GLC",
"decimals": 18
},
"networkId": 10222,
"rpc": [
"https://10222.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://glc-dataseed.glscan.io/"
],
"shortName": "glc",
"slip44": 1,
"slug": "glscan",
"testnet": false
} as const satisfies Chain;
@@ -4,12 +4,6 @@ export default {
"chainId": 107107114116,
"explorers": [],
"faucets": [],
"icon": {
"url": "ipfs://QmNTZ9nEomAXK6bLxUbMfTS1TvrsN22HU1zTtxHUpMkUhz",
"width": 1000,
"height": 1000,
"format": "png"
},
"infoURL": "https://kakarot.org",
"name": "Kakarot Sepolia Deprecated",
"nativeCurrency": {
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "Oraichain",
"chainId": 108160679,
"explorers": [],
"faucets": [],
"features": [
{
"name": "EIP155"
},
{
"name": "EIP1559"
}
],
"infoURL": "https://orai.io",
"name": "Oraichain Mainnet",
"nativeCurrency": {
"name": "Oraichain Token",
"symbol": "ORAI",
"decimals": 18
},
"networkId": 108160679,
"rpc": [
"https://108160679.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://evm.orai.io"
],
"shortName": "Oraichain",
"slug": "oraichain",
"testnet": false,
"title": "Oraichain Mainnet"
} as const satisfies Chain;
+13 -2
View File
@@ -2,9 +2,19 @@ import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 10849,
"explorers": [],
"explorers": [
{
"name": "Lamina1 Explorer",
"url": "https://subnets.avax.network/lamina1",
"standard": "EIP3091"
}
],
"faucets": [],
"features": [],
"features": [
{
"name": "EIP1559"
}
],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
@@ -25,6 +35,7 @@ export default {
"https://subnets.avax.network/lamina1/mainnet/rpc"
],
"shortName": "Lamina1",
"slip44": 1,
"slug": "lamina1",
"testnet": false
} as const satisfies Chain;
+13 -2
View File
@@ -2,9 +2,19 @@ import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 10850,
"explorers": [],
"explorers": [
{
"name": "Lamina1 Identity Explorer",
"url": "https://subnets.avax.network/lamina1id",
"standard": "EIP3091"
}
],
"faucets": [],
"features": [],
"features": [
{
"name": "EIP1559"
}
],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
@@ -25,6 +35,7 @@ export default {
"https://subnets.avax.network/lamina1id/mainnet/rpc"
],
"shortName": "Lamina1 Identity",
"slip44": 1,
"slug": "lamina1-identity",
"testnet": false
} as const satisfies Chain;
+14 -5
View File
@@ -4,16 +4,23 @@ export default {
"chainId": 109,
"explorers": [
{
"name": "shibariumscan",
"name": "Shibariumscan",
"url": "https://www.shibariumscan.io",
"standard": "none"
"standard": "EIP3091",
"icon": {
"url": "https://www.shibariumscan.io/assets/configs/network_icon_dark.png",
"width": 360,
"height": 360,
"format": "png"
}
}
],
"faucets": [],
"features": [],
"icon": {
"url": "ipfs://QmYNVkoZgRjDBQzJz6kog9mA2yPzQFW2oSKvhnkwuBhLQE",
"width": 2000,
"height": 2000,
"url": "https://chewyswap.dog/images/chains/109.png",
"width": 200,
"height": 200,
"format": "png"
},
"infoURL": "https://shibariumecosystem.com",
@@ -24,8 +31,10 @@ export default {
"decimals": 18
},
"networkId": 109,
"redFlags": [],
"rpc": [
"https://109.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.shibrpc.com",
"https://www.shibrpc.com"
],
"shortName": "shibariumecosystem",
+26
View File
@@ -0,0 +1,26 @@
import type { Chain } from "../src/types";
export default {
"chain": "QuarkChain",
"chainId": 110011,
"explorers": [],
"faucets": [],
"infoURL": "https://www.quarkchain.io",
"name": "QuarkChain L2 Testnet",
"nativeCurrency": {
"name": "QKC",
"symbol": "QKC",
"decimals": 18
},
"networkId": 110011,
"parent": {
"type": "L2",
"chain": "eip155-110000"
},
"rpc": [
"https://110011.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://testnet-l2-ethapi.quarkchain.io"
],
"shortName": "qkc-l2-t",
"slug": "quarkchain-l2-testnet",
"testnet": true
} as const satisfies Chain;
+13 -1
View File
@@ -6,10 +6,22 @@ export default {
{
"name": "NetMind Testnet Explorer",
"url": "https://testbrower.protago-dev.com",
"standard": "EIP3091"
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmQNipd6uen7sm7HZXGbqhcSVkUXxu3Tp6c3BoeFpvmywp",
"width": 500,
"height": 500,
"format": "png"
}
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmQNipd6uen7sm7HZXGbqhcSVkUXxu3Tp6c3BoeFpvmywp",
"width": 500,
"height": 500,
"format": "png"
},
"infoURL": "https://netmind.ai",
"name": "Netmind Chain Testnet",
"nativeCurrency": {
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 111223,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "Chennai Testnet",
"nativeCurrency": {
"name": "Chennai Testnet Token",
"symbol": "ZOD",
"decimals": 18
},
"networkId": 111223,
"redFlags": [],
"rpc": [
"https://111223.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/chennai/testnet/rpc"
],
"shortName": "Chennai Testnet",
"slug": "chennai-testnet",
"testnet": true
} as const satisfies Chain;
+12 -2
View File
@@ -2,9 +2,19 @@ import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 11227,
"explorers": [],
"explorers": [
{
"name": "JIRITSUTES Explorer",
"url": "https://subnets-test.avax.network/jiritsutes",
"standard": "EIP3091"
}
],
"faucets": [],
"features": [],
"features": [
{
"name": "EIP1559"
}
],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
+3 -1
View File
@@ -36,7 +36,9 @@ export default {
},
"rpc": [
"https://1123.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://b2-testnet.alt.technology"
"https://b2-testnet.alt.technology",
"https://rpc.ankr.com/b2_testnet",
"https://testnet-rpc.bsquared.network"
],
"shortName": "B2-testnet",
"slug": "b2-testnet",
+6
View File
@@ -16,6 +16,12 @@ export default {
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmVTS8jmWD5e7jVEn86wLjJsuMnc6s8fym3JbtE4etzSKf",
"width": 400,
"height": 400,
"format": "png"
},
"infoURL": "https://lisk.com",
"name": "Lisk",
"nativeCurrency": {
+13 -1
View File
@@ -6,10 +6,22 @@ export default {
{
"name": "CybEthExplorer",
"url": "http://cybeth1.cyberdeck.eu:8000",
"standard": "none"
"standard": "none",
"icon": {
"url": "ipfs://QmTvYMJXeZeWxYPuoQ15mHCS8K5EQzkMMCHQVs3GshooyR",
"width": 193,
"height": 214,
"format": "png"
}
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmTvYMJXeZeWxYPuoQ15mHCS8K5EQzkMMCHQVs3GshooyR",
"width": 193,
"height": 214,
"format": "png"
},
"infoURL": "https://cyberdeck.eu",
"name": "CyberdeckNet",
"nativeCurrency": {
+36
View File
@@ -0,0 +1,36 @@
import type { Chain } from "../src/types";
export default {
"chain": "Flag",
"chainId": 1147,
"explorers": [
{
"name": "Flag Testnet Explorer",
"url": "https://testnet-explorer.flagscan.xyz",
"standard": "EIP3091"
}
],
"faucets": [
"https://faucet.flagscan.xyz"
],
"icon": {
"url": "ipfs://bafybeibcrxeavdxpwwmj4mc6hhp232nkrfbpvfpngcqux2v5rmoshycj3u",
"width": 500,
"height": 500,
"format": "png"
},
"infoURL": "https://testnet-explorer.flagscan.xyz",
"name": "Flag Testnet",
"nativeCurrency": {
"name": "Flag Testnet",
"symbol": "FLAG",
"decimals": 18
},
"networkId": 1147,
"rpc": [
"https://1147.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://testnet-rpc.flagscan.xyz"
],
"shortName": "tFLAG",
"slug": "flag-testnet",
"testnet": true
} as const satisfies Chain;
+28
View File
@@ -0,0 +1,28 @@
import type { Chain } from "../src/types";
export default {
"chain": "Artela",
"chainId": 11822,
"explorers": [
{
"name": "ArtelaScan",
"url": "https://betanet-scan.artela.network",
"standard": "EIP3091"
}
],
"faucets": [],
"infoURL": "https://artela.network/",
"name": "Artela Testnet",
"nativeCurrency": {
"name": "ART",
"symbol": "ART",
"decimals": 18
},
"networkId": 11822,
"rpc": [
"https://11822.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://betanet-rpc1.artela.network"
],
"shortName": "Artela",
"slug": "artela-testnet",
"testnet": true
} as const satisfies Chain;
+7 -6
View File
@@ -1,6 +1,6 @@
import type { Chain } from "../src/types";
export default {
"chain": "Santiment Intelligence Network",
"chain": "Santiment Intelligence Network DEPRECATED",
"chainId": 11888,
"explorers": [
{
@@ -17,10 +17,10 @@ export default {
"format": "png"
},
"infoURL": "https://sanr.app",
"name": "Santiment Intelligence Network",
"name": "Santiment Intelligence Network DEPRECATED",
"nativeCurrency": {
"name": "SANR",
"symbol": "SANR",
"name": "SANold",
"symbol": "SANold",
"decimals": 18
},
"networkId": 11888,
@@ -37,7 +37,8 @@ export default {
"https://11888.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://sanrchain-node.santiment.net"
],
"shortName": "SAN",
"slug": "santiment-intelligence-network",
"shortName": "SANold",
"slug": "santiment-intelligence-network-deprecated",
"status": "deprecated",
"testnet": false
} as const satisfies Chain;
+36
View File
@@ -0,0 +1,36 @@
import type { Chain } from "../src/types";
export default {
"chain": "CuckooAI",
"chainId": 1200,
"explorers": [
{
"name": "Cuckoo Chain Explorer",
"url": "https://mainnet-scan.cuckoo.network",
"standard": "EIP3091"
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmZjVDfk56DjqkCPymaweJJaj9ASGjjgcwJ95XsFDzj9us",
"width": 512,
"height": 512,
"format": "png"
},
"infoURL": "https://cuckoo.network",
"name": "Cuckoo Chain",
"nativeCurrency": {
"name": "CuckooAI",
"symbol": "CAI",
"decimals": 18
},
"networkId": 1200,
"rpc": [
"https://1200.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://mainnet-rpc.cuckoo.network",
"wss://mainnet-rpc.cuckoo.network"
],
"shortName": "cai",
"slug": "cuckoo-chain",
"testnet": false,
"title": "Cuckoo Chain"
} as const satisfies Chain;
+38
View File
@@ -0,0 +1,38 @@
import type { Chain } from "../src/types";
export default {
"chain": "CuckooAI",
"chainId": 1210,
"explorers": [
{
"name": "Cuckoo Sepolia Explorer",
"url": "https://testnet-scan.cuckoo.network",
"standard": "EIP3091"
}
],
"faucets": [
"https://cuckoo.network/portal/faucet/"
],
"icon": {
"url": "ipfs://QmZjVDfk56DjqkCPymaweJJaj9ASGjjgcwJ95XsFDzj9us",
"width": 512,
"height": 512,
"format": "png"
},
"infoURL": "https://cuckoo.network",
"name": "Cuckoo Sepolia",
"nativeCurrency": {
"name": "CuckooAI",
"symbol": "CAI",
"decimals": 18
},
"networkId": 1210,
"rpc": [
"https://1210.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://testnet-rpc.cuckoo.network",
"wss://testnet-rpc.cuckoo.network"
],
"shortName": "caisepolia",
"slug": "cuckoo-sepolia",
"testnet": true,
"title": "Cuckoo AI Testnet Sepolia"
} as const satisfies Chain;
+1 -1
View File
@@ -25,6 +25,6 @@ export default {
"https://testnet.flagscan.io"
],
"shortName": "Flag",
"slug": "flag-testnet",
"slug": "flag-testnet-flag",
"testnet": true
} as const satisfies Chain;
+4 -3
View File
@@ -17,7 +17,7 @@ export default {
"format": "png"
},
"infoURL": "https://buildonhybrid.com",
"name": "Hybrid Testnet",
"name": "Hybrid Testnet (Deprecated)",
"nativeCurrency": {
"name": "Hybrid",
"symbol": "HYB",
@@ -28,7 +28,8 @@ export default {
"https://1224.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://testnet-rpc.buildonhybrid.com"
],
"shortName": "hyb",
"slug": "hybrid-testnet",
"shortName": "hyb_deprecated",
"slug": "hybrid-testnet-deprecated",
"status": "deprecated",
"testnet": true
} as const satisfies Chain;
+36
View File
@@ -0,0 +1,36 @@
import type { Chain } from "../src/types";
export default {
"chain": "HYB",
"chainId": 1225,
"explorers": [
{
"name": "Hybrid Testnet",
"url": "https://explorer.buildonhybrid.com",
"standard": "EIP3091"
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmdGfvH9qfvbMXYKosS1nHbw3q5UtFJky4hdMDmmKDTx8Y",
"width": 250,
"height": 250,
"format": "png"
},
"infoURL": "https://buildonhybrid.com",
"name": "Hybrid Testnet",
"nativeCurrency": {
"name": "Hybrid",
"symbol": "HYB",
"decimals": 18
},
"networkId": 1225,
"rpc": [
"https://1225.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://hybrid-testnet.rpc.caldera.xyz/http",
"wss://hybrid-testnet.rpc.caldera.xyz/ws"
],
"shortName": "hyb",
"slug": "hybrid-testnet",
"status": "active",
"testnet": true
} as const satisfies Chain;
+28
View File
@@ -0,0 +1,28 @@
import type { Chain } from "../src/types";
export default {
"chain": "ITX",
"chainId": 1235,
"explorers": [
{
"name": "ITX Mainnet Explorer (Blockscout)",
"url": "https://explorer.itxchain.com",
"standard": "EIP3091"
}
],
"faucets": [],
"infoURL": "https://explorer.itxchain.com",
"name": "ITX Mainnet",
"nativeCurrency": {
"name": "ITX",
"symbol": "ITX",
"decimals": 18
},
"networkId": 1235,
"rpc": [
"https://1235.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.itxchain.com"
],
"shortName": "itx",
"slug": "itx",
"testnet": false
} as const satisfies Chain;
-6
View File
@@ -15,12 +15,6 @@ export default {
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmRySLe3su59dE5x5JPm2b1GeZfz6DR9qUzcbp3rt4SD3A",
"width": 300,
"height": 300,
"format": "png"
},
"infoURL": "https://astar.network",
"name": "zKatana",
"nativeCurrency": {
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 12885,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "QI0603I3",
"nativeCurrency": {
"name": "QI0603I3 Token",
"symbol": "UQI",
"decimals": 18
},
"networkId": 12885,
"redFlags": [],
"rpc": [
"https://12885.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "QI0603I3",
"slug": "qi0603i3",
"testnet": true
} as const satisfies Chain;
+37
View File
@@ -0,0 +1,37 @@
import type { Chain } from "../src/types";
export default {
"chain": "Sei",
"chainId": 1328,
"explorers": [
{
"name": "Seitrace",
"url": "https://seitrace.com",
"standard": "EIP3091"
}
],
"faucets": [
"https://atlantic-2.app.sei.io/faucet"
],
"icon": {
"url": "ipfs://bafkreih3l3iisplmikofkbfyimqlox7nmixzlkzhjoewmpi4jbqitwryoa",
"width": 600,
"height": 600,
"format": "png"
},
"infoURL": "https://www.sei.io",
"name": "Sei Testnet",
"nativeCurrency": {
"name": "Sei",
"symbol": "SEI",
"decimals": 18
},
"networkId": 1328,
"rpc": [
"https://1328.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://evm-rpc-testnet.sei-apis.com",
"wss://evm-ws-testnet.sei-apis.com"
],
"shortName": "sei-testnet",
"slug": "sei-testnet",
"testnet": true
} as const satisfies Chain;
+48
View File
@@ -0,0 +1,48 @@
import type { Chain } from "../src/types";
export default {
"chain": "Sei",
"chainId": 1329,
"explorers": [
{
"name": "Seitrace",
"url": "https://seitrace.com",
"standard": "EIP3091"
},
{
"name": "Sei Explorer",
"url": "https://github.com/sei-protocol/sei-chain/blob/main/assets/SeiLogo.png",
"standard": "EIP3091",
"icon": {
"url": "https://github.com/sei-protocol/sei-chain/blob/main/assets/SeiLogo.png",
"width": 231,
"height": 231,
"format": "png"
}
}
],
"faucets": [],
"features": [],
"icon": {
"url": "https://github.com/sei-protocol/sei-chain/blob/main/assets/SeiLogo.png",
"width": 231,
"height": 231,
"format": "png"
},
"infoURL": "https://www.sei.io",
"name": "Sei",
"nativeCurrency": {
"name": "Sei",
"symbol": "Sei",
"decimals": 18
},
"networkId": 1329,
"redFlags": [],
"rpc": [
"https://1329.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://evm-rpc.sei-apis.com",
"wss://evm-ws.sei-apis.com"
],
"shortName": "sei",
"slug": "sei",
"testnet": false
} as const satisfies Chain;
+18 -3
View File
@@ -2,11 +2,24 @@ import type { Chain } from "../src/types";
export default {
"chain": "Form",
"chainId": 132902,
"explorers": [],
"explorers": [
{
"name": "Form Testnet explorer",
"url": "https://testnet-explorer.form.network",
"standard": "EIP3091"
}
],
"faucets": [
"https://info.form.network/faucet"
],
"features": [],
"features": [
{
"name": "EIP155"
},
{
"name": "EIP1559"
}
],
"icon": {
"url": "ipfs://bafkreif6anuffunp3le26jsyemdrg4ydf2abensokw4qnlgvg5nc43zqbi",
"width": 3600,
@@ -29,7 +42,9 @@ export default {
"redFlags": [],
"rpc": [
"https://132902.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.form.network/http"
"https://rpc.form.network/http",
"https://testnet-rpc.form.network/http",
"wss://testnet-rpc.form.network/ws"
],
"shortName": "Form",
"slug": "form-testnet",
+3 -3
View File
@@ -22,9 +22,9 @@ export default {
}
],
"icon": {
"url": "ipfs://QmZR15YFtH3EyQp3V7vPkm8PFyevXs2w3y2Trf2k6ikVQL",
"width": 480,
"height": 480,
"url": "ipfs://QmU5XU4S5oaGM5fj8oU1ovhWoXCzGWspwRj2zWRTuJrU4k",
"width": 512,
"height": 512,
"format": "png"
},
"infoURL": "https://gravity.xyz",
+7 -1
View File
@@ -6,7 +6,13 @@ export default {
{
"name": "Blockscout",
"url": "https://staging-fast-active-bellatrix.explorer.staging-v3.skalenodes.com",
"standard": "EIP3091"
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmbYYCoU2G4LUfRr9ofGowF3eatfvWv9FiPVhqKndZeqwA",
"width": 400,
"height": 400,
"format": "png"
}
}
],
"faucets": [
+41
View File
@@ -0,0 +1,41 @@
import type { Chain } from "../src/types";
export default {
"chain": "Ramestta",
"chainId": 1370,
"explorers": [
{
"name": "ramascan",
"url": "https://ramascan.com",
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmUtnYVBeDMKudGq2Wue25pqYfQEdgbyvzTzoGPMqRGMJZ",
"width": 300,
"height": 300,
"format": "png"
}
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmUtnYVBeDMKudGq2Wue25pqYfQEdgbyvzTzoGPMqRGMJZ",
"width": 300,
"height": 300,
"format": "png"
},
"infoURL": "https://www.ramestta.com",
"name": "Ramestta Mainnet",
"nativeCurrency": {
"name": "Rama",
"symbol": "RAMA",
"decimals": 18
},
"networkId": 1370,
"rpc": [
"https://1370.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://blockchain.ramestta.com",
"https://blockchain2.ramestta.com"
],
"shortName": "RAMA",
"slug": "ramestta",
"testnet": false
} as const satisfies Chain;
+40
View File
@@ -0,0 +1,40 @@
import type { Chain } from "../src/types";
export default {
"chain": "Pingaksha",
"chainId": 1377,
"explorers": [
{
"name": "Pingaksha",
"url": "https://pingaksha.ramascan.com",
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmUtnYVBeDMKudGq2Wue25pqYfQEdgbyvzTzoGPMqRGMJZ",
"width": 300,
"height": 300,
"format": "png"
}
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmUtnYVBeDMKudGq2Wue25pqYfQEdgbyvzTzoGPMqRGMJZ",
"width": 300,
"height": 300,
"format": "png"
},
"infoURL": "https://www.ramestta.com",
"name": "Pingaksha testnet",
"nativeCurrency": {
"name": "Rama",
"symbol": "tRAMA",
"decimals": 18
},
"networkId": 1377,
"rpc": [
"https://1377.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://testnet.ramestta.com"
],
"shortName": "tRAMA",
"slug": "pingaksha-testnet",
"testnet": true
} as const satisfies Chain;
+2 -2
View File
@@ -11,7 +11,7 @@ export default {
"format": "svg"
},
"infoURL": "https://eternalcoin.io",
"name": "EternalCoin Mainnet",
"name": "Eternal Mainnet",
"nativeCurrency": {
"name": "Eternal",
"symbol": "Eter",
@@ -24,6 +24,6 @@ export default {
"ws://mainnet.eternalcoin.io/v1/ws"
],
"shortName": "Eter",
"slug": "eternalcoin",
"slug": "eternal",
"testnet": false
} as const satisfies Chain;
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 14093,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "QaUser6598",
"nativeCurrency": {
"name": "QaUser6598 Token",
"symbol": "UQC",
"decimals": 18
},
"networkId": 14093,
"redFlags": [],
"rpc": [
"https://14093.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "QaUser6598",
"slug": "qauser6598",
"testnet": true
} as const satisfies Chain;
+1 -13
View File
@@ -6,13 +6,7 @@ export default {
{
"name": "etherscan",
"url": "http://testnet-api.magape.io:81",
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmPsxWMvnxnZ9dZcRJJMaE24o34dQsnsAMCJh3kVDrE1aB",
"width": 1000,
"height": 1000,
"format": "png"
}
"standard": "EIP3091"
}
],
"faucets": [],
@@ -21,12 +15,6 @@ export default {
"name": "EIP155"
}
],
"icon": {
"url": "ipfs://QmPsxWMvnxnZ9dZcRJJMaE24o34dQsnsAMCJh3kVDrE1aB",
"width": 1000,
"height": 1000,
"format": "png"
},
"infoURL": "https://magape.io",
"name": "MagApe Testnet",
"nativeCurrency": {
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 14299,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "Diego's",
"nativeCurrency": {
"name": "Diego's Token",
"symbol": "VMF",
"decimals": 18
},
"networkId": 14299,
"redFlags": [],
"rpc": [
"https://14299.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/diegos/testnet/rpc"
],
"shortName": "Diego's",
"slug": "diego-s",
"testnet": true
} as const satisfies Chain;
+34
View File
@@ -0,0 +1,34 @@
import type { Chain } from "../src/types";
export default {
"chain": "Flag",
"chainId": 147,
"explorers": [
{
"name": "Flag Mainnet Explorer",
"url": "https://flagscan.xyz",
"standard": "EIP3091"
}
],
"faucets": [],
"icon": {
"url": "ipfs://bafybeibcrxeavdxpwwmj4mc6hhp232nkrfbpvfpngcqux2v5rmoshycj3u",
"width": 500,
"height": 500,
"format": "png"
},
"infoURL": "https://flagscan.xyz",
"name": "Flag Mainnet",
"nativeCurrency": {
"name": "Flag",
"symbol": "FLAG",
"decimals": 18
},
"networkId": 147,
"rpc": [
"https://147.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://mainnet-rpc.flagscan.xyz"
],
"shortName": "FLAG",
"slug": "flag",
"testnet": false
} as const satisfies Chain;
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Satori",
"chainId": 14801,
"explorers": [
{
"name": "satoriscan",
"url": "https://satori.vanascan.io",
"standard": "EIP3091"
}
],
"faucets": [
"https://faucet.vana.org"
],
"infoURL": "https://satori.vana.org",
"name": "Vana Satori Testnet",
"nativeCurrency": {
"name": "DAT",
"symbol": "DAT",
"decimals": 18
},
"networkId": 14801,
"rpc": [
"https://14801.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"http://rpc.satori.vana.org"
],
"shortName": "satori",
"slug": "vana-satori-testnet",
"testnet": true
} as const satisfies Chain;
+1
View File
@@ -14,6 +14,7 @@ export default {
"networkId": 151,
"rpc": [],
"shortName": "rbn",
"slip44": 824,
"slug": "redbelly-network",
"status": "incubating",
"testnet": false
+12 -3
View File
@@ -2,7 +2,13 @@ import type { Chain } from "../src/types";
export default {
"chain": "RBN",
"chainId": 153,
"explorers": [],
"explorers": [
{
"name": "Redbelly Network Testnet Explorer",
"url": "https://explorer.testnet.redbelly.network",
"standard": "none"
}
],
"faucets": [],
"infoURL": "https://redbelly.network",
"name": "Redbelly Network Testnet",
@@ -12,10 +18,13 @@ export default {
"decimals": 18
},
"networkId": 153,
"rpc": [],
"rpc": [
"https://153.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://governors.testnet.redbelly.network"
],
"shortName": "rbn-testnet",
"slip44": 1,
"slug": "redbelly-network-testnet",
"status": "incubating",
"status": "active",
"testnet": true
} as const satisfies Chain;
+3 -3
View File
@@ -22,9 +22,9 @@ export default {
}
],
"icon": {
"url": "ipfs://QmZR15YFtH3EyQp3V7vPkm8PFyevXs2w3y2Trf2k6ikVQL",
"width": 480,
"height": 480,
"url": "ipfs://QmU5XU4S5oaGM5fj8oU1ovhWoXCzGWspwRj2zWRTuJrU4k",
"width": 512,
"height": 512,
"format": "png"
},
"infoURL": "https://gravity.xyz",
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 16316,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "Stripe Test",
"nativeCurrency": {
"name": "Stripe Test Token",
"symbol": "STR",
"decimals": 18
},
"networkId": 16316,
"redFlags": [],
"rpc": [
"https://16316.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "Stripe Test",
"slug": "stripe-test",
"testnet": true
} as const satisfies Chain;
+28
View File
@@ -0,0 +1,28 @@
import type { Chain } from "../src/types";
export default {
"chain": "Xterio Testnet",
"chainId": 1637450,
"explorers": [
{
"name": "Xterio Testnet Explorer",
"url": "https://testnet.xterscan.io",
"standard": "EIP3091"
}
],
"faucets": [],
"infoURL": "https://xter.io",
"name": "Xterio Testnet",
"nativeCurrency": {
"name": "tBNB",
"symbol": "tBNB",
"decimals": 18
},
"networkId": 1637450,
"rpc": [
"https://1637450.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://xterio-testnet.alt.technology"
],
"shortName": "xteriotest",
"slug": "xterio-testnet",
"testnet": true
} as const satisfies Chain;
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 16587,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "QI0603I1",
"nativeCurrency": {
"name": "QI0603I1 Token",
"symbol": "ODK",
"decimals": 18
},
"networkId": 16587,
"redFlags": [],
"rpc": [
"https://16587.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "QI0603I1",
"slug": "qi0603i1",
"testnet": true
} as const satisfies Chain;
+10 -4
View File
@@ -2,7 +2,13 @@ import type { Chain } from "../src/types";
export default {
"chain": "ETH",
"chainId": 167000,
"explorers": [],
"explorers": [
{
"name": "etherscan",
"url": "https://taikoscan.io",
"standard": "EIP3091"
}
],
"faucets": [],
"features": [],
"icon": {
@@ -25,11 +31,11 @@ export default {
"https://rpc.mainnet.taiko.xyz/",
"https://rpc.ankr.com/taiko/",
"https://rpc.taiko.xyz/",
"https://rpc.taiko.xyz",
"wss://ws.taiko.xyz"
"https://rpc.mainnet.taiko.xyz",
"wss://ws.mainnet.taiko.xyz"
],
"shortName": "tko-mainnet",
"slug": "taiko",
"status": "incubating",
"status": "active",
"testnet": false
} as const satisfies Chain;
+4 -4
View File
@@ -28,13 +28,13 @@ export default {
"redFlags": [],
"rpc": [
"https://167008.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://taiko-katla.drpc.org",
"wss://taiko-katla.drpc.org",
"https://rpc.katla.taiko.xyz",
"wss://ws.katla.taiko.xyz"
"wss://ws.katla.taiko.xyz",
"https://taiko-katla.drpc.org",
"wss://taiko-katla.drpc.org"
],
"shortName": "tko-katla",
"slug": "taiko-katla-l2",
"status": "active",
"status": "deprecated",
"testnet": true
} as const satisfies Chain;
+7
View File
@@ -7,9 +7,15 @@ export default {
"name": "konet-explorer",
"url": "https://explorer.kon-wallet.com",
"standard": "EIP3091"
},
{
"name": "Konetscan",
"url": "https://konetexplorer.io",
"standard": "EIP3091"
}
],
"faucets": [],
"features": [],
"icon": {
"url": "ipfs://QmSszu2AhLPgcp8SZYiBYCQiRVwb9ueqbnGbcTx9H9CJjZ",
"width": 1851,
@@ -24,6 +30,7 @@ export default {
"decimals": 18
},
"networkId": 17217,
"redFlags": [],
"rpc": [
"https://17217.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://api.kon-wallet.com"
+53
View File
@@ -0,0 +1,53 @@
import type { Chain } from "../src/types";
export default {
"chain": "ETH",
"chainId": 1789,
"explorers": [
{
"name": "ZKbase Block Explorer",
"url": "https://sepolia-explorer.zkbase.app",
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmRLtNvkVhC7rRDiLMHLckWbesaSU6sNYhQZgsAM1phTZx",
"width": 400,
"height": 400,
"format": "jpg"
}
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmRLtNvkVhC7rRDiLMHLckWbesaSU6sNYhQZgsAM1phTZx",
"width": 400,
"height": 400,
"format": "jpg"
},
"infoURL": "https://zkbase.org/",
"name": "ZKBase Sepolia Testnet",
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"networkId": 1789,
"parent": {
"type": "L2",
"chain": "eip155-1",
"bridges": [
{
"url": "https://portral.zkbase.app/"
}
]
},
"redFlags": [
"reusedChainId"
],
"rpc": [
"https://1789.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://sepolia-rpc.zkbase.app"
],
"shortName": "zkbase-sepolia",
"slip44": 1,
"slug": "zkbase-sepolia-testnet",
"testnet": true
} as const satisfies Chain;
@@ -15,12 +15,6 @@ export default {
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmNTZ9nEomAXK6bLxUbMfTS1TvrsN22HU1zTtxHUpMkUhz",
"width": 1000,
"height": 1000,
"format": "png"
},
"infoURL": "https://kakarot.org",
"name": "Kakarot Sepolia",
"nativeCurrency": {
+13 -1
View File
@@ -6,12 +6,24 @@ export default {
{
"name": "Lite Explorer",
"url": "https://ethereum-pocr.github.io/explorer/kerleano",
"standard": "EIP3091"
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmRLwpq47tyEd3rfK4tKRhbTvyb3fc7PCutExnL1XAb37A",
"width": 334,
"height": 360,
"format": "png"
}
}
],
"faucets": [
"https://github.com/ethereum-pocr/kerleano/blob/main/docs/faucet.md"
],
"icon": {
"url": "ipfs://QmRLwpq47tyEd3rfK4tKRhbTvyb3fc7PCutExnL1XAb37A",
"width": 334,
"height": 360,
"format": "png"
},
"infoURL": "https://github.com/ethereum-pocr/kerleano",
"name": "Kerleano",
"nativeCurrency": {
+33
View File
@@ -0,0 +1,33 @@
import type { Chain } from "../src/types";
export default {
"chain": "Waterfall Network",
"chainId": 181,
"explorers": [],
"faucets": [],
"features": [
{
"name": "EIP1559"
}
],
"icon": {
"url": "ipfs://QmSDJPBKh9cLVL8UZ5KYwdwPyhD8bRWNb33jjt48wtu5Uc",
"width": 241,
"height": 179,
"format": "png"
},
"infoURL": "https://waterfall.network",
"name": "Waterfall Network",
"nativeCurrency": {
"name": "WATER",
"symbol": "WATER",
"decimals": 18
},
"networkId": 181,
"rpc": [
"https://181.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.waterfall.network/"
],
"shortName": "water",
"slug": "waterfall-network",
"testnet": false
} as const satisfies Chain;
+38
View File
@@ -0,0 +1,38 @@
import type { Chain } from "../src/types";
export default {
"chain": "TCC Network",
"chainId": 181155,
"explorers": [
{
"name": "Tcc Scan",
"url": "https://scan.tccworld.org/",
"standard": "181155",
"icon": {
"url": "ipfs://QmchZTtvuU7oRe3rSu1HNPELJQdnutV79NjcHxoybJ4SVo/tcc-coin.png",
"width": 100,
"height": 100,
"format": "png"
}
}
],
"faucets": [],
"features": [],
"icon": {
"url": "ipfs://QmchZTtvuU7oRe3rSu1HNPELJQdnutV79NjcHxoybJ4SVo/tcc-coin.png",
"width": 100,
"height": 100,
"format": "png"
},
"name": "TCC Network",
"nativeCurrency": {
"name": "The ChampCoin",
"symbol": "TCC",
"decimals": 18
},
"networkId": 181155,
"redFlags": [],
"rpc": [],
"shortName": "TCC",
"slug": "tcc-network",
"testnet": false
} as const satisfies Chain;
@@ -0,0 +1,41 @@
import type { Chain } from "../src/types";
export default {
"chain": "Gemuchain",
"chainId": 1903648807,
"explorers": [
{
"name": "Gemuchain Explorer",
"url": "https://gemutest-explorer.gemuchain.io",
"standard": "EIP3091",
"icon": {
"url": "https://explorer.gemuchain.io/assets/network_logo.svg",
"width": 345,
"height": 48,
"format": "svg"
}
}
],
"faucets": [],
"features": [],
"icon": {
"url": "https://raw.githubusercontent.com/UrfinDeuce/logos/05725373b48fb7e3de75737f621b21a4a6557c76/GemuChain%20logo.svg",
"width": 345,
"height": 48,
"format": "svg"
},
"name": "Gemuchain Lab",
"nativeCurrency": {
"name": "GEMU",
"symbol": "GEMU",
"decimals": 18
},
"networkId": 1903648807,
"redFlags": [],
"rpc": [
"https://1903648807.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://gemutest-rpc.gemuchain.io"
],
"shortName": "GEMU",
"slug": "gemuchain-lab",
"testnet": true
} as const satisfies Chain;
+34
View File
@@ -0,0 +1,34 @@
import type { Chain } from "../src/types";
export default {
"chain": "KYOTO",
"chainId": 1997,
"explorers": [
{
"name": "Kyotoscan",
"url": "https://kyotoscan.io",
"standard": "EIP3091"
}
],
"faucets": [],
"features": [
{
"name": "EIP155"
}
],
"infoURL": "https://kyotoprotocol.io",
"name": "Kyoto",
"nativeCurrency": {
"name": "Kyoto",
"symbol": "KYOTO",
"decimals": 18
},
"networkId": 1997,
"rpc": [
"https://1997.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.kyotochain.io"
],
"shortName": "kyoto",
"slip44": 1,
"slug": "kyoto",
"testnet": false
} as const satisfies Chain;
+34
View File
@@ -0,0 +1,34 @@
import type { Chain } from "../src/types";
export default {
"chain": "MetaLink",
"chainId": 2004,
"explorers": [
{
"name": "MetaScan",
"url": "http://twoto3.com:3000",
"standard": "none"
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmfSXRkDPSwt7heQ24pDtWKN6vvervEaTJHmueyRp1mpg1",
"width": 800,
"height": 800,
"format": "jpg"
},
"infoURL": "http://totwo3.com:3000",
"name": "MetaLink Network",
"nativeCurrency": {
"name": "MetaLink",
"symbol": "MTL",
"decimals": 18
},
"networkId": 2004,
"rpc": [
"https://2004.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"http://77.237.237.69:9933"
],
"shortName": "mtl",
"slug": "metalink-network",
"testnet": false
} as const satisfies Chain;
+34
View File
@@ -0,0 +1,34 @@
import type { Chain } from "../src/types";
export default {
"chain": "NIZA",
"chainId": 20041,
"explorers": [
{
"name": "NizaScan",
"url": "https://nizascan.io",
"standard": "EIP3091"
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmPh2FdjoPWBaCKNrknv6HjruxdUCr8AvJYvhpgHZP6e2C",
"width": 512,
"height": 512,
"format": "png"
},
"infoURL": "https://niza.io",
"name": "Niza Chain Mainnet",
"nativeCurrency": {
"name": "Niza Global",
"symbol": "NIZA",
"decimals": 18
},
"networkId": 20041,
"rpc": [
"https://20041.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://nizascan.io/rpc"
],
"shortName": "niza",
"slug": "niza-chain",
"testnet": false
} as const satisfies Chain;
+34
View File
@@ -0,0 +1,34 @@
import type { Chain } from "../src/types";
export default {
"chain": "NIZA",
"chainId": 20073,
"explorers": [
{
"name": "NizaScan",
"url": "https://testnet.nizascan.io",
"standard": "EIP3091"
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmPh2FdjoPWBaCKNrknv6HjruxdUCr8AvJYvhpgHZP6e2C",
"width": 512,
"height": 512,
"format": "png"
},
"infoURL": "https://niza.io",
"name": "Niza Chain Testnet",
"nativeCurrency": {
"name": "Niza Global",
"symbol": "NIZA",
"decimals": 18
},
"networkId": 20073,
"rpc": [
"https://20073.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://testnet.nizascan.io/rpc"
],
"shortName": "niza_testnet",
"slug": "niza-chain-testnet",
"testnet": true
} as const satisfies Chain;
+2 -2
View File
@@ -5,8 +5,8 @@ export default {
"explorers": [
{
"name": "bitlayer testnet scan",
"url": "https://testnet-scan.bitlayer.org",
"standard": "none"
"url": "https://testnet.btrscan.com",
"standard": "EIP3091"
}
],
"faucets": [
@@ -0,0 +1,28 @@
import type { Chain } from "../src/types";
export default {
"chain": "GM Network Testnet",
"chainId": 202402181627,
"explorers": [
{
"name": "gmnetwork-testnet",
"url": "https://gmnetwork-testnet-explorer.alt.technology",
"standard": "EIP3091"
}
],
"faucets": [],
"infoURL": "https://gmnetwork.ai",
"name": "GM Network Testnet",
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"networkId": 202402181627,
"rpc": [
"https://202402181627.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://gmnetwork-testnet.alt.technology/"
],
"shortName": "gmnetwork-testnet",
"slug": "gm-network-testnet",
"testnet": true
} as const satisfies Chain;
+3 -1
View File
@@ -10,8 +10,9 @@ export default {
}
],
"faucets": [],
"features": [],
"icon": {
"url": "ipfs://bafybeib75gwytvblyvjpfminitr3i6mpat3a624udfsqsl5nysf5vuuvie",
"url": "ipfs://QmXxTwwfYzagtJqvWreUDoq4pKz3A22YmAi7c3hcgZp5Rt/bnb-bnb-logo.png",
"width": 96,
"height": 96,
"format": "png"
@@ -24,6 +25,7 @@ export default {
"decimals": 18
},
"networkId": 204,
"redFlags": [],
"rpc": [
"https://204.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://opbnb-mainnet-rpc.bnbchain.org",
+7 -7
View File
@@ -1,14 +1,14 @@
import type { Chain } from "../src/types";
export default {
"chain": "OTP",
"chain": "NEUROWEB",
"chainId": 2043,
"explorers": [],
"faucets": [],
"infoURL": "https://parachain.origintrail.io",
"name": "OriginTrail Parachain",
"infoURL": "https://neuroweb.ai",
"name": "NeuroWeb",
"nativeCurrency": {
"name": "OriginTrail Parachain Token",
"symbol": "OTP",
"name": "NeuroWeb Token",
"symbol": "NEURO",
"decimals": 12
},
"networkId": 2043,
@@ -17,7 +17,7 @@ export default {
"https://astrosat.origintrail.network",
"wss://parachain-rpc.origin-trail.network"
],
"shortName": "otp",
"slug": "origintrail-parachain",
"shortName": "NEURO",
"slug": "neuroweb",
"testnet": false
} as const satisfies Chain;
+29
View File
@@ -0,0 +1,29 @@
import type { Chain } from "../src/types";
export default {
"chain": "Parodychain",
"chainId": 2078,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "ipfs://QmR2ovc7zeM7gdzpL6FdvWBEhLyE8dL1w8GWnooHEk9uEZ/parodychain-logo.png",
"width": 512,
"height": 512,
"format": "png"
},
"name": "Parody Network",
"nativeCurrency": {
"name": "Parody",
"symbol": "PDY",
"decimals": 18
},
"networkId": 2078,
"redFlags": [],
"rpc": [
"https://2078.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://fraa-flashbox-4392-rpc.a.stagenet.tanssi.network"
],
"shortName": "Parody",
"slug": "parody-network",
"testnet": true
} as const satisfies Chain;
+2 -2
View File
@@ -20,8 +20,8 @@ export default {
"networkId": 2136,
"rpc": [
"https://2136.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://test-market.bigsb.io",
"wss://test-market.bigsb.io"
"https://test-market.bigsb.network",
"wss://test-market.bigsb.network"
],
"shortName": "bigsb_testnet",
"slug": "bigshortbets-testnet",
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 2144,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "Test Subnet Resources",
"nativeCurrency": {
"name": "Test Subnet Resources Token",
"symbol": "LNV",
"decimals": 18
},
"networkId": 2144,
"redFlags": [],
"rpc": [
"https://2144.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/testsubnet/testnet/rpc"
],
"shortName": "Test Subnet Resources",
"slug": "test-subnet-resources",
"testnet": true
} as const satisfies Chain;
+1 -1
View File
@@ -31,6 +31,6 @@ export default {
"https://mainnet.flagscan.io/"
],
"shortName": "Flag",
"slug": "flag",
"slug": "flag-flag",
"testnet": false
} as const satisfies Chain;
@@ -10,6 +10,12 @@ export default {
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmTV45o4jTe6ayscF1XWh1WXk5DPck4QohR5kQocSWjvQP",
"width": 300,
"height": 300,
"format": "png"
},
"infoURL": "https://xlon.org",
"name": "Excelon Mainnet",
"nativeCurrency": {
+13 -1
View File
@@ -6,11 +6,23 @@ export default {
{
"name": "Reapchain Dashboard",
"url": "https://dashboard.reapchain.org",
"standard": "none"
"standard": "none",
"icon": {
"url": "ipfs://QmevQ8jmDWHmdnUQg6BpoMwVB3NhpzS75adbMnKL78Ls2h",
"width": 256,
"height": 256,
"format": "png"
}
}
],
"faucets": [],
"features": [],
"icon": {
"url": "ipfs://QmevQ8jmDWHmdnUQg6BpoMwVB3NhpzS75adbMnKL78Ls2h",
"width": 256,
"height": 256,
"format": "png"
},
"infoURL": "https://reapchain.com",
"name": "Reapchain Mainnet",
"nativeCurrency": {
+13 -1
View File
@@ -6,13 +6,25 @@ export default {
{
"name": "Reapchain Testnet Dashboard",
"url": "https://test-dashboard.reapchain.org",
"standard": "none"
"standard": "none",
"icon": {
"url": "ipfs://QmevQ8jmDWHmdnUQg6BpoMwVB3NhpzS75adbMnKL78Ls2h",
"width": 256,
"height": 256,
"format": "png"
}
}
],
"faucets": [
"http://faucet.reapchain.com"
],
"features": [],
"icon": {
"url": "ipfs://QmevQ8jmDWHmdnUQg6BpoMwVB3NhpzS75adbMnKL78Ls2h",
"width": 256,
"height": 256,
"format": "png"
},
"infoURL": "https://reapchain.com",
"name": "Reapchain Testnet",
"nativeCurrency": {

Some files were not shown because too many files have changed in this diff Show More