Skip to content

Commit 516a646

Browse files
authored
feature: add Kayros wallet (#1893)
* feat: add Kayros wallet * Update kayros InjectedNameSpace * version bump @web3-onboard/injected-wallets * bump demo inject-wallets version * Add kayros to inject wallets README --------- Co-authored-by: Atouch Mohamed <[email protected]>
1 parent fcafcc7 commit 516a646

File tree

7 files changed

+57
-11
lines changed

7 files changed

+57
-11
lines changed

packages/demo/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
"@web3-onboard/gas": "^2.1.7",
4141
"@web3-onboard/gnosis": "^2.1.10",
4242
"@web3-onboard/infinity-wallet": "^2.0.3",
43-
"@web3-onboard/injected-wallets": "^2.10.5",
43+
"@web3-onboard/injected-wallets": "^2.10.6-alpha.1",
4444
"@web3-onboard/keepkey": "^2.3.7",
4545
"@web3-onboard/keystone": "^2.3.7",
4646
"@web3-onboard/ledger": "^2.5.2",

packages/injected/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ console.log(connectedWallets)
9393
- Ronin Wallet - _Desktop & Mobile_
9494
- Coin98 Wallet - _Desktop & Mobile_
9595
- SubWallet - _Desktop & Mobile_
96+
- Kayros - _Desktop_
9697

9798
## Filtering Wallets
9899

packages/injected/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@web3-onboard/injected-wallets",
3-
"version": "2.10.5",
3+
"version": "2.10.6-alpha.1",
44
"description": "Injected wallet module for connecting browser extension and mobile wallets to Web3-Onboard. Web3-Onboard makes it simple to connect Ethereum hardware and software wallets to your dapp. Features standardised spec compliant web3 providers for all supported wallets, framework agnostic modern javascript UI with code splitting, CSS customization, multi-chain and multi-account support, reactive wallet state subscriptions and real-time transaction state change notifications.",
55
"keywords": [
66
"Ethereum",

packages/injected/src/constants.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ export const WALLET_NAMES: { [key: string]: string } = {
3030
onekey: 'OneKey',
3131
fordefi: 'Fordefi',
3232
roninWallet: 'Ronin Wallet',
33-
coin98wallet:'Coin98 Wallet',
34-
SubWallet:'SubWallet'
33+
coin98wallet: 'Coin98 Wallet',
34+
SubWallet: 'SubWallet',
35+
kayros: 'Kayros'
3536
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
export default `<svg width="1000" height="1000" viewBox="0 0 1000 1000" fill="none" xmlns="http://www.w3.org/2000/svg">
2+
<rect width="1000" height="1000" rx="60" fill="url(#paint0_linear_6189_16871)"/>
3+
<path fill-rule="evenodd" clip-rule="evenodd" d="M302.047 565.455C355.623 491.453 406.203 421.561 456.813 351.697C475.543 325.84 494.11 299.862 513.344 274.386C516.799 269.811 523.118 264.507 528.155 264.465C604.228 263.836 680.301 264.028 760 264.028C754.971 271.51 751.707 276.704 748.113 281.659C698.833 349.628 649.776 417.768 599.915 485.311C591.735 496.387 592.153 503.547 600.142 514.399C649.574 581.526 698.238 649.214 747.132 716.739C750.509 721.407 753.663 726.241 758.483 733.287C751.434 733.987 746.572 734.886 741.709 734.89C672.621 734.961 603.53 735.277 534.459 734.36C526.67 734.253 516.484 728.907 511.66 722.679C488.497 692.777 467.016 661.574 444.423 631.217C438.699 623.521 436.966 617.617 443.728 609.526C452.701 598.795 460.52 587.093 469.936 574.31C493.143 606.355 515.566 636.723 537.256 667.606C543.95 677.144 550.897 681.882 563.305 681.402C592.114 680.293 620.991 681.05 654.476 681.05C609.672 618.975 567.033 559.896 523.647 499.789C566.746 440.113 609.76 380.558 655.223 317.611C618.525 317.611 586.284 316.918 554.129 318.258C548.427 318.496 541.93 326.37 537.734 332.132C443.827 461.228 350.189 590.526 256.484 719.768C254.542 722.445 252.366 724.951 248 730.411V265.257H416.251C403.949 282.743 393.331 298.81 381.476 313.9C379.052 316.989 372.003 317.295 367.063 317.376C345.887 317.735 324.701 317.529 302.047 317.529V565.455Z" fill="url(#paint1_linear_6189_16871)" stroke="url(#paint2_linear_6189_16871)" stroke-width="0.531247"/>
4+
<defs>
5+
<linearGradient id="paint0_linear_6189_16871" x1="0" y1="0" x2="1143.45" y2="192.733" gradientUnits="userSpaceOnUse">
6+
<stop stop-color="#13091B"/>
7+
<stop offset="0.536458" stop-color="#0A1126"/>
8+
<stop offset="1" stop-color="#082027"/>
9+
</linearGradient>
10+
<linearGradient id="paint1_linear_6189_16871" x1="737.631" y1="698.361" x2="284.098" y2="263.032" gradientUnits="userSpaceOnUse">
11+
<stop stop-color="#5BC6CE"/>
12+
<stop offset="0.26634" stop-color="#74B4EC"/>
13+
<stop offset="0.61677" stop-color="#7A7AE2"/>
14+
<stop offset="1" stop-color="#F53381"/>
15+
</linearGradient>
16+
<linearGradient id="paint2_linear_6189_16871" x1="737.631" y1="698.361" x2="284.098" y2="263.032" gradientUnits="userSpaceOnUse">
17+
<stop stop-color="#5BC6CE"/>
18+
<stop offset="0.26634" stop-color="#74B4EC"/>
19+
<stop offset="0.61677" stop-color="#3232A5"/>
20+
<stop offset="1" stop-color="#F53381"/>
21+
</linearGradient>
22+
</defs>
23+
</svg>
24+
`

packages/injected/src/types.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,9 @@ export enum ProviderIdentityFlag {
6767
Fordefi = 'isFordefi',
6868
Coin98Wallet = 'isCoin98',
6969
SubWallet = 'isSubWallet',
70+
Kayros = 'isKayros'
7071
}
7172

72-
7373
/**
7474
* The ProviderExternalUrl enum represents the external URLs associated
7575
* with different injected providers. It is used to direct end users who
@@ -91,6 +91,7 @@ export enum ProviderExternalUrl {
9191
RoninWallet = 'https://wallet.skymavis.com/',
9292
Coin98Wallet = 'https://coin98.com/wallet/',
9393
SubWallet = 'https://www.subwallet.app/',
94+
Kayros = 'https://www.kayros.games/wallet/'
9495
}
9596

9697
export enum ProviderLabel {
@@ -149,6 +150,7 @@ export enum ProviderLabel {
149150
RoninWallet = 'Ronin Wallet',
150151
Coin98Wallet = 'Coin98 Wallet',
151152
SubWallet = 'SubWallet',
153+
Kayros = 'Kayros'
152154
}
153155

154156
export interface MeetOneProvider extends ExternalProvider {
@@ -184,7 +186,8 @@ export enum InjectedNameSpace {
184186
OneKey = '$onekey',
185187
RoninWallet = 'ronin',
186188
Coin98Wallet = 'coin98',
187-
SubWallet = 'SubWallet'
189+
SubWallet = 'SubWallet',
190+
Kayros = 'kayros'
188191
}
189192

190193
export interface CustomWindow extends Window {
@@ -223,16 +226,17 @@ export interface CustomWindow extends Window {
223226
talismanEth: InjectedProvider
224227
$onekey: {
225228
ethereum: InjectedProvider
226-
},
229+
}
227230
ronin: {
228231
provider: InjectedProvider
229232
}
230233
coin98: {
231234
provider: InjectedProvider
232-
},
235+
}
233236
SubWallet: {
234237
provider: InjectedProvider
235-
},
238+
}
239+
kayros: InjectedProvider
236240
}
237241

238242
export type InjectedProvider = ExternalProvider &

packages/injected/src/wallets.ts

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -839,7 +839,10 @@ const coin98wallet: InjectedWalletModule = {
839839
let provider: EIP1193Provider
840840

841841
// check if coin98 is injected into window.ethereum
842-
if (ethereumInjectionExists && window[InjectedNameSpace.Ethereum].isCoin98) {
842+
if (
843+
ethereumInjectionExists &&
844+
window[InjectedNameSpace.Ethereum].isCoin98
845+
) {
843846
provider = window[InjectedNameSpace.Ethereum]
844847
} else {
845848
// directly use the window.coin98 injection
@@ -867,6 +870,18 @@ const subwallet: InjectedWalletModule = {
867870
externalUrl: ProviderExternalUrl.SubWallet
868871
}
869872

873+
const kayros: InjectedWalletModule = {
874+
label: ProviderLabel.Kayros,
875+
injectedNamespace: InjectedNameSpace.Kayros,
876+
checkProviderIdentity: ({ provider }) =>
877+
!!provider && !!provider[ProviderIdentityFlag.Kayros],
878+
getIcon: async () => (await import('./icons/kayros.js')).default,
879+
getInterface: async () => ({
880+
provider: createEIP1193Provider(window.kayros)
881+
}),
882+
platforms: ['desktop']
883+
}
884+
870885
const wallets = [
871886
zeal,
872887
exodus,
@@ -920,7 +935,8 @@ const wallets = [
920935
fordefi,
921936
ronin,
922937
coin98wallet,
923-
subwallet
938+
subwallet,
939+
kayros
924940
]
925941

926942
export default wallets

0 commit comments

Comments
 (0)