Skip to content

feat: chain abstraction #185

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 29 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
bfa890a
feat: chain abstraction handling
ganchoradkov Dec 12, 2024
90bf650
feat: adds mnemonic import
ganchoradkov Dec 12, 2024
aac65f4
refactor: dynamic transaction gas
ganchoradkov Dec 12, 2024
0ab2567
Update build.gradle
ganchoradkov Dec 12, 2024
ad91ca1
fix: yarn lock
ganchoradkov Dec 12, 2024
dc940f1
Merge branch 'feat/chain-abstraction' of github.com:WalletConnect/rea…
ganchoradkov Dec 12, 2024
4ffa581
fix: add new mnemonic and updates rn compat
ganchoradkov Dec 12, 2024
fb4dc8f
chore: updates rn compat
ganchoradkov Dec 12, 2024
4baf1ae
chore: updates android app version
ganchoradkov Dec 12, 2024
264a2ad
refactor: lower polling interval of pending tx and allow privateKey i…
ganchoradkov Dec 13, 2024
48422d4
chore: increase android version
ganchoradkov Dec 13, 2024
6aa0ba9
chore: update lock
ganchoradkov Dec 13, 2024
92728ff
feat: uses routes details
ganchoradkov Dec 17, 2024
621f755
chore: bumps android version
ganchoradkov Dec 17, 2024
9303eca
fix: get tx feed
ganchoradkov Dec 17, 2024
ee608ee
chore: rebuild lock
ganchoradkov Dec 17, 2024
455f764
fix: gas fees
ganchoradkov Dec 17, 2024
cfd845a
refactor: new chain abstraction handling
ganchoradkov Dec 19, 2024
a91a795
chore: only redirect on android if connected via deeplink
ganchoradkov Dec 19, 2024
3a553a9
feat: new methods in swift
ganchoradkov Dec 19, 2024
f1757cc
feat: implementes execute for chain abstraction
ganchoradkov Mar 5, 2025
45b6787
chore: updates dep versions
ganchoradkov Mar 7, 2025
7b4a47e
chore: updates android version
ganchoradkov Mar 7, 2025
955170d
chore: use test projectId
ganchoradkov Mar 7, 2025
ac02533
chore: android v
ganchoradkov Mar 7, 2025
6ccb38c
chore: yarn lock
ganchoradkov Mar 7, 2025
bde2cb1
chore: reverted theme color changes
ignaciosantise Mar 25, 2025
b189626
Merge branch 'main' into feat/chain-abstraction
ganchoradkov Mar 27, 2025
742a044
fix: eth transfers
ganchoradkov Mar 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion wallets/rn_cli_wallet/android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ android {
applicationId "com.walletconnect.web3wallet.rnsample"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 54
versionCode 55
versionName "1.0"
resValue "string", "build_config_package", "com.walletconnect.web3wallet.rnsample"
}
Expand Down
2 changes: 1 addition & 1 deletion wallets/rn_cli_wallet/index.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import 'react-native-gesture-handler';
import '@walletconnect/react-native-compat';
import {AppRegistry} from 'react-native';
import '@walletconnect/react-native-compat';
import {name as appName} from './app.json';
import crypto from 'react-native-quick-crypto';

Expand Down
22 changes: 16 additions & 6 deletions wallets/rn_cli_wallet/ios/Podfile.lock
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
PODS:
- boost (1.83.0)
- BVLinearGradient (2.8.3):
- React-Core
- DoubleConversion (1.1.6)
- FBLazyVector (0.74.3)
- fmt (9.1.0)
Expand Down Expand Up @@ -938,7 +940,7 @@ PODS:
- React-Mapbuffer (0.74.3):
- glog
- React-debug
- react-native-compat (2.17.2):
- react-native-compat (2.18.1-canary-ca-5):
- DoubleConversion
- glog
- hermes-engine
Expand All @@ -959,6 +961,7 @@ PODS:
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- YttriumWrapper (= 0.8.35)
- react-native-config (1.5.2):
- react-native-config/App (= 1.5.2)
- react-native-config/App (1.5.2):
Expand Down Expand Up @@ -1246,7 +1249,7 @@ PODS:
- React-Core
- RNCAsyncStorage (1.24.0):
- React-Core
- RNCClipboard (1.14.1):
- RNCClipboard (1.15.0):
- React-Core
- RNDeviceInfo (11.1.0):
- React-Core
Expand Down Expand Up @@ -1329,9 +1332,11 @@ PODS:
- VisionCamera/React (4.5.0):
- React-Core
- Yoga (0.0.0)
- YttriumWrapper (0.8.35)

DEPENDENCIES:
- boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`)
- BVLinearGradient (from `../node_modules/react-native-linear-gradient`)
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
- fmt (from `../node_modules/react-native/third-party-podspecs/fmt.podspec`)
Expand Down Expand Up @@ -1411,10 +1416,13 @@ SPEC REPOS:
- OpenSSL-Universal
- Sentry
- SocketRocket
- YttriumWrapper

EXTERNAL SOURCES:
boost:
:podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec"
BVLinearGradient:
:path: "../node_modules/react-native-linear-gradient"
DoubleConversion:
:podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
FBLazyVector:
Expand Down Expand Up @@ -1561,6 +1569,7 @@ EXTERNAL SOURCES:

SPEC CHECKSUMS:
boost: d3f49c53809116a5d38da093a8aa78bf551aed09
BVLinearGradient: 880f91a7854faff2df62518f0281afb1c60d49a3
DoubleConversion: 76ab83afb40bddeeee456813d9c04f67f78771b5
FBLazyVector: 7e977dd099937dc5458851233141583abba49ff2
fmt: 4c2741a687cc09f0634a2e2c72a838b99f1ff120
Expand Down Expand Up @@ -1592,7 +1601,7 @@ SPEC CHECKSUMS:
React-jsitracing: 6b3c8c98313642140530f93c46f5a6ca4530b446
React-logger: fa92ba4d3a5d39ac450f59be2a3cec7b099f0304
React-Mapbuffer: 9f68550e7c6839d01411ac8896aea5c868eff63a
react-native-compat: 425ce849bdeb6dceeb1c003b254c3c2623a37ba1
react-native-compat: 824fba7586ebff78f51477f6d0a30c261872b020
react-native-config: d7d8a0c65f7fa523197879f6b777997abbfc987e
react-native-get-random-values: 21325b2244dfa6b58878f51f9aa42821e7ba3d06
react-native-netinfo: 076df4f9b07f6670acf4ce9a75aac8d34c2e2ccc
Expand Down Expand Up @@ -1624,7 +1633,7 @@ SPEC CHECKSUMS:
ReactCommon: f00e436b3925a7ae44dfa294b43ef360fbd8ccc4
RNBootSplash: e025d4ee98d942ee6c8b495a6fe66339a6b5f6dd
RNCAsyncStorage: ec53e44dc3e75b44aa2a9f37618a49c3bc080a7a
RNCClipboard: 0a720adef5ec193aa0e3de24c3977222c7e52a37
RNCClipboard: 69ab8e51324d5b351f6ba72bbdb72478087a2c64
RNDeviceInfo: b899ce37a403a4dea52b7cb85e16e49c04a5b88e
RNGestureHandler: 8dbcccada4a7e702e7dec9338c251b1cf393c960
RNPermissions: 9fa74223844f437bc309e112994859dc47194829
Expand All @@ -1634,8 +1643,9 @@ SPEC CHECKSUMS:
Sentry: 54d0fe6c0df448497c8ed4cce66ccf7027e1823e
SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d
VisionCamera: 412fec057156eb5fe84a44351e8ed71a072c1228
Yoga: 04f1db30bb810187397fa4c37dd1868a27af229c
Yoga: 88480008ccacea6301ff7bf58726e27a72931c8d
YttriumWrapper: 31e937fe9fbe0f1314d2ca6be9ce9b379a059966

PODFILE CHECKSUM: c71b4a1de1dcccdf71d8f7f0d4d9b3c37106456c

COCOAPODS: 1.14.3
COCOAPODS: 1.16.2
14 changes: 10 additions & 4 deletions wallets/rn_cli_wallet/ios/RNWeb3Wallet.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -827,7 +827,7 @@
"$(inherited)",
);
INFOPLIST_FILE = RNWeb3WalletTests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
Expand All @@ -853,7 +853,7 @@
BUNDLE_LOADER = "$(TEST_HOST)";
COPY_PHASE_STRIP = NO;
INFOPLIST_FILE = RNWeb3WalletTests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
Expand Down Expand Up @@ -937,6 +937,7 @@
);
INFOPLIST_FILE = RNWeb3Wallet/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = "RN Wallet";
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
Expand Down Expand Up @@ -1026,6 +1027,7 @@
);
INFOPLIST_FILE = RNWeb3Wallet/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = "RN Wallet";
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
Expand Down Expand Up @@ -1116,6 +1118,7 @@
);
INFOPLIST_FILE = "RNWeb3Wallet/Debug-Info.plist";
INFOPLIST_KEY_CFBundleDisplayName = "RN Wallet";
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
Expand Down Expand Up @@ -1204,6 +1207,7 @@
);
INFOPLIST_FILE = "RNWeb3Wallet/Debug-Info.plist";
INFOPLIST_KEY_CFBundleDisplayName = "RN Wallet";
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
Expand Down Expand Up @@ -1295,6 +1299,7 @@
);
INFOPLIST_FILE = "RNWeb3Wallet/Internal-Info.plist";
INFOPLIST_KEY_CFBundleDisplayName = "RN Wallet";
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
Expand Down Expand Up @@ -1386,6 +1391,7 @@
);
INFOPLIST_FILE = "RNWeb3Wallet/Internal-Info.plist";
INFOPLIST_KEY_CFBundleDisplayName = "RN Wallet";
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
Expand Down Expand Up @@ -1473,7 +1479,7 @@
"${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers",
"${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios",
);
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
IPHONEOS_DEPLOYMENT_TARGET = 16.6;
LD = "";
LDPLUSPLUS = "";
LD_RUNPATH_SEARCH_PATHS = (
Expand Down Expand Up @@ -1557,7 +1563,7 @@
"${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers",
"${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios",
);
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
IPHONEOS_DEPLOYMENT_TARGET = 16.6;
LD = "";
LDPLUSPLUS = "";
LD_RUNPATH_SEARCH_PATHS = (
Expand Down
7 changes: 4 additions & 3 deletions wallets/rn_cli_wallet/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,17 @@
"@json-rpc-tools/utils": "1.7.6",
"@kangfenmao/react-native-minimizer": "1.0.4",
"@react-native-async-storage/async-storage": "1.24.0",
"@react-native-clipboard/clipboard": "1.14.1",
"@react-native-clipboard/clipboard": "1.15.0",
"@react-native-community/netinfo": "11.3.2",
"@react-navigation/bottom-tabs": "6.5.1",
"@react-navigation/elements": "1.3.31",
"@react-navigation/native": "6.1.18",
"@react-navigation/native-stack": "6.10.1",
"@react-navigation/stack": "6.4.1",
"@reown/appkit-ui-react-native": "1.0.1",
"@reown/walletkit": "1.1.1",
"@reown/walletkit": "1.1.2-canary-ca-6",
"@sentry/react-native": "6.4.0",
"@walletconnect/react-native-compat": "2.17.2",
"@walletconnect/react-native-compat": "2.18.1-canary-ca-5",
"dayjs": "1.11.11",
"ethers": "5.7.2",
"fast-xml-parser": "4.4.1",
Expand All @@ -49,6 +49,7 @@
"react-native-dialog": "9.3.0",
"react-native-gesture-handler": "2.17.1",
"react-native-get-random-values": "1.11.0",
"react-native-linear-gradient": "^2.8.3",
"react-native-modal": "13.0.1",
"react-native-permissions": "4.1.5",
"react-native-quick-base64": "2.1.2",
Expand Down
Binary file added wallets/rn_cli_wallet/src/assets/bridge.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
27 changes: 27 additions & 0 deletions wallets/rn_cli_wallet/src/components/BridgeBadge.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import {Image, StyleSheet, View} from 'react-native';
import Bridge from '@/assets/bridge.png';

export function BridgeBadge() {
return (
<View style={styles.container}>
<Image source={Bridge} style={styles.image} />
</View>
);
}

const styles = StyleSheet.create({
container: {
width: 24,
height: 24,
borderRadius: 12,
backgroundColor: '#363636',
marginEnd: 8,
flexDirection: 'row',
justifyContent: 'space-evenly',
},
image: {
width: 16,
height: 16,
top: 3,
},
});
5 changes: 5 additions & 0 deletions wallets/rn_cli_wallet/src/components/Loader.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import {ActivityIndicator} from 'react-native';

export function Loader({loading}: {loading: boolean}) {
return loading ? <ActivityIndicator /> : null;
}
15 changes: 15 additions & 0 deletions wallets/rn_cli_wallet/src/components/VerifiedDomain.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import {Image, StyleSheet} from 'react-native';
import VerifiedIcon from '@/assets/VerifiedDomain.png';

export function VerifiedDomain() {
return <Image source={VerifiedIcon} style={styles.icon} />;
}

const styles = StyleSheet.create({
icon: {
width: 10,
height: 10,
borderRadius: 5,
marginEnd: 5,
},
});
3 changes: 1 addition & 2 deletions wallets/rn_cli_wallet/src/hooks/useInitializeWalletKit.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import {useCallback, useEffect, useRef, useState} from 'react';
import {useSnapshot} from 'valtio';

import SettingsStore from '@/store/SettingsStore';
import {createOrRestoreEIP155Wallet} from '@/utils/EIP155WalletUtil';
import {createWalletKit, walletKit} from '@/utils/WalletKitUtil';
Expand Down Expand Up @@ -29,7 +28,7 @@ export default function useInitializeWalletKit() {
// restart transport if relayer region changes
const onRelayerRegionChange = useCallback(() => {
try {
walletKit.core.relayer.restartTransport(relayerRegionURL);
walletKit?.core.relayer.restartTransport(relayerRegionURL);
prevRelayerURLValue.current = relayerRegionURL;
} catch (err: unknown) {
console.log(err);
Expand Down
Loading
Loading