@swapkit/wallets 4.0.0-beta.54 → 4.0.0-beta.55
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.
- package/dist/{chunk-e674mh4n.js → chunk-mcrgqfr9.js} +3 -3
- package/dist/{chunk-e674mh4n.js.map → chunk-mcrgqfr9.js.map} +1 -1
- package/dist/{chunk-mvbb9fwb.js → chunk-sbf0f2p4.js} +2 -2
- package/dist/{chunk-p2ca0j1v.js → chunk-yqaz2d25.js} +3 -3
- package/dist/{chunk-p2ca0j1v.js.map → chunk-yqaz2d25.js.map} +1 -1
- package/dist/src/bitget/index.cjs +2 -2
- package/dist/src/bitget/index.cjs.map +3 -3
- package/dist/src/bitget/index.js +2 -2
- package/dist/src/bitget/index.js.map +3 -3
- package/dist/src/coinbase/index.cjs +2 -2
- package/dist/src/coinbase/index.cjs.map +3 -3
- package/dist/src/coinbase/index.js +2 -2
- package/dist/src/coinbase/index.js.map +3 -3
- package/dist/src/cosmostation/index.cjs +2 -2
- package/dist/src/cosmostation/index.cjs.map +3 -3
- package/dist/src/cosmostation/index.js +2 -2
- package/dist/src/cosmostation/index.js.map +3 -3
- package/dist/src/ctrl/index.cjs +2 -2
- package/dist/src/ctrl/index.cjs.map +3 -3
- package/dist/src/ctrl/index.js +2 -2
- package/dist/src/ctrl/index.js.map +3 -3
- package/dist/src/evm-extensions/index.cjs +2 -2
- package/dist/src/evm-extensions/index.cjs.map +3 -3
- package/dist/src/evm-extensions/index.js +2 -2
- package/dist/src/evm-extensions/index.js.map +3 -3
- package/dist/src/exodus/index.cjs +2 -2
- package/dist/src/exodus/index.cjs.map +3 -3
- package/dist/src/exodus/index.js +2 -2
- package/dist/src/exodus/index.js.map +3 -3
- package/dist/src/index.cjs +2 -2
- package/dist/src/index.cjs.map +5 -3
- package/dist/src/index.js +2 -2
- package/dist/src/index.js.map +5 -3
- package/dist/src/keepkey-bex/index.cjs +2 -2
- package/dist/src/keepkey-bex/index.cjs.map +3 -3
- package/dist/src/keepkey-bex/index.js +2 -2
- package/dist/src/keepkey-bex/index.js.map +3 -3
- package/dist/src/keepkey.cjs +4 -0
- package/dist/src/keepkey.cjs.map +10 -0
- package/dist/src/keepkey.js +4 -0
- package/dist/src/keepkey.js.map +10 -0
- package/dist/src/keplr/index.cjs +2 -2
- package/dist/src/keplr/index.cjs.map +3 -3
- package/dist/src/keplr/index.js +2 -2
- package/dist/src/keplr/index.js.map +3 -3
- package/dist/src/keystore.cjs +4 -0
- package/dist/src/keystore.cjs.map +10 -0
- package/dist/src/keystore.js +4 -0
- package/dist/src/keystore.js.map +10 -0
- package/dist/src/ledger.cjs +4 -0
- package/dist/src/ledger.cjs.map +10 -0
- package/dist/src/ledger.js +4 -0
- package/dist/src/ledger.js.map +10 -0
- package/dist/src/okx/index.cjs +2 -2
- package/dist/src/okx/index.cjs.map +4 -4
- package/dist/src/okx/index.js +2 -2
- package/dist/src/okx/index.js.map +4 -4
- package/dist/src/onekey/index.cjs +2 -2
- package/dist/src/onekey/index.cjs.map +3 -3
- package/dist/src/onekey/index.js +2 -2
- package/dist/src/onekey/index.js.map +3 -3
- package/dist/src/phantom/index.cjs +2 -2
- package/dist/src/phantom/index.cjs.map +3 -3
- package/dist/src/phantom/index.js +2 -2
- package/dist/src/phantom/index.js.map +3 -3
- package/dist/src/polkadotjs/index.cjs +2 -2
- package/dist/src/polkadotjs/index.cjs.map +3 -3
- package/dist/src/polkadotjs/index.js +2 -2
- package/dist/src/polkadotjs/index.js.map +3 -3
- package/dist/src/radix/index.cjs +2 -2
- package/dist/src/radix/index.cjs.map +3 -3
- package/dist/src/radix/index.js +2 -2
- package/dist/src/radix/index.js.map +3 -3
- package/dist/src/talisman/index.cjs +2 -2
- package/dist/src/talisman/index.cjs.map +3 -3
- package/dist/src/talisman/index.js +2 -2
- package/dist/src/talisman/index.js.map +3 -3
- package/dist/src/trezor.cjs +4 -0
- package/dist/src/trezor.cjs.map +10 -0
- package/dist/src/trezor.js +4 -0
- package/dist/src/trezor.js.map +10 -0
- package/dist/src/vultisig/index.cjs +2 -2
- package/dist/src/vultisig/index.cjs.map +3 -3
- package/dist/src/vultisig/index.js +2 -2
- package/dist/src/vultisig/index.js.map +3 -3
- package/dist/src/walletconnect/index.cjs +2 -2
- package/dist/src/walletconnect/index.cjs.map +3 -3
- package/dist/src/walletconnect/index.js +2 -2
- package/dist/src/walletconnect/index.js.map +3 -3
- package/dist/src/xaman/index.cjs +2 -2
- package/dist/src/xaman/index.cjs.map +5 -5
- package/dist/src/xaman/index.js +2 -2
- package/dist/src/xaman/index.js.map +5 -5
- package/dist/types/bitget/helpers.d.ts +330 -0
- package/dist/types/bitget/helpers.d.ts.map +1 -0
- package/dist/types/bitget/index.d.ts +11 -0
- package/dist/types/bitget/index.d.ts.map +1 -0
- package/dist/types/coinbase/index.d.ts +11 -0
- package/dist/types/coinbase/index.d.ts.map +1 -0
- package/dist/types/coinbase/signer.d.ts +91 -0
- package/dist/types/coinbase/signer.d.ts.map +1 -0
- package/dist/types/cosmostation/index.d.ts +21 -0
- package/dist/types/cosmostation/index.d.ts.map +1 -0
- package/dist/types/ctrl/index.d.ts +11 -0
- package/dist/types/ctrl/index.d.ts.map +1 -0
- package/dist/types/ctrl/walletHelpers.d.ts +24 -0
- package/dist/types/ctrl/walletHelpers.d.ts.map +1 -0
- package/dist/types/evm-extensions/index.d.ts +101 -0
- package/dist/types/evm-extensions/index.d.ts.map +1 -0
- package/{src/evm-extensions/types.ts → dist/types/evm-extensions/types.d.ts} +11 -13
- package/dist/types/evm-extensions/types.d.ts.map +1 -0
- package/dist/types/exodus/index.d.ts +14 -0
- package/dist/types/exodus/index.d.ts.map +1 -0
- package/dist/types/helpers/near.d.ts +57 -0
- package/dist/types/helpers/near.d.ts.map +1 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/keepkey-bex/index.d.ts +11 -0
- package/dist/types/keepkey-bex/index.d.ts.map +1 -0
- package/dist/types/keepkey-bex/walletHelpers.d.ts +45 -0
- package/dist/types/keepkey-bex/walletHelpers.d.ts.map +1 -0
- package/dist/types/keepkey.d.ts +2 -0
- package/dist/types/keepkey.d.ts.map +1 -0
- package/dist/types/keplr/chainRegistry.d.ts +4 -0
- package/dist/types/keplr/chainRegistry.d.ts.map +1 -0
- package/dist/types/keplr/index.d.ts +11 -0
- package/dist/types/keplr/index.d.ts.map +1 -0
- package/dist/types/keystore.d.ts +2 -0
- package/dist/types/keystore.d.ts.map +1 -0
- package/dist/types/ledger.d.ts +2 -0
- package/dist/types/ledger.d.ts.map +1 -0
- package/dist/types/okx/helpers.d.ts +227 -0
- package/dist/types/okx/helpers.d.ts.map +1 -0
- package/dist/types/okx/index.d.ts +11 -0
- package/dist/types/okx/index.d.ts.map +1 -0
- package/dist/types/okx/types.d.ts +104 -0
- package/dist/types/okx/types.d.ts.map +1 -0
- package/dist/types/onekey/evmSigner.d.ts +29 -0
- package/dist/types/onekey/evmSigner.d.ts.map +1 -0
- package/dist/types/onekey/index.d.ts +11 -0
- package/dist/types/onekey/index.d.ts.map +1 -0
- package/dist/types/phantom/index.d.ts +12 -0
- package/dist/types/phantom/index.d.ts.map +1 -0
- package/dist/types/polkadotjs/index.d.ts +11 -0
- package/dist/types/polkadotjs/index.d.ts.map +1 -0
- package/dist/types/radix/index.d.ts +11 -0
- package/dist/types/radix/index.d.ts.map +1 -0
- package/dist/types/talisman/index.d.ts +11 -0
- package/dist/types/talisman/index.d.ts.map +1 -0
- package/dist/types/trezor.d.ts +2 -0
- package/dist/types/trezor.d.ts.map +1 -0
- package/dist/types/types.d.ts +246 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/utils.d.ts +4 -0
- package/dist/types/utils.d.ts.map +1 -0
- package/dist/types/vultisig/index.d.ts +11 -0
- package/dist/types/vultisig/index.d.ts.map +1 -0
- package/dist/types/vultisig/walletHelpers.d.ts +34 -0
- package/dist/types/vultisig/walletHelpers.d.ts.map +1 -0
- package/dist/types/walletconnect/constants.d.ts +85 -0
- package/dist/types/walletconnect/constants.d.ts.map +1 -0
- package/dist/types/walletconnect/evmSigner.d.ts +25 -0
- package/dist/types/walletconnect/evmSigner.d.ts.map +1 -0
- package/dist/types/walletconnect/helpers.d.ts +4 -0
- package/dist/types/walletconnect/helpers.d.ts.map +1 -0
- package/dist/types/walletconnect/index.d.ts +22 -0
- package/dist/types/walletconnect/index.d.ts.map +1 -0
- package/dist/types/walletconnect/namespaces.d.ts +7 -0
- package/dist/types/walletconnect/namespaces.d.ts.map +1 -0
- package/dist/types/walletconnect/types.d.ts +7 -0
- package/dist/types/walletconnect/types.d.ts.map +1 -0
- package/dist/types/xaman/helpers.d.ts +54 -0
- package/dist/types/xaman/helpers.d.ts.map +1 -0
- package/dist/types/xaman/index.d.ts +14 -0
- package/dist/types/xaman/index.d.ts.map +1 -0
- package/dist/types/xaman/types.d.ts +24 -0
- package/dist/types/xaman/types.d.ts.map +1 -0
- package/dist/types/xaman/walletMethods.d.ts +16 -0
- package/dist/types/xaman/walletMethods.d.ts.map +1 -0
- package/package.json +44 -68
- package/dist/chunk-2aa1w78q.js +0 -4
- package/dist/chunk-2aa1w78q.js.map +0 -10
- package/dist/chunk-31bmhjxx.js +0 -4
- package/dist/chunk-31bmhjxx.js.map +0 -10
- package/dist/chunk-3etn0w20.js +0 -4
- package/dist/chunk-3etn0w20.js.map +0 -10
- package/dist/chunk-bk58smyr.js +0 -4
- package/dist/chunk-bk58smyr.js.map +0 -10
- package/dist/chunk-etm8zfkk.js +0 -4
- package/dist/chunk-etm8zfkk.js.map +0 -10
- package/dist/chunk-h7myvxxm.js +0 -5
- package/dist/chunk-h7myvxxm.js.map +0 -10
- package/dist/chunk-htvthkj1.js +0 -5
- package/dist/chunk-htvthkj1.js.map +0 -10
- package/dist/chunk-nfas79hz.js +0 -4
- package/dist/chunk-nfas79hz.js.map +0 -10
- package/dist/src/keepkey/index.cjs +0 -4
- package/dist/src/keepkey/index.cjs.map +0 -15
- package/dist/src/keepkey/index.js +0 -4
- package/dist/src/keepkey/index.js.map +0 -15
- package/dist/src/keystore/index.cjs +0 -4
- package/dist/src/keystore/index.cjs.map +0 -11
- package/dist/src/keystore/index.js +0 -4
- package/dist/src/keystore/index.js.map +0 -11
- package/dist/src/ledger/index.cjs +0 -5
- package/dist/src/ledger/index.cjs.map +0 -25
- package/dist/src/ledger/index.js +0 -5
- package/dist/src/ledger/index.js.map +0 -25
- package/dist/src/trezor/index.cjs +0 -4
- package/dist/src/trezor/index.cjs.map +0 -10
- package/dist/src/trezor/index.js +0 -4
- package/dist/src/trezor/index.js.map +0 -10
- package/src/bitget/helpers.ts +0 -167
- package/src/bitget/index.ts +0 -34
- package/src/coinbase/index.ts +0 -52
- package/src/coinbase/signer.ts +0 -83
- package/src/cosmostation/index.ts +0 -142
- package/src/ctrl/index.ts +0 -248
- package/src/ctrl/walletHelpers.ts +0 -297
- package/src/evm-extensions/index.ts +0 -134
- package/src/exodus/index.ts +0 -179
- package/src/helpers/near-browser-provider.d.ts +0 -286
- package/src/helpers/near.ts +0 -206
- package/src/index.ts +0 -2
- package/src/keepkey/chains/cosmos.ts +0 -78
- package/src/keepkey/chains/evm.ts +0 -125
- package/src/keepkey/chains/mayachain.ts +0 -123
- package/src/keepkey/chains/ripple.ts +0 -118
- package/src/keepkey/chains/thorchain.ts +0 -118
- package/src/keepkey/chains/utxo.ts +0 -147
- package/src/keepkey/coins.ts +0 -71
- package/src/keepkey/index.ts +0 -153
- package/src/keepkey-bex/index.ts +0 -162
- package/src/keepkey-bex/walletHelpers.ts +0 -255
- package/src/keplr/chainRegistry.ts +0 -211
- package/src/keplr/index.ts +0 -55
- package/src/keystore/helpers.ts +0 -102
- package/src/keystore/index.ts +0 -73
- package/src/ledger/clients/cosmos.ts +0 -102
- package/src/ledger/clients/evm.ts +0 -183
- package/src/ledger/clients/near.ts +0 -86
- package/src/ledger/clients/thorchain/common.ts +0 -117
- package/src/ledger/clients/thorchain/helpers.ts +0 -149
- package/src/ledger/clients/thorchain/index.ts +0 -94
- package/src/ledger/clients/thorchain/lib.ts +0 -300
- package/src/ledger/clients/thorchain/utils.ts +0 -76
- package/src/ledger/clients/tron.ts +0 -92
- package/src/ledger/clients/utxo.ts +0 -148
- package/src/ledger/clients/xrp.ts +0 -66
- package/src/ledger/cosmosTypes.ts +0 -101
- package/src/ledger/helpers/getLedgerAddress.ts +0 -67
- package/src/ledger/helpers/getLedgerClient.ts +0 -124
- package/src/ledger/helpers/getLedgerTransport.ts +0 -80
- package/src/ledger/helpers/index.ts +0 -3
- package/src/ledger/index.ts +0 -311
- package/src/ledger/interfaces/CosmosLedgerInterface.ts +0 -65
- package/src/ledger/types.ts +0 -45
- package/src/okx/helpers.ts +0 -181
- package/src/okx/index.ts +0 -43
- package/src/okx/types.ts +0 -117
- package/src/onekey/evmSigner.ts +0 -133
- package/src/onekey/index.ts +0 -213
- package/src/phantom/index.ts +0 -126
- package/src/polkadotjs/index.ts +0 -67
- package/src/radix/index.ts +0 -202
- package/src/talisman/index.ts +0 -130
- package/src/trezor/evmSigner.ts +0 -197
- package/src/trezor/index.ts +0 -260
- package/src/types.ts +0 -280
- package/src/utils.ts +0 -60
- package/src/vultisig/index.ts +0 -199
- package/src/vultisig/walletHelpers.ts +0 -359
- package/src/walletconnect/constants.ts +0 -104
- package/src/walletconnect/evmSigner.ts +0 -147
- package/src/walletconnect/helpers.ts +0 -77
- package/src/walletconnect/index.ts +0 -460
- package/src/walletconnect/namespaces.ts +0 -87
- package/src/walletconnect/types.ts +0 -6
- package/src/xaman/README.md +0 -66
- package/src/xaman/helpers.ts +0 -59
- package/src/xaman/index.ts +0 -79
- package/src/xaman/types.ts +0 -26
- package/src/xaman/walletMethods.ts +0 -126
- /package/dist/{chunk-mvbb9fwb.js.map → chunk-sbf0f2p4.js.map} +0 -0
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
import type { ChainInfo } from "@keplr-wallet/types";
|
|
2
|
-
import { ChainId } from "@swapkit/helpers";
|
|
3
|
-
|
|
4
|
-
export const chainRegistry = new Map<ChainId, ChainInfo>([
|
|
5
|
-
[
|
|
6
|
-
ChainId.Kujira,
|
|
7
|
-
{
|
|
8
|
-
chainId: "kaiyo-1",
|
|
9
|
-
chainName: "Kujira",
|
|
10
|
-
chainSymbolImageUrl:
|
|
11
|
-
"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/chain.png",
|
|
12
|
-
rpc: "https://kujira-rpc.nodes.defiantlabs.net",
|
|
13
|
-
rest: "https://rest.cosmos.directory/kujira/",
|
|
14
|
-
nodeProvider: {
|
|
15
|
-
name: "PFC",
|
|
16
|
-
email: "pfc-validator@protonmail.com",
|
|
17
|
-
website: "https://pfc.zone/",
|
|
18
|
-
},
|
|
19
|
-
bip44: {
|
|
20
|
-
coinType: 118,
|
|
21
|
-
},
|
|
22
|
-
bech32Config: {
|
|
23
|
-
bech32PrefixAccAddr: "kujira",
|
|
24
|
-
bech32PrefixAccPub: "kujirapub",
|
|
25
|
-
bech32PrefixValAddr: "kujiravaloper",
|
|
26
|
-
bech32PrefixValPub: "kujiravaloperpub",
|
|
27
|
-
bech32PrefixConsAddr: "kujiravalcons",
|
|
28
|
-
bech32PrefixConsPub: "kujiravalconspub",
|
|
29
|
-
},
|
|
30
|
-
currencies: [
|
|
31
|
-
{
|
|
32
|
-
coinDenom: "KUJI",
|
|
33
|
-
coinMinimalDenom: "ukuji",
|
|
34
|
-
coinDecimals: 6,
|
|
35
|
-
coinGeckoId: "kujira",
|
|
36
|
-
coinImageUrl:
|
|
37
|
-
"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png",
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
coinDenom: "USK",
|
|
41
|
-
coinMinimalDenom:
|
|
42
|
-
"factory/kujira1qk00h5atutpsv900x202pxx42npjr9thg58dnqpa72f2p7m2luase444a7/uusk",
|
|
43
|
-
coinDecimals: 6,
|
|
44
|
-
coinGeckoId: "usk",
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
coinDenom: "MNTA",
|
|
48
|
-
coinMinimalDenom: "factory/kujira1643jxg8wasy5cfcn7xm8rd742yeazcksqlg4d7/umnta",
|
|
49
|
-
coinDecimals: 6,
|
|
50
|
-
coinGeckoId: "mantadao",
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
coinDenom: "bKUJI",
|
|
54
|
-
coinMinimalDenom:
|
|
55
|
-
"factory/kujira15e8q5wzlk5k38gjxlhse3vu6vqnafysncx2ltexd6y9gx50vuj2qpt7dgv/boneKuji",
|
|
56
|
-
coinDecimals: 6,
|
|
57
|
-
coinImageUrl:
|
|
58
|
-
"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/factory/kujira15e8q5wzlk5k38gjxlhse3vu6vqnafysncx2ltexd6y9gx50vuj2qpt7dgv/bKUJI.png",
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
coinDenom: "AQLA",
|
|
62
|
-
coinMinimalDenom: "factory/kujira1xe0awk5planmtsmjel5xtx2hzhqdw5p8z66yqd/uaqla",
|
|
63
|
-
coinDecimals: 6,
|
|
64
|
-
coinGeckoId: "aqualibre",
|
|
65
|
-
coinImageUrl:
|
|
66
|
-
"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/factory/kujira1xe0awk5planmtsmjel5xtx2hzhqdw5p8z66yqd/AQLA.png",
|
|
67
|
-
},
|
|
68
|
-
],
|
|
69
|
-
feeCurrencies: [
|
|
70
|
-
{
|
|
71
|
-
coinDenom: "KUJI",
|
|
72
|
-
coinMinimalDenom: "ukuji",
|
|
73
|
-
coinDecimals: 6,
|
|
74
|
-
coinGeckoId: "kujira",
|
|
75
|
-
coinImageUrl:
|
|
76
|
-
"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png",
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
coinDenom: "USK",
|
|
80
|
-
coinMinimalDenom:
|
|
81
|
-
"factory/kujira1qk00h5atutpsv900x202pxx42npjr9thg58dnqpa72f2p7m2luase444a7/uusk",
|
|
82
|
-
coinDecimals: 6,
|
|
83
|
-
coinGeckoId: "usk",
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
coinDenom: "axlUSDC",
|
|
87
|
-
coinMinimalDenom: "ibc/295548A78785A1007F232DE286149A6FF512F180AF5657780FC89C009E2C348F",
|
|
88
|
-
coinDecimals: 6,
|
|
89
|
-
coinGeckoId: "usd-coin",
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
coinDenom: "ATOM",
|
|
93
|
-
coinMinimalDenom: "ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2",
|
|
94
|
-
coinDecimals: 6,
|
|
95
|
-
coinGeckoId: "cosmos",
|
|
96
|
-
},
|
|
97
|
-
{
|
|
98
|
-
coinDenom: "OSMO",
|
|
99
|
-
coinMinimalDenom: "ibc/47BD209179859CDE4A2806763D7189B6E6FE13A17880FE2B42DE1E6C1E329E23",
|
|
100
|
-
coinDecimals: 6,
|
|
101
|
-
coinGeckoId: "osmosis",
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
coinDenom: "CMDX",
|
|
105
|
-
coinMinimalDenom: "ibc/3607EB5B5E64DD1C0E12E07F077FF470D5BC4706AFCBC98FE1BA960E5AE4CE07",
|
|
106
|
-
coinDecimals: 6,
|
|
107
|
-
coinGeckoId: "comdex",
|
|
108
|
-
},
|
|
109
|
-
{
|
|
110
|
-
coinDenom: "EVMOS",
|
|
111
|
-
coinMinimalDenom: "ibc/F3AA7EF362EC5E791FE78A0F4CCC69FEE1F9A7485EB1A8CAB3F6601C00522F10",
|
|
112
|
-
coinDecimals: 6,
|
|
113
|
-
coinGeckoId: "evmos",
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
coinDenom: "JUNO",
|
|
117
|
-
coinMinimalDenom: "ibc/EFF323CC632EC4F747C61BCE238A758EFDB7699C3226565F7C20DA06509D59A5",
|
|
118
|
-
coinDecimals: 6,
|
|
119
|
-
coinGeckoId: "juno-network",
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
coinDenom: "MNTA",
|
|
123
|
-
coinMinimalDenom: "factory/kujira1643jxg8wasy5cfcn7xm8rd742yeazcksqlg4d7/umnta",
|
|
124
|
-
coinDecimals: 6,
|
|
125
|
-
coinGeckoId: "mantadao",
|
|
126
|
-
},
|
|
127
|
-
{
|
|
128
|
-
coinDenom: "SCRT",
|
|
129
|
-
coinMinimalDenom: "ibc/A358D7F19237777AF6D8AD0E0F53268F8B18AE8A53ED318095C14D6D7F3B2DB5",
|
|
130
|
-
coinDecimals: 6,
|
|
131
|
-
coinGeckoId: "secret",
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
coinDenom: "STARS",
|
|
135
|
-
coinMinimalDenom: "ibc/4F393C3FCA4190C0A6756CE7F6D897D5D1BE57D6CCB80D0BC87393566A7B6602",
|
|
136
|
-
coinDecimals: 6,
|
|
137
|
-
coinGeckoId: "stargaze",
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
coinDenom: "wAVAX",
|
|
141
|
-
coinMinimalDenom: "ibc/004EBF085BBED1029326D56BE8A2E67C08CECE670A94AC1947DF413EF5130EB2",
|
|
142
|
-
coinDecimals: 18,
|
|
143
|
-
coinGeckoId: "avalanche-2",
|
|
144
|
-
},
|
|
145
|
-
{
|
|
146
|
-
coinDenom: "wETH",
|
|
147
|
-
coinMinimalDenom: "ibc/1B38805B1C75352B28169284F96DF56BDEBD9E8FAC005BDCC8CF0378C82AA8E7",
|
|
148
|
-
coinDecimals: 18,
|
|
149
|
-
coinGeckoId: "ethereum",
|
|
150
|
-
},
|
|
151
|
-
],
|
|
152
|
-
stakeCurrency: {
|
|
153
|
-
coinDenom: "KUJI",
|
|
154
|
-
coinMinimalDenom: "ukuji",
|
|
155
|
-
coinDecimals: 6,
|
|
156
|
-
coinGeckoId: "kujira",
|
|
157
|
-
coinImageUrl:
|
|
158
|
-
"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png",
|
|
159
|
-
},
|
|
160
|
-
features: ["cosmwasm"],
|
|
161
|
-
},
|
|
162
|
-
],
|
|
163
|
-
[
|
|
164
|
-
ChainId.THORChain,
|
|
165
|
-
{
|
|
166
|
-
chainId: "thorchain-1",
|
|
167
|
-
chainName: "THORChain",
|
|
168
|
-
chainSymbolImageUrl:
|
|
169
|
-
"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/chain.png",
|
|
170
|
-
rpc: "https://rpc-thorchain.keplr.app",
|
|
171
|
-
rest: "https://lcd-thorchain.keplr.app",
|
|
172
|
-
bip44: {
|
|
173
|
-
coinType: 931,
|
|
174
|
-
},
|
|
175
|
-
bech32Config: {
|
|
176
|
-
bech32PrefixAccAddr: "thor",
|
|
177
|
-
bech32PrefixAccPub: "thorpub",
|
|
178
|
-
bech32PrefixValAddr: "thorvaloper",
|
|
179
|
-
bech32PrefixValPub: "thorvaloperpub",
|
|
180
|
-
bech32PrefixConsAddr: "thorvalcons",
|
|
181
|
-
bech32PrefixConsPub: "thorvalconspub",
|
|
182
|
-
},
|
|
183
|
-
currencies: [
|
|
184
|
-
{
|
|
185
|
-
coinDenom: "RUNE",
|
|
186
|
-
coinMinimalDenom: "rune",
|
|
187
|
-
coinDecimals: 8,
|
|
188
|
-
coinGeckoId: "thorchain",
|
|
189
|
-
coinImageUrl:
|
|
190
|
-
"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/rune.png",
|
|
191
|
-
},
|
|
192
|
-
],
|
|
193
|
-
feeCurrencies: [
|
|
194
|
-
{
|
|
195
|
-
coinDenom: "RUNE",
|
|
196
|
-
coinMinimalDenom: "rune",
|
|
197
|
-
coinDecimals: 8,
|
|
198
|
-
coinGeckoId: "thorchain",
|
|
199
|
-
coinImageUrl:
|
|
200
|
-
"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/rune.png",
|
|
201
|
-
gasPriceStep: {
|
|
202
|
-
low: 0.02,
|
|
203
|
-
average: 0.02,
|
|
204
|
-
high: 0.03,
|
|
205
|
-
},
|
|
206
|
-
},
|
|
207
|
-
],
|
|
208
|
-
features: [],
|
|
209
|
-
},
|
|
210
|
-
],
|
|
211
|
-
]);
|
package/src/keplr/index.ts
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Chain,
|
|
3
|
-
ChainId,
|
|
4
|
-
ChainToChainId,
|
|
5
|
-
SwapKitError,
|
|
6
|
-
WalletOption,
|
|
7
|
-
createWallet,
|
|
8
|
-
filterSupportedChains,
|
|
9
|
-
} from "@swapkit/helpers";
|
|
10
|
-
import { chainRegistry } from "./chainRegistry";
|
|
11
|
-
|
|
12
|
-
const keplrSupportedChainIds = [ChainId.Cosmos, ChainId.Kujira, ChainId.THORChain] as const;
|
|
13
|
-
|
|
14
|
-
export const keplrWallet = createWallet({
|
|
15
|
-
name: "connectKeplr",
|
|
16
|
-
supportedChains: [Chain.Cosmos, Chain.Kujira, Chain.THORChain],
|
|
17
|
-
connect: ({ addChain, supportedChains }) =>
|
|
18
|
-
async function connectKeplr(
|
|
19
|
-
chains: Chain[],
|
|
20
|
-
walletType: WalletOption.KEPLR | WalletOption.LEAP = WalletOption.KEPLR,
|
|
21
|
-
) {
|
|
22
|
-
const extensionKey = walletType === WalletOption.LEAP ? "leap" : "keplr";
|
|
23
|
-
const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });
|
|
24
|
-
const keplrClient = window[extensionKey];
|
|
25
|
-
|
|
26
|
-
await Promise.all(
|
|
27
|
-
filteredChains.map(async (chain) => {
|
|
28
|
-
const chainId = ChainToChainId[chain] as (typeof keplrSupportedChainIds)[number];
|
|
29
|
-
|
|
30
|
-
if (!keplrSupportedChainIds.includes(chainId)) {
|
|
31
|
-
const chainConfig = chainRegistry.get(chainId);
|
|
32
|
-
if (!chainConfig) throw new SwapKitError("wallet_keplr_chain_not_supported", { chain });
|
|
33
|
-
|
|
34
|
-
await keplrClient.experimentalSuggestChain(chainConfig);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
keplrClient?.enable(chainId);
|
|
38
|
-
const signer = keplrClient?.getOfflineSignerOnlyAmino(chainId);
|
|
39
|
-
if (!signer) throw new SwapKitError("wallet_keplr_signer_not_found");
|
|
40
|
-
|
|
41
|
-
const { getCosmosToolbox } = await import("@swapkit/toolboxes/cosmos");
|
|
42
|
-
|
|
43
|
-
const accounts = await signer.getAccounts();
|
|
44
|
-
if (!accounts?.[0]?.address) throw new SwapKitError("wallet_keplr_no_accounts");
|
|
45
|
-
|
|
46
|
-
const [{ address }] = accounts;
|
|
47
|
-
const toolbox = getCosmosToolbox(chain, { signer });
|
|
48
|
-
|
|
49
|
-
addChain({ ...toolbox, chain, address, walletType });
|
|
50
|
-
}),
|
|
51
|
-
);
|
|
52
|
-
|
|
53
|
-
return true;
|
|
54
|
-
},
|
|
55
|
-
});
|
package/src/keystore/helpers.ts
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { createCipheriv, createDecipheriv, pbkdf2Sync, randomBytes } from "node:crypto";
|
|
2
|
-
import { generateMnemonic, validateMnemonic } from "@scure/bip39";
|
|
3
|
-
import { wordlist } from "@scure/bip39/wordlists/english";
|
|
4
|
-
|
|
5
|
-
export type Keystore = {
|
|
6
|
-
version: number;
|
|
7
|
-
meta: string;
|
|
8
|
-
crypto: {
|
|
9
|
-
cipher: string;
|
|
10
|
-
cipherparams: { iv: string };
|
|
11
|
-
ciphertext: string;
|
|
12
|
-
kdf: string;
|
|
13
|
-
kdfparams: { prf: string; dklen: number; salt: string; c: number };
|
|
14
|
-
mac: string;
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
async function blake256(initData: Buffer | string) {
|
|
19
|
-
const { blake2bFinal, blake2bInit, blake2bUpdate } = (await import("blakejs")).default;
|
|
20
|
-
let data = initData;
|
|
21
|
-
|
|
22
|
-
if (!(data instanceof Buffer)) {
|
|
23
|
-
// @ts-ignore
|
|
24
|
-
data = Buffer.from(data, "hex");
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
const context = blake2bInit(32);
|
|
28
|
-
blake2bUpdate(context, data);
|
|
29
|
-
|
|
30
|
-
return Array.from(blake2bFinal(context))
|
|
31
|
-
.map((byte) => (byte < 0x10 ? `0${byte.toString(16)}` : byte.toString(16)))
|
|
32
|
-
.join("");
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export async function encryptToKeyStore(phrase: string, password: string) {
|
|
36
|
-
const cipher = "aes-128-ctr";
|
|
37
|
-
const iv = randomBytes(16);
|
|
38
|
-
const salt = randomBytes(32);
|
|
39
|
-
const kdfParams = { c: 262144, prf: "hmac-sha256", dklen: 32, salt: salt.toString("hex") };
|
|
40
|
-
|
|
41
|
-
const derivedKey = pbkdf2Sync(password, salt, kdfParams.c, kdfParams.dklen, "sha256");
|
|
42
|
-
const cipherIV = createCipheriv(cipher, derivedKey.subarray(0, 16), iv);
|
|
43
|
-
const ciphertext = Buffer.concat([
|
|
44
|
-
cipherIV.update(Buffer.from(phrase, "utf8")),
|
|
45
|
-
cipherIV.final(),
|
|
46
|
-
]);
|
|
47
|
-
const initData = Buffer.concat([derivedKey.subarray(16, 32), Buffer.from(ciphertext)]);
|
|
48
|
-
const mac = await blake256(initData);
|
|
49
|
-
|
|
50
|
-
return {
|
|
51
|
-
meta: "xchain-keystore",
|
|
52
|
-
version: 1,
|
|
53
|
-
crypto: {
|
|
54
|
-
cipher,
|
|
55
|
-
cipherparams: { iv: iv.toString("hex") },
|
|
56
|
-
ciphertext: ciphertext.toString("hex"),
|
|
57
|
-
kdf: "pbkdf2",
|
|
58
|
-
kdfparams: kdfParams,
|
|
59
|
-
mac,
|
|
60
|
-
},
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
export function generatePhrase(size: 12 | 24 = 12) {
|
|
65
|
-
return generateMnemonic(wordlist, size === 12 ? 128 : 256);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
export function validatePhrase(phrase: string) {
|
|
69
|
-
return validateMnemonic(phrase, wordlist);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
export async function decryptFromKeystore(keystore: Keystore, password: string) {
|
|
73
|
-
const { SwapKitError } = await import("@swapkit/helpers");
|
|
74
|
-
|
|
75
|
-
switch (keystore.version) {
|
|
76
|
-
case 1: {
|
|
77
|
-
const kdfParams = keystore.crypto.kdfparams;
|
|
78
|
-
const salt = Buffer.from(kdfParams.salt, "hex");
|
|
79
|
-
const derivedKey = pbkdf2Sync(password, salt, kdfParams.c, kdfParams.dklen, "sha256");
|
|
80
|
-
|
|
81
|
-
const ciphertext = Buffer.from(keystore.crypto.ciphertext, "hex");
|
|
82
|
-
const initData = Buffer.concat([derivedKey.subarray(16, 32), ciphertext]);
|
|
83
|
-
const mac = await blake256(initData);
|
|
84
|
-
|
|
85
|
-
if (mac !== keystore.crypto.mac) {
|
|
86
|
-
throw new SwapKitError("wallet_keystore_invalid_password");
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
const decipher = createDecipheriv(
|
|
90
|
-
keystore.crypto.cipher,
|
|
91
|
-
derivedKey.subarray(0, 16),
|
|
92
|
-
Buffer.from(keystore.crypto.cipherparams.iv, "hex"),
|
|
93
|
-
);
|
|
94
|
-
|
|
95
|
-
const phrase = Buffer.concat([decipher.update(ciphertext), decipher.final()]);
|
|
96
|
-
return phrase.toString("utf8");
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
default:
|
|
100
|
-
throw new SwapKitError("wallet_keystore_unsupported_version");
|
|
101
|
-
}
|
|
102
|
-
}
|
package/src/keystore/index.ts
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Chain,
|
|
3
|
-
CosmosChains,
|
|
4
|
-
type DerivationPathArray,
|
|
5
|
-
EVMChains,
|
|
6
|
-
NetworkDerivationPath,
|
|
7
|
-
UTXOChains,
|
|
8
|
-
WalletOption,
|
|
9
|
-
createWallet,
|
|
10
|
-
filterSupportedChains,
|
|
11
|
-
updateDerivationPath,
|
|
12
|
-
} from "@swapkit/helpers";
|
|
13
|
-
import { getWalletSupportedChains } from "../utils";
|
|
14
|
-
|
|
15
|
-
export const keystoreWallet = createWallet({
|
|
16
|
-
name: "connectKeystore",
|
|
17
|
-
walletType: WalletOption.KEYSTORE,
|
|
18
|
-
supportedChains: [
|
|
19
|
-
...EVMChains,
|
|
20
|
-
...UTXOChains,
|
|
21
|
-
...CosmosChains,
|
|
22
|
-
Chain.Polkadot,
|
|
23
|
-
Chain.Chainflip,
|
|
24
|
-
Chain.Ripple,
|
|
25
|
-
Chain.Solana,
|
|
26
|
-
Chain.Tron,
|
|
27
|
-
Chain.Near,
|
|
28
|
-
],
|
|
29
|
-
connect: ({ addChain, supportedChains, walletType }) =>
|
|
30
|
-
async function connectKeystore(
|
|
31
|
-
chains: Chain[],
|
|
32
|
-
phrase: string,
|
|
33
|
-
derivationPathMapOrIndex?: { [chain in Chain]?: DerivationPathArray } | number,
|
|
34
|
-
) {
|
|
35
|
-
const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });
|
|
36
|
-
|
|
37
|
-
await Promise.all(
|
|
38
|
-
filteredChains.map(async (chain) => {
|
|
39
|
-
const derivationPathIndex =
|
|
40
|
-
typeof derivationPathMapOrIndex === "number" ? derivationPathMapOrIndex : 0;
|
|
41
|
-
|
|
42
|
-
const derivationPathFromMap =
|
|
43
|
-
derivationPathMapOrIndex && typeof derivationPathMapOrIndex === "object"
|
|
44
|
-
? derivationPathMapOrIndex[chain]
|
|
45
|
-
: undefined;
|
|
46
|
-
|
|
47
|
-
const derivationArrayToUpdate = NetworkDerivationPath[chain].slice(
|
|
48
|
-
0,
|
|
49
|
-
chain === Chain.Solana ? 4 : 5,
|
|
50
|
-
) as DerivationPathArray;
|
|
51
|
-
|
|
52
|
-
const derivationPath: DerivationPathArray =
|
|
53
|
-
derivationPathFromMap ||
|
|
54
|
-
updateDerivationPath(derivationArrayToUpdate, { index: derivationPathIndex });
|
|
55
|
-
|
|
56
|
-
const { getToolbox } = await import("@swapkit/toolboxes");
|
|
57
|
-
|
|
58
|
-
const toolbox = await getToolbox(chain, { phrase, derivationPath });
|
|
59
|
-
const address = (await toolbox.getAddress()) || "";
|
|
60
|
-
|
|
61
|
-
const wallet = { ...toolbox, address };
|
|
62
|
-
|
|
63
|
-
addChain({ ...wallet, chain, walletType: WalletOption.KEYSTORE });
|
|
64
|
-
}),
|
|
65
|
-
);
|
|
66
|
-
|
|
67
|
-
return true;
|
|
68
|
-
},
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
export const KEYSTORE_SUPPORTED_CHAINS = getWalletSupportedChains(keystoreWallet);
|
|
72
|
-
|
|
73
|
-
export * from "./helpers";
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
type DerivationPathArray,
|
|
3
|
-
NetworkDerivationPath,
|
|
4
|
-
SwapKitError,
|
|
5
|
-
derivationPathToString,
|
|
6
|
-
} from "@swapkit/helpers";
|
|
7
|
-
import { CosmosLedgerInterface } from "../interfaces/CosmosLedgerInterface";
|
|
8
|
-
|
|
9
|
-
export class CosmosLedger extends CosmosLedgerInterface {
|
|
10
|
-
private pubKey: string | null = null;
|
|
11
|
-
|
|
12
|
-
derivationPath: string;
|
|
13
|
-
|
|
14
|
-
constructor(derivationPath: DerivationPathArray = NetworkDerivationPath.GAIA) {
|
|
15
|
-
super();
|
|
16
|
-
this.chain = "cosmos";
|
|
17
|
-
this.derivationPath = derivationPathToString(derivationPath);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
connect = async () => {
|
|
21
|
-
await this.checkOrCreateTransportAndLedger(true);
|
|
22
|
-
const { publicKey, address } = await this.getAddressAndPubKey();
|
|
23
|
-
|
|
24
|
-
this.pubKey = Buffer.from(publicKey, "hex").toString("base64");
|
|
25
|
-
|
|
26
|
-
return address;
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
getAddressAndPubKey = async () => {
|
|
30
|
-
await this.checkOrCreateTransportAndLedger(true);
|
|
31
|
-
|
|
32
|
-
const response = await this.ledgerApp.getAddress(this.derivationPath, this.chain);
|
|
33
|
-
|
|
34
|
-
return response;
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
signTransaction = async (rawTx: string, sequence = "0") => {
|
|
38
|
-
await this.checkOrCreateTransportAndLedger(true);
|
|
39
|
-
|
|
40
|
-
const { return_code, error_message, signature } = await this.ledgerApp.sign(
|
|
41
|
-
this.derivationPath,
|
|
42
|
-
rawTx,
|
|
43
|
-
);
|
|
44
|
-
|
|
45
|
-
if (!this.pubKey) throw new SwapKitError("wallet_ledger_pubkey_not_found");
|
|
46
|
-
|
|
47
|
-
this.validateResponse(return_code, error_message);
|
|
48
|
-
|
|
49
|
-
return [
|
|
50
|
-
{
|
|
51
|
-
pub_key: { type: "tendermint/PubKeySecp256k1", value: this.pubKey },
|
|
52
|
-
sequence,
|
|
53
|
-
signature,
|
|
54
|
-
},
|
|
55
|
-
];
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
signAmino = async (signerAddress: string, signDoc: any): Promise<any> => {
|
|
59
|
-
await this.checkOrCreateTransportAndLedger(true);
|
|
60
|
-
|
|
61
|
-
const accounts = await this.getAccounts();
|
|
62
|
-
const accountIndex = accounts.findIndex((account) => account.address === signerAddress);
|
|
63
|
-
|
|
64
|
-
if (accountIndex === -1) {
|
|
65
|
-
throw new SwapKitError("wallet_ledger_address_not_found", { address: signerAddress });
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
const importedAmino = await import("@cosmjs/amino");
|
|
69
|
-
const encodeSecp256k1Signature =
|
|
70
|
-
importedAmino.encodeSecp256k1Signature ?? importedAmino.default?.encodeSecp256k1Signature;
|
|
71
|
-
const serializeSignDoc =
|
|
72
|
-
importedAmino.serializeSignDoc ?? importedAmino.default?.serializeSignDoc;
|
|
73
|
-
const importedCrypto = await import("@cosmjs/crypto");
|
|
74
|
-
const Secp256k1Signature =
|
|
75
|
-
importedCrypto.Secp256k1Signature ?? importedCrypto.default?.Secp256k1Signature;
|
|
76
|
-
|
|
77
|
-
const message = serializeSignDoc(signDoc);
|
|
78
|
-
const signature = await this.ledgerApp.sign(this.derivationPath, message);
|
|
79
|
-
|
|
80
|
-
this.validateResponse(signature.return_code, signature.error_message);
|
|
81
|
-
|
|
82
|
-
const secpSignature = Secp256k1Signature.fromDer(signature.signature).toFixedLength();
|
|
83
|
-
|
|
84
|
-
return {
|
|
85
|
-
signed: signDoc,
|
|
86
|
-
signature: encodeSecp256k1Signature(accounts[0].pubkey, secpSignature),
|
|
87
|
-
};
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
getAccounts = async () => {
|
|
91
|
-
await this.checkOrCreateTransportAndLedger(true);
|
|
92
|
-
|
|
93
|
-
const addressAndPubKey = await this.getAddressAndPubKey();
|
|
94
|
-
return [
|
|
95
|
-
{
|
|
96
|
-
address: addressAndPubKey.address,
|
|
97
|
-
algo: "secp256k1",
|
|
98
|
-
pubkey: Buffer.from(addressAndPubKey.publicKey, "hex"),
|
|
99
|
-
},
|
|
100
|
-
] as any[];
|
|
101
|
-
};
|
|
102
|
-
}
|