Skip to content

Commit

Permalink
feat: Support tron (#223)
Browse files Browse the repository at this point in the history
* Wenty/dev (#185)

* feat: Split into four packages: ui, wagmi, solana and walletkit

* feat: Split packages & support solana

* feat: Split package into solana & wagmi

* feat: Split package into solana & wagmi

* feat: Update soft link

* feat: Update soft link (#179)

* feat: Split into four packages: ui, wagmi, solana and walletkit

* feat: Split packages & support solana

* feat: Split package into solana & wagmi

* feat: Split package into solana & wagmi

* feat: Update soft link

* chore: update versions (alpha) (#180)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* refactor: Refactor walletkit

* refactor: Refactor wallets

* feat: Update pack config

* feat: Add ConnectModal

* refactor: Normalized names

* refactor: solana and evm are unified into one package

* refactor: Update configs

* feat: Add EmbeddedConnectModal

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* chore: update versions (alpha) (#186)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: Add log

* chore: update versions (alpha) (#187)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: Add initialChainId to connectModal

* fix: Add default `initialChainId` if it is ignored by onOpen

* test: test release

* refactor: Expose `evmConfig` and `solanaConfig`  as wallet configurations

* feat: Support connecting to a specified wallet

* docs: Remove unused docs

* docs: Update examples

* docs: update version

* fix: Fix style order issue

* docs: Update version

* feat: Add `ConnectWithWalletConnect` view

* feat: support TMA

* feat: Support telegram mini app

* feat: Add tma sdk

* fix: fix module resolve issue

* feat: Make walletConnect uri as global variable

* docs: Update version

* feat: Update examples

* docs: update examples

* refactor: All configurations are obtained from useWalletKit

* feat: Add `useConnectWallet` to evm

* refactor: Rename evm hooks

* refactor: Rename views

* feat: Update log format

* refactor: Add `refreshUriOnError`

* docs: Add change log

* chore: update versions (alpha) (#207)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: Set `refreshUriOnError=true` as default

* chore: update versions (alpha) (#209)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: Open modal after config is ready

* feat: Using  metaMaskSDK as default metaMask wallet

* refactor: Refactor wallet

* feat: Support telegram mini  app

* chore: update versions (alpha) (#210)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: Support async connect a wallet (#211)

* chore: update versions (alpha) (#212)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* Dev metamask (#213)

* feat: Support async connect a wallet

* chore: update versions (alpha) (#212)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: Connect is no longer invoked if wallet is connected

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* chore: update versions (alpha) (#214)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: Remove `useConnectWallet`

* feat(walletkit): Support tron wallets

* docs: Add change log

* chore: update versions (alpha) (#215)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat(walletkit): Support TronLink on mobile

* chore: update versions (alpha) (#216)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat(walletkit): Adjust the priority of the user style & Update wallet icon size

* chore: update versions (alpha) (#217)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: Scroll the wallet list if overflow

* chore: update versions (alpha) (#218)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: Fix scrollbar color issue

* chore: update versions (alpha) (#219)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: Add callback once wallet is connected

* chore: update versions (alpha) (#220)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: Support switch network for tron

* chore: update versions (alpha) (#221)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: No need to invoke switchChain on mobile

* chore: update versions (alpha) (#222)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
  • Loading branch information
3 people authored Oct 24, 2024
1 parent fcf0e97 commit 953e77c
Show file tree
Hide file tree
Showing 309 changed files with 21,622 additions and 9,886 deletions.
5 changes: 5 additions & 0 deletions .changeset/breezy-buttons-walk.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@node-real/walletkit': patch
---

Support switch network for tron
5 changes: 5 additions & 0 deletions .changeset/brown-laws-drum.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@node-real/walletkit': patch
---

Support telegram mini app
5 changes: 5 additions & 0 deletions .changeset/empty-pianos-impress.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@node-real/walletkit': patch
---

Support async connect a wallet
5 changes: 5 additions & 0 deletions .changeset/fast-bikes-look.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@node-real/walletkit': patch
---

No need to invoke switchChain on mobile
5 changes: 5 additions & 0 deletions .changeset/fluffy-colts-run.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@node-real/walletkit': minor
---

Support tron wallets
5 changes: 5 additions & 0 deletions .changeset/great-trainers-care.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@node-real/walletkit': patch
---

Connect is no longer invoked if wallet is connected
5 changes: 5 additions & 0 deletions .changeset/plenty-needles-march.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@node-real/walletkit': patch
---

Adjust the priority of the user style & update wallet icon size
5 changes: 5 additions & 0 deletions .changeset/polite-onions-double.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@node-real/walletkit': patch
---

Fix scrollbar color issue
5 changes: 5 additions & 0 deletions .changeset/popular-forks-warn.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@node-real/walletkit': patch
---

Support tronLink on mobile
23 changes: 23 additions & 0 deletions .changeset/pre.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"mode": "pre",
"tag": "alpha",
"initialVersions": {
"example-nextjs": "0.0.1",
"example-vite": "0.0.1",
"@node-real/walletkit": "2.3.5",
"website": "0.0.1"
},
"changesets": [
"breezy-buttons-walk",
"brown-laws-drum",
"empty-pianos-impress",
"fast-bikes-look",
"fluffy-colts-run",
"great-trainers-care",
"plenty-needles-march",
"polite-onions-double",
"popular-forks-warn",
"silly-tables-tease",
"tasty-yaks-chew"
]
}
5 changes: 5 additions & 0 deletions .changeset/silly-tables-tease.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@node-real/walletkit': patch
---

Scroll the wallet list if overflow
5 changes: 5 additions & 0 deletions .changeset/tasty-yaks-chew.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@node-real/walletkit': patch
---

Add callback once wallet is connected
6 changes: 3 additions & 3 deletions .github/actions/setup/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ inputs:
runs:
using: composite
steps:
- name: Setup node.js
uses: actions/setup-node@v3
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 16
node-version: 20

- name: Setup pnpm
uses: pnpm/action-setup@v2
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ export function trustWallet(props: TrustWalletProps = {}): WalletProps {
)}`;
return dappPath;
},
getQRCodeUri(uri) {
getUri(uri) {
return `trust://wc?uri=${encodeURIComponent(uri)}`;
},
...restProps,
Expand Down
8 changes: 5 additions & 3 deletions examples/nextjs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,14 @@
},
"dependencies": {
"@node-real/walletkit": "workspace:*",
"@tanstack/react-query": "^5",
"encoding": "^0.1.13",
"next": "^14",
"pino-pretty": "^11.2.2",
"react": "^18",
"react-dom": "^18",
"viem": "^2",
"wagmi": "^2",
"@tanstack/react-query": "^5.51.1"
"viem": "^2.17.4",
"wagmi": "^2.10.10"
},
"devDependencies": {
"@types/node": "^20",
Expand Down
81 changes: 39 additions & 42 deletions examples/nextjs/pages/_app.tsx
Original file line number Diff line number Diff line change
@@ -1,62 +1,59 @@
import '@node-real/walletkit/styles.css';
import '@/styles/globals.css';
import { bsc, mainnet, opBNB } from 'wagmi/chains';
import { mainnet } from 'wagmi/chains';

import { trustWallet, metaMask, walletConnect } from '@node-real/walletkit/wallets';
import { trustWallet, metaMask, walletConnect, defaultEvmConfig } from '@node-real/walletkit/evm';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import {
defaultWagmiConfig,
SwitchNetworkModal,
WalletKitButton,
WalletKitOptions,
WalletKitProvider,
ProfileModal,
ConnectModal,
useConnectModal,
WalletKitConfig,
} from '@node-real/walletkit';
import { WagmiProvider } from 'wagmi';
import { AppProps } from 'next/app';
import { useAccount, useDisconnect } from 'wagmi';

const queryClient = new QueryClient();

const config = defaultWagmiConfig({
appName: 'WalletKit',
chains: [bsc, mainnet, opBNB],
connectors: [trustWallet(), metaMask(), walletConnect()],

// WalletConnect 2.0 requires a projectId which you can create quickly
// and easily for free over at WalletConnect Cloud https://cloud.walletconnect.com/sign-in
walletConnectProjectId: 'e68a1816d39726c2afabf05661a32767',
});

const options: WalletKitOptions = {
initialChainId: 1,
const config: WalletKitConfig = {
options: {
closeModalOnEsc: false,
},
evmConfig: defaultEvmConfig({
autoConnect: true,
initialChainId: 1,
walletConnectProjectId: 'e68a1816d39726c2afabf05661a32767',
wallets: [metaMask(), trustWallet(), walletConnect()],
chains: [mainnet],
}),
};

export default function App({ Component, pageProps }: AppProps) {
return (
<WagmiProvider config={config} reconnectOnMount={true}>
<WalletKitProvider config={config} debugMode={true} mode="auto">
<QueryClientProvider client={queryClient}>
<WalletKitProvider options={options} mode="light">
<Component {...pageProps} />

<WalletKitButton />

<ConnectModal />

{/*
Profile modal shows some basic information about the current account,
If you don't need this modal, you can remove it.
*/}
<ProfileModal />

{/*
👇 Here's the SwitchNetworkModal
If the user switches to a network that is not supported by our dApp,
this modal will be displayed to remind the user to switch to our supported networks.
*/}
<SwitchNetworkModal />
</WalletKitProvider>
<Component {...pageProps} />
<ConnectButton />
<ConnectModal />
</QueryClientProvider>
</WagmiProvider>
</WalletKitProvider>
);
}

function ConnectButton() {
const { onOpen } = useConnectModal();

const { address } = useAccount();
const { disconnect } = useDisconnect();

if (address) {
return (
<>
<div>address:{address}</div>
<button onClick={() => disconnect()}>disconnect</button>
</>
);
}

return <button onClick={() => onOpen()}>connect</button>;
}
2 changes: 1 addition & 1 deletion examples/nextjs/pages/_document.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Html, Head, Main, NextScript } from 'next/document';
import { EthereumScript } from '@node-real/walletkit';
import { EthereumScript } from '@node-real/walletkit/evm';

export default function Document() {
return (
Expand Down
8 changes: 4 additions & 4 deletions examples/vite/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,18 @@
},
"dependencies": {
"@node-real/walletkit": "workspace:*",
"@particle-network/connectkit": "^2.0.0",
"@tanstack/react-query": "^5",
"react": "^18",
"react-dom": "^18",
"viem": "^2",
"wagmi": "^2",
"@tanstack/react-query": "^5.51.1"
"viem": "^2.17.4",
"wagmi": "^2.10.10"
},
"devDependencies": {
"@types/react": "^18",
"@types/react-dom": "^18",
"@vitejs/plugin-react": "^4.2.0",
"typescript": "^5.5.3",
"vconsole": "^3.15.1",
"vite": "^4.5.0"
}
}
71 changes: 39 additions & 32 deletions examples/vite/src/App.tsx
Original file line number Diff line number Diff line change
@@ -1,47 +1,54 @@
import '@node-real/walletkit/styles.css';
import './global.css';
import { bsc, mainnet, opBNB } from 'wagmi/chains';

import { trustWallet, metaMask, walletConnect } from '@node-real/walletkit/wallets';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import {
ConnectModal,
defaultWagmiConfig,
ProfileModal,
SwitchNetworkModal,
WalletKitButton,
WalletKitOptions,
useConnectModal,
WalletKitConfig,
WalletKitProvider,
} from '@node-real/walletkit';
import { WagmiProvider } from 'wagmi';
import { defaultEvmConfig, metaMask, trustWallet, walletConnect } from '@node-real/walletkit/evm';
import { mainnet } from 'viem/chains';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import { useAccount, useDisconnect } from 'wagmi';

const queryClient = new QueryClient();

const config = defaultWagmiConfig({
appName: 'WalletKit',
chains: [mainnet, bsc, opBNB],
connectors: [trustWallet(), metaMask(), walletConnect()],

// WalletConnect 2.0 requires a projectId which you can create quickly
// and easily for free over at WalletConnect Cloud https://cloud.walletconnect.com/sign-in
walletConnectProjectId: 'e68a1816d39726c2afabf05661a32767',
});

const options: WalletKitOptions = {
initialChainId: 1,
const config: WalletKitConfig = {
options: {
closeModalOnEsc: false,
},
evmConfig: defaultEvmConfig({
autoConnect: true,
initialChainId: 1,
walletConnectProjectId: 'e68a1816d39726c2afabf05661a32767',
wallets: [metaMask(), trustWallet(), walletConnect()],
chains: [mainnet],
}),
};

export default function App() {
return (
<WagmiProvider config={config} reconnectOnMount={false}>
<WalletKitProvider config={config} debugMode={true} mode="auto">
<QueryClientProvider client={queryClient}>
<WalletKitProvider options={options} mode="light">
<WalletKitButton />
<ConnectModal />
<ProfileModal />
<SwitchNetworkModal />
</WalletKitProvider>
<ConnectButton />
<ConnectModal />
</QueryClientProvider>
</WagmiProvider>
</WalletKitProvider>
);
}

function ConnectButton() {
const { onOpen } = useConnectModal();

const { address } = useAccount();
const { disconnect } = useDisconnect();

if (address) {
return (
<>
<div>address:{address}</div>
<button onClick={() => disconnect()}>disconnect</button>
</>
);
}

return <button onClick={() => onOpen()}>connect</button>;
}
11 changes: 5 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,8 @@
"scripts": {
"prepare": "husky install",
"lint": "pnpm eslint .",
"dev": "pnpm --F @node-real/walletkit dev",
"build": "pnpm --F @node-real/walletkit build",
"dev:docs": "pnpm --F @node-real/walletkit build:watch & pnpm --F website dev",
"dev": "pnpm --F @node-real/* dev",
"build": "pnpm --F @node-real/* build",
"build:docs": "pnpm build && pnpm --F website build",
"ci:enter": "pnpm changeset pre enter alpha || true",
"ci:exit": "pnpm changeset pre exit || true",
Expand All @@ -21,7 +20,7 @@
"ci:stable-version": "pnpm ci:exit && pnpm ci:version"
},
"devDependencies": {
"@changesets/cli": "^2.27.5",
"@changesets/cli": "^2.27.7",
"@commitlint/cli": "^18.6.1",
"@commitlint/config-conventional": "^18.6.3",
"@typescript-eslint/eslint-plugin": "^5.62.0",
Expand All @@ -30,7 +29,7 @@
"eslint-plugin-react-hooks": "^4.6.2",
"eslint-plugin-react-refresh": "^0.3.5",
"husky": "^8.0.3",
"lint-staged": "^15.2.7",
"prettier": "^3.3.2"
"lint-staged": "^15.2.9",
"prettier": "^3.3.3"
}
}
Loading

0 comments on commit 953e77c

Please sign in to comment.