@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.js
CHANGED
|
@@ -51,10 +51,10 @@ __export(index_exports, {
|
|
|
51
51
|
module.exports = __toCommonJS(index_exports);
|
|
52
52
|
|
|
53
53
|
// src/chains/arbitrum.ts
|
|
54
|
-
var
|
|
54
|
+
var import_warps16 = require("@vleap/warps");
|
|
55
55
|
|
|
56
56
|
// src/WarpEvmDataLoader.ts
|
|
57
|
-
var
|
|
57
|
+
var import_warps11 = require("@vleap/warps");
|
|
58
58
|
var import_ethers3 = require("ethers");
|
|
59
59
|
|
|
60
60
|
// src/providers/UniswapService.ts
|
|
@@ -295,9 +295,40 @@ var MnemonicWalletProvider = class {
|
|
|
295
295
|
}
|
|
296
296
|
};
|
|
297
297
|
|
|
298
|
-
// src/
|
|
298
|
+
// src/providers/ReadOnlyWalletProvider.ts
|
|
299
299
|
var import_warps4 = require("@vleap/warps");
|
|
300
|
-
var
|
|
300
|
+
var ReadOnlyWalletProvider = class {
|
|
301
|
+
constructor(config, chain) {
|
|
302
|
+
this.config = config;
|
|
303
|
+
this.chain = chain;
|
|
304
|
+
}
|
|
305
|
+
async getAddress() {
|
|
306
|
+
return (0, import_warps4.getWarpWalletAddressFromConfig)(this.config, this.chain.name);
|
|
307
|
+
}
|
|
308
|
+
async getPublicKey() {
|
|
309
|
+
return null;
|
|
310
|
+
}
|
|
311
|
+
async signTransaction(tx) {
|
|
312
|
+
const address = await this.getAddress();
|
|
313
|
+
throw new Error(`Wallet can not be used for signing: ${address}`);
|
|
314
|
+
}
|
|
315
|
+
async signMessage(message) {
|
|
316
|
+
const address = await this.getAddress();
|
|
317
|
+
throw new Error(`Wallet can not be used for signing: ${address}`);
|
|
318
|
+
}
|
|
319
|
+
create(mnemonic) {
|
|
320
|
+
const address = (0, import_warps4.getWarpWalletAddressFromConfig)(this.config, this.chain.name);
|
|
321
|
+
throw new Error(`Wallet can not be used for signing: ${address}`);
|
|
322
|
+
}
|
|
323
|
+
generate() {
|
|
324
|
+
const address = (0, import_warps4.getWarpWalletAddressFromConfig)(this.config, this.chain.name);
|
|
325
|
+
throw new Error(`Wallet can not be used for signing: ${address}`);
|
|
326
|
+
}
|
|
327
|
+
};
|
|
328
|
+
|
|
329
|
+
// src/tokens/arbitrum.ts
|
|
330
|
+
var import_warps5 = require("@vleap/warps");
|
|
331
|
+
var ArbitrumChain = import_warps5.WarpChainName.Arbitrum;
|
|
301
332
|
var ArbitrumTokens = [
|
|
302
333
|
{
|
|
303
334
|
chain: ArbitrumChain,
|
|
@@ -334,8 +365,8 @@ var ArbitrumTokens = [
|
|
|
334
365
|
];
|
|
335
366
|
|
|
336
367
|
// src/tokens/arbitrum-sepolia.ts
|
|
337
|
-
var
|
|
338
|
-
var ArbitrumChain2 =
|
|
368
|
+
var import_warps6 = require("@vleap/warps");
|
|
369
|
+
var ArbitrumChain2 = import_warps6.WarpChainName.Arbitrum;
|
|
339
370
|
var ArbitrumSepoliaTokens = [
|
|
340
371
|
{
|
|
341
372
|
chain: ArbitrumChain2,
|
|
@@ -364,8 +395,8 @@ var ArbitrumSepoliaTokens = [
|
|
|
364
395
|
];
|
|
365
396
|
|
|
366
397
|
// src/tokens/base.ts
|
|
367
|
-
var
|
|
368
|
-
var BaseChain =
|
|
398
|
+
var import_warps7 = require("@vleap/warps");
|
|
399
|
+
var BaseChain = import_warps7.WarpChainName.Base;
|
|
369
400
|
var BaseTokens = [
|
|
370
401
|
{
|
|
371
402
|
chain: BaseChain,
|
|
@@ -410,8 +441,8 @@ var BaseTokens = [
|
|
|
410
441
|
];
|
|
411
442
|
|
|
412
443
|
// src/tokens/base-sepolia.ts
|
|
413
|
-
var
|
|
414
|
-
var BaseChain2 =
|
|
444
|
+
var import_warps8 = require("@vleap/warps");
|
|
445
|
+
var BaseChain2 = import_warps8.WarpChainName.Base;
|
|
415
446
|
var BaseSepoliaTokens = [
|
|
416
447
|
{
|
|
417
448
|
chain: BaseChain2,
|
|
@@ -448,8 +479,8 @@ var BaseSepoliaTokens = [
|
|
|
448
479
|
];
|
|
449
480
|
|
|
450
481
|
// src/tokens/ethereum.ts
|
|
451
|
-
var
|
|
452
|
-
var EthereumChain =
|
|
482
|
+
var import_warps9 = require("@vleap/warps");
|
|
483
|
+
var EthereumChain = import_warps9.WarpChainName.Ethereum;
|
|
453
484
|
var EthereumTokens = [
|
|
454
485
|
{
|
|
455
486
|
chain: EthereumChain,
|
|
@@ -502,8 +533,8 @@ var EthereumTokens = [
|
|
|
502
533
|
];
|
|
503
534
|
|
|
504
535
|
// src/tokens/ethereum-sepolia.ts
|
|
505
|
-
var
|
|
506
|
-
var EthereumChain2 =
|
|
536
|
+
var import_warps10 = require("@vleap/warps");
|
|
537
|
+
var EthereumChain2 = import_warps10.WarpChainName.Ethereum;
|
|
507
538
|
var EthereumSepoliaTokens = [
|
|
508
539
|
{
|
|
509
540
|
chain: EthereumChain2,
|
|
@@ -585,10 +616,10 @@ var WarpEvmDataLoader = class {
|
|
|
585
616
|
constructor(config, chain) {
|
|
586
617
|
this.config = config;
|
|
587
618
|
this.chain = chain;
|
|
588
|
-
const providerConfig = (0,
|
|
619
|
+
const providerConfig = (0, import_warps11.getProviderConfig)(this.config, this.chain.name, this.config.env, this.chain.defaultApiUrl);
|
|
589
620
|
const network = new import_ethers3.ethers.Network(this.chain.name, parseInt(this.chain.chainId));
|
|
590
621
|
this.provider = new import_ethers3.ethers.JsonRpcProvider(providerConfig.url, network);
|
|
591
|
-
this.cache = new
|
|
622
|
+
this.cache = new import_warps11.WarpCache(config.cache?.type);
|
|
592
623
|
this.uniswapService = new UniswapService(this.cache, parseInt(this.chain.chainId));
|
|
593
624
|
}
|
|
594
625
|
async getAccount(address) {
|
|
@@ -624,7 +655,7 @@ var WarpEvmDataLoader = class {
|
|
|
624
655
|
if (identifier === this.chain.nativeToken.identifier) {
|
|
625
656
|
return this.chain.nativeToken;
|
|
626
657
|
}
|
|
627
|
-
const cacheKey =
|
|
658
|
+
const cacheKey = import_warps11.WarpCacheKey.Asset(this.config.env, this.chain.name, identifier);
|
|
628
659
|
const cachedAsset = this.cache.get(cacheKey);
|
|
629
660
|
if (cachedAsset) {
|
|
630
661
|
return cachedAsset;
|
|
@@ -652,7 +683,7 @@ var WarpEvmDataLoader = class {
|
|
|
652
683
|
decimals: metadata.decimals,
|
|
653
684
|
logoUrl: metadata.logoUrl
|
|
654
685
|
};
|
|
655
|
-
this.cache.set(cacheKey, asset,
|
|
686
|
+
this.cache.set(cacheKey, asset, import_warps11.CacheTtl.OneHour);
|
|
656
687
|
return asset;
|
|
657
688
|
} catch (error) {
|
|
658
689
|
return null;
|
|
@@ -737,7 +768,7 @@ var WarpEvmDataLoader = class {
|
|
|
737
768
|
};
|
|
738
769
|
|
|
739
770
|
// src/WarpEvmExecutor.ts
|
|
740
|
-
var
|
|
771
|
+
var import_warps14 = require("@vleap/warps");
|
|
741
772
|
var import_ethers6 = require("ethers");
|
|
742
773
|
|
|
743
774
|
// src/constants.ts
|
|
@@ -865,16 +896,16 @@ var SupportedEvmChainIds = [
|
|
|
865
896
|
];
|
|
866
897
|
|
|
867
898
|
// src/WarpEvmOutput.ts
|
|
868
|
-
var
|
|
899
|
+
var import_warps13 = require("@vleap/warps");
|
|
869
900
|
var import_ethers5 = require("ethers");
|
|
870
901
|
|
|
871
902
|
// src/WarpEvmSerializer.ts
|
|
872
|
-
var
|
|
903
|
+
var import_warps12 = require("@vleap/warps");
|
|
873
904
|
var import_ethers4 = require("ethers");
|
|
874
|
-
var SplitParamsRegex = new RegExp(`${
|
|
905
|
+
var SplitParamsRegex = new RegExp(`${import_warps12.WarpConstants.ArgParamsSeparator}(.*)`);
|
|
875
906
|
var WarpEvmSerializer = class {
|
|
876
907
|
constructor() {
|
|
877
|
-
this.coreSerializer = new
|
|
908
|
+
this.coreSerializer = new import_warps12.WarpSerializer();
|
|
878
909
|
}
|
|
879
910
|
typedToString(value) {
|
|
880
911
|
if (typeof value === "string") {
|
|
@@ -903,9 +934,9 @@ var WarpEvmSerializer = class {
|
|
|
903
934
|
}
|
|
904
935
|
if (Array.isArray(value)) {
|
|
905
936
|
if (value.length === 0) return `list:string:`;
|
|
906
|
-
const types = value.map((item) => this.typedToString(item).split(
|
|
937
|
+
const types = value.map((item) => this.typedToString(item).split(import_warps12.WarpConstants.ArgParamsSeparator)[0]);
|
|
907
938
|
const type = types[0];
|
|
908
|
-
const values = value.map((item) => this.typedToString(item).split(
|
|
939
|
+
const values = value.map((item) => this.typedToString(item).split(import_warps12.WarpConstants.ArgParamsSeparator)[1]);
|
|
909
940
|
return `list:${type}:${values.join(",")}`;
|
|
910
941
|
}
|
|
911
942
|
if (value === null || value === void 0) {
|
|
@@ -915,8 +946,8 @@ var WarpEvmSerializer = class {
|
|
|
915
946
|
}
|
|
916
947
|
typedToNative(value) {
|
|
917
948
|
const stringValue = this.typedToString(value);
|
|
918
|
-
const [type, ...valueParts] = stringValue.split(
|
|
919
|
-
const nativeValue = valueParts.join(
|
|
949
|
+
const [type, ...valueParts] = stringValue.split(import_warps12.WarpConstants.ArgParamsSeparator);
|
|
950
|
+
const nativeValue = valueParts.join(import_warps12.WarpConstants.ArgParamsSeparator);
|
|
920
951
|
return [type, this.parseNativeValue(type, nativeValue)];
|
|
921
952
|
}
|
|
922
953
|
nativeToTyped(type, value) {
|
|
@@ -968,7 +999,7 @@ var WarpEvmSerializer = class {
|
|
|
968
999
|
}
|
|
969
1000
|
}
|
|
970
1001
|
stringToTyped(value) {
|
|
971
|
-
const parts = value.split(
|
|
1002
|
+
const parts = value.split(import_warps12.WarpConstants.ArgParamsSeparator, 2);
|
|
972
1003
|
if (parts.length < 2) {
|
|
973
1004
|
return value;
|
|
974
1005
|
}
|
|
@@ -1027,14 +1058,14 @@ var WarpEvmOutput = class {
|
|
|
1027
1058
|
this.config = config;
|
|
1028
1059
|
this.chain = chain;
|
|
1029
1060
|
this.serializer = new WarpEvmSerializer();
|
|
1030
|
-
const providerConfig = (0,
|
|
1061
|
+
const providerConfig = (0, import_warps13.getProviderConfig)(this.config, this.chain.name, this.config.env, this.chain.defaultApiUrl);
|
|
1031
1062
|
const network = new import_ethers5.ethers.Network(this.chain.name, parseInt(this.chain.chainId));
|
|
1032
1063
|
this.provider = new import_ethers5.ethers.JsonRpcProvider(providerConfig.url, network);
|
|
1033
|
-
this.cache = new
|
|
1064
|
+
this.cache = new import_warps13.WarpCache(config.cache?.type);
|
|
1034
1065
|
}
|
|
1035
1066
|
async getActionExecution(warp, actionIndex, tx) {
|
|
1036
|
-
const inputs = this.cache.get(
|
|
1037
|
-
const resolvedInputs = (0,
|
|
1067
|
+
const inputs = this.cache.get(import_warps13.WarpCacheKey.WarpExecutable(this.config.env, warp.meta?.hash || "", actionIndex)) ?? [];
|
|
1068
|
+
const resolvedInputs = (0, import_warps13.extractResolvedInputValues)(inputs);
|
|
1038
1069
|
if (!tx) {
|
|
1039
1070
|
return this.createFailedExecution(warp, actionIndex, resolvedInputs);
|
|
1040
1071
|
}
|
|
@@ -1048,7 +1079,7 @@ var WarpEvmOutput = class {
|
|
|
1048
1079
|
status: "error",
|
|
1049
1080
|
warp,
|
|
1050
1081
|
action: actionIndex,
|
|
1051
|
-
user: (0,
|
|
1082
|
+
user: (0, import_warps13.getWarpWalletAddressFromConfig)(this.config, this.chain.name),
|
|
1052
1083
|
txHash: "",
|
|
1053
1084
|
tx: null,
|
|
1054
1085
|
next: null,
|
|
@@ -1071,7 +1102,7 @@ var WarpEvmOutput = class {
|
|
|
1071
1102
|
status: success ? "success" : "error",
|
|
1072
1103
|
warp,
|
|
1073
1104
|
action: actionIndex,
|
|
1074
|
-
user: (0,
|
|
1105
|
+
user: (0, import_warps13.getWarpWalletAddressFromConfig)(this.config, this.chain.name),
|
|
1075
1106
|
txHash: transactionHash,
|
|
1076
1107
|
tx,
|
|
1077
1108
|
next: null,
|
|
@@ -1102,7 +1133,7 @@ var WarpEvmOutput = class {
|
|
|
1102
1133
|
status: success ? "success" : "error",
|
|
1103
1134
|
warp,
|
|
1104
1135
|
action: actionIndex,
|
|
1105
|
-
user: (0,
|
|
1136
|
+
user: (0, import_warps13.getWarpWalletAddressFromConfig)(this.config, this.chain.name),
|
|
1106
1137
|
txHash: transactionHash,
|
|
1107
1138
|
tx,
|
|
1108
1139
|
next: null,
|
|
@@ -1130,8 +1161,8 @@ var WarpEvmOutput = class {
|
|
|
1130
1161
|
return value;
|
|
1131
1162
|
};
|
|
1132
1163
|
for (const [key, path] of Object.entries(warp.output)) {
|
|
1133
|
-
if (path.startsWith(
|
|
1134
|
-
const currentActionIndex = (0,
|
|
1164
|
+
if (path.startsWith(import_warps13.WarpConstants.Transform.Prefix)) continue;
|
|
1165
|
+
const currentActionIndex = (0, import_warps13.parseOutputOutIndex)(path);
|
|
1135
1166
|
if (currentActionIndex !== null && currentActionIndex !== actionIndex) {
|
|
1136
1167
|
output[key] = null;
|
|
1137
1168
|
continue;
|
|
@@ -1142,7 +1173,7 @@ var WarpEvmOutput = class {
|
|
|
1142
1173
|
output[key] = path;
|
|
1143
1174
|
}
|
|
1144
1175
|
}
|
|
1145
|
-
return { values, output: await (0,
|
|
1176
|
+
return { values, output: await (0, import_warps13.evaluateOutputCommon)(warp, output, actionIndex, inputs, this.serializer.coreSerializer, this.config) };
|
|
1146
1177
|
}
|
|
1147
1178
|
async getTransactionStatus(txHash) {
|
|
1148
1179
|
try {
|
|
@@ -1174,13 +1205,13 @@ var WarpEvmExecutor = class {
|
|
|
1174
1205
|
this.config = config;
|
|
1175
1206
|
this.chain = chain;
|
|
1176
1207
|
this.serializer = new WarpEvmSerializer();
|
|
1177
|
-
const providerConfig = (0,
|
|
1208
|
+
const providerConfig = (0, import_warps14.getProviderConfig)(this.config, chain.name, this.config.env, this.chain.defaultApiUrl);
|
|
1178
1209
|
const network = new import_ethers6.ethers.Network(this.chain.name, parseInt(this.chain.chainId));
|
|
1179
1210
|
this.provider = new import_ethers6.ethers.JsonRpcProvider(providerConfig.url, network);
|
|
1180
1211
|
this.output = new WarpEvmOutput(config, this.chain);
|
|
1181
1212
|
}
|
|
1182
1213
|
async createTransaction(executable) {
|
|
1183
|
-
const action = (0,
|
|
1214
|
+
const action = (0, import_warps14.getWarpActionByIndex)(executable.warp, executable.action);
|
|
1184
1215
|
let tx = null;
|
|
1185
1216
|
if (action.type === "transfer") {
|
|
1186
1217
|
tx = await this.createTransferTransaction(executable);
|
|
@@ -1195,7 +1226,7 @@ var WarpEvmExecutor = class {
|
|
|
1195
1226
|
return tx;
|
|
1196
1227
|
}
|
|
1197
1228
|
async createTransferTransaction(executable) {
|
|
1198
|
-
const userWallet = (0,
|
|
1229
|
+
const userWallet = (0, import_warps14.getWarpWalletAddressFromConfig)(this.config, executable.chain.name);
|
|
1199
1230
|
if (!userWallet) throw new Error("WarpEvmExecutor: createTransfer - user address not set");
|
|
1200
1231
|
if (!import_ethers6.ethers.isAddress(executable.destination)) {
|
|
1201
1232
|
throw new Error(`WarpEvmExecutor: Invalid destination address: ${executable.destination}`);
|
|
@@ -1211,9 +1242,9 @@ var WarpEvmExecutor = class {
|
|
|
1211
1242
|
return this.estimateGasAndSetDefaults(tx, userWallet);
|
|
1212
1243
|
}
|
|
1213
1244
|
async createContractCallTransaction(executable) {
|
|
1214
|
-
const userWallet = (0,
|
|
1245
|
+
const userWallet = (0, import_warps14.getWarpWalletAddressFromConfig)(this.config, executable.chain.name);
|
|
1215
1246
|
if (!userWallet) throw new Error("WarpEvmExecutor: createContractCall - user address not set");
|
|
1216
|
-
const action = (0,
|
|
1247
|
+
const action = (0, import_warps14.getWarpActionByIndex)(executable.warp, executable.action);
|
|
1217
1248
|
if (!action || !("func" in action) || !action.func) throw new Error("WarpEvmExecutor: Contract action must have a function name");
|
|
1218
1249
|
if (!import_ethers6.ethers.isAddress(executable.destination)) throw new Error(`WarpEvmExecutor: Invalid contract address: ${executable.destination}`);
|
|
1219
1250
|
try {
|
|
@@ -1276,7 +1307,7 @@ var WarpEvmExecutor = class {
|
|
|
1276
1307
|
return this.estimateGasAndSetDefaults(tx, userWallet);
|
|
1277
1308
|
}
|
|
1278
1309
|
async executeQuery(executable) {
|
|
1279
|
-
const action = (0,
|
|
1310
|
+
const action = (0, import_warps14.getWarpActionByIndex)(executable.warp, executable.action);
|
|
1280
1311
|
if (action.type !== "query") throw new Error(`WarpEvmExecutor: Invalid action type for executeQuery: ${action.type}`);
|
|
1281
1312
|
if (!action.func) throw new Error("WarpEvmExecutor: Query action must have a function name");
|
|
1282
1313
|
if (!import_ethers6.ethers.isAddress(executable.destination)) throw new Error(`WarpEvmExecutor: Invalid address for query: ${executable.destination}`);
|
|
@@ -1303,33 +1334,33 @@ var WarpEvmExecutor = class {
|
|
|
1303
1334
|
executable.action,
|
|
1304
1335
|
executable.resolvedInputs
|
|
1305
1336
|
);
|
|
1306
|
-
const next = (0,
|
|
1337
|
+
const next = (0, import_warps14.getNextInfo)(this.config, [], executable.warp, executable.action, output);
|
|
1307
1338
|
const destinationInput = executable.resolvedInputs.find((i) => i.input.position === "receiver" || i.input.position === "destination");
|
|
1308
1339
|
const destination = destinationInput?.value || executable.destination;
|
|
1309
|
-
const resolvedInputs = (0,
|
|
1340
|
+
const resolvedInputs = (0, import_warps14.extractResolvedInputValues)(executable.resolvedInputs);
|
|
1310
1341
|
return {
|
|
1311
1342
|
status: isSuccess ? "success" : "error",
|
|
1312
1343
|
warp: executable.warp,
|
|
1313
1344
|
action: executable.action,
|
|
1314
|
-
user: (0,
|
|
1345
|
+
user: (0, import_warps14.getWarpWalletAddressFromConfig)(this.config, executable.chain.name),
|
|
1315
1346
|
txHash: null,
|
|
1316
1347
|
tx: null,
|
|
1317
1348
|
next,
|
|
1318
1349
|
values,
|
|
1319
1350
|
output: { ...output, _DATA: decodedResult },
|
|
1320
|
-
messages: (0,
|
|
1351
|
+
messages: (0, import_warps14.applyOutputToMessages)(executable.warp, output, this.config),
|
|
1321
1352
|
destination,
|
|
1322
1353
|
resolvedInputs
|
|
1323
1354
|
};
|
|
1324
1355
|
} catch (error) {
|
|
1325
1356
|
const destinationInput = executable.resolvedInputs.find((i) => i.input.position === "receiver" || i.input.position === "destination");
|
|
1326
1357
|
const destination = destinationInput?.value || executable.destination;
|
|
1327
|
-
const resolvedInputs = (0,
|
|
1358
|
+
const resolvedInputs = (0, import_warps14.extractResolvedInputValues)(executable.resolvedInputs);
|
|
1328
1359
|
return {
|
|
1329
1360
|
status: "error",
|
|
1330
1361
|
warp: executable.warp,
|
|
1331
1362
|
action: executable.action,
|
|
1332
|
-
user: (0,
|
|
1363
|
+
user: (0, import_warps14.getWarpWalletAddressFromConfig)(this.config, executable.chain.name),
|
|
1333
1364
|
txHash: null,
|
|
1334
1365
|
tx: null,
|
|
1335
1366
|
next: null,
|
|
@@ -1569,7 +1600,7 @@ var WarpEvmExplorer = class {
|
|
|
1569
1600
|
};
|
|
1570
1601
|
|
|
1571
1602
|
// src/WarpEvmWallet.ts
|
|
1572
|
-
var
|
|
1603
|
+
var import_warps15 = require("@vleap/warps");
|
|
1573
1604
|
var import_client = require("@x402/evm/exact/client");
|
|
1574
1605
|
var import_ethers7 = require("ethers");
|
|
1575
1606
|
var import_accounts = require("viem/accounts");
|
|
@@ -1579,7 +1610,7 @@ var WarpEvmWallet = class {
|
|
|
1579
1610
|
this.chain = chain;
|
|
1580
1611
|
this.cachedAddress = null;
|
|
1581
1612
|
this.cachedPublicKey = null;
|
|
1582
|
-
const providerConfig = (0,
|
|
1613
|
+
const providerConfig = (0, import_warps15.getProviderConfig)(config, chain.name, config.env, chain.defaultApiUrl);
|
|
1583
1614
|
this.provider = new import_ethers7.ethers.JsonRpcProvider(providerConfig.url);
|
|
1584
1615
|
this.walletProvider = this.createProvider();
|
|
1585
1616
|
this.initializeCache();
|
|
@@ -1587,7 +1618,7 @@ var WarpEvmWallet = class {
|
|
|
1587
1618
|
createProvider() {
|
|
1588
1619
|
const wallet = this.config.user?.wallets?.[this.chain.name];
|
|
1589
1620
|
if (!wallet) return null;
|
|
1590
|
-
if (typeof wallet === "string")
|
|
1621
|
+
if (typeof wallet === "string") return new ReadOnlyWalletProvider(this.config, this.chain);
|
|
1591
1622
|
const customWalletProviders = this.config.walletProviders?.[this.chain.name];
|
|
1592
1623
|
const providerFactory = customWalletProviders?.[wallet.provider];
|
|
1593
1624
|
if (providerFactory) return providerFactory(this.config, this.chain);
|
|
@@ -1596,7 +1627,7 @@ var WarpEvmWallet = class {
|
|
|
1596
1627
|
throw new Error(`Unsupported wallet provider for ${this.chain.name}: ${wallet.provider}`);
|
|
1597
1628
|
}
|
|
1598
1629
|
initializeCache() {
|
|
1599
|
-
(0,
|
|
1630
|
+
(0, import_warps15.initializeWalletCache)(this.walletProvider).then((cache) => {
|
|
1600
1631
|
this.cachedAddress = cache.address;
|
|
1601
1632
|
this.cachedPublicKey = cache.publicKey;
|
|
1602
1633
|
});
|
|
@@ -1604,6 +1635,7 @@ var WarpEvmWallet = class {
|
|
|
1604
1635
|
async signTransaction(tx) {
|
|
1605
1636
|
if (!tx || typeof tx !== "object") throw new Error("Invalid transaction object");
|
|
1606
1637
|
if (!this.walletProvider) throw new Error("No wallet provider available");
|
|
1638
|
+
if (this.walletProvider instanceof ReadOnlyWalletProvider) throw new Error(`Wallet (${this.chain.name}) is read-only`);
|
|
1607
1639
|
return await this.walletProvider.signTransaction(tx);
|
|
1608
1640
|
}
|
|
1609
1641
|
async signTransactions(txs) {
|
|
@@ -1614,7 +1646,7 @@ var WarpEvmWallet = class {
|
|
|
1614
1646
|
const address = wallet.address;
|
|
1615
1647
|
if (txs.length > 1) {
|
|
1616
1648
|
const currentNonce = await this.provider.getTransactionCount(address, "pending");
|
|
1617
|
-
const
|
|
1649
|
+
const signedTxs2 = [];
|
|
1618
1650
|
for (let i = 0; i < txs.length; i++) {
|
|
1619
1651
|
const tx = { ...txs[i] };
|
|
1620
1652
|
tx.nonce = currentNonce + i;
|
|
@@ -1631,15 +1663,20 @@ var WarpEvmWallet = class {
|
|
|
1631
1663
|
delete tx.maxPriorityFeePerGas;
|
|
1632
1664
|
}
|
|
1633
1665
|
}
|
|
1634
|
-
|
|
1666
|
+
signedTxs2.push(await this.signTransaction(tx));
|
|
1635
1667
|
}
|
|
1636
|
-
return
|
|
1668
|
+
return signedTxs2;
|
|
1637
1669
|
}
|
|
1638
1670
|
}
|
|
1639
|
-
|
|
1671
|
+
const signedTxs = [];
|
|
1672
|
+
for (const tx of txs) {
|
|
1673
|
+
signedTxs.push(await this.signTransaction(tx));
|
|
1674
|
+
}
|
|
1675
|
+
return signedTxs;
|
|
1640
1676
|
}
|
|
1641
1677
|
async signMessage(message) {
|
|
1642
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`);
|
|
1643
1680
|
return await this.walletProvider.signMessage(message);
|
|
1644
1681
|
}
|
|
1645
1682
|
async sendTransaction(tx) {
|
|
@@ -1659,10 +1696,12 @@ var WarpEvmWallet = class {
|
|
|
1659
1696
|
}
|
|
1660
1697
|
create(mnemonic) {
|
|
1661
1698
|
if (!this.walletProvider) throw new Error("No wallet provider available");
|
|
1699
|
+
if (this.walletProvider instanceof ReadOnlyWalletProvider) throw new Error(`Wallet (${this.chain.name}) is read-only`);
|
|
1662
1700
|
return this.walletProvider.create(mnemonic);
|
|
1663
1701
|
}
|
|
1664
1702
|
generate() {
|
|
1665
1703
|
if (!this.walletProvider) throw new Error("No wallet provider available");
|
|
1704
|
+
if (this.walletProvider instanceof ReadOnlyWalletProvider) throw new Error(`Wallet (${this.chain.name}) is read-only`);
|
|
1666
1705
|
return this.walletProvider.generate();
|
|
1667
1706
|
}
|
|
1668
1707
|
getAddress() {
|
|
@@ -1711,16 +1750,16 @@ var createEvmAdapter = (chainName, chainInfos) => {
|
|
|
1711
1750
|
|
|
1712
1751
|
// src/chains/arbitrum.ts
|
|
1713
1752
|
var NativeTokenArb = {
|
|
1714
|
-
chain:
|
|
1753
|
+
chain: import_warps16.WarpChainName.Arbitrum,
|
|
1715
1754
|
identifier: "ARB",
|
|
1716
1755
|
symbol: "ARB",
|
|
1717
1756
|
name: "Arbitrum",
|
|
1718
1757
|
decimals: 18,
|
|
1719
1758
|
logoUrl: "https://joai.ai/images/tokens/arb.svg"
|
|
1720
1759
|
};
|
|
1721
|
-
var ArbitrumAdapter = createEvmAdapter(
|
|
1760
|
+
var ArbitrumAdapter = createEvmAdapter(import_warps16.WarpChainName.Arbitrum, {
|
|
1722
1761
|
mainnet: {
|
|
1723
|
-
name:
|
|
1762
|
+
name: import_warps16.WarpChainName.Arbitrum,
|
|
1724
1763
|
displayName: "Arbitrum",
|
|
1725
1764
|
chainId: "42161",
|
|
1726
1765
|
blockTime: 1e3,
|
|
@@ -1730,7 +1769,7 @@ var ArbitrumAdapter = createEvmAdapter(import_warps15.WarpChainName.Arbitrum, {
|
|
|
1730
1769
|
nativeToken: NativeTokenArb
|
|
1731
1770
|
},
|
|
1732
1771
|
testnet: {
|
|
1733
|
-
name:
|
|
1772
|
+
name: import_warps16.WarpChainName.Arbitrum,
|
|
1734
1773
|
displayName: "Arbitrum Sepolia",
|
|
1735
1774
|
chainId: "421614",
|
|
1736
1775
|
blockTime: 1e3,
|
|
@@ -1740,7 +1779,7 @@ var ArbitrumAdapter = createEvmAdapter(import_warps15.WarpChainName.Arbitrum, {
|
|
|
1740
1779
|
nativeToken: NativeTokenArb
|
|
1741
1780
|
},
|
|
1742
1781
|
devnet: {
|
|
1743
|
-
name:
|
|
1782
|
+
name: import_warps16.WarpChainName.Arbitrum,
|
|
1744
1783
|
displayName: "Arbitrum Sepolia",
|
|
1745
1784
|
chainId: "421614",
|
|
1746
1785
|
blockTime: 1e3,
|
|
@@ -1752,18 +1791,18 @@ var ArbitrumAdapter = createEvmAdapter(import_warps15.WarpChainName.Arbitrum, {
|
|
|
1752
1791
|
});
|
|
1753
1792
|
|
|
1754
1793
|
// src/chains/base.ts
|
|
1755
|
-
var
|
|
1794
|
+
var import_warps17 = require("@vleap/warps");
|
|
1756
1795
|
var NativeTokenBase = {
|
|
1757
|
-
chain:
|
|
1796
|
+
chain: import_warps17.WarpChainName.Base,
|
|
1758
1797
|
identifier: "ETH",
|
|
1759
1798
|
name: "Ether",
|
|
1760
1799
|
symbol: "ETH",
|
|
1761
1800
|
decimals: 18,
|
|
1762
1801
|
logoUrl: "https://joai.ai/images/tokens/eth.svg"
|
|
1763
1802
|
};
|
|
1764
|
-
var BaseAdapter = createEvmAdapter(
|
|
1803
|
+
var BaseAdapter = createEvmAdapter(import_warps17.WarpChainName.Base, {
|
|
1765
1804
|
mainnet: {
|
|
1766
|
-
name:
|
|
1805
|
+
name: import_warps17.WarpChainName.Base,
|
|
1767
1806
|
displayName: "Base",
|
|
1768
1807
|
chainId: "8453",
|
|
1769
1808
|
blockTime: 2e3,
|
|
@@ -1773,7 +1812,7 @@ var BaseAdapter = createEvmAdapter(import_warps16.WarpChainName.Base, {
|
|
|
1773
1812
|
nativeToken: NativeTokenBase
|
|
1774
1813
|
},
|
|
1775
1814
|
testnet: {
|
|
1776
|
-
name:
|
|
1815
|
+
name: import_warps17.WarpChainName.Base,
|
|
1777
1816
|
displayName: "Base Sepolia",
|
|
1778
1817
|
chainId: "84532",
|
|
1779
1818
|
blockTime: 2e3,
|
|
@@ -1783,7 +1822,7 @@ var BaseAdapter = createEvmAdapter(import_warps16.WarpChainName.Base, {
|
|
|
1783
1822
|
nativeToken: NativeTokenBase
|
|
1784
1823
|
},
|
|
1785
1824
|
devnet: {
|
|
1786
|
-
name:
|
|
1825
|
+
name: import_warps17.WarpChainName.Base,
|
|
1787
1826
|
displayName: "Base Sepolia",
|
|
1788
1827
|
chainId: "84532",
|
|
1789
1828
|
blockTime: 2e3,
|
|
@@ -1795,27 +1834,27 @@ var BaseAdapter = createEvmAdapter(import_warps16.WarpChainName.Base, {
|
|
|
1795
1834
|
});
|
|
1796
1835
|
|
|
1797
1836
|
// src/chains/combined.ts
|
|
1798
|
-
var
|
|
1837
|
+
var import_warps18 = require("@vleap/warps");
|
|
1799
1838
|
var getAllEvmChainNames = () => [
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1839
|
+
import_warps18.WarpChainName.Ethereum,
|
|
1840
|
+
import_warps18.WarpChainName.Base,
|
|
1841
|
+
import_warps18.WarpChainName.Arbitrum,
|
|
1842
|
+
import_warps18.WarpChainName.Somnia
|
|
1804
1843
|
];
|
|
1805
1844
|
|
|
1806
1845
|
// src/chains/ethereum.ts
|
|
1807
|
-
var
|
|
1846
|
+
var import_warps19 = require("@vleap/warps");
|
|
1808
1847
|
var NativeTokenEth = {
|
|
1809
|
-
chain:
|
|
1848
|
+
chain: import_warps19.WarpChainName.Ethereum,
|
|
1810
1849
|
identifier: "ETH",
|
|
1811
1850
|
symbol: "ETH",
|
|
1812
1851
|
name: "Ether",
|
|
1813
1852
|
decimals: 18,
|
|
1814
1853
|
logoUrl: "https://joai.ai/images/tokens/eth.svg"
|
|
1815
1854
|
};
|
|
1816
|
-
var EthereumAdapter = createEvmAdapter(
|
|
1855
|
+
var EthereumAdapter = createEvmAdapter(import_warps19.WarpChainName.Ethereum, {
|
|
1817
1856
|
mainnet: {
|
|
1818
|
-
name:
|
|
1857
|
+
name: import_warps19.WarpChainName.Ethereum,
|
|
1819
1858
|
displayName: "Ethereum Mainnet",
|
|
1820
1859
|
chainId: "1",
|
|
1821
1860
|
blockTime: 12e3,
|
|
@@ -1825,7 +1864,7 @@ var EthereumAdapter = createEvmAdapter(import_warps18.WarpChainName.Ethereum, {
|
|
|
1825
1864
|
nativeToken: NativeTokenEth
|
|
1826
1865
|
},
|
|
1827
1866
|
testnet: {
|
|
1828
|
-
name:
|
|
1867
|
+
name: import_warps19.WarpChainName.Ethereum,
|
|
1829
1868
|
displayName: "Ethereum Sepolia",
|
|
1830
1869
|
chainId: "11155111",
|
|
1831
1870
|
blockTime: 12e3,
|
|
@@ -1835,7 +1874,7 @@ var EthereumAdapter = createEvmAdapter(import_warps18.WarpChainName.Ethereum, {
|
|
|
1835
1874
|
nativeToken: NativeTokenEth
|
|
1836
1875
|
},
|
|
1837
1876
|
devnet: {
|
|
1838
|
-
name:
|
|
1877
|
+
name: import_warps19.WarpChainName.Ethereum,
|
|
1839
1878
|
displayName: "Ethereum Sepolia",
|
|
1840
1879
|
chainId: "11155111",
|
|
1841
1880
|
blockTime: 12e3,
|
|
@@ -1847,12 +1886,12 @@ var EthereumAdapter = createEvmAdapter(import_warps18.WarpChainName.Ethereum, {
|
|
|
1847
1886
|
});
|
|
1848
1887
|
|
|
1849
1888
|
// src/adapters.ts
|
|
1850
|
-
var
|
|
1889
|
+
var import_warps21 = require("@vleap/warps");
|
|
1851
1890
|
|
|
1852
1891
|
// src/chains/somnia.ts
|
|
1853
|
-
var
|
|
1892
|
+
var import_warps20 = require("@vleap/warps");
|
|
1854
1893
|
var NativeTokenSomi = {
|
|
1855
|
-
chain:
|
|
1894
|
+
chain: import_warps20.WarpChainName.Somnia,
|
|
1856
1895
|
identifier: "SOMI",
|
|
1857
1896
|
symbol: "SOMI",
|
|
1858
1897
|
name: "Somnia",
|
|
@@ -1860,16 +1899,16 @@ var NativeTokenSomi = {
|
|
|
1860
1899
|
logoUrl: "https://assets.coingecko.com/coins/images/68061/standard/somniacg.png?1754641117"
|
|
1861
1900
|
};
|
|
1862
1901
|
var NativeTokenStt = {
|
|
1863
|
-
chain:
|
|
1902
|
+
chain: import_warps20.WarpChainName.Somnia,
|
|
1864
1903
|
identifier: "STT",
|
|
1865
1904
|
symbol: "STT",
|
|
1866
1905
|
name: "Somnia Testnet Token",
|
|
1867
1906
|
decimals: 18,
|
|
1868
1907
|
logoUrl: "https://assets.coingecko.com/coins/images/68061/standard/somniacg.png?1754641117"
|
|
1869
1908
|
};
|
|
1870
|
-
var SomniaAdapter = createEvmAdapter(
|
|
1909
|
+
var SomniaAdapter = createEvmAdapter(import_warps20.WarpChainName.Somnia, {
|
|
1871
1910
|
mainnet: {
|
|
1872
|
-
name:
|
|
1911
|
+
name: import_warps20.WarpChainName.Somnia,
|
|
1873
1912
|
displayName: "Somnia Mainnet",
|
|
1874
1913
|
chainId: "5031",
|
|
1875
1914
|
blockTime: 100,
|
|
@@ -1879,7 +1918,7 @@ var SomniaAdapter = createEvmAdapter(import_warps19.WarpChainName.Somnia, {
|
|
|
1879
1918
|
nativeToken: NativeTokenSomi
|
|
1880
1919
|
},
|
|
1881
1920
|
testnet: {
|
|
1882
|
-
name:
|
|
1921
|
+
name: import_warps20.WarpChainName.Somnia,
|
|
1883
1922
|
displayName: "Somnia Testnet",
|
|
1884
1923
|
chainId: "50312",
|
|
1885
1924
|
blockTime: 100,
|
|
@@ -1889,7 +1928,7 @@ var SomniaAdapter = createEvmAdapter(import_warps19.WarpChainName.Somnia, {
|
|
|
1889
1928
|
nativeToken: NativeTokenStt
|
|
1890
1929
|
},
|
|
1891
1930
|
devnet: {
|
|
1892
|
-
name:
|
|
1931
|
+
name: import_warps20.WarpChainName.Somnia,
|
|
1893
1932
|
displayName: "Somnia Testnet",
|
|
1894
1933
|
chainId: "50312",
|
|
1895
1934
|
blockTime: 100,
|
|
@@ -1902,10 +1941,10 @@ var SomniaAdapter = createEvmAdapter(import_warps19.WarpChainName.Somnia, {
|
|
|
1902
1941
|
|
|
1903
1942
|
// src/adapters.ts
|
|
1904
1943
|
var getAllEvmAdapters = (fallbackFactory) => [
|
|
1905
|
-
(0,
|
|
1906
|
-
(0,
|
|
1907
|
-
(0,
|
|
1908
|
-
(0,
|
|
1944
|
+
(0, import_warps21.withAdapterFallback)(EthereumAdapter, fallbackFactory),
|
|
1945
|
+
(0, import_warps21.withAdapterFallback)(BaseAdapter, fallbackFactory),
|
|
1946
|
+
(0, import_warps21.withAdapterFallback)(ArbitrumAdapter, fallbackFactory),
|
|
1947
|
+
(0, import_warps21.withAdapterFallback)(SomniaAdapter, fallbackFactory)
|
|
1909
1948
|
];
|
|
1910
1949
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1911
1950
|
0 && (module.exports = {
|