@swapkit/wallets 4.6.3 → 4.7.0
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-47amnr6q.js +5 -0
- package/dist/chunk-47amnr6q.js.map +10 -0
- package/dist/{chunk-5jj4jvy9.js → chunk-99wp90e6.js} +3 -3
- package/dist/{chunk-ewwx4745.js.map → chunk-99wp90e6.js.map} +1 -1
- package/dist/chunk-r795xyvq.js +4 -0
- package/dist/chunk-r795xyvq.js.map +10 -0
- package/dist/chunk-tfxc9zx6.js +4 -0
- package/dist/{chunk-5jj4jvy9.js.map → chunk-tfxc9zx6.js.map} +1 -1
- 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/index.cjs +2 -2
- package/dist/src/index.cjs.map +4 -3
- package/dist/src/index.js +2 -2
- package/dist/src/index.js.map +4 -3
- package/dist/src/keystore.cjs +2 -2
- package/dist/src/keystore.cjs.map +3 -3
- package/dist/src/keystore.js +2 -2
- package/dist/src/keystore.js.map +3 -3
- package/dist/src/near-wallet-selector/index.cjs +2 -2
- package/dist/src/near-wallet-selector/index.cjs.map +3 -3
- package/dist/src/near-wallet-selector/index.js +2 -2
- package/dist/src/near-wallet-selector/index.js.map +3 -3
- package/dist/src/passkeys/index.cjs +2 -2
- package/dist/src/passkeys/index.cjs.map +3 -3
- package/dist/src/passkeys/index.js +2 -2
- package/dist/src/passkeys/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/walletconnect/index.cjs +2 -2
- package/dist/src/walletconnect/index.cjs.map +4 -4
- package/dist/src/walletconnect/index.js +2 -2
- package/dist/src/walletconnect/index.js.map +4 -4
- 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/coinbase/index.d.ts +2 -1
- package/dist/types/coinbase/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/keystore.d.ts +49 -47
- package/dist/types/keystore.d.ts.map +1 -1
- package/dist/types/near-wallet-selector/index.d.ts +2 -1
- package/dist/types/near-wallet-selector/index.d.ts.map +1 -1
- package/dist/types/passkeys/index.d.ts +2 -1
- package/dist/types/passkeys/index.d.ts.map +1 -1
- package/dist/types/radix/index.d.ts +2 -1
- package/dist/types/radix/index.d.ts.map +1 -1
- package/dist/types/walletconnect/constants.d.ts +1 -0
- package/dist/types/walletconnect/constants.d.ts.map +1 -1
- package/dist/types/walletconnect/helpers.d.ts +1 -1
- package/dist/types/walletconnect/helpers.d.ts.map +1 -1
- package/dist/types/walletconnect/index.d.ts +2 -1
- package/dist/types/walletconnect/index.d.ts.map +1 -1
- package/dist/types/xaman/helpers.d.ts.map +1 -1
- package/dist/types/xaman/index.d.ts +2 -1
- package/dist/types/xaman/index.d.ts.map +1 -1
- package/dist/types/xaman/walletMethods.d.ts +17 -0
- package/dist/types/xaman/walletMethods.d.ts.map +1 -1
- package/package.json +7 -6
- package/dist/chunk-dx5r3mz1.js +0 -5
- package/dist/chunk-dx5r3mz1.js.map +0 -10
- package/dist/chunk-ewwx4745.js +0 -4
- package/dist/chunk-qv7snmdv.js +0 -5
- package/dist/chunk-qv7snmdv.js.map +0 -10
- package/dist/chunk-ttryb513.js +0 -4
- package/dist/chunk-ttryb513.js.map +0 -10
- package/dist/chunk-zrqsb6ng.js +0 -4
- package/dist/chunk-zrqsb6ng.js.map +0 -10
- package/dist/types/core.d.ts +0 -18
- package/dist/types/core.d.ts.map +0 -1
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
var Q="wss://relay.walletconnect.com",W="eip155:1",X="eip155:56",Y="eip155:43114",Z="cosmos:thorchain",$="cosmos:cosmoshub-4",c="cosmos:kaiyo-1",e="cosmos:mayachain-mainnet-v1",g="eip155:42161",h="eip155:10",o="eip155:137",r="eip155:8453",G="near:mainnet",a="near:testnet",i="tron:0x2b6653dc",s="eip155:1313161554",t="eip155:80094",n="eip155:143",K="eip155:196",C="debug",V={description:"SwapKit cross-chain SDK",icons:["https://raw.githubusercontent.com/swapkit/SwapKit/refs/heads/develop/docs/src/assets/logo-black.png"],name:"SwapKit",url:"https://swapkit.dev/"},l;((b)=>{b.ETH_SEND_TRANSACTION="eth_sendTransaction";b.ETH_SIGN="eth_sign";b.PERSONAL_SIGN="personal_sign";b.ETH_SIGN_TYPED_DATA="eth_signTypedData";b.ETH_SIGN_TYPED_DATA_V4="eth_signTypedData_v4"})(l||={});var m;((d)=>{d.ETH_CHAIN_CHANGED="chainChanged";d.ETH_ACCOUNTS_CHANGED="accountsChanged"})(m||={});var p;((k)=>{k.COSMOS_SIGN_DIRECT="cosmos_signDirect";k.COSMOS_SIGN_AMINO="cosmos_signAmino";k.COSMOS_GET_ACCOUNTS="cosmos_getAccounts"})(p||={});var q;((f)=>{})(q||={});var u;((d)=>{d.SOL_SIGN_TRANSACTION="solana_signTransaction";d.SOL_SIGN_MESSAGE="solana_signMessage"})(u||={});var v;((f)=>{})(v||={});var w;((d)=>{d.POLKADOT_SIGN_TRANSACTION="polkadot_signTransaction";d.POLKADOT_SIGN_MESSAGE="polkadot_signMessage"})(w||={});var x;((f)=>{})(x||={});var y;((b)=>{b.NEAR_SIGN_IN="near_signIn";b.NEAR_SIGN_OUT="near_signOut";b.NEAR_GET_ACCOUNTS="near_getAccounts";b.NEAR_SIGN_AND_SEND_TRANSACTION="near_signAndSendTransaction";b.NEAR_SIGN_AND_SEND_TRANSACTIONS="near_signAndSendTransactions"})(y||={});var z;((f)=>{})(z||={});var B;((j)=>{j.TRON_SIGN_MESSAGE="tron_signMessage";j.TRON_SIGN_TRANSACTION="tron_signTransaction";j.TRON_SEND_TRANSACTION="tron_sendTransaction";j.TRON_GET_ACCOUNTS="tron_getAccounts"})(B||={});var J;((f)=>{})(J||={});
|
|
2
|
+
export{Q as a,W as b,X as c,Y as d,Z as e,$ as f,c as g,e as h,g as i,h as j,o as k,r as l,G as m,a as n,i as o,s as p,t as q,n as r,K as s,C as t,V as u,l as v,m as w,p as x,q as y,u as z,v as A,w as B,x as C,y as D,z as E,B as F,J as G};
|
|
3
|
+
|
|
4
|
+
//# debugId=7B6A9004F86CF6A364756E2164756E21
|
|
5
|
+
//# sourceMappingURL=chunk-47amnr6q.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/walletconnect/constants.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import type { ClientMetadata } from \"./types\";\n\nexport const DEFAULT_RELAY_URL = \"wss://relay.walletconnect.com\";\n\nexport const ETHEREUM_MAINNET_ID = \"eip155:1\";\nexport const BSC_MAINNET_ID = \"eip155:56\";\nexport const AVALANCHE_MAINNET_ID = \"eip155:43114\";\nexport const THORCHAIN_MAINNET_ID = \"cosmos:thorchain\";\nexport const COSMOS_HUB_MAINNET_ID = \"cosmos:cosmoshub-4\";\nexport const KUJIRA_MAINNET_ID = \"cosmos:kaiyo-1\";\nexport const MAYACHAIN_MAINNET_ID = \"cosmos:mayachain-mainnet-v1\";\nexport const ARBITRUM_ONE_MAINNET_ID = \"eip155:42161\";\nexport const OPTIMISM_MAINNET_ID = \"eip155:10\";\nexport const POLYGON_MAINNET_ID = \"eip155:137\";\nexport const BASE_MAINNET_ID = \"eip155:8453\";\nexport const NEAR_MAINNET_ID = \"near:mainnet\";\nexport const NEAR_TESTNET_ID = \"near:testnet\";\nexport const TRON_MAINNET_ID = \"tron:0x2b6653dc\";\nexport const AURORA_MAINNET_ID = \"eip155:1313161554\";\nexport const BERACHAIN_MAINNET_ID = \"eip155:80094\";\nexport const MONAD_MAINNET_ID = \"eip155:143\";\nexport const XLAYER_MAINNET_ID = \"eip155:196\";\n\nexport const DEFAULT_LOGGER = \"debug\";\n\nexport const DEFAULT_APP_METADATA: ClientMetadata = {\n description: \"SwapKit cross-chain SDK\",\n icons: [\"https://raw.githubusercontent.com/swapkit/SwapKit/refs/heads/develop/docs/src/assets/logo-black.png\"],\n name: \"SwapKit\",\n url: \"https://swapkit.dev/\",\n};\n\n/**\n * EIP155\n */\nexport enum DEFAULT_EIP155_METHODS {\n ETH_SEND_TRANSACTION = \"eth_sendTransaction\",\n // not supported by most WC wallets\n // ETH_SIGN_TRANSACTION = 'eth_signTransaction',\n ETH_SIGN = \"eth_sign\",\n PERSONAL_SIGN = \"personal_sign\",\n ETH_SIGN_TYPED_DATA = \"eth_signTypedData\",\n ETH_SIGN_TYPED_DATA_V4 = \"eth_signTypedData_v4\",\n}\n\nexport enum DEFAULT_EIP_155_EVENTS {\n ETH_CHAIN_CHANGED = \"chainChanged\",\n ETH_ACCOUNTS_CHANGED = \"accountsChanged\",\n}\n\n/**\n * COSMOS\n */\nexport enum DEFAULT_COSMOS_METHODS {\n COSMOS_SIGN_DIRECT = \"cosmos_signDirect\",\n COSMOS_SIGN_AMINO = \"cosmos_signAmino\",\n COSMOS_GET_ACCOUNTS = \"cosmos_getAccounts\",\n}\n\nexport enum DEFAULT_COSMOS_EVENTS {}\n\n/**\n * SOLANA\n */\nexport enum DEFAULT_SOLANA_METHODS {\n SOL_SIGN_TRANSACTION = \"solana_signTransaction\",\n SOL_SIGN_MESSAGE = \"solana_signMessage\",\n}\n\nexport enum DEFAULT_SOLANA_EVENTS {}\n\n/**\n * POLKADOT\n */\nexport enum DEFAULT_POLKADOT_METHODS {\n POLKADOT_SIGN_TRANSACTION = \"polkadot_signTransaction\",\n POLKADOT_SIGN_MESSAGE = \"polkadot_signMessage\",\n}\n\nexport enum DEFAULT_POLKADOT_EVENTS {}\n\n/**\n * NEAR\n */\nexport enum DEFAULT_NEAR_METHODS {\n NEAR_SIGN_IN = \"near_signIn\",\n NEAR_SIGN_OUT = \"near_signOut\",\n NEAR_GET_ACCOUNTS = \"near_getAccounts\",\n NEAR_SIGN_AND_SEND_TRANSACTION = \"near_signAndSendTransaction\",\n NEAR_SIGN_AND_SEND_TRANSACTIONS = \"near_signAndSendTransactions\",\n}\n\nexport enum DEFAULT_NEAR_EVENTS {}\n\n/**\n * TRON\n */\nexport enum DEFAULT_TRON_METHODS {\n TRON_SIGN_MESSAGE = \"tron_signMessage\",\n TRON_SIGN_TRANSACTION = \"tron_signTransaction\",\n TRON_SEND_TRANSACTION = \"tron_sendTransaction\",\n TRON_GET_ACCOUNTS = \"tron_getAccounts\",\n}\n\nexport enum DEFAULT_TRON_EVENTS {}\n"
|
|
6
|
+
],
|
|
7
|
+
"mappings": "AAEO,IAAM,EAAoB,gCAEpB,EAAsB,WACtB,EAAiB,YACjB,EAAuB,eACvB,EAAuB,mBACvB,EAAwB,qBACxB,EAAoB,iBACpB,EAAuB,8BACvB,EAA0B,eAC1B,EAAsB,YACtB,EAAqB,aACrB,EAAkB,cAClB,EAAkB,eAClB,EAAkB,eAClB,EAAkB,kBAClB,EAAoB,oBACpB,EAAuB,eACvB,EAAmB,aACnB,EAAoB,aAEpB,EAAiB,QAEjB,EAAuC,CAClD,YAAa,0BACb,MAAO,CAAC,qGAAqG,EAC7G,KAAM,UACN,IAAK,sBACP,EAKY,GAAL,CAAK,IAAL,CACL,uBAAuB,sBAGvB,WAAW,WACX,gBAAgB,gBAChB,sBAAsB,oBACtB,yBAAyB,yBAPf,QAUL,IAAK,GAAL,CAAK,IAAL,CACL,oBAAoB,eACpB,uBAAuB,oBAFb,QAQL,IAAK,GAAL,CAAK,IAAL,CACL,qBAAqB,oBACrB,oBAAoB,mBACpB,sBAAsB,uBAHZ,QAML,IAAK,GAAL,CAAK,IAAL,IAAK,QAKL,IAAK,GAAL,CAAK,IAAL,CACL,uBAAuB,yBACvB,mBAAmB,uBAFT,QAKL,IAAK,GAAL,CAAK,IAAL,IAAK,QAKL,IAAK,GAAL,CAAK,IAAL,CACL,4BAA4B,2BAC5B,wBAAwB,yBAFd,QAKL,IAAK,GAAL,CAAK,IAAL,IAAK,QAKL,IAAK,GAAL,CAAK,IAAL,CACL,eAAe,cACf,gBAAgB,eAChB,oBAAoB,mBACpB,iCAAiC,8BACjC,kCAAkC,iCALxB,QAQL,IAAK,GAAL,CAAK,IAAL,IAAK,QAKL,IAAK,GAAL,CAAK,IAAL,CACL,oBAAoB,mBACpB,wBAAwB,uBACxB,wBAAwB,uBACxB,oBAAoB,qBAJV,QAOL,IAAK,GAAL,CAAK,IAAL,IAAK",
|
|
8
|
+
"debugId": "7B6A9004F86CF6A364756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
var d=((a)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(a,{get:(b,c)=>(typeof require<"u"?require:b)[c]}):a)(function(a){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+a+'" is not supported')});
|
|
2
|
-
export{d as
|
|
2
|
+
export{d as H};
|
|
3
3
|
|
|
4
|
-
//# debugId=
|
|
5
|
-
//# sourceMappingURL=chunk-
|
|
4
|
+
//# debugId=22B2ECD5626BC26164756E2164756E21
|
|
5
|
+
//# sourceMappingURL=chunk-99wp90e6.js.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
var Q="wss://relay.walletconnect.com",W="eip155:1",X="eip155:56",Y="eip155:43114",Z="cosmos:thorchain",$="cosmos:cosmoshub-4",c="cosmos:kaiyo-1",e="cosmos:mayachain-mainnet-v1",g="eip155:42161",h="eip155:10",o="eip155:137",r="eip155:8453",G="near:mainnet",a="near:testnet",i="tron:0x2b6653dc",s="eip155:1313161554",t="eip155:80094",n="eip155:143",K="eip155:196",C="debug",V={description:"SwapKit cross-chain SDK",icons:["https://raw.githubusercontent.com/swapkit/SwapKit/refs/heads/develop/docs/src/assets/logo-black.png"],name:"SwapKit",url:"https://swapkit.dev/"},l;((b)=>{b.ETH_SEND_TRANSACTION="eth_sendTransaction";b.ETH_SIGN="eth_sign";b.PERSONAL_SIGN="personal_sign";b.ETH_SIGN_TYPED_DATA="eth_signTypedData";b.ETH_SIGN_TYPED_DATA_V4="eth_signTypedData_v4"})(l||={});var m;((d)=>{d.ETH_CHAIN_CHANGED="chainChanged";d.ETH_ACCOUNTS_CHANGED="accountsChanged"})(m||={});var p;((k)=>{k.COSMOS_SIGN_DIRECT="cosmos_signDirect";k.COSMOS_SIGN_AMINO="cosmos_signAmino";k.COSMOS_GET_ACCOUNTS="cosmos_getAccounts"})(p||={});var q;((f)=>{})(q||={});var u;((d)=>{d.SOL_SIGN_TRANSACTION="solana_signTransaction";d.SOL_SIGN_MESSAGE="solana_signMessage"})(u||={});var v;((f)=>{})(v||={});var w;((d)=>{d.POLKADOT_SIGN_TRANSACTION="polkadot_signTransaction";d.POLKADOT_SIGN_MESSAGE="polkadot_signMessage"})(w||={});var x;((f)=>{})(x||={});var y;((b)=>{b.NEAR_SIGN_IN="near_signIn";b.NEAR_SIGN_OUT="near_signOut";b.NEAR_GET_ACCOUNTS="near_getAccounts";b.NEAR_SIGN_AND_SEND_TRANSACTION="near_signAndSendTransaction";b.NEAR_SIGN_AND_SEND_TRANSACTIONS="near_signAndSendTransactions"})(y||={});var z;((f)=>{})(z||={});var B;((j)=>{j.TRON_SIGN_MESSAGE="tron_signMessage";j.TRON_SIGN_TRANSACTION="tron_signTransaction";j.TRON_SEND_TRANSACTION="tron_sendTransaction";j.TRON_GET_ACCOUNTS="tron_getAccounts"})(B||={});var J;((f)=>{})(J||={});
|
|
2
|
+
|
|
3
|
+
//# debugId=8BDF4ECEC211385F64756E2164756E21
|
|
4
|
+
//# sourceMappingURL=chunk-r795xyvq.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/walletconnect/constants.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import type { ClientMetadata } from \"./types\";\n\nexport const DEFAULT_RELAY_URL = \"wss://relay.walletconnect.com\";\n\nexport const ETHEREUM_MAINNET_ID = \"eip155:1\";\nexport const BSC_MAINNET_ID = \"eip155:56\";\nexport const AVALANCHE_MAINNET_ID = \"eip155:43114\";\nexport const THORCHAIN_MAINNET_ID = \"cosmos:thorchain\";\nexport const COSMOS_HUB_MAINNET_ID = \"cosmos:cosmoshub-4\";\nexport const KUJIRA_MAINNET_ID = \"cosmos:kaiyo-1\";\nexport const MAYACHAIN_MAINNET_ID = \"cosmos:mayachain-mainnet-v1\";\nexport const ARBITRUM_ONE_MAINNET_ID = \"eip155:42161\";\nexport const OPTIMISM_MAINNET_ID = \"eip155:10\";\nexport const POLYGON_MAINNET_ID = \"eip155:137\";\nexport const BASE_MAINNET_ID = \"eip155:8453\";\nexport const NEAR_MAINNET_ID = \"near:mainnet\";\nexport const NEAR_TESTNET_ID = \"near:testnet\";\nexport const TRON_MAINNET_ID = \"tron:0x2b6653dc\";\nexport const AURORA_MAINNET_ID = \"eip155:1313161554\";\nexport const BERACHAIN_MAINNET_ID = \"eip155:80094\";\nexport const MONAD_MAINNET_ID = \"eip155:143\";\nexport const XLAYER_MAINNET_ID = \"eip155:196\";\n\nexport const DEFAULT_LOGGER = \"debug\";\n\nexport const DEFAULT_APP_METADATA: ClientMetadata = {\n description: \"SwapKit cross-chain SDK\",\n icons: [\"https://raw.githubusercontent.com/swapkit/SwapKit/refs/heads/develop/docs/src/assets/logo-black.png\"],\n name: \"SwapKit\",\n url: \"https://swapkit.dev/\",\n};\n\n/**\n * EIP155\n */\nexport enum DEFAULT_EIP155_METHODS {\n ETH_SEND_TRANSACTION = \"eth_sendTransaction\",\n // not supported by most WC wallets\n // ETH_SIGN_TRANSACTION = 'eth_signTransaction',\n ETH_SIGN = \"eth_sign\",\n PERSONAL_SIGN = \"personal_sign\",\n ETH_SIGN_TYPED_DATA = \"eth_signTypedData\",\n ETH_SIGN_TYPED_DATA_V4 = \"eth_signTypedData_v4\",\n}\n\nexport enum DEFAULT_EIP_155_EVENTS {\n ETH_CHAIN_CHANGED = \"chainChanged\",\n ETH_ACCOUNTS_CHANGED = \"accountsChanged\",\n}\n\n/**\n * COSMOS\n */\nexport enum DEFAULT_COSMOS_METHODS {\n COSMOS_SIGN_DIRECT = \"cosmos_signDirect\",\n COSMOS_SIGN_AMINO = \"cosmos_signAmino\",\n COSMOS_GET_ACCOUNTS = \"cosmos_getAccounts\",\n}\n\nexport enum DEFAULT_COSMOS_EVENTS {}\n\n/**\n * SOLANA\n */\nexport enum DEFAULT_SOLANA_METHODS {\n SOL_SIGN_TRANSACTION = \"solana_signTransaction\",\n SOL_SIGN_MESSAGE = \"solana_signMessage\",\n}\n\nexport enum DEFAULT_SOLANA_EVENTS {}\n\n/**\n * POLKADOT\n */\nexport enum DEFAULT_POLKADOT_METHODS {\n POLKADOT_SIGN_TRANSACTION = \"polkadot_signTransaction\",\n POLKADOT_SIGN_MESSAGE = \"polkadot_signMessage\",\n}\n\nexport enum DEFAULT_POLKADOT_EVENTS {}\n\n/**\n * NEAR\n */\nexport enum DEFAULT_NEAR_METHODS {\n NEAR_SIGN_IN = \"near_signIn\",\n NEAR_SIGN_OUT = \"near_signOut\",\n NEAR_GET_ACCOUNTS = \"near_getAccounts\",\n NEAR_SIGN_AND_SEND_TRANSACTION = \"near_signAndSendTransaction\",\n NEAR_SIGN_AND_SEND_TRANSACTIONS = \"near_signAndSendTransactions\",\n}\n\nexport enum DEFAULT_NEAR_EVENTS {}\n\n/**\n * TRON\n */\nexport enum DEFAULT_TRON_METHODS {\n TRON_SIGN_MESSAGE = \"tron_signMessage\",\n TRON_SIGN_TRANSACTION = \"tron_signTransaction\",\n TRON_SEND_TRANSACTION = \"tron_sendTransaction\",\n TRON_GET_ACCOUNTS = \"tron_getAccounts\",\n}\n\nexport enum DEFAULT_TRON_EVENTS {}\n"
|
|
6
|
+
],
|
|
7
|
+
"mappings": "AAEO,IAAM,EAAoB,gCAEpB,EAAsB,WACtB,EAAiB,YACjB,EAAuB,eACvB,EAAuB,mBACvB,EAAwB,qBACxB,EAAoB,iBACpB,EAAuB,8BACvB,EAA0B,eAC1B,EAAsB,YACtB,EAAqB,aACrB,EAAkB,cAClB,EAAkB,eAClB,EAAkB,eAClB,EAAkB,kBAClB,EAAoB,oBACpB,EAAuB,eACvB,EAAmB,aACnB,EAAoB,aAEpB,EAAiB,QAEjB,EAAuC,CAClD,YAAa,0BACb,MAAO,CAAC,qGAAqG,EAC7G,KAAM,UACN,IAAK,sBACP,EAKY,GAAL,CAAK,IAAL,CACL,uBAAuB,sBAGvB,WAAW,WACX,gBAAgB,gBAChB,sBAAsB,oBACtB,yBAAyB,yBAPf,QAUL,IAAK,GAAL,CAAK,IAAL,CACL,oBAAoB,eACpB,uBAAuB,oBAFb,QAQL,IAAK,GAAL,CAAK,IAAL,CACL,qBAAqB,oBACrB,oBAAoB,mBACpB,sBAAsB,uBAHZ,QAML,IAAK,GAAL,CAAK,IAAL,IAAK,QAKL,IAAK,GAAL,CAAK,IAAL,CACL,uBAAuB,yBACvB,mBAAmB,uBAFT,QAKL,IAAK,GAAL,CAAK,IAAL,IAAK,QAKL,IAAK,GAAL,CAAK,IAAL,CACL,4BAA4B,2BAC5B,wBAAwB,yBAFd,QAKL,IAAK,GAAL,CAAK,IAAL,IAAK,QAKL,IAAK,GAAL,CAAK,IAAL,CACL,eAAe,cACf,gBAAgB,eAChB,oBAAoB,mBACpB,iCAAiC,8BACjC,kCAAkC,iCALxB,QAQL,IAAK,GAAL,CAAK,IAAL,IAAK,QAKL,IAAK,GAAL,CAAK,IAAL,CACL,oBAAoB,mBACpB,wBAAwB,uBACxB,wBAAwB,uBACxB,oBAAoB,qBAJV,QAOL,IAAK,GAAL,CAAK,IAAL,IAAK",
|
|
8
|
+
"debugId": "8BDF4ECEC211385F64756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{A,B,C,D,E,F,G,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}from"./chunk-47amnr6q.js";import"./chunk-99wp90e6.js";export{s as XLAYER_MAINNET_ID,o as TRON_MAINNET_ID,e as THORCHAIN_MAINNET_ID,k as POLYGON_MAINNET_ID,j as OPTIMISM_MAINNET_ID,n as NEAR_TESTNET_ID,m as NEAR_MAINNET_ID,r as MONAD_MAINNET_ID,h as MAYACHAIN_MAINNET_ID,g as KUJIRA_MAINNET_ID,b as ETHEREUM_MAINNET_ID,F as DEFAULT_TRON_METHODS,G as DEFAULT_TRON_EVENTS,z as DEFAULT_SOLANA_METHODS,A as DEFAULT_SOLANA_EVENTS,a as DEFAULT_RELAY_URL,B as DEFAULT_POLKADOT_METHODS,C as DEFAULT_POLKADOT_EVENTS,D as DEFAULT_NEAR_METHODS,E as DEFAULT_NEAR_EVENTS,t as DEFAULT_LOGGER,w as DEFAULT_EIP_155_EVENTS,v as DEFAULT_EIP155_METHODS,x as DEFAULT_COSMOS_METHODS,y as DEFAULT_COSMOS_EVENTS,u as DEFAULT_APP_METADATA,f as COSMOS_HUB_MAINNET_ID,c as BSC_MAINNET_ID,q as BERACHAIN_MAINNET_ID,l as BASE_MAINNET_ID,d as AVALANCHE_MAINNET_ID,p as AURORA_MAINNET_ID,i as ARBITRUM_ONE_MAINNET_ID};
|
|
2
|
+
|
|
3
|
+
//# debugId=ED3F1C98236B3BA964756E2164756E21
|
|
4
|
+
//# sourceMappingURL=chunk-tfxc9zx6.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var
|
|
1
|
+
var v={};S(v,{coinbaseWallet:()=>y,COINBASE_SUPPORTED_CHAINS:()=>f});module.exports=P(v);var e=require("@swapkit/helpers"),m=require("@swapkit/wallet-core");var a=require("@swapkit/helpers");async function b(r,s){let{AbstractSigner:l}=await import("ethers");class o extends l{#e;constructor(t,n){super(n);this.#e=t}async getAddress(){let t=await this.#e.request({method:"eth_requestAccounts"});if(!t[0])throw new a.SwapKitError("wallet_coinbase_no_accounts");return t[0]}async signTransaction(){return await this.#e.request({method:"eth_signTransaction"})}async signMessage(t){return await this.#e.request({method:"personal_sign",params:[t,await this.getAddress()]})}async signTypedData(t,n,i,d){let{buildEIP712DomainType:p}=await import("@swapkit/toolboxes/evm"),{TypedDataEncoder:c}=await import("ethers"),u=await this.getAddress(),{EIP712Domain:A,...g}=n,w=d??c.from(g).primaryType,C={domain:t,message:i,primaryType:w,types:{EIP712Domain:p(t),...g}};return await this.#e.request({method:"eth_signTypedData_v4",params:[u,JSON.stringify(C)]})}connect(t){return new o(this.#e,t)}}return new o(r,s)}var h=async({chain:r,coinbaseSdk:s})=>{switch(r){case a.Chain.Ethereum:case a.Chain.Avalanche:case a.Chain.Arbitrum:case a.Chain.Optimism:case a.Chain.Polygon:case a.Chain.Base:case a.Chain.BinanceSmartChain:{let l=s.getProvider(),{getEvmToolboxAsync:o,getProvider:t}=await import("@swapkit/toolboxes/evm"),n=await t(r),i=await b(l,n),d=await o(r,{provider:n,signer:i}),p=await i.getAddress();return{...d,address:p}}default:throw new a.SwapKitError("wallet_coinbase_chain_not_supported",{chain:r})}};var y=m.createWallet({connect:({addChain:r,walletType:s,supportedChains:l})=>async function(t){let{createCoinbaseWalletSDK:n}=await import("@coinbase/wallet-sdk"),i=e.filterSupportedChains({chains:t,supportedChains:l,walletType:s}),d=e.SKConfig.get("integrations").coinbase||{appName:"Swapkit Playground"},p=n({...d,appChainIds:i.map((c)=>Number(e.ChainToChainId[c]))});return await Promise.all(i.map(async(c)=>{let u=await h({chain:c,coinbaseSdk:p});r({...u,chain:c,walletType:s})})),!0},directSigningSupport:{[e.Chain.Arbitrum]:!0,[e.Chain.Avalanche]:!0,[e.Chain.Base]:!0,[e.Chain.BinanceSmartChain]:!0,[e.Chain.Ethereum]:!0,[e.Chain.Optimism]:!0,[e.Chain.Polygon]:!0,[e.Chain.XLayer]:!0},name:"connectCoinbaseWallet",supportedChains:[e.Chain.Arbitrum,e.Chain.Avalanche,e.Chain.Base,e.Chain.BinanceSmartChain,e.Chain.Ethereum,e.Chain.Optimism,e.Chain.Polygon,e.Chain.XLayer],walletType:e.WalletOption.COINBASE_MOBILE}),f=m.getWalletSupportedChains(y);
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=C803DBD074B38F3364756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/coinbase/index.ts", "../src/coinbase/signer.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import { Chain, ChainToChainId, filterSupportedChains, SKConfig, WalletOption } from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"
|
|
5
|
+
"import { Chain, ChainToChainId, filterSupportedChains, SKConfig, WalletOption } from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\n\nimport { getWalletMethods } from \"./signer\";\n\nexport const coinbaseWallet = createWallet({\n connect: ({ addChain, walletType, supportedChains }) =>\n async function connectCoinbaseWallet(chains: Chain[]) {\n const { createCoinbaseWalletSDK } = await import(\"@coinbase/wallet-sdk\");\n\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n const coinbaseConfig = SKConfig.get(\"integrations\").coinbase || { appName: \"Swapkit Playground\" };\n\n const coinbaseSdk = createCoinbaseWalletSDK({\n ...coinbaseConfig,\n appChainIds: filteredChains.map((chain) => Number(ChainToChainId[chain])),\n });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const walletMethods = await getWalletMethods({ chain, coinbaseSdk });\n\n addChain({ ...walletMethods, chain, walletType });\n }),\n );\n\n return true;\n },\n directSigningSupport: {\n [Chain.Arbitrum]: true,\n [Chain.Avalanche]: true,\n [Chain.Base]: true,\n [Chain.BinanceSmartChain]: true,\n [Chain.Ethereum]: true,\n [Chain.Optimism]: true,\n [Chain.Polygon]: true,\n [Chain.XLayer]: true,\n },\n name: \"connectCoinbaseWallet\",\n supportedChains: [\n Chain.Arbitrum,\n Chain.Avalanche,\n Chain.Base,\n Chain.BinanceSmartChain,\n Chain.Ethereum,\n Chain.Optimism,\n Chain.Polygon,\n Chain.XLayer,\n ],\n walletType: WalletOption.COINBASE_MOBILE,\n});\n\nexport const COINBASE_SUPPORTED_CHAINS = getWalletSupportedChains(coinbaseWallet);\n",
|
|
6
6
|
"import type { CoinbaseWalletProvider } from \"@coinbase/wallet-sdk\";\nimport type { createCoinbaseWalletSDK } from \"@coinbase/wallet-sdk/dist/createCoinbaseWalletSDK.js\";\nimport { Chain, SwapKitError } from \"@swapkit/helpers\";\nimport type { Provider, TypedDataDomain, TypedDataField } from \"ethers\";\n\nasync function getCoinbaseMobileSigner(walletProvider: CoinbaseWalletProvider, provider?: Provider) {\n const { AbstractSigner } = await import(\"ethers\");\n\n class CoinbaseMobileSigner extends AbstractSigner {\n #coinbaseProvider: CoinbaseWalletProvider;\n\n constructor(coinbaseProvider: CoinbaseWalletProvider, provider?: Provider) {\n super(provider);\n this.#coinbaseProvider = coinbaseProvider;\n }\n\n async getAddress() {\n const accounts = await this.#coinbaseProvider.request<string[]>({ method: \"eth_requestAccounts\" });\n\n if (!accounts[0]) throw new SwapKitError(\"wallet_coinbase_no_accounts\");\n\n return accounts[0];\n }\n\n async signTransaction() {\n return await this.#coinbaseProvider.request<string>({ method: \"eth_signTransaction\" });\n }\n\n async signMessage(message: string | Uint8Array) {\n return await this.#coinbaseProvider.request<string>({\n method: \"personal_sign\",\n params: [message, await this.getAddress()],\n });\n }\n\n async signTypedData(\n domain: TypedDataDomain,\n types: Record<string, TypedDataField[]>,\n value: Record<string, unknown>,\n explicitPrimaryType?: string,\n ) {\n const { buildEIP712DomainType } = await import(\"@swapkit/toolboxes/evm\");\n const { TypedDataEncoder } = await import(\"ethers\");\n const address = await this.getAddress();\n\n const { EIP712Domain: _, ...filteredTypes } = types;\n const primaryType = explicitPrimaryType ?? TypedDataEncoder.from(filteredTypes).primaryType;\n\n const payload = {\n domain,\n message: value,\n primaryType,\n types: { EIP712Domain: buildEIP712DomainType(domain), ...filteredTypes },\n };\n\n return await this.#coinbaseProvider.request<string>({\n method: \"eth_signTypedData_v4\",\n params: [address, JSON.stringify(payload)],\n });\n }\n\n connect(provider: Provider) {\n return new CoinbaseMobileSigner(this.#coinbaseProvider, provider);\n }\n }\n\n return new CoinbaseMobileSigner(walletProvider, provider);\n}\n\nexport const getWalletMethods = async ({\n chain,\n coinbaseSdk,\n}: {\n chain: Chain;\n coinbaseSdk: ReturnType<typeof createCoinbaseWalletSDK>;\n}) => {\n switch (chain) {\n case Chain.Ethereum:\n case Chain.Avalanche:\n case Chain.Arbitrum:\n case Chain.Optimism:\n case Chain.Polygon:\n case Chain.Base:\n case Chain.BinanceSmartChain: {\n const walletProvider = coinbaseSdk.getProvider() as CoinbaseWalletProvider;\n const { getEvmToolboxAsync, getProvider } = await import(\"@swapkit/toolboxes/evm\");\n\n const provider = await getProvider(chain);\n const signer = await getCoinbaseMobileSigner(walletProvider, provider);\n const toolbox = await getEvmToolboxAsync(chain, { provider, signer });\n const address = await signer.getAddress();\n\n return { ...toolbox, address };\n }\n\n default:\n throw new SwapKitError(\"wallet_coinbase_chain_not_supported\", { chain });\n }\n};\n"
|
|
7
7
|
],
|
|
8
|
-
"mappings": "yFAAqF,IAArF,
|
|
9
|
-
"debugId": "
|
|
8
|
+
"mappings": "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",
|
|
9
|
+
"debugId": "C803DBD074B38F3364756E2164756E21",
|
|
10
10
|
"names": []
|
|
11
11
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{H as m}from"../../chunk-99wp90e6.js";import{Chain as e,ChainToChainId as P,filterSupportedChains as S,SKConfig as f,WalletOption as v}from"@swapkit/helpers";import{createWallet as A,getWalletSupportedChains as D}from"@swapkit/wallet-core";import{Chain as i,SwapKitError as h}from"@swapkit/helpers";async function b(a,s){let{AbstractSigner:l}=await import("ethers");class o extends l{#e;constructor(t,r){super(r);this.#e=t}async getAddress(){let t=await this.#e.request({method:"eth_requestAccounts"});if(!t[0])throw new h("wallet_coinbase_no_accounts");return t[0]}async signTransaction(){return await this.#e.request({method:"eth_signTransaction"})}async signMessage(t){return await this.#e.request({method:"personal_sign",params:[t,await this.getAddress()]})}async signTypedData(t,r,n,d){let{buildEIP712DomainType:p}=await import("@swapkit/toolboxes/evm"),{TypedDataEncoder:c}=await import("ethers"),u=await this.getAddress(),{EIP712Domain:W,...g}=r,w=d??c.from(g).primaryType,C={domain:t,message:n,primaryType:w,types:{EIP712Domain:p(t),...g}};return await this.#e.request({method:"eth_signTypedData_v4",params:[u,JSON.stringify(C)]})}connect(t){return new o(this.#e,t)}}return new o(a,s)}var y=async({chain:a,coinbaseSdk:s})=>{switch(a){case i.Ethereum:case i.Avalanche:case i.Arbitrum:case i.Optimism:case i.Polygon:case i.Base:case i.BinanceSmartChain:{let l=s.getProvider(),{getEvmToolboxAsync:o,getProvider:t}=await import("@swapkit/toolboxes/evm"),r=await t(a),n=await b(l,r),d=await o(a,{provider:r,signer:n}),p=await n.getAddress();return{...d,address:p}}default:throw new h("wallet_coinbase_chain_not_supported",{chain:a})}};var T=A({connect:({addChain:a,walletType:s,supportedChains:l})=>async function(t){let{createCoinbaseWalletSDK:r}=await import("@coinbase/wallet-sdk"),n=S({chains:t,supportedChains:l,walletType:s}),d=f.get("integrations").coinbase||{appName:"Swapkit Playground"},p=r({...d,appChainIds:n.map((c)=>Number(P[c]))});return await Promise.all(n.map(async(c)=>{let u=await y({chain:c,coinbaseSdk:p});a({...u,chain:c,walletType:s})})),!0},directSigningSupport:{[e.Arbitrum]:!0,[e.Avalanche]:!0,[e.Base]:!0,[e.BinanceSmartChain]:!0,[e.Ethereum]:!0,[e.Optimism]:!0,[e.Polygon]:!0,[e.XLayer]:!0},name:"connectCoinbaseWallet",supportedChains:[e.Arbitrum,e.Avalanche,e.Base,e.BinanceSmartChain,e.Ethereum,e.Optimism,e.Polygon,e.XLayer],walletType:v.COINBASE_MOBILE}),k=D(T);export{T as coinbaseWallet,k as COINBASE_SUPPORTED_CHAINS};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=4F41451E9C510F2C64756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/coinbase/index.ts", "../src/coinbase/signer.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import { Chain, ChainToChainId, filterSupportedChains, SKConfig, WalletOption } from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"
|
|
5
|
+
"import { Chain, ChainToChainId, filterSupportedChains, SKConfig, WalletOption } from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\n\nimport { getWalletMethods } from \"./signer\";\n\nexport const coinbaseWallet = createWallet({\n connect: ({ addChain, walletType, supportedChains }) =>\n async function connectCoinbaseWallet(chains: Chain[]) {\n const { createCoinbaseWalletSDK } = await import(\"@coinbase/wallet-sdk\");\n\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n const coinbaseConfig = SKConfig.get(\"integrations\").coinbase || { appName: \"Swapkit Playground\" };\n\n const coinbaseSdk = createCoinbaseWalletSDK({\n ...coinbaseConfig,\n appChainIds: filteredChains.map((chain) => Number(ChainToChainId[chain])),\n });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const walletMethods = await getWalletMethods({ chain, coinbaseSdk });\n\n addChain({ ...walletMethods, chain, walletType });\n }),\n );\n\n return true;\n },\n directSigningSupport: {\n [Chain.Arbitrum]: true,\n [Chain.Avalanche]: true,\n [Chain.Base]: true,\n [Chain.BinanceSmartChain]: true,\n [Chain.Ethereum]: true,\n [Chain.Optimism]: true,\n [Chain.Polygon]: true,\n [Chain.XLayer]: true,\n },\n name: \"connectCoinbaseWallet\",\n supportedChains: [\n Chain.Arbitrum,\n Chain.Avalanche,\n Chain.Base,\n Chain.BinanceSmartChain,\n Chain.Ethereum,\n Chain.Optimism,\n Chain.Polygon,\n Chain.XLayer,\n ],\n walletType: WalletOption.COINBASE_MOBILE,\n});\n\nexport const COINBASE_SUPPORTED_CHAINS = getWalletSupportedChains(coinbaseWallet);\n",
|
|
6
6
|
"import type { CoinbaseWalletProvider } from \"@coinbase/wallet-sdk\";\nimport type { createCoinbaseWalletSDK } from \"@coinbase/wallet-sdk/dist/createCoinbaseWalletSDK.js\";\nimport { Chain, SwapKitError } from \"@swapkit/helpers\";\nimport type { Provider, TypedDataDomain, TypedDataField } from \"ethers\";\n\nasync function getCoinbaseMobileSigner(walletProvider: CoinbaseWalletProvider, provider?: Provider) {\n const { AbstractSigner } = await import(\"ethers\");\n\n class CoinbaseMobileSigner extends AbstractSigner {\n #coinbaseProvider: CoinbaseWalletProvider;\n\n constructor(coinbaseProvider: CoinbaseWalletProvider, provider?: Provider) {\n super(provider);\n this.#coinbaseProvider = coinbaseProvider;\n }\n\n async getAddress() {\n const accounts = await this.#coinbaseProvider.request<string[]>({ method: \"eth_requestAccounts\" });\n\n if (!accounts[0]) throw new SwapKitError(\"wallet_coinbase_no_accounts\");\n\n return accounts[0];\n }\n\n async signTransaction() {\n return await this.#coinbaseProvider.request<string>({ method: \"eth_signTransaction\" });\n }\n\n async signMessage(message: string | Uint8Array) {\n return await this.#coinbaseProvider.request<string>({\n method: \"personal_sign\",\n params: [message, await this.getAddress()],\n });\n }\n\n async signTypedData(\n domain: TypedDataDomain,\n types: Record<string, TypedDataField[]>,\n value: Record<string, unknown>,\n explicitPrimaryType?: string,\n ) {\n const { buildEIP712DomainType } = await import(\"@swapkit/toolboxes/evm\");\n const { TypedDataEncoder } = await import(\"ethers\");\n const address = await this.getAddress();\n\n const { EIP712Domain: _, ...filteredTypes } = types;\n const primaryType = explicitPrimaryType ?? TypedDataEncoder.from(filteredTypes).primaryType;\n\n const payload = {\n domain,\n message: value,\n primaryType,\n types: { EIP712Domain: buildEIP712DomainType(domain), ...filteredTypes },\n };\n\n return await this.#coinbaseProvider.request<string>({\n method: \"eth_signTypedData_v4\",\n params: [address, JSON.stringify(payload)],\n });\n }\n\n connect(provider: Provider) {\n return new CoinbaseMobileSigner(this.#coinbaseProvider, provider);\n }\n }\n\n return new CoinbaseMobileSigner(walletProvider, provider);\n}\n\nexport const getWalletMethods = async ({\n chain,\n coinbaseSdk,\n}: {\n chain: Chain;\n coinbaseSdk: ReturnType<typeof createCoinbaseWalletSDK>;\n}) => {\n switch (chain) {\n case Chain.Ethereum:\n case Chain.Avalanche:\n case Chain.Arbitrum:\n case Chain.Optimism:\n case Chain.Polygon:\n case Chain.Base:\n case Chain.BinanceSmartChain: {\n const walletProvider = coinbaseSdk.getProvider() as CoinbaseWalletProvider;\n const { getEvmToolboxAsync, getProvider } = await import(\"@swapkit/toolboxes/evm\");\n\n const provider = await getProvider(chain);\n const signer = await getCoinbaseMobileSigner(walletProvider, provider);\n const toolbox = await getEvmToolboxAsync(chain, { provider, signer });\n const address = await signer.getAddress();\n\n return { ...toolbox, address };\n }\n\n default:\n throw new SwapKitError(\"wallet_coinbase_chain_not_supported\", { chain });\n }\n};\n"
|
|
7
7
|
],
|
|
8
|
-
"mappings": "
|
|
9
|
-
"debugId": "
|
|
8
|
+
"mappings": "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",
|
|
9
|
+
"debugId": "4F41451E9C510F2C64756E2164756E21",
|
|
10
10
|
"names": []
|
|
11
11
|
}
|
package/dist/src/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var
|
|
1
|
+
var e={};o(e,{loadWallet:()=>a});module.exports=r(e);l(e,require("@swapkit/wallet-core"),module.exports);var i={};var p={};o(p,{loadWallet:()=>a});var t=require("@swapkit/helpers");async function a(n){let{match:s}=await import("ts-pattern");return await s(n).with(t.WalletOption.COINBASE_MOBILE,async()=>(await import("./coinbase/index.cjs")).coinbaseWallet).with(t.WalletOption.BITGET,async()=>(await import("@swapkit/wallet-extensions/bitget")).bitgetWallet).with(t.WalletOption.CTRL,async()=>(await import("@swapkit/wallet-extensions/ctrl")).ctrlWallet).with(t.WalletOption.VULTISIG,async()=>(await import("@swapkit/wallet-extensions/vultisig")).vultisigWallet).with(t.WalletOption.OKX,async()=>(await import("@swapkit/wallet-extensions/okx")).okxWallet).with(t.WalletOption.ONEKEY,async()=>(await import("@swapkit/wallet-extensions/onekey")).onekeyWallet).with(t.WalletOption.EXODUS,async()=>(await import("./passkeys/index.cjs")).passkeysWallet).with(t.WalletOption.KEEPKEY,async()=>(await import("@swapkit/wallet-hardware/keepkey")).keepkeyWallet).with(t.WalletOption.KEEPKEY_BEX,async()=>(await import("@swapkit/wallet-extensions/keepkey-bex")).keepkeyBexWallet).with(t.WalletOption.WALLETCONNECT,async()=>(await import("./walletconnect/index.cjs")).walletconnectWallet).with(t.WalletOption.KEPLR,t.WalletOption.LEAP,async()=>(await import("@swapkit/wallet-extensions/keplr")).keplrWallet).with(t.WalletOption.COSMOSTATION,async()=>(await import("@swapkit/wallet-extensions/cosmostation")).cosmostationWallet).with(t.WalletOption.BRAVE,t.WalletOption.COINBASE_WEB,t.WalletOption.EIP6963,t.WalletOption.METAMASK,t.WalletOption.OKX_MOBILE,async()=>(await import("@swapkit/wallet-extensions/evm-extensions")).evmWallet).with(t.WalletOption.TRUSTWALLET_WEB,async()=>(await import("@swapkit/wallet-extensions/trustwallet")).trustwalletWallet).with(t.WalletOption.KEYSTORE,async()=>(await import("./keystore.cjs")).keystoreWallet).with(t.WalletOption.TREZOR,async()=>(await import("@swapkit/wallet-hardware/trezor")).trezorWallet).with(t.WalletOption.LEDGER,async()=>(await import("@swapkit/wallet-hardware/ledger")).ledgerWallet).with(t.WalletOption.PASSKEYS,async()=>(await import("./passkeys/index.cjs")).passkeysWallet).with(t.WalletOption.PETRA,async()=>(await import("@swapkit/wallet-extensions/petra")).petraWallet).with(t.WalletOption.PHANTOM,async()=>(await import("@swapkit/wallet-extensions/phantom")).phantomWallet).with(t.WalletOption.POLKADOT_JS,async()=>(await import("@swapkit/wallet-extensions/polkadotjs")).polkadotWallet).with(t.WalletOption.RADIX_WALLET,async()=>(await import("./radix/index.cjs")).radixWallet).with(t.WalletOption.TALISMAN,async()=>(await import("@swapkit/wallet-extensions/talisman")).talismanWallet).with(t.WalletOption.TRONLINK,async()=>(await import("@swapkit/wallet-extensions/tronlink")).tronlinkWallet).with(t.WalletOption.WALLET_SELECTOR,async()=>(await import("./near-wallet-selector/index.cjs")).walletSelectorWallet).with(t.WalletOption.XAMAN,async()=>(await import("./xaman/index.cjs")).xamanWallet).exhaustive()}
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=689C825E68FE6BE064756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.cjs.map
|
package/dist/src/index.cjs.map
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/utils.ts"],
|
|
3
|
+
"sources": ["../src/index.ts", "../src/utils.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
+
"export * from \"@swapkit/wallet-core\";\nexport * from \"./types\";\nexport * from \"./utils\";\n",
|
|
5
6
|
"import { WalletOption } from \"@swapkit/helpers\";\nimport type { SKWallets } from \"./types\";\n\nexport async function loadWallet<W extends WalletOption>(walletOption: W): Promise<SKWallets[W]> {\n const { match } = await import(\"ts-pattern\");\n\n const wallet = await match(walletOption as WalletOption)\n .with(WalletOption.COINBASE_MOBILE, async () => (await import(\"./coinbase\")).coinbaseWallet)\n .with(WalletOption.BITGET, async () => (await import(\"@swapkit/wallet-extensions/bitget\")).bitgetWallet)\n .with(WalletOption.CTRL, async () => (await import(\"@swapkit/wallet-extensions/ctrl\")).ctrlWallet)\n .with(WalletOption.VULTISIG, async () => (await import(\"@swapkit/wallet-extensions/vultisig\")).vultisigWallet)\n .with(WalletOption.OKX, async () => (await import(\"@swapkit/wallet-extensions/okx\")).okxWallet)\n .with(WalletOption.ONEKEY, async () => (await import(\"@swapkit/wallet-extensions/onekey\")).onekeyWallet)\n .with(WalletOption.EXODUS, async () => (await import(\"./passkeys\")).passkeysWallet)\n .with(WalletOption.KEEPKEY, async () => (await import(\"@swapkit/wallet-hardware/keepkey\")).keepkeyWallet)\n .with(\n WalletOption.KEEPKEY_BEX,\n async () => (await import(\"@swapkit/wallet-extensions/keepkey-bex\")).keepkeyBexWallet,\n )\n .with(WalletOption.WALLETCONNECT, async () => (await import(\"./walletconnect\")).walletconnectWallet)\n .with(\n WalletOption.KEPLR,\n WalletOption.LEAP,\n async () => (await import(\"@swapkit/wallet-extensions/keplr\")).keplrWallet,\n )\n .with(\n WalletOption.COSMOSTATION,\n async () => (await import(\"@swapkit/wallet-extensions/cosmostation\")).cosmostationWallet,\n )\n .with(\n WalletOption.BRAVE,\n WalletOption.COINBASE_WEB,\n WalletOption.EIP6963,\n WalletOption.METAMASK,\n WalletOption.OKX_MOBILE,\n async () => (await import(\"@swapkit/wallet-extensions/evm-extensions\")).evmWallet,\n )\n .with(\n WalletOption.TRUSTWALLET_WEB,\n async () => (await import(\"@swapkit/wallet-extensions/trustwallet\")).trustwalletWallet,\n )\n\n .with(WalletOption.KEYSTORE, async () => (await import(\"./keystore\")).keystoreWallet)\n .with(WalletOption.TREZOR, async () => (await import(\"@swapkit/wallet-hardware/trezor\")).trezorWallet)\n .with(WalletOption.LEDGER, async () => (await import(\"@swapkit/wallet-hardware/ledger\")).ledgerWallet)\n .with(WalletOption.PASSKEYS, async () => (await import(\"./passkeys\")).passkeysWallet)\n .with(WalletOption.PETRA, async () => (await import(\"@swapkit/wallet-extensions/petra\")).petraWallet)\n .with(WalletOption.PHANTOM, async () => (await import(\"@swapkit/wallet-extensions/phantom\")).phantomWallet)\n .with(WalletOption.POLKADOT_JS, async () => (await import(\"@swapkit/wallet-extensions/polkadotjs\")).polkadotWallet)\n .with(WalletOption.RADIX_WALLET, async () => (await import(\"./radix\")).radixWallet)\n .with(WalletOption.TALISMAN, async () => (await import(\"@swapkit/wallet-extensions/talisman\")).talismanWallet)\n .with(WalletOption.TRONLINK, async () => (await import(\"@swapkit/wallet-extensions/tronlink\")).tronlinkWallet)\n .with(WalletOption.WALLET_SELECTOR, async () => (await import(\"./near-wallet-selector\")).walletSelectorWallet)\n .with(WalletOption.XAMAN, async () => (await import(\"./xaman\")).xamanWallet)\n .exhaustive();\n\n return wallet as SKWallets[W];\n}\n"
|
|
6
7
|
],
|
|
7
|
-
"mappings": "
|
|
8
|
-
"debugId": "
|
|
8
|
+
"mappings": "qDAAA,8FCA6B,IAA7B,8BAGA,eAAsB,CAAkC,CAAC,EAAwC,CAC/F,IAAQ,SAAU,KAAa,sBAoD/B,OAlDe,MAAM,EAAM,CAA4B,EACpD,KAAK,eAAa,gBAAiB,UAAa,KAAa,iCAAe,cAAc,EAC1F,KAAK,eAAa,OAAQ,UAAa,KAAa,8CAAsC,YAAY,EACtG,KAAK,eAAa,KAAM,UAAa,KAAa,4CAAoC,UAAU,EAChG,KAAK,eAAa,SAAU,UAAa,KAAa,gDAAwC,cAAc,EAC5G,KAAK,eAAa,IAAK,UAAa,KAAa,2CAAmC,SAAS,EAC7F,KAAK,eAAa,OAAQ,UAAa,KAAa,8CAAsC,YAAY,EACtG,KAAK,eAAa,OAAQ,UAAa,KAAa,iCAAe,cAAc,EACjF,KAAK,eAAa,QAAS,UAAa,KAAa,6CAAqC,aAAa,EACvG,KACC,eAAa,YACb,UAAa,KAAa,mDAA2C,gBACvE,EACC,KAAK,eAAa,cAAe,UAAa,KAAa,sCAAoB,mBAAmB,EAClG,KACC,eAAa,MACb,eAAa,KACb,UAAa,KAAa,6CAAqC,WACjE,EACC,KACC,eAAa,aACb,UAAa,KAAa,oDAA4C,kBACxE,EACC,KACC,eAAa,MACb,eAAa,aACb,eAAa,QACb,eAAa,SACb,eAAa,WACb,UAAa,KAAa,sDAA8C,SAC1E,EACC,KACC,eAAa,gBACb,UAAa,KAAa,mDAA2C,iBACvE,EAEC,KAAK,eAAa,SAAU,UAAa,KAAa,2BAAe,cAAc,EACnF,KAAK,eAAa,OAAQ,UAAa,KAAa,4CAAoC,YAAY,EACpG,KAAK,eAAa,OAAQ,UAAa,KAAa,4CAAoC,YAAY,EACpG,KAAK,eAAa,SAAU,UAAa,KAAa,iCAAe,cAAc,EACnF,KAAK,eAAa,MAAO,UAAa,KAAa,6CAAqC,WAAW,EACnG,KAAK,eAAa,QAAS,UAAa,KAAa,+CAAuC,aAAa,EACzG,KAAK,eAAa,YAAa,UAAa,KAAa,kDAA0C,cAAc,EACjH,KAAK,eAAa,aAAc,UAAa,KAAa,8BAAY,WAAW,EACjF,KAAK,eAAa,SAAU,UAAa,KAAa,gDAAwC,cAAc,EAC5G,KAAK,eAAa,SAAU,UAAa,KAAa,gDAAwC,cAAc,EAC5G,KAAK,eAAa,gBAAiB,UAAa,KAAa,6CAA2B,oBAAoB,EAC5G,KAAK,eAAa,MAAO,UAAa,KAAa,8BAAY,WAAW,EAC1E,WAAW",
|
|
9
|
+
"debugId": "689C825E68FE6BE064756E2164756E21",
|
|
9
10
|
"names": []
|
|
10
11
|
}
|
package/dist/src/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{H as e}from"../chunk-99wp90e6.js";export*from"@swapkit/wallet-core";import{WalletOption as t}from"@swapkit/helpers";async function n(l){let{match:o}=await import("ts-pattern");return await o(l).with(t.COINBASE_MOBILE,async()=>(await import("./coinbase/index.js")).coinbaseWallet).with(t.BITGET,async()=>(await import("@swapkit/wallet-extensions/bitget")).bitgetWallet).with(t.CTRL,async()=>(await import("@swapkit/wallet-extensions/ctrl")).ctrlWallet).with(t.VULTISIG,async()=>(await import("@swapkit/wallet-extensions/vultisig")).vultisigWallet).with(t.OKX,async()=>(await import("@swapkit/wallet-extensions/okx")).okxWallet).with(t.ONEKEY,async()=>(await import("@swapkit/wallet-extensions/onekey")).onekeyWallet).with(t.EXODUS,async()=>(await import("./passkeys/index.js")).passkeysWallet).with(t.KEEPKEY,async()=>(await import("@swapkit/wallet-hardware/keepkey")).keepkeyWallet).with(t.KEEPKEY_BEX,async()=>(await import("@swapkit/wallet-extensions/keepkey-bex")).keepkeyBexWallet).with(t.WALLETCONNECT,async()=>(await import("./walletconnect/index.js")).walletconnectWallet).with(t.KEPLR,t.LEAP,async()=>(await import("@swapkit/wallet-extensions/keplr")).keplrWallet).with(t.COSMOSTATION,async()=>(await import("@swapkit/wallet-extensions/cosmostation")).cosmostationWallet).with(t.BRAVE,t.COINBASE_WEB,t.EIP6963,t.METAMASK,t.OKX_MOBILE,async()=>(await import("@swapkit/wallet-extensions/evm-extensions")).evmWallet).with(t.TRUSTWALLET_WEB,async()=>(await import("@swapkit/wallet-extensions/trustwallet")).trustwalletWallet).with(t.KEYSTORE,async()=>(await import("./keystore.js")).keystoreWallet).with(t.TREZOR,async()=>(await import("@swapkit/wallet-hardware/trezor")).trezorWallet).with(t.LEDGER,async()=>(await import("@swapkit/wallet-hardware/ledger")).ledgerWallet).with(t.PASSKEYS,async()=>(await import("./passkeys/index.js")).passkeysWallet).with(t.PETRA,async()=>(await import("@swapkit/wallet-extensions/petra")).petraWallet).with(t.PHANTOM,async()=>(await import("@swapkit/wallet-extensions/phantom")).phantomWallet).with(t.POLKADOT_JS,async()=>(await import("@swapkit/wallet-extensions/polkadotjs")).polkadotWallet).with(t.RADIX_WALLET,async()=>(await import("./radix/index.js")).radixWallet).with(t.TALISMAN,async()=>(await import("@swapkit/wallet-extensions/talisman")).talismanWallet).with(t.TRONLINK,async()=>(await import("@swapkit/wallet-extensions/tronlink")).tronlinkWallet).with(t.WALLET_SELECTOR,async()=>(await import("./near-wallet-selector/index.js")).walletSelectorWallet).with(t.XAMAN,async()=>(await import("./xaman/index.js")).xamanWallet).exhaustive()}export{n as loadWallet};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=78A7E8612A5D2A2164756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/utils.ts"],
|
|
3
|
+
"sources": ["../src/index.ts", "../src/utils.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
+
"export * from \"@swapkit/wallet-core\";\nexport * from \"./types\";\nexport * from \"./utils\";\n",
|
|
5
6
|
"import { WalletOption } from \"@swapkit/helpers\";\nimport type { SKWallets } from \"./types\";\n\nexport async function loadWallet<W extends WalletOption>(walletOption: W): Promise<SKWallets[W]> {\n const { match } = await import(\"ts-pattern\");\n\n const wallet = await match(walletOption as WalletOption)\n .with(WalletOption.COINBASE_MOBILE, async () => (await import(\"./coinbase\")).coinbaseWallet)\n .with(WalletOption.BITGET, async () => (await import(\"@swapkit/wallet-extensions/bitget\")).bitgetWallet)\n .with(WalletOption.CTRL, async () => (await import(\"@swapkit/wallet-extensions/ctrl\")).ctrlWallet)\n .with(WalletOption.VULTISIG, async () => (await import(\"@swapkit/wallet-extensions/vultisig\")).vultisigWallet)\n .with(WalletOption.OKX, async () => (await import(\"@swapkit/wallet-extensions/okx\")).okxWallet)\n .with(WalletOption.ONEKEY, async () => (await import(\"@swapkit/wallet-extensions/onekey\")).onekeyWallet)\n .with(WalletOption.EXODUS, async () => (await import(\"./passkeys\")).passkeysWallet)\n .with(WalletOption.KEEPKEY, async () => (await import(\"@swapkit/wallet-hardware/keepkey\")).keepkeyWallet)\n .with(\n WalletOption.KEEPKEY_BEX,\n async () => (await import(\"@swapkit/wallet-extensions/keepkey-bex\")).keepkeyBexWallet,\n )\n .with(WalletOption.WALLETCONNECT, async () => (await import(\"./walletconnect\")).walletconnectWallet)\n .with(\n WalletOption.KEPLR,\n WalletOption.LEAP,\n async () => (await import(\"@swapkit/wallet-extensions/keplr\")).keplrWallet,\n )\n .with(\n WalletOption.COSMOSTATION,\n async () => (await import(\"@swapkit/wallet-extensions/cosmostation\")).cosmostationWallet,\n )\n .with(\n WalletOption.BRAVE,\n WalletOption.COINBASE_WEB,\n WalletOption.EIP6963,\n WalletOption.METAMASK,\n WalletOption.OKX_MOBILE,\n async () => (await import(\"@swapkit/wallet-extensions/evm-extensions\")).evmWallet,\n )\n .with(\n WalletOption.TRUSTWALLET_WEB,\n async () => (await import(\"@swapkit/wallet-extensions/trustwallet\")).trustwalletWallet,\n )\n\n .with(WalletOption.KEYSTORE, async () => (await import(\"./keystore\")).keystoreWallet)\n .with(WalletOption.TREZOR, async () => (await import(\"@swapkit/wallet-hardware/trezor\")).trezorWallet)\n .with(WalletOption.LEDGER, async () => (await import(\"@swapkit/wallet-hardware/ledger\")).ledgerWallet)\n .with(WalletOption.PASSKEYS, async () => (await import(\"./passkeys\")).passkeysWallet)\n .with(WalletOption.PETRA, async () => (await import(\"@swapkit/wallet-extensions/petra\")).petraWallet)\n .with(WalletOption.PHANTOM, async () => (await import(\"@swapkit/wallet-extensions/phantom\")).phantomWallet)\n .with(WalletOption.POLKADOT_JS, async () => (await import(\"@swapkit/wallet-extensions/polkadotjs\")).polkadotWallet)\n .with(WalletOption.RADIX_WALLET, async () => (await import(\"./radix\")).radixWallet)\n .with(WalletOption.TALISMAN, async () => (await import(\"@swapkit/wallet-extensions/talisman\")).talismanWallet)\n .with(WalletOption.TRONLINK, async () => (await import(\"@swapkit/wallet-extensions/tronlink\")).tronlinkWallet)\n .with(WalletOption.WALLET_SELECTOR, async () => (await import(\"./near-wallet-selector\")).walletSelectorWallet)\n .with(WalletOption.XAMAN, async () => (await import(\"./xaman\")).xamanWallet)\n .exhaustive();\n\n return wallet as SKWallets[W];\n}\n"
|
|
6
7
|
],
|
|
7
|
-
"mappings": "
|
|
8
|
-
"debugId": "
|
|
8
|
+
"mappings": "yCAAA,kCCAA,uBAAS,yBAGT,eAAsB,CAAkC,CAAC,EAAwC,CAC/F,IAAQ,SAAU,KAAa,sBAoD/B,OAlDe,MAAM,EAAM,CAA4B,EACpD,KAAK,EAAa,gBAAiB,UAAa,KAAa,gCAAe,cAAc,EAC1F,KAAK,EAAa,OAAQ,UAAa,KAAa,8CAAsC,YAAY,EACtG,KAAK,EAAa,KAAM,UAAa,KAAa,4CAAoC,UAAU,EAChG,KAAK,EAAa,SAAU,UAAa,KAAa,gDAAwC,cAAc,EAC5G,KAAK,EAAa,IAAK,UAAa,KAAa,2CAAmC,SAAS,EAC7F,KAAK,EAAa,OAAQ,UAAa,KAAa,8CAAsC,YAAY,EACtG,KAAK,EAAa,OAAQ,UAAa,KAAa,gCAAe,cAAc,EACjF,KAAK,EAAa,QAAS,UAAa,KAAa,6CAAqC,aAAa,EACvG,KACC,EAAa,YACb,UAAa,KAAa,mDAA2C,gBACvE,EACC,KAAK,EAAa,cAAe,UAAa,KAAa,qCAAoB,mBAAmB,EAClG,KACC,EAAa,MACb,EAAa,KACb,UAAa,KAAa,6CAAqC,WACjE,EACC,KACC,EAAa,aACb,UAAa,KAAa,oDAA4C,kBACxE,EACC,KACC,EAAa,MACb,EAAa,aACb,EAAa,QACb,EAAa,SACb,EAAa,WACb,UAAa,KAAa,sDAA8C,SAC1E,EACC,KACC,EAAa,gBACb,UAAa,KAAa,mDAA2C,iBACvE,EAEC,KAAK,EAAa,SAAU,UAAa,KAAa,0BAAe,cAAc,EACnF,KAAK,EAAa,OAAQ,UAAa,KAAa,4CAAoC,YAAY,EACpG,KAAK,EAAa,OAAQ,UAAa,KAAa,4CAAoC,YAAY,EACpG,KAAK,EAAa,SAAU,UAAa,KAAa,gCAAe,cAAc,EACnF,KAAK,EAAa,MAAO,UAAa,KAAa,6CAAqC,WAAW,EACnG,KAAK,EAAa,QAAS,UAAa,KAAa,+CAAuC,aAAa,EACzG,KAAK,EAAa,YAAa,UAAa,KAAa,kDAA0C,cAAc,EACjH,KAAK,EAAa,aAAc,UAAa,KAAa,6BAAY,WAAW,EACjF,KAAK,EAAa,SAAU,UAAa,KAAa,gDAAwC,cAAc,EAC5G,KAAK,EAAa,SAAU,UAAa,KAAa,gDAAwC,cAAc,EAC5G,KAAK,EAAa,gBAAiB,UAAa,KAAa,4CAA2B,oBAAoB,EAC5G,KAAK,EAAa,MAAO,UAAa,KAAa,6BAAY,WAAW,EAC1E,WAAW",
|
|
9
|
+
"debugId": "78A7E8612A5D2A2164756E2164756E21",
|
|
9
10
|
"names": []
|
|
10
11
|
}
|
package/dist/src/keystore.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var
|
|
1
|
+
var O={};m(O,{validatePhrase:()=>T,keystoreWallet:()=>f,generatePhrase:()=>S,encryptToKeyStore:()=>K,decryptFromKeystore:()=>u,createKeystoreWallet:()=>D,KEYSTORE_SUPPORTED_CHAINS:()=>W});module.exports=g(O);var G=require("@swapkit/helpers"),H=require("@swapkit/wallet-core");var F=require("node:crypto"),X=require("@scure/bip39"),E=require("@scure/bip39/wordlists/english.js");async function U(q){let{blake2b:Y}=await import("@noble/hashes/blake2.js"),L=q instanceof Buffer?q:Buffer.from(q,"hex"),Z=Y(L,{dkLen:32});return Array.from(Z).map(($)=>$<16?`0${$.toString(16)}`:$.toString(16)).join("")}async function K(q,Y){let Z=F.randomBytes(16),$=F.randomBytes(32),J={c:262144,dklen:32,prf:"hmac-sha256",salt:$.toString("hex")},Q=F.pbkdf2Sync(Y,$,J.c,J.dklen,"sha256"),N=F.createCipheriv("aes-128-ctr",Q.subarray(0,16),Z),j=Buffer.concat([N.update(Buffer.from(q,"utf8")),N.final()]),z=Buffer.concat([Q.subarray(16,32),Buffer.from(j)]),R=await U(z);return{crypto:{cipher:"aes-128-ctr",cipherparams:{iv:Z.toString("hex")},ciphertext:j.toString("hex"),kdf:"pbkdf2",kdfparams:J,mac:R},meta:"xchain-keystore",version:1}}function S(q=12){return X.generateMnemonic(E.wordlist,q===12?128:256)}function T(q){return X.validateMnemonic(q,E.wordlist)}async function u(q,Y){let{SwapKitError:L}=await import("@swapkit/helpers");switch(q.version){case 1:{let Z=q.crypto.kdfparams,$=Buffer.from(Z.salt,"hex"),J=F.pbkdf2Sync(Y,$,Z.c,Z.dklen,"sha256"),Q=Buffer.from(q.crypto.ciphertext,"hex"),N=Buffer.concat([J.subarray(16,32),Q]);if(await U(N)!==q.crypto.mac)throw new L("wallet_keystore_invalid_password");let z=F.createDecipheriv(q.crypto.cipher,J.subarray(0,16),Buffer.from(q.crypto.cipherparams.iv,"hex"));return Buffer.concat([z.update(Q),z.final()]).toString("utf8")}default:throw new L("wallet_keystore_unsupported_version")}}function I(q){return typeof q==="object"&&q!==null&&"deriveAddressAtIndex"in q&&typeof q.deriveAddressAtIndex==="function"&&"getExtendedPublicKey"in q&&typeof q.getExtendedPublicKey==="function"&&"getBalance"in q&&typeof q.getBalance==="function"}async function M(q,Y){let{createHDWalletHelpers:L,getUtxoApi:Z}=await import("@swapkit/toolboxes/utxo");function $(j){let{count:z,startIndex:R=0,change:_=!1}=j;if(z<1||z>1000)throw RangeError(`count must be between 1 and 1000, got ${z}`);if(R<0)throw RangeError(`startIndex must be non-negative, got ${R}`);let V=[];for(let B=0;B<z;B++){let A=Y.deriveAddressAtIndex({change:_,index:R+B});if(A)V.push(A)}return V}let{scanForAddresses:J,getAggregatedBalance:Q,getAggregatedUtxos:N}=L({chain:q,deriveAddress:(j)=>Y.deriveAddressAtIndex(j),getBalance:Y.getBalance,getUtxos:(j)=>Z(q).getUtxos({address:j,fetchTxHex:!0})});return{deriveAddresses:$,getAggregatedBalance:Q,getAggregatedUtxos:N,scanForAddresses:J}}var f=H.createWallet({connect:({addChain:q})=>async function(L,Z,$){let J=await D({chains:L,derivationPathMapOrIndex:$,phrase:Z});for(let Q of Object.values(J))q({...Q,chain:Q.chain,walletType:G.WalletOption.KEYSTORE});return!0},directSigningSupport:{...Object.fromEntries(G.EVMChains.map((q)=>[q,!0])),...Object.fromEntries(G.UTXOChains.map((q)=>[q,!0])),...Object.fromEntries(G.CosmosChains.filter((q)=>q!==G.Chain.Harbor).map((q)=>[q,!0])),[G.Chain.Aptos]:!0,[G.Chain.Cardano]:!0,[G.Chain.Near]:!0,[G.Chain.Ripple]:!0,[G.Chain.Solana]:!0,[G.Chain.Stellar]:!0,[G.Chain.Sui]:!0,[G.Chain.Ton]:!0,[G.Chain.Tron]:!0},name:"connectKeystore",supportedChains:[...G.EVMChains,...G.UTXOChains,...G.CosmosChains.filter((q)=>q!==G.Chain.Harbor),G.Chain.Aptos,G.Chain.Cardano,G.Chain.Ripple,G.Chain.Solana,G.Chain.Stellar,G.Chain.Sui,G.Chain.Ton,G.Chain.Tron,G.Chain.Near],walletType:G.WalletOption.KEYSTORE}),W=H.getWalletSupportedChains(f);async function D({chains:q,phrase:Y,derivationPathMapOrIndex:L}){let Z=G.filterSupportedChains({chains:q,supportedChains:W,walletType:G.WalletOption.KEYSTORE});return(await Promise.all(Z.map(async(J)=>{let{getToolbox:Q}=await import("@swapkit/toolboxes"),N=typeof L==="number"?L:0,j=L&&typeof L==="object"?L[J]:void 0,z=G.NetworkDerivationPath[J].slice(0,J===G.Chain.Solana?4:5),R=j||G.updateDerivationPath(z,{index:N}),_=await Q(J,{derivationPath:R,phrase:Y}),V=await _.getAddress()||"",B=G.UTXOChains.includes(J)&&I(_)?await M(J,_):{};return{..._,...B,address:V,chain:J}}))).reduce((J,Q)=>{return J[Q.chain]=Q,J},{})}
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=95B52BFC4705C8F264756E2164756E21
|
|
4
4
|
//# sourceMappingURL=keystore.cjs.map
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/keystore.ts", "../src/keystore-helpers.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import {\n type AssetValue,\n Chain,\n CosmosChains,\n type DerivationPathArray,\n EVMChains,\n filterSupportedChains,\n NetworkDerivationPath,\n type UTXOChain,\n UTXOChains,\n updateDerivationPath,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport type { DerivedAddress, FullWallet } from \"@swapkit/toolboxes\";\nimport { createWallet, getWalletSupportedChains } from \"
|
|
5
|
+
"import {\n type AssetValue,\n Chain,\n CosmosChains,\n type DerivationPathArray,\n EVMChains,\n filterSupportedChains,\n NetworkDerivationPath,\n type UTXOChain,\n UTXOChains,\n updateDerivationPath,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport type { DerivedAddress, FullWallet } from \"@swapkit/toolboxes\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\n\nexport {\n decryptFromKeystore,\n encryptToKeyStore,\n generatePhrase,\n type Keystore,\n validatePhrase,\n} from \"./keystore-helpers\";\n\ntype UTXOToolboxWithHD = {\n deriveAddressAtIndex: (params: { index: number; change?: boolean }) => DerivedAddress | undefined;\n getExtendedPublicKey: () => string | undefined;\n getBalance: (address: string) => Promise<AssetValue[]>;\n resolveDerivationIndex?: (params: {\n address: string;\n gapLimit?: number;\n }) => { index: number; change: boolean } | undefined;\n transferFromMultipleAddresses?: (params: {\n utxos: Array<{\n hash: string;\n index: number;\n value: number;\n txHex?: string;\n derivationIndex: number;\n isChange: boolean;\n address: string;\n }>;\n recipient: string;\n assetValue: AssetValue;\n memo?: string;\n feeRate?: number;\n }) => Promise<string>;\n};\n\nfunction isUTXOToolboxWithHD(toolbox: unknown): toolbox is UTXOToolboxWithHD {\n return (\n typeof toolbox === \"object\" &&\n toolbox !== null &&\n \"deriveAddressAtIndex\" in toolbox &&\n typeof (toolbox as UTXOToolboxWithHD).deriveAddressAtIndex === \"function\" &&\n \"getExtendedPublicKey\" in toolbox &&\n typeof (toolbox as UTXOToolboxWithHD).getExtendedPublicKey === \"function\" &&\n \"getBalance\" in toolbox &&\n typeof (toolbox as UTXOToolboxWithHD).getBalance === \"function\"\n );\n}\n\nasync function createHDWalletMethods(chain: UTXOChain, toolbox: UTXOToolboxWithHD) {\n const { createHDWalletHelpers, getUtxoApi } = await import(\"@swapkit/toolboxes/utxo\");\n\n function deriveAddresses(params: { count: number; startIndex?: number; change?: boolean }) {\n const { count, startIndex = 0, change = false } = params;\n if (count < 1 || count > 1000) throw new RangeError(`count must be between 1 and 1000, got ${count}`);\n if (startIndex < 0) throw new RangeError(`startIndex must be non-negative, got ${startIndex}`);\n\n const addresses: DerivedAddress[] = [];\n for (let i = 0; i < count; i++) {\n const derived = toolbox.deriveAddressAtIndex({ change, index: startIndex + i });\n if (derived) addresses.push(derived);\n }\n return addresses;\n }\n\n const { scanForAddresses, getAggregatedBalance, getAggregatedUtxos } = createHDWalletHelpers({\n chain,\n deriveAddress: (params) => toolbox.deriveAddressAtIndex(params),\n getBalance: toolbox.getBalance,\n getUtxos: (address: string) => getUtxoApi(chain).getUtxos({ address, fetchTxHex: true }),\n });\n\n return { deriveAddresses, getAggregatedBalance, getAggregatedUtxos, scanForAddresses };\n}\n\nexport const keystoreWallet = createWallet({\n connect: ({ addChain }) =>\n async function connectKeystore(\n chains: Chain[],\n phrase: string,\n derivationPathMapOrIndex?: { [chain in Chain]?: DerivationPathArray } | number,\n ) {\n const wallets = await createKeystoreWallet({ chains, derivationPathMapOrIndex, phrase });\n\n for (const wallet of Object.values(wallets)) {\n addChain({ ...wallet, chain: wallet.chain, walletType: WalletOption.KEYSTORE });\n }\n\n return true;\n },\n // Keystore holds the private key — direct signing works for every supported chain.\n directSigningSupport: {\n ...Object.fromEntries(EVMChains.map((chain) => [chain, true])),\n ...Object.fromEntries(UTXOChains.map((chain) => [chain, true])),\n ...Object.fromEntries(CosmosChains.filter((chain) => chain !== Chain.Harbor).map((chain) => [chain, true])),\n [Chain.Aptos]: true,\n [Chain.Cardano]: true,\n [Chain.Near]: true,\n [Chain.Ripple]: true,\n [Chain.Solana]: true,\n [Chain.Stellar]: true,\n [Chain.Sui]: true,\n [Chain.Ton]: true,\n [Chain.Tron]: true,\n },\n name: \"connectKeystore\",\n supportedChains: [\n ...EVMChains,\n ...UTXOChains,\n ...CosmosChains.filter((chain) => chain !== Chain.Harbor),\n Chain.Aptos,\n Chain.Cardano,\n Chain.Ripple,\n Chain.Solana,\n Chain.Stellar,\n Chain.Sui,\n Chain.Ton,\n Chain.Tron,\n Chain.Near,\n ],\n walletType: WalletOption.KEYSTORE,\n});\n\nexport const KEYSTORE_SUPPORTED_CHAINS = getWalletSupportedChains(keystoreWallet);\n\nexport async function createKeystoreWallet<T extends Chain[]>({\n chains,\n phrase,\n derivationPathMapOrIndex,\n}: {\n chains: T;\n phrase: string;\n derivationPathMapOrIndex?: { [chain in Chain]?: DerivationPathArray } | number;\n}) {\n const filteredChains = filterSupportedChains({\n chains,\n supportedChains: KEYSTORE_SUPPORTED_CHAINS,\n walletType: WalletOption.KEYSTORE,\n });\n\n const wallets = await Promise.all(\n filteredChains.map(async (chain) => {\n const { getToolbox } = await import(\"@swapkit/toolboxes\");\n\n const derivationPathIndex = typeof derivationPathMapOrIndex === \"number\" ? derivationPathMapOrIndex : 0;\n const derivationPathFromMap =\n derivationPathMapOrIndex && typeof derivationPathMapOrIndex === \"object\"\n ? derivationPathMapOrIndex[chain]\n : undefined;\n\n const derivationArrayToUpdate = NetworkDerivationPath[chain].slice(\n 0,\n chain === Chain.Solana ? 4 : 5,\n ) as DerivationPathArray;\n\n const derivationPath: DerivationPathArray =\n derivationPathFromMap || updateDerivationPath(derivationArrayToUpdate, { index: derivationPathIndex });\n\n const toolbox = await getToolbox(chain, { derivationPath, phrase });\n const address = (await toolbox.getAddress()) || \"\";\n\n const hdWalletMethods =\n UTXOChains.includes(chain as UTXOChain) && isUTXOToolboxWithHD(toolbox)\n ? await createHDWalletMethods(chain as UTXOChain, toolbox)\n : {};\n\n const wallet = { ...toolbox, ...hdWalletMethods, address, chain };\n\n return wallet;\n }),\n );\n\n return wallets.reduce(\n (acc, wallet) => {\n acc[wallet.chain as T[number]] = wallet as FullWallet[T[number]];\n return acc;\n },\n {} as { [key in T[number]]: FullWallet[key] },\n );\n}\n",
|
|
6
6
|
"import { createCipheriv, createDecipheriv, pbkdf2Sync, randomBytes } from \"node:crypto\";\nimport { generateMnemonic, validateMnemonic } from \"@scure/bip39\";\nimport { wordlist } from \"@scure/bip39/wordlists/english.js\";\n\nexport type Keystore = {\n version: number;\n meta: string;\n crypto: {\n cipher: string;\n cipherparams: { iv: string };\n ciphertext: string;\n kdf: string;\n kdfparams: { prf: string; dklen: number; salt: string; c: number };\n mac: string;\n };\n};\n\nasync function blake256(initData: Buffer | string) {\n const { blake2b } = await import(\"@noble/hashes/blake2.js\");\n const data = initData instanceof Buffer ? initData : Buffer.from(initData as string, \"hex\");\n\n const hash = blake2b(data, { dkLen: 32 });\n\n return Array.from(hash as Uint8Array)\n .map((byte) => (byte < 0x10 ? `0${byte.toString(16)}` : byte.toString(16)))\n .join(\"\");\n}\n\nexport async function encryptToKeyStore(phrase: string, password: string) {\n const cipher = \"aes-128-ctr\";\n const iv = randomBytes(16);\n const salt = randomBytes(32);\n const kdfParams = { c: 262144, dklen: 32, prf: \"hmac-sha256\", salt: salt.toString(\"hex\") };\n\n const derivedKey = pbkdf2Sync(password, salt, kdfParams.c, kdfParams.dklen, \"sha256\");\n const cipherIV = createCipheriv(cipher, derivedKey.subarray(0, 16), iv);\n const ciphertext = Buffer.concat([cipherIV.update(Buffer.from(phrase, \"utf8\")), cipherIV.final()]);\n const initData = Buffer.concat([derivedKey.subarray(16, 32), Buffer.from(ciphertext)]);\n const mac = await blake256(initData);\n\n return {\n crypto: {\n cipher,\n cipherparams: { iv: iv.toString(\"hex\") },\n ciphertext: ciphertext.toString(\"hex\"),\n kdf: \"pbkdf2\",\n kdfparams: kdfParams,\n mac,\n },\n meta: \"xchain-keystore\",\n version: 1,\n };\n}\n\nexport function generatePhrase(size: 12 | 24 = 12) {\n return generateMnemonic(wordlist, size === 12 ? 128 : 256);\n}\n\nexport function validatePhrase(phrase: string) {\n return validateMnemonic(phrase, wordlist);\n}\n\nexport async function decryptFromKeystore(keystore: Keystore, password: string) {\n const { SwapKitError } = await import(\"@swapkit/helpers\");\n\n switch (keystore.version) {\n case 1: {\n const kdfParams = keystore.crypto.kdfparams;\n const salt = Buffer.from(kdfParams.salt, \"hex\");\n const derivedKey = pbkdf2Sync(password, salt, kdfParams.c, kdfParams.dklen, \"sha256\");\n\n const ciphertext = Buffer.from(keystore.crypto.ciphertext, \"hex\");\n const initData = Buffer.concat([derivedKey.subarray(16, 32), ciphertext]);\n const mac = await blake256(initData);\n\n if (mac !== keystore.crypto.mac) {\n throw new SwapKitError(\"wallet_keystore_invalid_password\");\n }\n\n const decipher = createDecipheriv(\n keystore.crypto.cipher,\n derivedKey.subarray(0, 16),\n Buffer.from(keystore.crypto.cipherparams.iv, \"hex\"),\n );\n\n const phrase = Buffer.concat([decipher.update(ciphertext), decipher.final()]);\n return phrase.toString(\"utf8\");\n }\n\n default:\n throw new SwapKitError(\"wallet_keystore_unsupported_version\");\n }\n}\n"
|
|
7
7
|
],
|
|
8
|
-
"mappings": "gNAYO,IAZP,
|
|
9
|
-
"debugId": "
|
|
8
|
+
"mappings": "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",
|
|
9
|
+
"debugId": "95B52BFC4705C8F264756E2164756E21",
|
|
10
10
|
"names": []
|
|
11
11
|
}
|
package/dist/src/keystore.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{H as V}from"../chunk-99wp90e6.js";import{Chain as J,CosmosChains as T,EVMChains as u,filterSupportedChains as w,NetworkDerivationPath as P,UTXOChains as H,updateDerivationPath as v,WalletOption as A}from"@swapkit/helpers";import{createWallet as y,getWalletSupportedChains as k}from"@swapkit/wallet-core";import{createCipheriv as f,createDecipheriv as W,pbkdf2Sync as U,randomBytes as E}from"node:crypto";import{generateMnemonic as D,validateMnemonic as g}from"@scure/bip39";import{wordlist as K}from"@scure/bip39/wordlists/english.js";async function S(q){let{blake2b:Y}=await import("@noble/hashes/blake2.js"),L=q instanceof Buffer?q:Buffer.from(q,"hex"),Z=Y(L,{dkLen:32});return Array.from(Z).map(($)=>$<16?`0${$.toString(16)}`:$.toString(16)).join("")}async function m(q,Y){let Z=E(16),$=E(32),G={c:262144,dklen:32,prf:"hmac-sha256",salt:$.toString("hex")},Q=U(Y,$,G.c,G.dklen,"sha256"),F=f("aes-128-ctr",Q.subarray(0,16),Z),j=Buffer.concat([F.update(Buffer.from(q,"utf8")),F.final()]),z=Buffer.concat([Q.subarray(16,32),Buffer.from(j)]),N=await S(z);return{crypto:{cipher:"aes-128-ctr",cipherparams:{iv:Z.toString("hex")},ciphertext:j.toString("hex"),kdf:"pbkdf2",kdfparams:G,mac:N},meta:"xchain-keystore",version:1}}function I(q=12){return D(K,q===12?128:256)}function M(q){return g(q,K)}async function O(q,Y){let{SwapKitError:L}=await import("@swapkit/helpers");switch(q.version){case 1:{let Z=q.crypto.kdfparams,$=Buffer.from(Z.salt,"hex"),G=U(Y,$,Z.c,Z.dklen,"sha256"),Q=Buffer.from(q.crypto.ciphertext,"hex"),F=Buffer.concat([G.subarray(16,32),Q]);if(await S(F)!==q.crypto.mac)throw new L("wallet_keystore_invalid_password");let z=W(q.crypto.cipher,G.subarray(0,16),Buffer.from(q.crypto.cipherparams.iv,"hex"));return Buffer.concat([z.update(Q),z.final()]).toString("utf8")}default:throw new L("wallet_keystore_unsupported_version")}}function C(q){return typeof q==="object"&&q!==null&&"deriveAddressAtIndex"in q&&typeof q.deriveAddressAtIndex==="function"&&"getExtendedPublicKey"in q&&typeof q.getExtendedPublicKey==="function"&&"getBalance"in q&&typeof q.getBalance==="function"}async function b(q,Y){let{createHDWalletHelpers:L,getUtxoApi:Z}=await import("@swapkit/toolboxes/utxo");function $(j){let{count:z,startIndex:N=0,change:R=!1}=j;if(z<1||z>1000)throw RangeError(`count must be between 1 and 1000, got ${z}`);if(N<0)throw RangeError(`startIndex must be non-negative, got ${N}`);let B=[];for(let _=0;_<z;_++){let X=Y.deriveAddressAtIndex({change:R,index:N+_});if(X)B.push(X)}return B}let{scanForAddresses:G,getAggregatedBalance:Q,getAggregatedUtxos:F}=L({chain:q,deriveAddress:(j)=>Y.deriveAddressAtIndex(j),getBalance:Y.getBalance,getUtxos:(j)=>Z(q).getUtxos({address:j,fetchTxHex:!0})});return{deriveAddresses:$,getAggregatedBalance:Q,getAggregatedUtxos:F,scanForAddresses:G}}var x=y({connect:({addChain:q})=>async function(L,Z,$){let G=await c({chains:L,derivationPathMapOrIndex:$,phrase:Z});for(let Q of Object.values(G))q({...Q,chain:Q.chain,walletType:A.KEYSTORE});return!0},directSigningSupport:{...Object.fromEntries(u.map((q)=>[q,!0])),...Object.fromEntries(H.map((q)=>[q,!0])),...Object.fromEntries(T.filter((q)=>q!==J.Harbor).map((q)=>[q,!0])),[J.Aptos]:!0,[J.Cardano]:!0,[J.Near]:!0,[J.Ripple]:!0,[J.Solana]:!0,[J.Stellar]:!0,[J.Sui]:!0,[J.Ton]:!0,[J.Tron]:!0},name:"connectKeystore",supportedChains:[...u,...H,...T.filter((q)=>q!==J.Harbor),J.Aptos,J.Cardano,J.Ripple,J.Solana,J.Stellar,J.Sui,J.Ton,J.Tron,J.Near],walletType:A.KEYSTORE}),p=k(x);async function c({chains:q,phrase:Y,derivationPathMapOrIndex:L}){let Z=w({chains:q,supportedChains:p,walletType:A.KEYSTORE});return(await Promise.all(Z.map(async(G)=>{let{getToolbox:Q}=await import("@swapkit/toolboxes"),F=typeof L==="number"?L:0,j=L&&typeof L==="object"?L[G]:void 0,z=P[G].slice(0,G===J.Solana?4:5),N=j||v(z,{index:F}),R=await Q(G,{derivationPath:N,phrase:Y}),B=await R.getAddress()||"",_=H.includes(G)&&C(R)?await b(G,R):{};return{...R,..._,address:B,chain:G}}))).reduce((G,Q)=>{return G[Q.chain]=Q,G},{})}export{M as validatePhrase,x as keystoreWallet,I as generatePhrase,m as encryptToKeyStore,O as decryptFromKeystore,c as createKeystoreWallet,p as KEYSTORE_SUPPORTED_CHAINS};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=27593B03E1BD90DA64756E2164756E21
|
|
4
4
|
//# sourceMappingURL=keystore.js.map
|
package/dist/src/keystore.js.map
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/keystore.ts", "../src/keystore-helpers.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import {\n type AssetValue,\n Chain,\n CosmosChains,\n type DerivationPathArray,\n EVMChains,\n filterSupportedChains,\n NetworkDerivationPath,\n type UTXOChain,\n UTXOChains,\n updateDerivationPath,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport type { DerivedAddress, FullWallet } from \"@swapkit/toolboxes\";\nimport { createWallet, getWalletSupportedChains } from \"
|
|
5
|
+
"import {\n type AssetValue,\n Chain,\n CosmosChains,\n type DerivationPathArray,\n EVMChains,\n filterSupportedChains,\n NetworkDerivationPath,\n type UTXOChain,\n UTXOChains,\n updateDerivationPath,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport type { DerivedAddress, FullWallet } from \"@swapkit/toolboxes\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\n\nexport {\n decryptFromKeystore,\n encryptToKeyStore,\n generatePhrase,\n type Keystore,\n validatePhrase,\n} from \"./keystore-helpers\";\n\ntype UTXOToolboxWithHD = {\n deriveAddressAtIndex: (params: { index: number; change?: boolean }) => DerivedAddress | undefined;\n getExtendedPublicKey: () => string | undefined;\n getBalance: (address: string) => Promise<AssetValue[]>;\n resolveDerivationIndex?: (params: {\n address: string;\n gapLimit?: number;\n }) => { index: number; change: boolean } | undefined;\n transferFromMultipleAddresses?: (params: {\n utxos: Array<{\n hash: string;\n index: number;\n value: number;\n txHex?: string;\n derivationIndex: number;\n isChange: boolean;\n address: string;\n }>;\n recipient: string;\n assetValue: AssetValue;\n memo?: string;\n feeRate?: number;\n }) => Promise<string>;\n};\n\nfunction isUTXOToolboxWithHD(toolbox: unknown): toolbox is UTXOToolboxWithHD {\n return (\n typeof toolbox === \"object\" &&\n toolbox !== null &&\n \"deriveAddressAtIndex\" in toolbox &&\n typeof (toolbox as UTXOToolboxWithHD).deriveAddressAtIndex === \"function\" &&\n \"getExtendedPublicKey\" in toolbox &&\n typeof (toolbox as UTXOToolboxWithHD).getExtendedPublicKey === \"function\" &&\n \"getBalance\" in toolbox &&\n typeof (toolbox as UTXOToolboxWithHD).getBalance === \"function\"\n );\n}\n\nasync function createHDWalletMethods(chain: UTXOChain, toolbox: UTXOToolboxWithHD) {\n const { createHDWalletHelpers, getUtxoApi } = await import(\"@swapkit/toolboxes/utxo\");\n\n function deriveAddresses(params: { count: number; startIndex?: number; change?: boolean }) {\n const { count, startIndex = 0, change = false } = params;\n if (count < 1 || count > 1000) throw new RangeError(`count must be between 1 and 1000, got ${count}`);\n if (startIndex < 0) throw new RangeError(`startIndex must be non-negative, got ${startIndex}`);\n\n const addresses: DerivedAddress[] = [];\n for (let i = 0; i < count; i++) {\n const derived = toolbox.deriveAddressAtIndex({ change, index: startIndex + i });\n if (derived) addresses.push(derived);\n }\n return addresses;\n }\n\n const { scanForAddresses, getAggregatedBalance, getAggregatedUtxos } = createHDWalletHelpers({\n chain,\n deriveAddress: (params) => toolbox.deriveAddressAtIndex(params),\n getBalance: toolbox.getBalance,\n getUtxos: (address: string) => getUtxoApi(chain).getUtxos({ address, fetchTxHex: true }),\n });\n\n return { deriveAddresses, getAggregatedBalance, getAggregatedUtxos, scanForAddresses };\n}\n\nexport const keystoreWallet = createWallet({\n connect: ({ addChain }) =>\n async function connectKeystore(\n chains: Chain[],\n phrase: string,\n derivationPathMapOrIndex?: { [chain in Chain]?: DerivationPathArray } | number,\n ) {\n const wallets = await createKeystoreWallet({ chains, derivationPathMapOrIndex, phrase });\n\n for (const wallet of Object.values(wallets)) {\n addChain({ ...wallet, chain: wallet.chain, walletType: WalletOption.KEYSTORE });\n }\n\n return true;\n },\n // Keystore holds the private key — direct signing works for every supported chain.\n directSigningSupport: {\n ...Object.fromEntries(EVMChains.map((chain) => [chain, true])),\n ...Object.fromEntries(UTXOChains.map((chain) => [chain, true])),\n ...Object.fromEntries(CosmosChains.filter((chain) => chain !== Chain.Harbor).map((chain) => [chain, true])),\n [Chain.Aptos]: true,\n [Chain.Cardano]: true,\n [Chain.Near]: true,\n [Chain.Ripple]: true,\n [Chain.Solana]: true,\n [Chain.Stellar]: true,\n [Chain.Sui]: true,\n [Chain.Ton]: true,\n [Chain.Tron]: true,\n },\n name: \"connectKeystore\",\n supportedChains: [\n ...EVMChains,\n ...UTXOChains,\n ...CosmosChains.filter((chain) => chain !== Chain.Harbor),\n Chain.Aptos,\n Chain.Cardano,\n Chain.Ripple,\n Chain.Solana,\n Chain.Stellar,\n Chain.Sui,\n Chain.Ton,\n Chain.Tron,\n Chain.Near,\n ],\n walletType: WalletOption.KEYSTORE,\n});\n\nexport const KEYSTORE_SUPPORTED_CHAINS = getWalletSupportedChains(keystoreWallet);\n\nexport async function createKeystoreWallet<T extends Chain[]>({\n chains,\n phrase,\n derivationPathMapOrIndex,\n}: {\n chains: T;\n phrase: string;\n derivationPathMapOrIndex?: { [chain in Chain]?: DerivationPathArray } | number;\n}) {\n const filteredChains = filterSupportedChains({\n chains,\n supportedChains: KEYSTORE_SUPPORTED_CHAINS,\n walletType: WalletOption.KEYSTORE,\n });\n\n const wallets = await Promise.all(\n filteredChains.map(async (chain) => {\n const { getToolbox } = await import(\"@swapkit/toolboxes\");\n\n const derivationPathIndex = typeof derivationPathMapOrIndex === \"number\" ? derivationPathMapOrIndex : 0;\n const derivationPathFromMap =\n derivationPathMapOrIndex && typeof derivationPathMapOrIndex === \"object\"\n ? derivationPathMapOrIndex[chain]\n : undefined;\n\n const derivationArrayToUpdate = NetworkDerivationPath[chain].slice(\n 0,\n chain === Chain.Solana ? 4 : 5,\n ) as DerivationPathArray;\n\n const derivationPath: DerivationPathArray =\n derivationPathFromMap || updateDerivationPath(derivationArrayToUpdate, { index: derivationPathIndex });\n\n const toolbox = await getToolbox(chain, { derivationPath, phrase });\n const address = (await toolbox.getAddress()) || \"\";\n\n const hdWalletMethods =\n UTXOChains.includes(chain as UTXOChain) && isUTXOToolboxWithHD(toolbox)\n ? await createHDWalletMethods(chain as UTXOChain, toolbox)\n : {};\n\n const wallet = { ...toolbox, ...hdWalletMethods, address, chain };\n\n return wallet;\n }),\n );\n\n return wallets.reduce(\n (acc, wallet) => {\n acc[wallet.chain as T[number]] = wallet as FullWallet[T[number]];\n return acc;\n },\n {} as { [key in T[number]]: FullWallet[key] },\n );\n}\n",
|
|
6
6
|
"import { createCipheriv, createDecipheriv, pbkdf2Sync, randomBytes } from \"node:crypto\";\nimport { generateMnemonic, validateMnemonic } from \"@scure/bip39\";\nimport { wordlist } from \"@scure/bip39/wordlists/english.js\";\n\nexport type Keystore = {\n version: number;\n meta: string;\n crypto: {\n cipher: string;\n cipherparams: { iv: string };\n ciphertext: string;\n kdf: string;\n kdfparams: { prf: string; dklen: number; salt: string; c: number };\n mac: string;\n };\n};\n\nasync function blake256(initData: Buffer | string) {\n const { blake2b } = await import(\"@noble/hashes/blake2.js\");\n const data = initData instanceof Buffer ? initData : Buffer.from(initData as string, \"hex\");\n\n const hash = blake2b(data, { dkLen: 32 });\n\n return Array.from(hash as Uint8Array)\n .map((byte) => (byte < 0x10 ? `0${byte.toString(16)}` : byte.toString(16)))\n .join(\"\");\n}\n\nexport async function encryptToKeyStore(phrase: string, password: string) {\n const cipher = \"aes-128-ctr\";\n const iv = randomBytes(16);\n const salt = randomBytes(32);\n const kdfParams = { c: 262144, dklen: 32, prf: \"hmac-sha256\", salt: salt.toString(\"hex\") };\n\n const derivedKey = pbkdf2Sync(password, salt, kdfParams.c, kdfParams.dklen, \"sha256\");\n const cipherIV = createCipheriv(cipher, derivedKey.subarray(0, 16), iv);\n const ciphertext = Buffer.concat([cipherIV.update(Buffer.from(phrase, \"utf8\")), cipherIV.final()]);\n const initData = Buffer.concat([derivedKey.subarray(16, 32), Buffer.from(ciphertext)]);\n const mac = await blake256(initData);\n\n return {\n crypto: {\n cipher,\n cipherparams: { iv: iv.toString(\"hex\") },\n ciphertext: ciphertext.toString(\"hex\"),\n kdf: \"pbkdf2\",\n kdfparams: kdfParams,\n mac,\n },\n meta: \"xchain-keystore\",\n version: 1,\n };\n}\n\nexport function generatePhrase(size: 12 | 24 = 12) {\n return generateMnemonic(wordlist, size === 12 ? 128 : 256);\n}\n\nexport function validatePhrase(phrase: string) {\n return validateMnemonic(phrase, wordlist);\n}\n\nexport async function decryptFromKeystore(keystore: Keystore, password: string) {\n const { SwapKitError } = await import(\"@swapkit/helpers\");\n\n switch (keystore.version) {\n case 1: {\n const kdfParams = keystore.crypto.kdfparams;\n const salt = Buffer.from(kdfParams.salt, \"hex\");\n const derivedKey = pbkdf2Sync(password, salt, kdfParams.c, kdfParams.dklen, \"sha256\");\n\n const ciphertext = Buffer.from(keystore.crypto.ciphertext, \"hex\");\n const initData = Buffer.concat([derivedKey.subarray(16, 32), ciphertext]);\n const mac = await blake256(initData);\n\n if (mac !== keystore.crypto.mac) {\n throw new SwapKitError(\"wallet_keystore_invalid_password\");\n }\n\n const decipher = createDecipheriv(\n keystore.crypto.cipher,\n derivedKey.subarray(0, 16),\n Buffer.from(keystore.crypto.cipherparams.iv, \"hex\"),\n );\n\n const phrase = Buffer.concat([decipher.update(ciphertext), decipher.final()]);\n return phrase.toString(\"utf8\");\n }\n\n default:\n throw new SwapKitError(\"wallet_keystore_unsupported_version\");\n }\n}\n"
|
|
7
7
|
],
|
|
8
|
-
"mappings": "
|
|
9
|
-
"debugId": "
|
|
8
|
+
"mappings": "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",
|
|
9
|
+
"debugId": "27593B03E1BD90DA64756E2164756E21",
|
|
10
10
|
"names": []
|
|
11
11
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var
|
|
1
|
+
var f={};Y(f,{walletSelectorWallet:()=>R,WALLET_SELECTOR_SUPPORTED_CHAINS:()=>j});module.exports=X(f);var x=require("@near-wallet-selector/modal-ui-js/styles.css"),k=require("@swapkit/helpers"),Q=require("@swapkit/toolboxes/near"),H=require("@swapkit/wallet-core");function Z(z){return{getAddress:async()=>{let A=(await z.getAccounts())[0]?.accountId;if(!A)throw new k.SwapKitError("wallet_connection_rejected_by_user");return A},getPublicKey:()=>{throw new k.SwapKitError("wallet_near_method_not_supported")},signAndSendTransactions:async(q)=>{return(await z.signAndSendTransactions(q))?.[0]?.transaction_outcome.id||""},signDelegateAction:()=>{throw new k.SwapKitError("wallet_near_method_not_supported")},signNep413Message:()=>{throw new k.SwapKitError("wallet_near_method_not_supported")},signTransaction:(q)=>{if(!z.signTransaction)throw new k.SwapKitError("wallet_near_method_not_supported");return z.signTransaction(q)}}}function _(z,q){return new Promise((A)=>{let D=z.store.observable.subscribe((B)=>{if(B.selectedWalletId)D.unsubscribe(),q.hide(),A()});q.show()})}async function $(z){let{setupWalletSelector:q}=await import("@near-wallet-selector/core"),{setupModal:A}=await import("@near-wallet-selector/modal-ui-js"),D=k.SKConfig.get("integrations")?.nearWalletSelector?.contractId||"",B=await q({modules:[...z||[]],network:"mainnet"});if(!B.isSignedIn()){let L=A(B,{contractId:D,description:"Connect your NEAR wallet to SwapKit"});await _(B,L)}let J=await B.wallet(),G=Z(J),U=await Q.getNearToolbox({signer:G}),V=await G.getAddress();return{...U,address:V,disconnect:async()=>{try{await J.signOut()}catch(L){throw new k.SwapKitError("wallet_connection_rejected_by_user",L)}}}}var R=H.createWallet({connect:({addChain:z,supportedChains:q,walletType:A})=>async function(B,P){if(k.filterSupportedChains({chains:B,supportedChains:q,walletType:A}).length===0)throw new k.SwapKitError("wallet_chain_not_supported",{chain:B[0],wallet:k.WalletOption.WALLET_SELECTOR});let G=await $(P);return z({...G,balance:[],chain:k.Chain.Near,walletType:A}),!0},directSigningSupport:{[k.Chain.Near]:!0},name:"connectWalletSelector",supportedChains:[k.Chain.Near],walletType:k.WalletOption.WALLET_SELECTOR}),j=H.getWalletSupportedChains(R);
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=CFDAD77E2A11B1B664756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.cjs.map
|