@vleap/warps-adapter-evm 0.2.0-beta.59 → 0.2.0-beta.60

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/index.mjs CHANGED
@@ -99,11 +99,10 @@ var UniswapService = _UniswapService;
99
99
  // src/providers/PrivateKeyWalletProvider.ts
100
100
  import { ethers } from "ethers";
101
101
  import { getWarpWalletPrivateKeyFromConfig } from "@vleap/warps";
102
- var PrivateKeyWalletProvider = class {
103
- constructor(config, chain, rpcProvider) {
102
+ var _PrivateKeyWalletProvider = class _PrivateKeyWalletProvider {
103
+ constructor(config, chain) {
104
104
  this.config = config;
105
105
  this.chain = chain;
106
- this.rpcProvider = rpcProvider;
107
106
  this.wallet = null;
108
107
  }
109
108
  async getAddress() {
@@ -146,21 +145,15 @@ var PrivateKeyWalletProvider = class {
146
145
  return this.getWallet();
147
146
  }
148
147
  create(mnemonic) {
149
- const wallet = ethers.Wallet.fromPhrase(mnemonic);
150
- return {
151
- provider: "privateKey",
152
- address: wallet.address,
153
- privateKey: wallet.privateKey,
154
- mnemonic
155
- };
148
+ throw new Error("PrivateKeyWalletProvider does not support creating wallets from mnemonics. Use MnemonicWalletProvider instead.");
156
149
  }
157
150
  generate() {
158
151
  const wallet = ethers.Wallet.createRandom();
159
152
  return {
160
- provider: "privateKey",
153
+ provider: _PrivateKeyWalletProvider.PROVIDER_NAME,
161
154
  address: wallet.address,
162
155
  privateKey: wallet.privateKey,
163
- mnemonic: wallet.mnemonic?.phrase || null
156
+ mnemonic: null
164
157
  };
165
158
  }
166
159
  getWallet() {
@@ -171,15 +164,16 @@ var PrivateKeyWalletProvider = class {
171
164
  return this.wallet;
172
165
  }
173
166
  };
167
+ _PrivateKeyWalletProvider.PROVIDER_NAME = "privateKey";
168
+ var PrivateKeyWalletProvider = _PrivateKeyWalletProvider;
174
169
 
175
170
  // src/providers/MnemonicWalletProvider.ts
176
171
  import { ethers as ethers2 } from "ethers";
177
172
  import { getWarpWalletMnemonicFromConfig } from "@vleap/warps";
178
- var MnemonicWalletProvider = class {
179
- constructor(config, chain, rpcProvider) {
173
+ var _MnemonicWalletProvider = class _MnemonicWalletProvider {
174
+ constructor(config, chain) {
180
175
  this.config = config;
181
176
  this.chain = chain;
182
- this.rpcProvider = rpcProvider;
183
177
  this.wallet = null;
184
178
  }
185
179
  async getAddress() {
@@ -224,18 +218,18 @@ var MnemonicWalletProvider = class {
224
218
  create(mnemonic) {
225
219
  const wallet = ethers2.Wallet.fromPhrase(mnemonic);
226
220
  return {
227
- provider: "mnemonic",
221
+ provider: _MnemonicWalletProvider.PROVIDER_NAME,
228
222
  address: wallet.address,
229
- privateKey: wallet.privateKey,
223
+ privateKey: null,
230
224
  mnemonic
231
225
  };
232
226
  }
233
227
  generate() {
234
228
  const wallet = ethers2.Wallet.createRandom();
235
229
  return {
236
- provider: "mnemonic",
230
+ provider: _MnemonicWalletProvider.PROVIDER_NAME,
237
231
  address: wallet.address,
238
- privateKey: wallet.privateKey,
232
+ privateKey: null,
239
233
  mnemonic: wallet.mnemonic?.phrase || null
240
234
  };
241
235
  }
@@ -247,6 +241,8 @@ var MnemonicWalletProvider = class {
247
241
  return this.wallet;
248
242
  }
249
243
  };
244
+ _MnemonicWalletProvider.PROVIDER_NAME = "mnemonic";
245
+ var MnemonicWalletProvider = _MnemonicWalletProvider;
250
246
 
251
247
  // src/providers/ReadOnlyWalletProvider.ts
252
248
  import { getWarpWalletAddressFromConfig } from "@vleap/warps";
@@ -1590,23 +1586,6 @@ var WarpEvmWallet = class {
1590
1586
  this.walletProvider = this.createProvider();
1591
1587
  this.initializeCache();
1592
1588
  }
1593
- createProvider() {
1594
- const wallet = this.config.user?.wallets?.[this.chain.name];
1595
- if (!wallet) return null;
1596
- if (typeof wallet === "string") return new ReadOnlyWalletProvider(this.config, this.chain);
1597
- const customWalletProviders = this.config.walletProviders?.[this.chain.name];
1598
- const providerFactory = customWalletProviders?.[wallet.provider];
1599
- if (providerFactory) return providerFactory(this.config, this.chain);
1600
- if (wallet.provider === "privateKey") return new PrivateKeyWalletProvider(this.config, this.chain, this.provider);
1601
- if (wallet.provider === "mnemonic") return new MnemonicWalletProvider(this.config, this.chain, this.provider);
1602
- throw new Error(`Unsupported wallet provider for ${this.chain.name}: ${wallet.provider}`);
1603
- }
1604
- initializeCache() {
1605
- initializeWalletCache(this.walletProvider).then((cache) => {
1606
- this.cachedAddress = cache.address;
1607
- this.cachedPublicKey = cache.publicKey;
1608
- });
1609
- }
1610
1589
  async signTransaction(tx) {
1611
1590
  if (!tx || typeof tx !== "object") throw new Error("Invalid transaction object");
1612
1591
  if (!this.walletProvider) throw new Error("No wallet provider available");
@@ -1669,15 +1648,13 @@ var WarpEvmWallet = class {
1669
1648
  async sendTransactions(txs) {
1670
1649
  return Promise.all(txs.map(async (tx) => this.sendTransaction(tx)));
1671
1650
  }
1672
- create(mnemonic) {
1673
- if (!this.walletProvider) throw new Error("No wallet provider available");
1674
- if (this.walletProvider instanceof ReadOnlyWalletProvider) throw new Error(`Wallet (${this.chain.name}) is read-only`);
1675
- return this.walletProvider.create(mnemonic);
1651
+ create(mnemonic, provider) {
1652
+ const walletProvider = this.createProviderForOperation(provider);
1653
+ return walletProvider.create(mnemonic);
1676
1654
  }
1677
- generate() {
1678
- if (!this.walletProvider) throw new Error("No wallet provider available");
1679
- if (this.walletProvider instanceof ReadOnlyWalletProvider) throw new Error(`Wallet (${this.chain.name}) is read-only`);
1680
- return this.walletProvider.generate();
1655
+ generate(provider) {
1656
+ const walletProvider = this.createProviderForOperation(provider);
1657
+ return walletProvider.generate();
1681
1658
  }
1682
1659
  getAddress() {
1683
1660
  return this.cachedAddress;
@@ -1701,6 +1678,30 @@ var WarpEvmWallet = class {
1701
1678
  }
1702
1679
  return handlers;
1703
1680
  }
1681
+ createProvider() {
1682
+ const wallet = this.config.user?.wallets?.[this.chain.name];
1683
+ if (!wallet) return null;
1684
+ if (typeof wallet === "string") return new ReadOnlyWalletProvider(this.config, this.chain);
1685
+ return this.createProviderForOperation(wallet.provider);
1686
+ }
1687
+ initializeCache() {
1688
+ initializeWalletCache(this.walletProvider).then((cache) => {
1689
+ this.cachedAddress = cache.address;
1690
+ this.cachedPublicKey = cache.publicKey;
1691
+ });
1692
+ }
1693
+ createProviderForOperation(provider) {
1694
+ const customWalletProviders = this.config.walletProviders?.[this.chain.name];
1695
+ const providerFactory = customWalletProviders?.[provider];
1696
+ if (providerFactory) {
1697
+ const walletProvider = providerFactory(this.config, this.chain);
1698
+ if (!walletProvider) throw new Error(`Custom wallet provider factory returned null for ${provider}`);
1699
+ return walletProvider;
1700
+ }
1701
+ if (provider === "privateKey") return new PrivateKeyWalletProvider(this.config, this.chain);
1702
+ if (provider === "mnemonic") return new MnemonicWalletProvider(this.config, this.chain);
1703
+ throw new Error(`Unsupported wallet provider for ${this.chain.name}: ${provider}`);
1704
+ }
1704
1705
  };
1705
1706
 
1706
1707
  // src/chains/common.ts