forked from jl777/SuperNET
-
Notifications
You must be signed in to change notification settings - Fork 111
feat(walletconnect): add WalletConnect v2 support for EVM and Cosmos #2223
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
Merged
Merged
Changes from 180 commits
Commits
Show all changes
246 commits
Select commit
Hold shift + click to select a range
9100780
init, start walletconnect client impl
borngraced ca3f558
save dev state - walletconnect client impl
borngraced c3dc6c6
save dev state - WalletConnect client impl
borngraced 0eea639
rough implementations
borngraced 588316f
commit lock file
borngraced 60a2fc5
save dev state - handle connection close, session improvements, etc
borngraced fd8797c
minor changes
borngraced 437767b
fix wasm compilation
borngraced 6374da3
minor changes - create metadata mod
borngraced 1c9cfe0
minor changes and code organization
borngraced f7987dd
minor changes + merge session and session_key mod
borngraced 1f2adb2
minor changes to namespaces
borngraced 658357f
some improvements
borngraced 98026ac
add some session fn doc comments
borngraced 9dddb91
big improvements to session handling
borngraced 52a0f72
implement session delete and cleaup
borngraced 9f5944c
improve code and locking
borngraced dff1b42
remove unused dep
borngraced 591fbdb
refactorings and cleanupds
borngraced f6e7864
minor changes
borngraced f535f0b
make session single
borngraced 3eb8969
minor changes
borngraced 2d68488
save dev state
borngraced 42dd5ba
implement coin activation for tendermint and other minor changes
borngraced edcb5a7
improve code and minor needed changes
borngraced e606ca4
improve relayer disconnection, remove unneeded changes, track topic s…
borngraced d7b5a17
fix tendermint pubkey derivation from walletconnect
borngraced 3a85a17
start persistent session storage implementation
borngraced be98c40
implement sqlite session storage table and insert session method
borngraced 6453a33
fix cyclic deps and continue storage implementations
borngraced 9f87a9e
implement WASM persistent storage
borngraced 6135665
implement persistent indexed_db session storage
borngraced 5457d80
save dev state - implement wc rpc commands
borngraced 9d12079
move walletconnect rpc to mm2_main rpc
borngraced 03d9978
remove mm2_test_helpers lock file
borngraced 32e46d9
format mm2_net cargo.toml
borngraced 1e352b1
update storage session upon session settle response/request
borngraced a30511b
add tokio to wc dependency list
borngraced 341b18e
improve tenderming with_pubkey activation params
borngraced 4c8e299
minor changes
borngraced 73d8315
fix proposer mod
borngraced c1accc9
merge with dev
borngraced 7ab33d5
implement walletconnect sign tx for tendermint - wip
borngraced 0bcd41c
remove chain params from get cosmos account method
borngraced b2ec309
tx impl - wip
borngraced 2e25bde
save dev state
borngraced 328bc76
handle client connnection/reconnection efficiently and minor renaming
borngraced 9b20d7f
minor changes
borngraced ca2e19c
implement multi session management
borngraced 481f1c3
remove mm2_test_helpers lock file
borngraced 0c00710
refactoring and unit tests
borngraced e5e2150
fix session topic generation bug
borngraced 8d749de
tendermint sign tx impl fixes
borngraced 8b1b6c3
improve wc tx_signing codes
borngraced 4202950
minor fix
borngraced d440ed9
add more session rpc endpoint
borngraced f3cf28b
update wc deps
borngraced e56f8d7
update wc_common deps
borngraced 1ab21d7
merge with dev and fix conflicts
borngraced a498381
use rustls
borngraced c7b41a8
update bip39 deps
borngraced 8fc7620
fix wasm clippy
borngraced 2d52404
add chains/tendermint test
borngraced 4cbd2fa
minor changes, improve api
borngraced a57495d
remove subscription on session delete
borngraced c7e7de6
improve ledger external wallet connection checks
borngraced cc3c568
wc tx handling for tendermint
borngraced 7683090
merge with dev and fix conflicts
borngraced 5a574a6
complete persistent session storage with unit test for native and wasm
borngraced 81ebee7
minor changes
borngraced 46e3802
fix is ledger connection fn
borngraced 500cb87
module refactorings
borngraced b2dea85
Merge branch 'dev' of github.com:KomodoPlatform/komodo-defi-framework…
borngraced 1840ca8
introduce WcRequstOps trait, untighten code and more
borngraced 6501134
commit cargo.lock
borngraced 38dadbe
implement cosmos ledger amino sign support
borngraced 301a5b0
fix fmt
borngraced 3cde05b
start eth pubkey mode impl
borngraced 5eb3e4c
save progress - impl wc eth_personal sign
borngraced b35bd4a
implement eth coin activation using walletconnect
borngraced 337154c
eth walletconnect coin activation and message handler code improvements
borngraced b358825
improve session message handling process
borngraced afc4058
further wc improve message handling
borngraced 18eb62f
uncommit mm2_test_helpers lock file
borngraced 9c083ac
eth wc transaction - save dev state
borngraced 7f37fd3
impl eth withdraw for walletconnect policy
borngraced 6e57330
don't support sign_raw_tx rpc in walletconnect mode
borngraced e45243b
cleanups
borngraced a8d937e
improvements to session, wc ops, and more
borngraced 1569ede
create connection with custom namespaces
borngraced 4fc5a43
impl eth sign and send tx for WalletConnect
borngraced 3792027
swaps working, impl connection health manager
borngraced 0b1da04
remove debug log
borngraced f0659a4
connection_handler improvements
borngraced 187bf5e
improve tendermint wc code
borngraced 2a2f167
use const_hex
borngraced cd368bf
major changes to connection handling and other minor fixes
borngraced 0c61287
add logging to wc storage impl
borngraced fe0d096
Merge branch 'refs/heads/dev' into wc-integration
borngraced a0220d7
fix conflict and minor changes + merge with dev branch
borngraced 3468502
minor changes
borngraced c4a07e4
monitor if relay client is connected
borngraced 1e78257
changes to client impls
borngraced a43dc60
handle broadcast option for WalletConnect and some minor fixes
borngraced eea1532
remove unused
borngraced fb9f8c1
fix: handle unexpected end of file
borngraced d58b18f
re-enable use_watcher
borngraced 045625b
cleanups
borngraced 65c7f90
fix websocket connection drop
borngraced 2326959
handle conn drop for session creation
borngraced 42eaa29
nits
borngraced 4ad423e
Merge branch 'refs/heads/dev' into wc-integration
borngraced e82083a
fix conflict after merge
borngraced ad38241
nits
borngraced 59db165
move storage to session manager and minor improvements
borngraced f5caa19
fix review notes
borngraced bb186c2
fix: self review
borngraced 77d7909
fix review notes
borngraced 0d3fdfe
increase rpc timeout and return PublicKey from recover
borngraced 35d0fa4
fix review notes
borngraced db1e687
fmt
borngraced 11d114d
remove dup session delete rpc
borngraced af91d47
rename var and remove unnecessary sorting from storage sessions loading
borngraced 10e9e67
refactor wait_for_tx_appears_on_rpc to use secs for time
borngraced b9075ce
batch subscribe to topics
borngraced 1ff17cd
rename ctx.session to ctx.session_manager
borngraced 5e89b9f
use weak spawner to spawn wc related task/event loops
borngraced 1fec24f
validate table name only during initialization
borngraced bdf9636
make required_namespaces required for wc activation and remove defaults
borngraced 31c9594
use sync mutex for active topic
borngraced 37a36f7
fix review notes
borngraced 0351d67
Merge branch 'dev' into wc-integration
borngraced 21f42f0
nits
borngraced c743464
bump wc libs
borngraced cab1b36
remove todo comment, replace remove const-hex crate
borngraced 4e82c4f
remove dashmap
borngraced b96881e
revert mm2-parity-eth lib ver
borngraced 738f941
review deps, add todo for WC ctx initialization
borngraced 19b1d8a
reverse lock_api deps
borngraced 9f73688
remove session request timestamp and add doc comments to message hand…
borngraced b874221
fix fmt
borngraced 26ea297
review deps
borngraced 371af58
use exponential backoff in spawn_connection_initializations reconnection
borngraced fdc18d7
remove redundancy and fix nits
borngraced e3d9a9f
Merge branch 'dev' into wc-integration
borngraced 5f47368
fix notes and graceful shutdown on init failure
borngraced 1860776
nits
borngraced 27cf3fb
track message via message_id
borngraced 06e4dc7
impl correlated message handling for inbound messages
borngraced 25275e9
remove println
borngraced 89756db
revert session property deserializing
borngraced a2c7c71
nits
borngraced bbddec5
Merge branch 'dev' into wc-integration
borngraced 9db99ac
fix merge conflict
borngraced 4739ec3
self review fixes
borngraced 414fda5
nits
borngraced f95e385
bump WalletConnectRust lib
borngraced dd1a842
save dev state - implement dynamic session management for activated c…
borngraced 4dd315a
complete coin with session topic
borngraced 3b07397
improve and remove redundancy session_properties call in tendermint w…
borngraced 5b4838d
minor changes
borngraced 7124b4f
marge with dev
borngraced 2243c9d
revert metadata to fn
borngraced 1a8f243
move u256_to_hex fn to common mod and minor changes
borngraced 020ecb8
replace EthPrivKeyActivationPolicy name for WC des
borngraced 432b056
remove active_session/topic and some other minor changes
borngraced bb73b1f
reduce lookup for session in session/settle.rs
borngraced ed7b4d2
fix review notes
borngraced e5fa7a4
Merge branch 'dev' into wc-integration
borngraced 45a5961
fix review notes
borngraced c697e3c
refactor get_full_sessions to get_sessions_topic_and_controller
borngraced e39507b
use timed_map
borngraced 5fdc5a2
Merge branch 'dev' into wc-integration
borngraced 559b09f
minor changes in tendermint
borngraced 2e64022
pass tx_payload by ownership
borngraced 1bb1436
Merge branch 'dev' into wc-integration
borngraced 97d6f73
Merge branch 'dev' into wc-integration
borngraced 8e91a6f
Merge branch 'dev' into wc-integration
borngraced 9942741
self review
borngraced 9c712b2
remove unneeded dep, use unwrap for mutex, reduce expiration time for…
borngraced e8140ae
fix eth wallet_connect review notes by Onur
borngraced 167734b
handle error in wc_sign_tx for tendermint wc
borngraced cbf92c7
Merge branch 'dev' into wc-integration
borngraced 890b799
fix build error
borngraced d9490f0
fix clippy(tendermingt test)
borngraced f67bb57
extend get_session rpc request to allow using pairing_topic to fetch …
borngraced b4f18c0
remove irrelevant fields from RPC session response
borngraced 66bbb1d
allow empty optional namespaces in session proposal request
borngraced cacf073
merge with dev
borngraced 5c54ddb
pad address with hex prefix 0x
borngraced 5d378ee
replace gas with gasLimit
borngraced b2d4b97
eth_walletconnect: encode tx data.
borngraced 5650763
fix syntax
borngraced 20ea3d4
temp disable stripping tx signature first 4 bytes
borngraced afa5bc1
log signed_tx info
borngraced e259829
normalize hex before decoding
borngraced f88f18f
use hex to encode authInfoBytes and bodyBytes for cosmos wc
borngraced e47639a
rotate AUTH_TOKEN_SUB, remove unused imports
borngraced dd05d93
Merge branch 'dev' into wc-integration
borngraced 9ee936a
post merge fixes
borngraced 67480e2
delete session from kdf before broadcasting
borngraced 63c5da9
delete wcsession and forget
borngraced 7cf693d
include chain_id in eth session request
borngraced 0177158
change chainId to number
borngraced 4f0abea
debug erc20 token withdrawal
borngraced 8d0d731
fix keplr cosmos
borngraced b87ab60
use keplr method for signing tx
borngraced b5ea341
use connected wallet encoding format for data encoding
borngraced eb7f988
minor changes
borngraced 995c2c2
make wc eth chain id u64
borngraced 23690ce
Merge branch 'dev' into wc-integration
borngraced b2a20f6
add max_fee_per_gas and max_priority_fee_per_gas for eth walletconnect
borngraced 436ac39
bump tokio-tungstenite-wasm crate
borngraced 3db2938
fix minor review notes
borngraced a671563
fix wasm
borngraced af6dc58
Merge branch 'dev' into wc-integration
borngraced ffe7cad
use tagged data for key policy in eth and tendermint
borngraced f861363
Merge branch 'dev' into wc-integration
borngraced bd69550
Merge branch 'dev' into wc-integration
borngraced b34b265
fix typo
borngraced 2e9117b
fix typo
borngraced 836140c
Merge branch 'wc-integration' of github.com:KomodoPlatform/komodo-def…
borngraced 4ac6285
use replace data with params
borngraced c6425c1
Merge branch 'dev' into wc-integration
borngraced a8a6749
Merge branch 'dev' into wc-integration
borngraced 2e94afc
merge dev and fix conflicts
borngraced f9d9b02
merge and fix conflicts
borngraced 09233a9
Merge branch 'dev' into wc-integration
borngraced 5b20f96
fix review notes
borngraced 9e5f3ce
remove chain_id_or_err
borngraced 07c4af1
Merge branch 'dev' into wc-integration
borngraced 084c19f
some changes
borngraced 67140db
dev merge
borngraced 31c4f65
organize deps
borngraced 8a96e79
Merge branch 'dev' into wc-integration
borngraced 1cacec5
Merge branch 'dev' into wc-integration
borngraced 9705a42
Merge branch 'dev' into wc-integration
shamardy 6476400
Add todos about using walletconnect with tron
shamardy d7ba61d
fix typos
shamardy a8407ab
Remove unused 'package = "futures"' key from kdf_walletconnect/Cargo.…
shamardy e3cbc70
Switch test RPC requests to use `type` tag with eth `priv_key_policy`
shamardy 69ea07c
fix `test_electrum_rpc_client_error`
shamardy 6e35290
Make sign message `Authenticate with KDF`
shamardy be87d65
Implement public key getting for `WalletConnect` in `TendermintActiva…
shamardy 6fd331a
tendermint: make wallet_type parameter non-optional in coin initializ…
shamardy 2e4ef04
rename handler name from "Komodefi" to "KDF"
shamardy File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.