@tcswap/wallets 4.3.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/dist/chunk-6dcwbjsg.js +5 -0
  2. package/dist/chunk-6dcwbjsg.js.map +10 -0
  3. package/dist/chunk-78m70510.js +5 -0
  4. package/dist/chunk-78m70510.js.map +9 -0
  5. package/dist/chunk-vb4wtm2w.js +4 -0
  6. package/dist/chunk-vb4wtm2w.js.map +9 -0
  7. package/dist/chunk-y6rjn578.js +4 -0
  8. package/dist/chunk-y6rjn578.js.map +10 -0
  9. package/dist/src/bitget.cjs +4 -0
  10. package/dist/src/bitget.cjs.map +10 -0
  11. package/dist/src/bitget.js +4 -0
  12. package/dist/src/bitget.js.map +10 -0
  13. package/dist/src/coinbase/index.cjs +4 -0
  14. package/dist/src/coinbase/index.cjs.map +11 -0
  15. package/dist/src/coinbase/index.js +4 -0
  16. package/dist/src/coinbase/index.js.map +11 -0
  17. package/dist/src/cosmostation.cjs +4 -0
  18. package/dist/src/cosmostation.cjs.map +10 -0
  19. package/dist/src/cosmostation.js +4 -0
  20. package/dist/src/cosmostation.js.map +10 -0
  21. package/dist/src/ctrl.cjs +4 -0
  22. package/dist/src/ctrl.cjs.map +10 -0
  23. package/dist/src/ctrl.js +4 -0
  24. package/dist/src/ctrl.js.map +10 -0
  25. package/dist/src/evm-extensions.cjs +4 -0
  26. package/dist/src/evm-extensions.cjs.map +10 -0
  27. package/dist/src/evm-extensions.js +4 -0
  28. package/dist/src/evm-extensions.js.map +10 -0
  29. package/dist/src/index.cjs +4 -0
  30. package/dist/src/index.cjs.map +11 -0
  31. package/dist/src/index.js +4 -0
  32. package/dist/src/index.js.map +11 -0
  33. package/dist/src/keepkey-bex.cjs +4 -0
  34. package/dist/src/keepkey-bex.cjs.map +10 -0
  35. package/dist/src/keepkey-bex.js +4 -0
  36. package/dist/src/keepkey-bex.js.map +10 -0
  37. package/dist/src/keepkey.cjs +4 -0
  38. package/dist/src/keepkey.cjs.map +10 -0
  39. package/dist/src/keepkey.js +4 -0
  40. package/dist/src/keepkey.js.map +10 -0
  41. package/dist/src/keplr.cjs +4 -0
  42. package/dist/src/keplr.cjs.map +10 -0
  43. package/dist/src/keplr.js +4 -0
  44. package/dist/src/keplr.js.map +10 -0
  45. package/dist/src/keystore.cjs +4 -0
  46. package/dist/src/keystore.cjs.map +10 -0
  47. package/dist/src/keystore.js +4 -0
  48. package/dist/src/keystore.js.map +10 -0
  49. package/dist/src/ledger.cjs +4 -0
  50. package/dist/src/ledger.cjs.map +10 -0
  51. package/dist/src/ledger.js +4 -0
  52. package/dist/src/ledger.js.map +10 -0
  53. package/dist/src/near-wallet-selector/index.cjs +4 -0
  54. package/dist/src/near-wallet-selector/index.cjs.map +10 -0
  55. package/dist/src/near-wallet-selector/index.js +4 -0
  56. package/dist/src/near-wallet-selector/index.js.map +10 -0
  57. package/dist/src/okx.cjs +4 -0
  58. package/dist/src/okx.cjs.map +10 -0
  59. package/dist/src/okx.js +4 -0
  60. package/dist/src/okx.js.map +10 -0
  61. package/dist/src/onekey.cjs +4 -0
  62. package/dist/src/onekey.cjs.map +10 -0
  63. package/dist/src/onekey.js +4 -0
  64. package/dist/src/onekey.js.map +10 -0
  65. package/dist/src/passkeys/index.cjs +4 -0
  66. package/dist/src/passkeys/index.cjs.map +10 -0
  67. package/dist/src/passkeys/index.js +4 -0
  68. package/dist/src/passkeys/index.js.map +10 -0
  69. package/dist/src/phantom.cjs +4 -0
  70. package/dist/src/phantom.cjs.map +10 -0
  71. package/dist/src/phantom.js +4 -0
  72. package/dist/src/phantom.js.map +10 -0
  73. package/dist/src/polkadotjs.cjs +4 -0
  74. package/dist/src/polkadotjs.cjs.map +10 -0
  75. package/dist/src/polkadotjs.js +4 -0
  76. package/dist/src/polkadotjs.js.map +10 -0
  77. package/dist/src/radix/index.cjs +4 -0
  78. package/dist/src/radix/index.cjs.map +10 -0
  79. package/dist/src/radix/index.js +4 -0
  80. package/dist/src/radix/index.js.map +10 -0
  81. package/dist/src/talisman.cjs +4 -0
  82. package/dist/src/talisman.cjs.map +10 -0
  83. package/dist/src/talisman.js +4 -0
  84. package/dist/src/talisman.js.map +10 -0
  85. package/dist/src/trezor.cjs +4 -0
  86. package/dist/src/trezor.cjs.map +10 -0
  87. package/dist/src/trezor.js +4 -0
  88. package/dist/src/trezor.js.map +10 -0
  89. package/dist/src/tronlink.cjs +4 -0
  90. package/dist/src/tronlink.cjs.map +10 -0
  91. package/dist/src/tronlink.js +4 -0
  92. package/dist/src/tronlink.js.map +10 -0
  93. package/dist/src/vultisig.cjs +4 -0
  94. package/dist/src/vultisig.cjs.map +10 -0
  95. package/dist/src/vultisig.js +4 -0
  96. package/dist/src/vultisig.js.map +10 -0
  97. package/dist/src/walletconnect/index.cjs +4 -0
  98. package/dist/src/walletconnect/index.cjs.map +13 -0
  99. package/dist/src/walletconnect/index.js +4 -0
  100. package/dist/src/walletconnect/index.js.map +13 -0
  101. package/dist/src/xaman/index.cjs +4 -0
  102. package/dist/src/xaman/index.cjs.map +12 -0
  103. package/dist/src/xaman/index.js +4 -0
  104. package/dist/src/xaman/index.js.map +12 -0
  105. package/dist/types/bitget.d.ts +2 -0
  106. package/dist/types/bitget.d.ts.map +1 -0
  107. package/dist/types/coinbase/index.d.ts +14 -0
  108. package/dist/types/coinbase/index.d.ts.map +1 -0
  109. package/dist/types/coinbase/signer.d.ts +313 -0
  110. package/dist/types/coinbase/signer.d.ts.map +1 -0
  111. package/dist/types/cosmostation.d.ts +2 -0
  112. package/dist/types/cosmostation.d.ts.map +1 -0
  113. package/dist/types/ctrl.d.ts +2 -0
  114. package/dist/types/ctrl.d.ts.map +1 -0
  115. package/dist/types/evm-extensions.d.ts +2 -0
  116. package/dist/types/evm-extensions.d.ts.map +1 -0
  117. package/dist/types/index.d.ts +4 -0
  118. package/dist/types/index.d.ts.map +1 -0
  119. package/dist/types/keepkey-bex.d.ts +2 -0
  120. package/dist/types/keepkey-bex.d.ts.map +1 -0
  121. package/dist/types/keepkey.d.ts +2 -0
  122. package/dist/types/keepkey.d.ts.map +1 -0
  123. package/dist/types/keplr.d.ts +2 -0
  124. package/dist/types/keplr.d.ts.map +1 -0
  125. package/dist/types/keystore.d.ts +2 -0
  126. package/dist/types/keystore.d.ts.map +1 -0
  127. package/dist/types/ledger.d.ts +2 -0
  128. package/dist/types/ledger.d.ts.map +1 -0
  129. package/dist/types/near-wallet-selector/index.d.ts +16 -0
  130. package/dist/types/near-wallet-selector/index.d.ts.map +1 -0
  131. package/dist/types/okx.d.ts +2 -0
  132. package/dist/types/okx.d.ts.map +1 -0
  133. package/dist/types/onekey.d.ts +2 -0
  134. package/dist/types/onekey.d.ts.map +1 -0
  135. package/dist/types/passkeys/index.d.ts +17 -0
  136. package/dist/types/passkeys/index.d.ts.map +1 -0
  137. package/dist/types/phantom.d.ts +2 -0
  138. package/dist/types/phantom.d.ts.map +1 -0
  139. package/dist/types/polkadotjs.d.ts +2 -0
  140. package/dist/types/polkadotjs.d.ts.map +1 -0
  141. package/dist/types/radix/index.d.ts +14 -0
  142. package/dist/types/radix/index.d.ts.map +1 -0
  143. package/dist/types/talisman.d.ts +2 -0
  144. package/dist/types/talisman.d.ts.map +1 -0
  145. package/dist/types/trezor.d.ts +2 -0
  146. package/dist/types/trezor.d.ts.map +1 -0
  147. package/dist/types/tronlink.d.ts +2 -0
  148. package/dist/types/tronlink.d.ts.map +1 -0
  149. package/dist/types/types.d.ts +92 -0
  150. package/dist/types/types.d.ts.map +1 -0
  151. package/dist/types/utils.d.ts +4 -0
  152. package/dist/types/utils.d.ts.map +1 -0
  153. package/dist/types/vultisig.d.ts +2 -0
  154. package/dist/types/vultisig.d.ts.map +1 -0
  155. package/dist/types/walletconnect/constants.d.ts +89 -0
  156. package/dist/types/walletconnect/constants.d.ts.map +1 -0
  157. package/dist/types/walletconnect/evmSigner.d.ts +28 -0
  158. package/dist/types/walletconnect/evmSigner.d.ts.map +1 -0
  159. package/dist/types/walletconnect/helpers.d.ts +7 -0
  160. package/dist/types/walletconnect/helpers.d.ts.map +1 -0
  161. package/dist/types/walletconnect/index.d.ts +25 -0
  162. package/dist/types/walletconnect/index.d.ts.map +1 -0
  163. package/dist/types/walletconnect/namespaces.d.ts +10 -0
  164. package/dist/types/walletconnect/namespaces.d.ts.map +1 -0
  165. package/dist/types/walletconnect/types.d.ts +7 -0
  166. package/dist/types/walletconnect/types.d.ts.map +1 -0
  167. package/dist/types/xaman/helpers.d.ts +59 -0
  168. package/dist/types/xaman/helpers.d.ts.map +1 -0
  169. package/dist/types/xaman/index.d.ts +17 -0
  170. package/dist/types/xaman/index.d.ts.map +1 -0
  171. package/dist/types/xaman/types.d.ts +24 -0
  172. package/dist/types/xaman/types.d.ts.map +1 -0
  173. package/dist/types/xaman/walletMethods.d.ts +19 -0
  174. package/dist/types/xaman/walletMethods.d.ts.map +1 -0
  175. package/package.json +220 -0
  176. package/src/bitget.ts +1 -0
  177. package/src/coinbase/index.ts +48 -0
  178. package/src/coinbase/signer.ts +81 -0
  179. package/src/cosmostation.ts +1 -0
  180. package/src/ctrl.ts +1 -0
  181. package/src/evm-extensions.ts +1 -0
  182. package/src/index.ts +3 -0
  183. package/src/keepkey-bex.ts +1 -0
  184. package/src/keepkey.ts +1 -0
  185. package/src/keplr.ts +1 -0
  186. package/src/keystore.ts +1 -0
  187. package/src/ledger.ts +1 -0
  188. package/src/near-wallet-selector/index.ts +116 -0
  189. package/src/okx.ts +1 -0
  190. package/src/onekey.ts +1 -0
  191. package/src/passkeys/index.ts +187 -0
  192. package/src/phantom.ts +1 -0
  193. package/src/polkadotjs.ts +1 -0
  194. package/src/radix/index.ts +198 -0
  195. package/src/talisman.ts +1 -0
  196. package/src/trezor.ts +1 -0
  197. package/src/tronlink.ts +1 -0
  198. package/src/types.ts +94 -0
  199. package/src/utils.ts +59 -0
  200. package/src/vultisig.ts +1 -0
  201. package/src/walletconnect/constants.ts +109 -0
  202. package/src/walletconnect/evmSigner.ts +129 -0
  203. package/src/walletconnect/helpers.ts +77 -0
  204. package/src/walletconnect/index.ts +396 -0
  205. package/src/walletconnect/namespaces.ts +84 -0
  206. package/src/walletconnect/types.ts +6 -0
  207. package/src/xaman/helpers.ts +58 -0
  208. package/src/xaman/index.ts +66 -0
  209. package/src/xaman/types.ts +26 -0
  210. package/src/xaman/walletMethods.ts +114 -0
package/package.json ADDED
@@ -0,0 +1,220 @@
1
+ {
2
+ "dependencies": {
3
+ "@coinbase/wallet-sdk": "~4.3.7",
4
+ "@cosmjs/amino": "~0.37.0",
5
+ "@cosmjs/proto-signing": "~0.37.0",
6
+ "@near-js/transactions": "~2.5.0",
7
+ "@near-wallet-selector/bitget-wallet": "~10.1.0",
8
+ "@near-wallet-selector/core": "~10.1.0",
9
+ "@near-wallet-selector/modal-ui-js": "~10.1.0",
10
+ "@passkeys/core": "~4.1.0",
11
+ "@passkeys/react": "~3.0.1",
12
+ "@radixdlt/babylon-gateway-api-sdk": "~1.10.0",
13
+ "@radixdlt/radix-dapp-toolkit": "~2.2.0",
14
+ "@tcswap/helpers": "4.5.15",
15
+ "@tcswap/toolboxes": "4.3.15",
16
+ "@tcswap/wallet-core": "4.0.59",
17
+ "@tcswap/wallet-extensions": "4.1.16",
18
+ "@tcswap/wallet-hardware": "4.2.16",
19
+ "@tcswap/wallet-keystore": "4.1.15",
20
+ "@walletconnect/modal": "~2.7.0",
21
+ "@walletconnect/sign-client": "~2.23.0",
22
+ "bitcoinjs-lib": "~6.1.0",
23
+ "cosmjs-types": "~0.10.1",
24
+ "ethers": "^6.14.0",
25
+ "sats-connect": "~1.0.0",
26
+ "ts-pattern": "^5.9.0",
27
+ "xumm": "1.8.0"
28
+ },
29
+ "description": "USwap - Wallets",
30
+ "devDependencies": {
31
+ "@coinbase/wallet-sdk": "4.3.7",
32
+ "@cosmjs/amino": "0.37.0",
33
+ "@cosmjs/proto-signing": "0.37.0",
34
+ "@near-js/transactions": "2.5.0",
35
+ "@near-wallet-selector/bitget-wallet": "10.1.0",
36
+ "@near-wallet-selector/core": "10.1.0",
37
+ "@near-wallet-selector/modal-ui-js": "10.1.0",
38
+ "@passkeys/core": "4.1.0",
39
+ "@passkeys/react": "3.0.1",
40
+ "@radixdlt/babylon-gateway-api-sdk": "1.10.1",
41
+ "@radixdlt/radix-dapp-toolkit": "2.2.1",
42
+ "@walletconnect/logger": "3.0.0",
43
+ "@walletconnect/modal": "2.7.0",
44
+ "@walletconnect/sign-client": "2.23.0",
45
+ "@walletconnect/types": "2.23.0",
46
+ "bitcoinjs-lib": "6.1.7",
47
+ "cosmjs-types": "0.10.1",
48
+ "ethers": "6.15.0",
49
+ "pino-pretty": "13.1.2",
50
+ "sats-connect": "1.0.0",
51
+ "ts-pattern": "5.9.0",
52
+ "xumm": "1.8.0"
53
+ },
54
+ "exports": {
55
+ ".": {
56
+ "bun": "./src/index.ts",
57
+ "default": "./dist/src/index.js",
58
+ "require": "./dist/src/index.cjs",
59
+ "types": "./dist/types/index.d.ts"
60
+ },
61
+ "./bitget": {
62
+ "bun": "./src/bitget.ts",
63
+ "default": "./dist/src/bitget.js",
64
+ "require": "./dist/src/bitget.cjs",
65
+ "types": "./dist/types/bitget.d.ts"
66
+ },
67
+ "./coinbase": {
68
+ "bun": "./src/coinbase/index.ts",
69
+ "default": "./dist/src/coinbase/index.js",
70
+ "require": "./dist/src/coinbase/index.cjs",
71
+ "types": "./dist/types/coinbase/index.d.ts"
72
+ },
73
+ "./cosmostation": {
74
+ "bun": "./src/cosmostation.ts",
75
+ "default": "./dist/src/cosmostation.js",
76
+ "require": "./dist/src/cosmostation.cjs",
77
+ "types": "./dist/types/cosmostation.d.ts"
78
+ },
79
+ "./ctrl": {
80
+ "bun": "./src/ctrl.ts",
81
+ "default": "./dist/src/ctrl.js",
82
+ "require": "./dist/src/ctrl.cjs",
83
+ "types": "./dist/types/ctrl.d.ts"
84
+ },
85
+ "./evm-extensions": {
86
+ "bun": "./src/evm-extensions.ts",
87
+ "default": "./dist/src/evm-extensions.js",
88
+ "require": "./dist/src/evm-extensions.cjs",
89
+ "types": "./dist/types/evm-extensions.d.ts"
90
+ },
91
+ "./exodus": {
92
+ "bun": "./src/passkeys/index.ts",
93
+ "default": "./dist/src/passkeys/index.js",
94
+ "require": "./dist/src/passkeys/index.cjs",
95
+ "types": "./dist/types/passkeys/index.d.ts"
96
+ },
97
+ "./keepkey": {
98
+ "bun": "./src/keepkey.ts",
99
+ "default": "./dist/src/keepkey.js",
100
+ "require": "./dist/src/keepkey.cjs",
101
+ "types": "./dist/types/keepkey.d.ts"
102
+ },
103
+ "./keepkey-bex": {
104
+ "bun": "./src/keepkey-bex.ts",
105
+ "default": "./dist/src/keepkey-bex.js",
106
+ "require": "./dist/src/keepkey-bex.cjs",
107
+ "types": "./dist/types/keepkey-bex.d.ts"
108
+ },
109
+ "./keplr": {
110
+ "bun": "./src/keplr.ts",
111
+ "default": "./dist/src/keplr.js",
112
+ "require": "./dist/src/keplr.cjs",
113
+ "types": "./dist/types/keplr.d.ts"
114
+ },
115
+ "./keystore": {
116
+ "bun": "./src/keystore.ts",
117
+ "default": "./dist/src/keystore.js",
118
+ "require": "./dist/src/keystore.cjs",
119
+ "types": "./dist/types/keystore.d.ts"
120
+ },
121
+ "./ledger": {
122
+ "bun": "./src/ledger.ts",
123
+ "default": "./dist/src/ledger.js",
124
+ "require": "./dist/src/ledger.cjs",
125
+ "types": "./dist/types/ledger.d.ts"
126
+ },
127
+ "./near-wallet-selector": {
128
+ "bun": "./src/near-wallet-selector/index.ts",
129
+ "default": "./dist/src/near-wallet-selector/index.js",
130
+ "require": "./dist/src/near-wallet-selector/index.cjs",
131
+ "types": "./dist/types/near-wallet-selector/index.d.ts"
132
+ },
133
+ "./okx": {
134
+ "bun": "./src/okx.ts",
135
+ "default": "./dist/src/okx.js",
136
+ "require": "./dist/src/okx.cjs",
137
+ "types": "./dist/types/okx.d.ts"
138
+ },
139
+ "./onekey": {
140
+ "bun": "./src/onekey.ts",
141
+ "default": "./dist/src/onekey.js",
142
+ "require": "./dist/src/onekey.cjs",
143
+ "types": "./dist/types/onekey.d.ts"
144
+ },
145
+ "./passkeys": {
146
+ "bun": "./src/passkeys/index.ts",
147
+ "default": "./dist/src/passkeys/index.js",
148
+ "require": "./dist/src/passkeys/index.cjs",
149
+ "types": "./dist/types/passkeys/index.d.ts"
150
+ },
151
+ "./phantom": {
152
+ "bun": "./src/phantom.ts",
153
+ "default": "./dist/src/phantom.js",
154
+ "require": "./dist/src/phantom.cjs",
155
+ "types": "./dist/types/phantom.d.ts"
156
+ },
157
+ "./polkadotjs": {
158
+ "bun": "./src/polkadotjs.ts",
159
+ "default": "./dist/src/polkadotjs.js",
160
+ "require": "./dist/src/polkadotjs.cjs",
161
+ "types": "./dist/types/polkadotjs.d.ts"
162
+ },
163
+ "./radix": {
164
+ "bun": "./src/radix/index.ts",
165
+ "default": "./dist/src/radix/index.js",
166
+ "require": "./dist/src/radix/index.cjs",
167
+ "types": "./dist/types/radix/index.d.ts"
168
+ },
169
+ "./talisman": {
170
+ "bun": "./src/talisman.ts",
171
+ "default": "./dist/src/talisman.js",
172
+ "require": "./dist/src/talisman.cjs",
173
+ "types": "./dist/types/talisman.d.ts"
174
+ },
175
+ "./trezor": {
176
+ "bun": "./src/trezor.ts",
177
+ "default": "./dist/src/trezor.js",
178
+ "require": "./dist/src/trezor.cjs",
179
+ "types": "./dist/types/trezor.d.ts"
180
+ },
181
+ "./tronlink": {
182
+ "bun": "./src/tronlink.ts",
183
+ "default": "./dist/src/tronlink.js",
184
+ "require": "./dist/src/tronlink.cjs",
185
+ "types": "./dist/types/tronlink.d.ts"
186
+ },
187
+ "./vultisig": {
188
+ "bun": "./src/vultisig.ts",
189
+ "default": "./dist/src/vultisig.js",
190
+ "require": "./dist/src/vultisig.cjs",
191
+ "types": "./dist/types/vultisig.d.ts"
192
+ },
193
+ "./walletconnect": {
194
+ "bun": "./src/walletconnect/index.ts",
195
+ "default": "./dist/src/walletconnect/index.js",
196
+ "require": "./dist/src/walletconnect/index.cjs",
197
+ "types": "./dist/types/walletconnect/index.d.ts"
198
+ },
199
+ "./xaman": {
200
+ "bun": "./src/xaman/index.ts",
201
+ "default": "./dist/src/xaman/index.js",
202
+ "require": "./dist/src/xaman/index.cjs",
203
+ "types": "./dist/types/xaman/index.d.ts"
204
+ }
205
+ },
206
+ "files": ["dist/", "src/"],
207
+ "homepage": "https://github.com/thorchain/TCSwap",
208
+ "license": "Apache-2.0",
209
+ "name": "@tcswap/wallets",
210
+ "repository": { "type": "git", "url": "git+https://github.com/thorchain/TCSwap.git" },
211
+ "scripts": {
212
+ "build": "bun run ./build.ts",
213
+ "build:clean": "rm -rf dist && bun run ./build.ts",
214
+ "clean": "rm -rf dist node_modules *.tsbuildinfo",
215
+ "type-check": "bun tsc --noEmit",
216
+ "type-check:go": "tsgo"
217
+ },
218
+ "type": "module",
219
+ "version": "4.3.16"
220
+ }
package/src/bitget.ts ADDED
@@ -0,0 +1 @@
1
+ export * from "@tcswap/wallet-extensions/bitget";
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Modifications © 2025 Horizontal Systems.
3
+ */
4
+
5
+ import { Chain, ChainToChainId, filterSupportedChains, USwapConfig, WalletOption } from "@tcswap/helpers";
6
+ import { createWallet, getWalletSupportedChains } from "@tcswap/wallet-core";
7
+
8
+ import { getWalletMethods } from "./signer";
9
+
10
+ export const coinbaseWallet = createWallet({
11
+ connect: ({ addChain, walletType, supportedChains }) =>
12
+ async function connectCoinbaseWallet(chains: Chain[]) {
13
+ const { createCoinbaseWalletSDK } = await import("@coinbase/wallet-sdk");
14
+
15
+ const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });
16
+
17
+ const coinbaseConfig = USwapConfig.get("integrations").coinbase || { appName: "Swapkit Playground" };
18
+
19
+ const coinbaseSdk = createCoinbaseWalletSDK({
20
+ ...coinbaseConfig,
21
+ appChainIds: filteredChains.map((chain) => Number(ChainToChainId[chain])),
22
+ });
23
+
24
+ await Promise.all(
25
+ filteredChains.map(async (chain) => {
26
+ const walletMethods = await getWalletMethods({ chain, coinbaseSdk });
27
+
28
+ addChain({ ...walletMethods, chain, walletType });
29
+ }),
30
+ );
31
+
32
+ return true;
33
+ },
34
+ name: "connectCoinbaseWallet",
35
+ supportedChains: [
36
+ Chain.Arbitrum,
37
+ Chain.Avalanche,
38
+ Chain.Base,
39
+ Chain.BinanceSmartChain,
40
+ Chain.Ethereum,
41
+ Chain.Optimism,
42
+ Chain.Polygon,
43
+ Chain.XLayer,
44
+ ],
45
+ walletType: WalletOption.COINBASE_MOBILE,
46
+ });
47
+
48
+ export const COINBASE_SUPPORTED_CHAINS = getWalletSupportedChains(coinbaseWallet);
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Modifications © 2025 Horizontal Systems.
3
+ */
4
+
5
+ import type { CoinbaseWalletProvider } from "@coinbase/wallet-sdk";
6
+ import type { createCoinbaseWalletSDK } from "@coinbase/wallet-sdk/dist/createCoinbaseWalletSDK.js";
7
+ import { Chain, USwapError } from "@tcswap/helpers";
8
+ import type { Provider } from "ethers";
9
+
10
+ async function getCoinbaseMobileSigner(walletProvider: CoinbaseWalletProvider, provider?: Provider) {
11
+ const { AbstractSigner } = await import("ethers");
12
+
13
+ class CoinbaseMobileSigner extends AbstractSigner {
14
+ #coinbaseProvider: CoinbaseWalletProvider;
15
+
16
+ constructor(coinbaseProvider: CoinbaseWalletProvider, provider?: Provider) {
17
+ super(provider);
18
+ this.#coinbaseProvider = coinbaseProvider;
19
+ }
20
+
21
+ async getAddress() {
22
+ const accounts = await this.#coinbaseProvider.request<string[]>({ method: "eth_requestAccounts" });
23
+
24
+ if (!accounts[0]) throw new USwapError("wallet_coinbase_no_accounts");
25
+
26
+ return accounts[0];
27
+ }
28
+
29
+ async signTransaction() {
30
+ return await this.#coinbaseProvider.request<string>({ method: "eth_signTransaction" });
31
+ }
32
+
33
+ async signMessage(message: string | Uint8Array) {
34
+ return await this.#coinbaseProvider.request<string>({
35
+ method: "personal_sign",
36
+ params: [message, await this.getAddress()],
37
+ });
38
+ }
39
+
40
+ signTypedData = () => {
41
+ throw new USwapError("wallet_coinbase_method_not_supported", { method: "signTypedData" });
42
+ };
43
+
44
+ connect(provider: Provider) {
45
+ return new CoinbaseMobileSigner(this.#coinbaseProvider, provider);
46
+ }
47
+ }
48
+
49
+ return new CoinbaseMobileSigner(walletProvider, provider);
50
+ }
51
+
52
+ export const getWalletMethods = async ({
53
+ chain,
54
+ coinbaseSdk,
55
+ }: {
56
+ chain: Chain;
57
+ coinbaseSdk: ReturnType<typeof createCoinbaseWalletSDK>;
58
+ }) => {
59
+ switch (chain) {
60
+ case Chain.Ethereum:
61
+ case Chain.Avalanche:
62
+ case Chain.Arbitrum:
63
+ case Chain.Optimism:
64
+ case Chain.Polygon:
65
+ case Chain.Base:
66
+ case Chain.BinanceSmartChain: {
67
+ const walletProvider = coinbaseSdk.getProvider() as CoinbaseWalletProvider;
68
+ const { getEvmToolbox, getProvider } = await import("@tcswap/toolboxes/evm");
69
+
70
+ const provider = await getProvider(chain);
71
+ const signer = await getCoinbaseMobileSigner(walletProvider, provider);
72
+ const toolbox = await getEvmToolbox(chain, { provider, signer });
73
+ const address = await signer.getAddress();
74
+
75
+ return { ...toolbox, address };
76
+ }
77
+
78
+ default:
79
+ throw new USwapError("wallet_coinbase_chain_not_supported", { chain });
80
+ }
81
+ };
@@ -0,0 +1 @@
1
+ export * from "@tcswap/wallet-extensions/cosmostation";
package/src/ctrl.ts ADDED
@@ -0,0 +1 @@
1
+ export * from "@tcswap/wallet-extensions/ctrl";
@@ -0,0 +1 @@
1
+ export * from "@tcswap/wallet-extensions/evm-extensions";
package/src/index.ts ADDED
@@ -0,0 +1,3 @@
1
+ export * from "@tcswap/wallet-core";
2
+ export * from "./types";
3
+ export * from "./utils";
@@ -0,0 +1 @@
1
+ export * from "@tcswap/wallet-extensions/keepkey-bex";
package/src/keepkey.ts ADDED
@@ -0,0 +1 @@
1
+ export * from "@tcswap/wallet-hardware/keepkey";
package/src/keplr.ts ADDED
@@ -0,0 +1 @@
1
+ export * from "@tcswap/wallet-extensions/keplr";
@@ -0,0 +1 @@
1
+ export * from "@tcswap/wallet-keystore";
package/src/ledger.ts ADDED
@@ -0,0 +1 @@
1
+ export * from "@tcswap/wallet-hardware/ledger";
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Modifications © 2025 Horizontal Systems.
3
+ */
4
+
5
+ import type { Wallet, WalletModuleFactory } from "@near-wallet-selector/core";
6
+ import "@near-wallet-selector/modal-ui-js/styles.css";
7
+ import type { Transaction } from "@near-js/transactions";
8
+ import { Chain, filterSupportedChains, USwapConfig, USwapError, WalletOption } from "@tcswap/helpers";
9
+ import { getNearToolbox } from "@tcswap/toolboxes/near";
10
+ import { createWallet, getWalletSupportedChains } from "@tcswap/wallet-core";
11
+
12
+ function createNearSigner(wallet: Wallet) {
13
+ return {
14
+ getAddress: async () => {
15
+ const accounts = await wallet.getAccounts();
16
+ const accountId = accounts[0]?.accountId;
17
+
18
+ if (!accountId) {
19
+ throw new USwapError("wallet_connection_rejected_by_user");
20
+ }
21
+
22
+ return accountId;
23
+ },
24
+
25
+ getPublicKey: () => {
26
+ throw new USwapError("wallet_near_method_not_supported");
27
+ },
28
+ signAndSendTransactions: async (transactions: { transactions: Transaction[] }) => {
29
+ const result = await wallet.signAndSendTransactions(transactions);
30
+ return result?.[0]?.transaction_outcome.id || "";
31
+ },
32
+
33
+ signDelegateAction: () => {
34
+ throw new USwapError("wallet_near_method_not_supported");
35
+ },
36
+
37
+ signNep413Message: () => {
38
+ throw new USwapError("wallet_near_method_not_supported");
39
+ },
40
+
41
+ signTransaction: (params: Transaction) => {
42
+ if (!wallet.signTransaction) {
43
+ throw new USwapError("wallet_near_method_not_supported");
44
+ }
45
+ return wallet.signTransaction(params);
46
+ },
47
+ };
48
+ }
49
+
50
+ function waitForWalletSelection(selector: any, modal: any) {
51
+ return new Promise<void>((resolve) => {
52
+ const subscription = selector.store.observable.subscribe((state: any) => {
53
+ if (state.selectedWalletId) {
54
+ subscription.unsubscribe();
55
+ modal.hide();
56
+ resolve();
57
+ }
58
+ });
59
+
60
+ modal.show();
61
+ });
62
+ }
63
+
64
+ async function getWalletMethods(walletFactories?: WalletModuleFactory[]) {
65
+ const { setupWalletSelector } = await import("@near-wallet-selector/core");
66
+ const { setupModal } = await import("@near-wallet-selector/modal-ui-js");
67
+
68
+ const contractId = USwapConfig.get("integrations")?.nearWalletSelector?.contractId || "";
69
+ const selector = await setupWalletSelector({ modules: [...(walletFactories || [])], network: "mainnet" });
70
+
71
+ const isSignedIn = selector.isSignedIn();
72
+
73
+ if (!isSignedIn) {
74
+ // Only show modal if not already connected
75
+ const modal = setupModal(selector, { contractId, description: "Connect your NEAR wallet to SwapKit" });
76
+
77
+ await waitForWalletSelection(selector, modal);
78
+ }
79
+
80
+ const wallet = await selector.wallet();
81
+ const signer = createNearSigner(wallet);
82
+ const toolbox = await getNearToolbox({ signer });
83
+ const address = await signer.getAddress();
84
+
85
+ const disconnect = async () => {
86
+ try {
87
+ await wallet.signOut();
88
+ } catch (error) {
89
+ throw new USwapError("wallet_connection_rejected_by_user", error);
90
+ }
91
+ };
92
+
93
+ return { ...toolbox, address, disconnect };
94
+ }
95
+
96
+ export const walletSelectorWallet = createWallet({
97
+ connect: ({ addChain, supportedChains, walletType }) =>
98
+ async function connectWalletSelector(chains: Chain[], walletFactories?: WalletModuleFactory[]) {
99
+ const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });
100
+
101
+ if (filteredChains.length === 0) {
102
+ throw new USwapError("wallet_chain_not_supported", { chain: chains[0], wallet: WalletOption.WALLET_SELECTOR });
103
+ }
104
+
105
+ const walletMethods = await getWalletMethods(walletFactories);
106
+
107
+ addChain({ ...walletMethods, balance: [], chain: Chain.Near, walletType });
108
+
109
+ return true;
110
+ },
111
+ name: "connectWalletSelector",
112
+ supportedChains: [Chain.Near],
113
+ walletType: WalletOption.WALLET_SELECTOR,
114
+ });
115
+
116
+ export const WALLET_SELECTOR_SUPPORTED_CHAINS = getWalletSupportedChains(walletSelectorWallet);
package/src/okx.ts ADDED
@@ -0,0 +1 @@
1
+ export * from "@tcswap/wallet-extensions/okx";
package/src/onekey.ts ADDED
@@ -0,0 +1 @@
1
+ export * from "@tcswap/wallet-extensions/onekey";