@vleap/warps-adapter-evm 0.2.0-beta.57 → 0.2.0-beta.59
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.js +131 -92
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +58 -19
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -248,6 +248,37 @@ var MnemonicWalletProvider = class {
|
|
|
248
248
|
}
|
|
249
249
|
};
|
|
250
250
|
|
|
251
|
+
// src/providers/ReadOnlyWalletProvider.ts
|
|
252
|
+
import { getWarpWalletAddressFromConfig } from "@vleap/warps";
|
|
253
|
+
var ReadOnlyWalletProvider = class {
|
|
254
|
+
constructor(config, chain) {
|
|
255
|
+
this.config = config;
|
|
256
|
+
this.chain = chain;
|
|
257
|
+
}
|
|
258
|
+
async getAddress() {
|
|
259
|
+
return getWarpWalletAddressFromConfig(this.config, this.chain.name);
|
|
260
|
+
}
|
|
261
|
+
async getPublicKey() {
|
|
262
|
+
return null;
|
|
263
|
+
}
|
|
264
|
+
async signTransaction(tx) {
|
|
265
|
+
const address = await this.getAddress();
|
|
266
|
+
throw new Error(`Wallet can not be used for signing: ${address}`);
|
|
267
|
+
}
|
|
268
|
+
async signMessage(message) {
|
|
269
|
+
const address = await this.getAddress();
|
|
270
|
+
throw new Error(`Wallet can not be used for signing: ${address}`);
|
|
271
|
+
}
|
|
272
|
+
create(mnemonic) {
|
|
273
|
+
const address = getWarpWalletAddressFromConfig(this.config, this.chain.name);
|
|
274
|
+
throw new Error(`Wallet can not be used for signing: ${address}`);
|
|
275
|
+
}
|
|
276
|
+
generate() {
|
|
277
|
+
const address = getWarpWalletAddressFromConfig(this.config, this.chain.name);
|
|
278
|
+
throw new Error(`Wallet can not be used for signing: ${address}`);
|
|
279
|
+
}
|
|
280
|
+
};
|
|
281
|
+
|
|
251
282
|
// src/tokens/arbitrum.ts
|
|
252
283
|
import { WarpChainName } from "@vleap/warps";
|
|
253
284
|
var ArbitrumChain = WarpChainName.Arbitrum;
|
|
@@ -696,7 +727,7 @@ import {
|
|
|
696
727
|
getNextInfo,
|
|
697
728
|
getProviderConfig as getProviderConfig3,
|
|
698
729
|
getWarpActionByIndex,
|
|
699
|
-
getWarpWalletAddressFromConfig as
|
|
730
|
+
getWarpWalletAddressFromConfig as getWarpWalletAddressFromConfig3
|
|
700
731
|
} from "@vleap/warps";
|
|
701
732
|
import { ethers as ethers6 } from "ethers";
|
|
702
733
|
|
|
@@ -829,7 +860,7 @@ import {
|
|
|
829
860
|
evaluateOutputCommon,
|
|
830
861
|
extractResolvedInputValues,
|
|
831
862
|
getProviderConfig as getProviderConfig2,
|
|
832
|
-
getWarpWalletAddressFromConfig,
|
|
863
|
+
getWarpWalletAddressFromConfig as getWarpWalletAddressFromConfig2,
|
|
833
864
|
parseOutputOutIndex,
|
|
834
865
|
WarpConstants as WarpConstants2,
|
|
835
866
|
WarpCache as WarpCache3,
|
|
@@ -1020,7 +1051,7 @@ var WarpEvmOutput = class {
|
|
|
1020
1051
|
status: "error",
|
|
1021
1052
|
warp,
|
|
1022
1053
|
action: actionIndex,
|
|
1023
|
-
user:
|
|
1054
|
+
user: getWarpWalletAddressFromConfig2(this.config, this.chain.name),
|
|
1024
1055
|
txHash: "",
|
|
1025
1056
|
tx: null,
|
|
1026
1057
|
next: null,
|
|
@@ -1043,7 +1074,7 @@ var WarpEvmOutput = class {
|
|
|
1043
1074
|
status: success ? "success" : "error",
|
|
1044
1075
|
warp,
|
|
1045
1076
|
action: actionIndex,
|
|
1046
|
-
user:
|
|
1077
|
+
user: getWarpWalletAddressFromConfig2(this.config, this.chain.name),
|
|
1047
1078
|
txHash: transactionHash,
|
|
1048
1079
|
tx,
|
|
1049
1080
|
next: null,
|
|
@@ -1074,7 +1105,7 @@ var WarpEvmOutput = class {
|
|
|
1074
1105
|
status: success ? "success" : "error",
|
|
1075
1106
|
warp,
|
|
1076
1107
|
action: actionIndex,
|
|
1077
|
-
user:
|
|
1108
|
+
user: getWarpWalletAddressFromConfig2(this.config, this.chain.name),
|
|
1078
1109
|
txHash: transactionHash,
|
|
1079
1110
|
tx,
|
|
1080
1111
|
next: null,
|
|
@@ -1167,7 +1198,7 @@ var WarpEvmExecutor = class {
|
|
|
1167
1198
|
return tx;
|
|
1168
1199
|
}
|
|
1169
1200
|
async createTransferTransaction(executable) {
|
|
1170
|
-
const userWallet =
|
|
1201
|
+
const userWallet = getWarpWalletAddressFromConfig3(this.config, executable.chain.name);
|
|
1171
1202
|
if (!userWallet) throw new Error("WarpEvmExecutor: createTransfer - user address not set");
|
|
1172
1203
|
if (!ethers6.isAddress(executable.destination)) {
|
|
1173
1204
|
throw new Error(`WarpEvmExecutor: Invalid destination address: ${executable.destination}`);
|
|
@@ -1183,7 +1214,7 @@ var WarpEvmExecutor = class {
|
|
|
1183
1214
|
return this.estimateGasAndSetDefaults(tx, userWallet);
|
|
1184
1215
|
}
|
|
1185
1216
|
async createContractCallTransaction(executable) {
|
|
1186
|
-
const userWallet =
|
|
1217
|
+
const userWallet = getWarpWalletAddressFromConfig3(this.config, executable.chain.name);
|
|
1187
1218
|
if (!userWallet) throw new Error("WarpEvmExecutor: createContractCall - user address not set");
|
|
1188
1219
|
const action = getWarpActionByIndex(executable.warp, executable.action);
|
|
1189
1220
|
if (!action || !("func" in action) || !action.func) throw new Error("WarpEvmExecutor: Contract action must have a function name");
|
|
@@ -1283,7 +1314,7 @@ var WarpEvmExecutor = class {
|
|
|
1283
1314
|
status: isSuccess ? "success" : "error",
|
|
1284
1315
|
warp: executable.warp,
|
|
1285
1316
|
action: executable.action,
|
|
1286
|
-
user:
|
|
1317
|
+
user: getWarpWalletAddressFromConfig3(this.config, executable.chain.name),
|
|
1287
1318
|
txHash: null,
|
|
1288
1319
|
tx: null,
|
|
1289
1320
|
next,
|
|
@@ -1301,7 +1332,7 @@ var WarpEvmExecutor = class {
|
|
|
1301
1332
|
status: "error",
|
|
1302
1333
|
warp: executable.warp,
|
|
1303
1334
|
action: executable.action,
|
|
1304
|
-
user:
|
|
1335
|
+
user: getWarpWalletAddressFromConfig3(this.config, executable.chain.name),
|
|
1305
1336
|
txHash: null,
|
|
1306
1337
|
tx: null,
|
|
1307
1338
|
next: null,
|
|
@@ -1562,7 +1593,7 @@ var WarpEvmWallet = class {
|
|
|
1562
1593
|
createProvider() {
|
|
1563
1594
|
const wallet = this.config.user?.wallets?.[this.chain.name];
|
|
1564
1595
|
if (!wallet) return null;
|
|
1565
|
-
if (typeof wallet === "string")
|
|
1596
|
+
if (typeof wallet === "string") return new ReadOnlyWalletProvider(this.config, this.chain);
|
|
1566
1597
|
const customWalletProviders = this.config.walletProviders?.[this.chain.name];
|
|
1567
1598
|
const providerFactory = customWalletProviders?.[wallet.provider];
|
|
1568
1599
|
if (providerFactory) return providerFactory(this.config, this.chain);
|
|
@@ -1579,6 +1610,7 @@ var WarpEvmWallet = class {
|
|
|
1579
1610
|
async signTransaction(tx) {
|
|
1580
1611
|
if (!tx || typeof tx !== "object") throw new Error("Invalid transaction object");
|
|
1581
1612
|
if (!this.walletProvider) throw new Error("No wallet provider available");
|
|
1613
|
+
if (this.walletProvider instanceof ReadOnlyWalletProvider) throw new Error(`Wallet (${this.chain.name}) is read-only`);
|
|
1582
1614
|
return await this.walletProvider.signTransaction(tx);
|
|
1583
1615
|
}
|
|
1584
1616
|
async signTransactions(txs) {
|
|
@@ -1589,7 +1621,7 @@ var WarpEvmWallet = class {
|
|
|
1589
1621
|
const address = wallet.address;
|
|
1590
1622
|
if (txs.length > 1) {
|
|
1591
1623
|
const currentNonce = await this.provider.getTransactionCount(address, "pending");
|
|
1592
|
-
const
|
|
1624
|
+
const signedTxs2 = [];
|
|
1593
1625
|
for (let i = 0; i < txs.length; i++) {
|
|
1594
1626
|
const tx = { ...txs[i] };
|
|
1595
1627
|
tx.nonce = currentNonce + i;
|
|
@@ -1606,15 +1638,20 @@ var WarpEvmWallet = class {
|
|
|
1606
1638
|
delete tx.maxPriorityFeePerGas;
|
|
1607
1639
|
}
|
|
1608
1640
|
}
|
|
1609
|
-
|
|
1641
|
+
signedTxs2.push(await this.signTransaction(tx));
|
|
1610
1642
|
}
|
|
1611
|
-
return
|
|
1643
|
+
return signedTxs2;
|
|
1612
1644
|
}
|
|
1613
1645
|
}
|
|
1614
|
-
|
|
1646
|
+
const signedTxs = [];
|
|
1647
|
+
for (const tx of txs) {
|
|
1648
|
+
signedTxs.push(await this.signTransaction(tx));
|
|
1649
|
+
}
|
|
1650
|
+
return signedTxs;
|
|
1615
1651
|
}
|
|
1616
1652
|
async signMessage(message) {
|
|
1617
1653
|
if (!this.walletProvider) throw new Error("No wallet provider available");
|
|
1654
|
+
if (this.walletProvider instanceof ReadOnlyWalletProvider) throw new Error(`Wallet (${this.chain.name}) is read-only`);
|
|
1618
1655
|
return await this.walletProvider.signMessage(message);
|
|
1619
1656
|
}
|
|
1620
1657
|
async sendTransaction(tx) {
|
|
@@ -1634,10 +1671,12 @@ var WarpEvmWallet = class {
|
|
|
1634
1671
|
}
|
|
1635
1672
|
create(mnemonic) {
|
|
1636
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`);
|
|
1637
1675
|
return this.walletProvider.create(mnemonic);
|
|
1638
1676
|
}
|
|
1639
1677
|
generate() {
|
|
1640
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`);
|
|
1641
1680
|
return this.walletProvider.generate();
|
|
1642
1681
|
}
|
|
1643
1682
|
getAddress() {
|
|
@@ -1822,7 +1861,7 @@ var EthereumAdapter = createEvmAdapter(WarpChainName10.Ethereum, {
|
|
|
1822
1861
|
});
|
|
1823
1862
|
|
|
1824
1863
|
// src/adapters.ts
|
|
1825
|
-
import {
|
|
1864
|
+
import { withAdapterFallback } from "@vleap/warps";
|
|
1826
1865
|
|
|
1827
1866
|
// src/chains/somnia.ts
|
|
1828
1867
|
import { WarpChainName as WarpChainName11 } from "@vleap/warps";
|
|
@@ -1877,10 +1916,10 @@ var SomniaAdapter = createEvmAdapter(WarpChainName11.Somnia, {
|
|
|
1877
1916
|
|
|
1878
1917
|
// src/adapters.ts
|
|
1879
1918
|
var getAllEvmAdapters = (fallbackFactory) => [
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1919
|
+
withAdapterFallback(EthereumAdapter, fallbackFactory),
|
|
1920
|
+
withAdapterFallback(BaseAdapter, fallbackFactory),
|
|
1921
|
+
withAdapterFallback(ArbitrumAdapter, fallbackFactory),
|
|
1922
|
+
withAdapterFallback(SomniaAdapter, fallbackFactory)
|
|
1884
1923
|
];
|
|
1885
1924
|
export {
|
|
1886
1925
|
ArbitrumAdapter,
|