@swapkit/wallets 4.0.0-beta.60 → 4.0.0-beta.61

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.
@@ -1,4 +1,4 @@
1
- var S={};P(S,{coinbaseWallet:()=>w,COINBASE_SUPPORTED_CHAINS:()=>y});module.exports=b(S);var e=require("@swapkit/helpers"),d=require("@swapkit/wallet-core");var a=require("@swapkit/helpers");async function C(o,n){let{AbstractSigner:i}=await import("ethers");class r extends i{#e;constructor(t,s){super(s);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()]})}signTypedData=()=>{throw new a.SwapKitError("wallet_coinbase_method_not_supported",{method:"signTypedData"})};connect(t){return new r(this.#e,t)}}return new r(o,n)}var u=async({chain:o,coinbaseSdk:n})=>{switch(o){case a.Chain.Ethereum:case a.Chain.Avalanche:case a.Chain.Arbitrum:case a.Chain.Optimism:case a.Chain.Polygon:case a.Chain.BinanceSmartChain:{let i=n.getProvider(),{getEvmToolbox:r,getProvider:t}=await import("@swapkit/toolboxes/evm"),s=await t(o),c=await C(i,s),p=await r(o,{provider:s,signer:c}),m=await c.getAddress();return{...p,address:m}}default:throw new a.SwapKitError("wallet_coinbase_chain_not_supported",{chain:o})}};var w=d.createWallet({name:"connectCoinbaseWallet",walletType:e.WalletOption.COINBASE_MOBILE,supportedChains:[e.Chain.Arbitrum,e.Chain.Avalanche,e.Chain.Base,e.Chain.BinanceSmartChain,e.Chain.Ethereum,e.Chain.Optimism,e.Chain.Polygon],connect:({addChain:o,walletType:n,supportedChains:i})=>async function r(t){let{createCoinbaseWalletSDK:s}=await import("@coinbase/wallet-sdk"),c=e.filterSupportedChains({chains:t,supportedChains:i,walletType:n}),p=e.SKConfig.get("integrations").coinbase||{appName:"Swapkit Playground"},m=s({...p,appChainIds:c.map((l)=>Number(e.ChainToChainId[l]))});return await Promise.all(c.map(async(l)=>{let g=await u({chain:l,coinbaseSdk:m});o({...g,chain:l,walletType:n})})),!0}}),y=d.getWalletSupportedChains(w);
1
+ var S={};P(S,{coinbaseWallet:()=>w,COINBASE_SUPPORTED_CHAINS:()=>y});module.exports=b(S);var e=require("@swapkit/helpers"),d=require("@swapkit/wallet-core");var a=require("@swapkit/helpers");async function C(o,n){let{AbstractSigner:i}=await import("ethers");class s extends i{#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 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()]})}signTypedData=()=>{throw new a.SwapKitError("wallet_coinbase_method_not_supported",{method:"signTypedData"})};connect(t){return new s(this.#e,t)}}return new s(o,n)}var u=async({chain:o,coinbaseSdk:n})=>{switch(o){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 i=n.getProvider(),{getEvmToolbox:s,getProvider:t}=await import("@swapkit/toolboxes/evm"),r=await t(o),c=await C(i,r),p=await s(o,{provider:r,signer:c}),m=await c.getAddress();return{...p,address:m}}default:throw new a.SwapKitError("wallet_coinbase_chain_not_supported",{chain:o})}};var w=d.createWallet({name:"connectCoinbaseWallet",walletType:e.WalletOption.COINBASE_MOBILE,supportedChains:[e.Chain.Arbitrum,e.Chain.Avalanche,e.Chain.Base,e.Chain.BinanceSmartChain,e.Chain.Ethereum,e.Chain.Optimism,e.Chain.Polygon],connect:({addChain:o,walletType:n,supportedChains:i})=>async function s(t){let{createCoinbaseWalletSDK:r}=await import("@coinbase/wallet-sdk"),c=e.filterSupportedChains({chains:t,supportedChains:i,walletType:n}),p=e.SKConfig.get("integrations").coinbase||{appName:"Swapkit Playground"},m=r({...p,appChainIds:c.map((l)=>Number(e.ChainToChainId[l]))});return await Promise.all(c.map(async(l)=>{let g=await u({chain:l,coinbaseSdk:m});o({...g,chain:l,walletType:n})})),!0}}),y=d.getWalletSupportedChains(w);
2
2
 
3
- //# debugId=2DF0B5BB39432D9564756E2164756E21
3
+ //# debugId=3C1052A336FE276F64756E2164756E21
4
4
  //# sourceMappingURL=index.cjs.map
@@ -3,9 +3,9 @@
3
3
  "sources": ["../src/coinbase/index.ts", "../src/coinbase/signer.ts"],
4
4
  "sourcesContent": [
5
5
  "import {\n Chain,\n ChainToChainId,\n SKConfig,\n WalletOption,\n filterSupportedChains,\n} from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\n\nimport { getWalletMethods } from \"./signer\";\n\nexport const coinbaseWallet = createWallet({\n name: \"connectCoinbaseWallet\",\n walletType: WalletOption.COINBASE_MOBILE,\n supportedChains: [\n Chain.Arbitrum,\n Chain.Avalanche,\n Chain.Base,\n Chain.BinanceSmartChain,\n Chain.Ethereum,\n Chain.Optimism,\n Chain.Polygon,\n ],\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 || {\n appName: \"Swapkit Playground\",\n };\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});\n\nexport const COINBASE_SUPPORTED_CHAINS = getWalletSupportedChains(coinbaseWallet);\n",
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 } from \"ethers\";\n\nasync function getCoinbaseMobileSigner(\n walletProvider: CoinbaseWalletProvider,\n provider?: Provider,\n) {\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[]>({\n method: \"eth_requestAccounts\",\n });\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>({\n method: \"eth_signTransaction\",\n });\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 signTypedData = () => {\n throw new SwapKitError(\"wallet_coinbase_method_not_supported\", { method: \"signTypedData\" });\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.BinanceSmartChain: {\n const walletProvider = coinbaseSdk.getProvider() as CoinbaseWalletProvider;\n const { getEvmToolbox, getProvider } = await import(\"@swapkit/toolboxes/evm\");\n\n const provider = await getProvider(chain);\n const signer = await getCoinbaseMobileSigner(walletProvider, provider);\n const toolbox = await getEvmToolbox(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"
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 } from \"ethers\";\n\nasync function getCoinbaseMobileSigner(\n walletProvider: CoinbaseWalletProvider,\n provider?: Provider,\n) {\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[]>({\n method: \"eth_requestAccounts\",\n });\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>({\n method: \"eth_signTransaction\",\n });\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 signTypedData = () => {\n throw new SwapKitError(\"wallet_coinbase_method_not_supported\", { method: \"signTypedData\" });\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 { getEvmToolbox, getProvider } = await import(\"@swapkit/toolboxes/evm\");\n\n const provider = await getProvider(chain);\n const signer = await getCoinbaseMobileSigner(walletProvider, provider);\n const toolbox = await getEvmToolbox(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": "yFAMO,IANP,8BAOA,kCCLoC,IAApC,8BAGA,eAAe,CAAuB,CACpC,EACA,EACA,CACA,IAAQ,kBAAmB,KAAa,kBAExC,MAAM,UAA6B,CAAe,CAChD,GAEA,WAAW,CAAC,EAA0C,EAAqB,CACzE,MAAM,CAAQ,EACd,KAAK,GAAoB,OAGrB,WAAU,EAAG,CACjB,IAAM,EAAW,MAAM,KAAK,GAAkB,QAAkB,CAC9D,OAAQ,qBACV,CAAC,EAED,IAAK,EAAS,GAAI,MAAM,IAAI,eAAa,6BAA6B,EAEtE,OAAO,EAAS,QAGZ,gBAAe,EAAG,CACtB,OAAO,MAAM,KAAK,GAAkB,QAAgB,CAClD,OAAQ,qBACV,CAAC,OAGG,YAAW,CAAC,EAA8B,CAC9C,OAAO,MAAM,KAAK,GAAkB,QAAgB,CAClD,OAAQ,gBACR,OAAQ,CAAC,EAAS,MAAM,KAAK,WAAW,CAAC,CAC3C,CAAC,EAGH,cAAgB,IAAM,CACpB,MAAM,IAAI,eAAa,uCAAwC,CAAE,OAAQ,eAAgB,CAAC,GAG5F,OAAO,CAAC,EAAoB,CAC1B,OAAO,IAAI,EAAqB,KAAK,GAAmB,CAAQ,EAEpE,CAEA,OAAO,IAAI,EAAqB,EAAgB,CAAQ,EAGnD,IAAM,EAAmB,OAC9B,QACA,iBAII,CACJ,OAAQ,QACD,QAAM,cACN,QAAM,eACN,QAAM,cACN,QAAM,cACN,QAAM,aACN,QAAM,kBAAmB,CAC5B,IAAM,EAAiB,EAAY,YAAY,GACvC,gBAAe,eAAgB,KAAa,kCAE9C,EAAW,MAAM,EAAY,CAAK,EAClC,EAAS,MAAM,EAAwB,EAAgB,CAAQ,EAC/D,EAAU,MAAM,EAAc,EAAO,CAAE,WAAU,QAAO,CAAC,EACzD,EAAU,MAAM,EAAO,WAAW,EAExC,MAAO,IAAK,EAAS,SAAQ,CAC/B,SAGE,MAAM,IAAI,eAAa,sCAAuC,CAAE,OAAM,CAAC,IDrEtE,IAAM,EAAiB,eAAa,CACzC,KAAM,wBACN,WAAY,eAAa,gBACzB,gBAAiB,CACf,QAAM,SACN,QAAM,UACN,QAAM,KACN,QAAM,kBACN,QAAM,SACN,QAAM,SACN,QAAM,OACR,EACA,QAAS,EAAG,WAAU,aAAY,qBAChC,eAAe,CAAqB,CAAC,EAAiB,CACpD,IAAQ,2BAA4B,KAAa,gCAE3C,EAAiB,wBAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAE9E,EAAiB,WAAS,IAAI,cAAc,EAAE,UAAY,CAC9D,QAAS,oBACX,EAEM,EAAc,EAAwB,IACvC,EACH,YAAa,EAAe,IAAI,CAAC,IAAU,OAAO,iBAAe,EAAM,CAAC,CAC1E,CAAC,EAUD,OARA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,IAAM,EAAgB,MAAM,EAAiB,CAAE,QAAO,aAAY,CAAC,EAEnE,EAAS,IAAK,EAAe,QAAO,YAAW,CAAC,EACjD,CACH,EAEO,GAEb,CAAC,EAEY,EAA4B,2BAAyB,CAAc",
9
- "debugId": "2DF0B5BB39432D9564756E2164756E21",
8
+ "mappings": "yFAMO,IANP,8BAOA,kCCLoC,IAApC,8BAGA,eAAe,CAAuB,CACpC,EACA,EACA,CACA,IAAQ,kBAAmB,KAAa,kBAExC,MAAM,UAA6B,CAAe,CAChD,GAEA,WAAW,CAAC,EAA0C,EAAqB,CACzE,MAAM,CAAQ,EACd,KAAK,GAAoB,OAGrB,WAAU,EAAG,CACjB,IAAM,EAAW,MAAM,KAAK,GAAkB,QAAkB,CAC9D,OAAQ,qBACV,CAAC,EAED,IAAK,EAAS,GAAI,MAAM,IAAI,eAAa,6BAA6B,EAEtE,OAAO,EAAS,QAGZ,gBAAe,EAAG,CACtB,OAAO,MAAM,KAAK,GAAkB,QAAgB,CAClD,OAAQ,qBACV,CAAC,OAGG,YAAW,CAAC,EAA8B,CAC9C,OAAO,MAAM,KAAK,GAAkB,QAAgB,CAClD,OAAQ,gBACR,OAAQ,CAAC,EAAS,MAAM,KAAK,WAAW,CAAC,CAC3C,CAAC,EAGH,cAAgB,IAAM,CACpB,MAAM,IAAI,eAAa,uCAAwC,CAAE,OAAQ,eAAgB,CAAC,GAG5F,OAAO,CAAC,EAAoB,CAC1B,OAAO,IAAI,EAAqB,KAAK,GAAmB,CAAQ,EAEpE,CAEA,OAAO,IAAI,EAAqB,EAAgB,CAAQ,EAGnD,IAAM,EAAmB,OAC9B,QACA,iBAII,CACJ,OAAQ,QACD,QAAM,cACN,QAAM,eACN,QAAM,cACN,QAAM,cACN,QAAM,aACN,QAAM,UACN,QAAM,kBAAmB,CAC5B,IAAM,EAAiB,EAAY,YAAY,GACvC,gBAAe,eAAgB,KAAa,kCAE9C,EAAW,MAAM,EAAY,CAAK,EAClC,EAAS,MAAM,EAAwB,EAAgB,CAAQ,EAC/D,EAAU,MAAM,EAAc,EAAO,CAAE,WAAU,QAAO,CAAC,EACzD,EAAU,MAAM,EAAO,WAAW,EAExC,MAAO,IAAK,EAAS,SAAQ,CAC/B,SAGE,MAAM,IAAI,eAAa,sCAAuC,CAAE,OAAM,CAAC,IDtEtE,IAAM,EAAiB,eAAa,CACzC,KAAM,wBACN,WAAY,eAAa,gBACzB,gBAAiB,CACf,QAAM,SACN,QAAM,UACN,QAAM,KACN,QAAM,kBACN,QAAM,SACN,QAAM,SACN,QAAM,OACR,EACA,QAAS,EAAG,WAAU,aAAY,qBAChC,eAAe,CAAqB,CAAC,EAAiB,CACpD,IAAQ,2BAA4B,KAAa,gCAE3C,EAAiB,wBAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAE9E,EAAiB,WAAS,IAAI,cAAc,EAAE,UAAY,CAC9D,QAAS,oBACX,EAEM,EAAc,EAAwB,IACvC,EACH,YAAa,EAAe,IAAI,CAAC,IAAU,OAAO,iBAAe,EAAM,CAAC,CAC1E,CAAC,EAUD,OARA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,IAAM,EAAgB,MAAM,EAAiB,CAAE,QAAO,aAAY,CAAC,EAEnE,EAAS,IAAK,EAAe,QAAO,YAAW,CAAC,EACjD,CACH,EAEO,GAEb,CAAC,EAEY,EAA4B,2BAAyB,CAAc",
9
+ "debugId": "3C1052A336FE276F64756E2164756E21",
10
10
  "names": []
11
11
  }
@@ -1,4 +1,4 @@
1
- import{F as h,G as u}from"../../chunk-yqaz2d25.js";import{Chain as a,ChainToChainId as b,SKConfig as P,WalletOption as y,filterSupportedChains as S}from"@swapkit/helpers";import{createWallet as v,getWalletSupportedChains as W}from"@swapkit/wallet-core";import{Chain as s,SwapKitError as m}from"@swapkit/helpers";async function C(t,o){let{AbstractSigner:i}=await import("ethers");class n extends i{#e;constructor(e,r){super(r);this.#e=e}async getAddress(){let e=await this.#e.request({method:"eth_requestAccounts"});if(!e[0])throw new m("wallet_coinbase_no_accounts");return e[0]}async signTransaction(){return await this.#e.request({method:"eth_signTransaction"})}async signMessage(e){return await this.#e.request({method:"personal_sign",params:[e,await this.getAddress()]})}signTypedData=()=>{throw new m("wallet_coinbase_method_not_supported",{method:"signTypedData"})};connect(e){return new n(this.#e,e)}}return new n(t,o)}var w=async({chain:t,coinbaseSdk:o})=>{switch(t){case s.Ethereum:case s.Avalanche:case s.Arbitrum:case s.Optimism:case s.Polygon:case s.BinanceSmartChain:{let i=o.getProvider(),{getEvmToolbox:n,getProvider:e}=await import("@swapkit/toolboxes/evm"),r=await e(t),c=await C(i,r),d=await n(t,{provider:r,signer:c}),p=await c.getAddress();return{...d,address:p}}default:throw new m("wallet_coinbase_chain_not_supported",{chain:t})}};var _=v({name:"connectCoinbaseWallet",walletType:y.COINBASE_MOBILE,supportedChains:[a.Arbitrum,a.Avalanche,a.Base,a.BinanceSmartChain,a.Ethereum,a.Optimism,a.Polygon],connect:({addChain:t,walletType:o,supportedChains:i})=>async function n(e){let{createCoinbaseWalletSDK:r}=await import("@coinbase/wallet-sdk"),c=S({chains:e,supportedChains:i,walletType:o}),d=P.get("integrations").coinbase||{appName:"Swapkit Playground"},p=r({...d,appChainIds:c.map((l)=>Number(b[l]))});return await Promise.all(c.map(async(l)=>{let g=await w({chain:l,coinbaseSdk:p});t({...g,chain:l,walletType:o})})),!0}}),O=W(_);export{_ as coinbaseWallet,O as COINBASE_SUPPORTED_CHAINS};
1
+ import{F as h,G as u}from"../../chunk-yqaz2d25.js";import{Chain as o,ChainToChainId as b,SKConfig as P,WalletOption as y,filterSupportedChains as S}from"@swapkit/helpers";import{createWallet as v,getWalletSupportedChains as W}from"@swapkit/wallet-core";import{Chain as a,SwapKitError as m}from"@swapkit/helpers";async function C(t,n){let{AbstractSigner:i}=await import("ethers");class s extends i{#e;constructor(e,r){super(r);this.#e=e}async getAddress(){let e=await this.#e.request({method:"eth_requestAccounts"});if(!e[0])throw new m("wallet_coinbase_no_accounts");return e[0]}async signTransaction(){return await this.#e.request({method:"eth_signTransaction"})}async signMessage(e){return await this.#e.request({method:"personal_sign",params:[e,await this.getAddress()]})}signTypedData=()=>{throw new m("wallet_coinbase_method_not_supported",{method:"signTypedData"})};connect(e){return new s(this.#e,e)}}return new s(t,n)}var w=async({chain:t,coinbaseSdk:n})=>{switch(t){case a.Ethereum:case a.Avalanche:case a.Arbitrum:case a.Optimism:case a.Polygon:case a.Base:case a.BinanceSmartChain:{let i=n.getProvider(),{getEvmToolbox:s,getProvider:e}=await import("@swapkit/toolboxes/evm"),r=await e(t),c=await C(i,r),d=await s(t,{provider:r,signer:c}),p=await c.getAddress();return{...d,address:p}}default:throw new m("wallet_coinbase_chain_not_supported",{chain:t})}};var _=v({name:"connectCoinbaseWallet",walletType:y.COINBASE_MOBILE,supportedChains:[o.Arbitrum,o.Avalanche,o.Base,o.BinanceSmartChain,o.Ethereum,o.Optimism,o.Polygon],connect:({addChain:t,walletType:n,supportedChains:i})=>async function s(e){let{createCoinbaseWalletSDK:r}=await import("@coinbase/wallet-sdk"),c=S({chains:e,supportedChains:i,walletType:n}),d=P.get("integrations").coinbase||{appName:"Swapkit Playground"},p=r({...d,appChainIds:c.map((l)=>Number(b[l]))});return await Promise.all(c.map(async(l)=>{let g=await w({chain:l,coinbaseSdk:p});t({...g,chain:l,walletType:n})})),!0}}),D=W(_);export{_ as coinbaseWallet,D as COINBASE_SUPPORTED_CHAINS};
2
2
 
3
- //# debugId=8BF88FB854DE1FC564756E2164756E21
3
+ //# debugId=444F8D6BB238450F64756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
@@ -3,9 +3,9 @@
3
3
  "sources": ["../src/coinbase/index.ts", "../src/coinbase/signer.ts"],
4
4
  "sourcesContent": [
5
5
  "import {\n Chain,\n ChainToChainId,\n SKConfig,\n WalletOption,\n filterSupportedChains,\n} from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\n\nimport { getWalletMethods } from \"./signer\";\n\nexport const coinbaseWallet = createWallet({\n name: \"connectCoinbaseWallet\",\n walletType: WalletOption.COINBASE_MOBILE,\n supportedChains: [\n Chain.Arbitrum,\n Chain.Avalanche,\n Chain.Base,\n Chain.BinanceSmartChain,\n Chain.Ethereum,\n Chain.Optimism,\n Chain.Polygon,\n ],\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 || {\n appName: \"Swapkit Playground\",\n };\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});\n\nexport const COINBASE_SUPPORTED_CHAINS = getWalletSupportedChains(coinbaseWallet);\n",
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 } from \"ethers\";\n\nasync function getCoinbaseMobileSigner(\n walletProvider: CoinbaseWalletProvider,\n provider?: Provider,\n) {\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[]>({\n method: \"eth_requestAccounts\",\n });\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>({\n method: \"eth_signTransaction\",\n });\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 signTypedData = () => {\n throw new SwapKitError(\"wallet_coinbase_method_not_supported\", { method: \"signTypedData\" });\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.BinanceSmartChain: {\n const walletProvider = coinbaseSdk.getProvider() as CoinbaseWalletProvider;\n const { getEvmToolbox, getProvider } = await import(\"@swapkit/toolboxes/evm\");\n\n const provider = await getProvider(chain);\n const signer = await getCoinbaseMobileSigner(walletProvider, provider);\n const toolbox = await getEvmToolbox(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"
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 } from \"ethers\";\n\nasync function getCoinbaseMobileSigner(\n walletProvider: CoinbaseWalletProvider,\n provider?: Provider,\n) {\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[]>({\n method: \"eth_requestAccounts\",\n });\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>({\n method: \"eth_signTransaction\",\n });\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 signTypedData = () => {\n throw new SwapKitError(\"wallet_coinbase_method_not_supported\", { method: \"signTypedData\" });\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 { getEvmToolbox, getProvider } = await import(\"@swapkit/toolboxes/evm\");\n\n const provider = await getProvider(chain);\n const signer = await getCoinbaseMobileSigner(walletProvider, provider);\n const toolbox = await getEvmToolbox(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": "mDAAA,gBACE,oBACA,cACA,kBACA,2BACA,yBAEF,uBAAS,8BAAc,6BCLvB,gBAAS,kBAAO,yBAGhB,eAAe,CAAuB,CACpC,EACA,EACA,CACA,IAAQ,kBAAmB,KAAa,kBAExC,MAAM,UAA6B,CAAe,CAChD,GAEA,WAAW,CAAC,EAA0C,EAAqB,CACzE,MAAM,CAAQ,EACd,KAAK,GAAoB,OAGrB,WAAU,EAAG,CACjB,IAAM,EAAW,MAAM,KAAK,GAAkB,QAAkB,CAC9D,OAAQ,qBACV,CAAC,EAED,IAAK,EAAS,GAAI,MAAM,IAAI,EAAa,6BAA6B,EAEtE,OAAO,EAAS,QAGZ,gBAAe,EAAG,CACtB,OAAO,MAAM,KAAK,GAAkB,QAAgB,CAClD,OAAQ,qBACV,CAAC,OAGG,YAAW,CAAC,EAA8B,CAC9C,OAAO,MAAM,KAAK,GAAkB,QAAgB,CAClD,OAAQ,gBACR,OAAQ,CAAC,EAAS,MAAM,KAAK,WAAW,CAAC,CAC3C,CAAC,EAGH,cAAgB,IAAM,CACpB,MAAM,IAAI,EAAa,uCAAwC,CAAE,OAAQ,eAAgB,CAAC,GAG5F,OAAO,CAAC,EAAoB,CAC1B,OAAO,IAAI,EAAqB,KAAK,GAAmB,CAAQ,EAEpE,CAEA,OAAO,IAAI,EAAqB,EAAgB,CAAQ,EAGnD,IAAM,EAAmB,OAC9B,QACA,iBAII,CACJ,OAAQ,QACD,EAAM,cACN,EAAM,eACN,EAAM,cACN,EAAM,cACN,EAAM,aACN,EAAM,kBAAmB,CAC5B,IAAM,EAAiB,EAAY,YAAY,GACvC,gBAAe,eAAgB,KAAa,kCAE9C,EAAW,MAAM,EAAY,CAAK,EAClC,EAAS,MAAM,EAAwB,EAAgB,CAAQ,EAC/D,EAAU,MAAM,EAAc,EAAO,CAAE,WAAU,QAAO,CAAC,EACzD,EAAU,MAAM,EAAO,WAAW,EAExC,MAAO,IAAK,EAAS,SAAQ,CAC/B,SAGE,MAAM,IAAI,EAAa,sCAAuC,CAAE,OAAM,CAAC,IDrEtE,IAAM,EAAiB,EAAa,CACzC,KAAM,wBACN,WAAY,EAAa,gBACzB,gBAAiB,CACf,EAAM,SACN,EAAM,UACN,EAAM,KACN,EAAM,kBACN,EAAM,SACN,EAAM,SACN,EAAM,OACR,EACA,QAAS,EAAG,WAAU,aAAY,qBAChC,eAAe,CAAqB,CAAC,EAAiB,CACpD,IAAQ,2BAA4B,KAAa,gCAE3C,EAAiB,EAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAE9E,EAAiB,EAAS,IAAI,cAAc,EAAE,UAAY,CAC9D,QAAS,oBACX,EAEM,EAAc,EAAwB,IACvC,EACH,YAAa,EAAe,IAAI,CAAC,IAAU,OAAO,EAAe,EAAM,CAAC,CAC1E,CAAC,EAUD,OARA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,IAAM,EAAgB,MAAM,EAAiB,CAAE,QAAO,aAAY,CAAC,EAEnE,EAAS,IAAK,EAAe,QAAO,YAAW,CAAC,EACjD,CACH,EAEO,GAEb,CAAC,EAEY,EAA4B,EAAyB,CAAc",
9
- "debugId": "8BF88FB854DE1FC564756E2164756E21",
8
+ "mappings": "mDAAA,gBACE,oBACA,cACA,kBACA,2BACA,yBAEF,uBAAS,8BAAc,6BCLvB,gBAAS,kBAAO,yBAGhB,eAAe,CAAuB,CACpC,EACA,EACA,CACA,IAAQ,kBAAmB,KAAa,kBAExC,MAAM,UAA6B,CAAe,CAChD,GAEA,WAAW,CAAC,EAA0C,EAAqB,CACzE,MAAM,CAAQ,EACd,KAAK,GAAoB,OAGrB,WAAU,EAAG,CACjB,IAAM,EAAW,MAAM,KAAK,GAAkB,QAAkB,CAC9D,OAAQ,qBACV,CAAC,EAED,IAAK,EAAS,GAAI,MAAM,IAAI,EAAa,6BAA6B,EAEtE,OAAO,EAAS,QAGZ,gBAAe,EAAG,CACtB,OAAO,MAAM,KAAK,GAAkB,QAAgB,CAClD,OAAQ,qBACV,CAAC,OAGG,YAAW,CAAC,EAA8B,CAC9C,OAAO,MAAM,KAAK,GAAkB,QAAgB,CAClD,OAAQ,gBACR,OAAQ,CAAC,EAAS,MAAM,KAAK,WAAW,CAAC,CAC3C,CAAC,EAGH,cAAgB,IAAM,CACpB,MAAM,IAAI,EAAa,uCAAwC,CAAE,OAAQ,eAAgB,CAAC,GAG5F,OAAO,CAAC,EAAoB,CAC1B,OAAO,IAAI,EAAqB,KAAK,GAAmB,CAAQ,EAEpE,CAEA,OAAO,IAAI,EAAqB,EAAgB,CAAQ,EAGnD,IAAM,EAAmB,OAC9B,QACA,iBAII,CACJ,OAAQ,QACD,EAAM,cACN,EAAM,eACN,EAAM,cACN,EAAM,cACN,EAAM,aACN,EAAM,UACN,EAAM,kBAAmB,CAC5B,IAAM,EAAiB,EAAY,YAAY,GACvC,gBAAe,eAAgB,KAAa,kCAE9C,EAAW,MAAM,EAAY,CAAK,EAClC,EAAS,MAAM,EAAwB,EAAgB,CAAQ,EAC/D,EAAU,MAAM,EAAc,EAAO,CAAE,WAAU,QAAO,CAAC,EACzD,EAAU,MAAM,EAAO,WAAW,EAExC,MAAO,IAAK,EAAS,SAAQ,CAC/B,SAGE,MAAM,IAAI,EAAa,sCAAuC,CAAE,OAAM,CAAC,IDtEtE,IAAM,EAAiB,EAAa,CACzC,KAAM,wBACN,WAAY,EAAa,gBACzB,gBAAiB,CACf,EAAM,SACN,EAAM,UACN,EAAM,KACN,EAAM,kBACN,EAAM,SACN,EAAM,SACN,EAAM,OACR,EACA,QAAS,EAAG,WAAU,aAAY,qBAChC,eAAe,CAAqB,CAAC,EAAiB,CACpD,IAAQ,2BAA4B,KAAa,gCAE3C,EAAiB,EAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAE9E,EAAiB,EAAS,IAAI,cAAc,EAAE,UAAY,CAC9D,QAAS,oBACX,EAEM,EAAc,EAAwB,IACvC,EACH,YAAa,EAAe,IAAI,CAAC,IAAU,OAAO,EAAe,EAAM,CAAC,CAC1E,CAAC,EAUD,OARA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,IAAM,EAAgB,MAAM,EAAiB,CAAE,QAAO,aAAY,CAAC,EAEnE,EAAS,IAAK,EAAe,QAAO,YAAW,CAAC,EACjD,CACH,EAEO,GAEb,CAAC,EAEY,EAA4B,EAAyB,CAAc",
9
+ "debugId": "444F8D6BB238450F64756E2164756E21",
10
10
  "names": []
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../../src/coinbase/signer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sDAAsD,CAAC;AACpG,OAAO,EAAE,KAAK,EAAgB,MAAM,kBAAkB,CAAC;AAoDvD,eAAO,MAAM,gBAAgB,GAAU,yBAGpC;IACD,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;CACzD;;;;;yBAtDC,CAAC,kBAAkB,CAAC,sBACpB,CAAC;;4CAKQ,CAAC;;iDAIW,GAAI;;;;;;sCAoBd,GAAG;;;;;;;gIAqC4B,GAAI;iIAU1C,GAAI;;;gBAAyT,CAAC;kBAA4B,CAAC;mBAAgC,CAAC;YAAwC,CAAC;;;kBAA+I,CAAC;gBAA0B,CAAC;oBAA8B,CAAC;4BAAsC,CAAC;;;sCAAgL,GAAI;oBAAuD,CAAC;;;oEAAqU,GAAI;;;;;4CAAqO,CAAC;;iDAAmK,GAAI;;;;;;sCAAqf,GAAI;;;;;;;gIAA+mC,GAAI;iIAAiO,GAAI;;;gBAAyT,CAAC;kBAA4B,CAAC;mBAAgC,CAAC;YAAwC,CAAC;;;kBAA+I,CAAC;gBAA0B,CAAC;oBAA8B,CAAC;4BAAsC,CAAC;;;sCAAgL,GAAI;oBAAuD,CAAC;;;oEAAqU,GAAI;;EADrnJ,CAAC"}
1
+ {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../../src/coinbase/signer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sDAAsD,CAAC;AACpG,OAAO,EAAE,KAAK,EAAgB,MAAM,kBAAkB,CAAC;AAoDvD,eAAO,MAAM,gBAAgB,GAAU,yBAGpC;IACD,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;CACzD;;;;;yBAtDC,CAAC,kBAAkB,CAAC,sBACpB,CAAC;;4CAKQ,CAAC;;iDAIW,GAAI;;;;;;sCAoBd,GAAG;;;;;;;gIAsCO,GAAI;iIAO6C,GAAI;;;gBAGkO,CAAC;kBAA4B,CAAC;mBAAgC,CAAC;YAAwC,CAAC;;;kBAA+I,CAAC;gBAA0B,CAAC;oBAA8B,CAAC;4BAAsC,CAAC;;;sCAAgL,GAAI;oBAAuD,CAAC;;;oEAAqU,GAAI;;;;;4CAAqO,CAAC;;iDAAmK,GAAI;;;;;;sCAAqf,GAAI;;;;;;;gIAA+mC,GAAI;iIAAiO,GAAI;;;gBAAyT,CAAC;kBAA4B,CAAC;mBAAgC,CAAC;YAAwC,CAAC;;;kBAA+I,CAAC;gBAA0B,CAAC;oBAA8B,CAAC;4BAAsC,CAAC;;;sCAAgL,GAAI;oBAAuD,CAAC;;;oEAAqU,GAAI;;EADhmJ,CAAC"}
package/package.json CHANGED
@@ -12,11 +12,11 @@
12
12
  "@scure/base": "~1.2.0",
13
13
  "@scure/bip39": "~1.6.0",
14
14
  "@solana/web3.js": "~1.98.0",
15
- "@swapkit/helpers": "4.0.0-beta.39",
16
- "@swapkit/toolboxes": "4.0.0-beta.56",
17
- "@swapkit/wallet-core": "4.0.0-beta.7",
18
- "@swapkit/wallet-hardware": "4.0.0-beta.7",
19
- "@swapkit/wallet-keystore": "4.0.0-beta.7",
15
+ "@swapkit/helpers": "4.0.0-beta.40",
16
+ "@swapkit/toolboxes": "4.0.0-beta.57",
17
+ "@swapkit/wallet-core": "4.0.0-beta.8",
18
+ "@swapkit/wallet-hardware": "4.0.0-beta.8",
19
+ "@swapkit/wallet-keystore": "4.0.0-beta.8",
20
20
  "@trezor/connect-web": "~9.6.0",
21
21
  "@walletconnect/modal": "~2.7.0",
22
22
  "@walletconnect/sign-client": "~2.21.0",
@@ -42,8 +42,8 @@
42
42
  "@scure/base": "1.2.6",
43
43
  "@scure/bip39": "1.6.0",
44
44
  "@solana/web3.js": "1.98.2",
45
- "@swapkit/helpers": "4.0.0-beta.39",
46
- "@swapkit/toolboxes": "4.0.0-beta.56",
45
+ "@swapkit/helpers": "4.0.0-beta.40",
46
+ "@swapkit/toolboxes": "4.0.0-beta.57",
47
47
  "@trezor/connect-web": "9.6.0",
48
48
  "@walletconnect/logger": "2.1.2",
49
49
  "@walletconnect/modal": "2.7.0",
@@ -190,5 +190,5 @@
190
190
  "type-check:go": "tsgo"
191
191
  },
192
192
  "type": "module",
193
- "version": "4.0.0-beta.60"
193
+ "version": "4.0.0-beta.61"
194
194
  }