@joai/warps-adapter-evm 1.0.1 → 1.2.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/index.js CHANGED
@@ -45,9 +45,15 @@ __export(index_exports, {
45
45
  NativeTokenBase: () => NativeTokenBase,
46
46
  NativeTokenEth: () => NativeTokenEth,
47
47
  NativeTokenPolygon: () => NativeTokenPolygon,
48
+ NativeTokenSomi: () => NativeTokenSomi,
49
+ NativeTokenStt: () => NativeTokenStt,
50
+ NativeTokenTempo: () => NativeTokenTempo,
48
51
  PolygonAdapter: () => PolygonAdapter,
49
52
  PolygonExplorers: () => PolygonExplorers,
53
+ SomniaAdapter: () => SomniaAdapter,
50
54
  SupportedEvmChainIds: () => SupportedEvmChainIds,
55
+ TempoAdapter: () => TempoAdapter,
56
+ TempoExplorers: () => TempoExplorers,
51
57
  WarpEvmConstants: () => WarpEvmConstants,
52
58
  WarpEvmDataLoader: () => WarpEvmDataLoader,
53
59
  WarpEvmExecutor: () => WarpEvmExecutor,
@@ -64,10 +70,10 @@ __export(index_exports, {
64
70
  module.exports = __toCommonJS(index_exports);
65
71
 
66
72
  // src/chains/arbitrum.ts
67
- var import_warps19 = require("@joai/warps");
73
+ var import_warps21 = require("@joai/warps");
68
74
 
69
75
  // src/WarpEvmDataLoader.ts
70
- var import_warps14 = require("@joai/warps");
76
+ var import_warps16 = require("@joai/warps");
71
77
  var import_ethers3 = require("ethers");
72
78
 
73
79
  // src/providers/UniswapService.ts
@@ -92,7 +98,7 @@ var _UniswapService = class _UniswapService {
92
98
  async findToken(address) {
93
99
  const normalizedAddress = address.toLowerCase();
94
100
  const cacheKey = `uniswap:token:${this.chainId}:${normalizedAddress}`;
95
- const cachedToken = this.cache.get(cacheKey);
101
+ const cachedToken = await this.cache.get(cacheKey);
96
102
  if (cachedToken) {
97
103
  return cachedToken;
98
104
  }
@@ -103,9 +109,9 @@ var _UniswapService = class _UniswapService {
103
109
  return null;
104
110
  }
105
111
  if (token) {
106
- this.cache.set(cacheKey, token, import_warps.CacheTtl.OneHour);
112
+ await this.cache.set(cacheKey, token, import_warps.CacheTtl.OneHour);
107
113
  } else {
108
- this.cache.set(cacheKey, null, import_warps.CacheTtl.OneMinute * 5);
114
+ await this.cache.set(cacheKey, null, import_warps.CacheTtl.OneMinute * 5);
109
115
  }
110
116
  return token;
111
117
  } catch (error) {
@@ -115,13 +121,13 @@ var _UniswapService = class _UniswapService {
115
121
  async getTokenMetadata(address) {
116
122
  const normalizedAddress = address.toLowerCase();
117
123
  const cacheKey = `uniswap:metadata:${this.chainId}:${normalizedAddress}`;
118
- const cachedMetadata = this.cache.get(cacheKey);
124
+ const cachedMetadata = await this.cache.get(cacheKey);
119
125
  if (cachedMetadata !== null) {
120
126
  return cachedMetadata;
121
127
  }
122
128
  const token = await this.findToken(address);
123
129
  if (!token) {
124
- this.cache.set(cacheKey, null, import_warps.CacheTtl.OneMinute * 5);
130
+ await this.cache.set(cacheKey, null, import_warps.CacheTtl.OneMinute * 5);
125
131
  return null;
126
132
  }
127
133
  const metadata = {
@@ -130,26 +136,26 @@ var _UniswapService = class _UniswapService {
130
136
  decimals: token.decimals,
131
137
  logoUrl: token.logoURI
132
138
  };
133
- this.cache.set(cacheKey, metadata, import_warps.CacheTtl.OneHour);
139
+ await this.cache.set(cacheKey, metadata, import_warps.CacheTtl.OneHour);
134
140
  return metadata;
135
141
  }
136
142
  async getBridgeInfo(address) {
137
143
  const normalizedAddress = address.toLowerCase();
138
144
  const cacheKey = `uniswap:bridge:${this.chainId}:${normalizedAddress}`;
139
- const cachedBridgeInfo = this.cache.get(cacheKey);
145
+ const cachedBridgeInfo = await this.cache.get(cacheKey);
140
146
  if (cachedBridgeInfo !== null) {
141
147
  return cachedBridgeInfo;
142
148
  }
143
149
  const token = await this.findToken(address);
144
150
  if (!token?.extensions?.bridgeInfo) {
145
- this.cache.set(cacheKey, null, import_warps.CacheTtl.OneMinute * 5);
151
+ await this.cache.set(cacheKey, null, import_warps.CacheTtl.OneMinute * 5);
146
152
  return null;
147
153
  }
148
154
  const bridgeInfo = {};
149
155
  for (const [chainId, info] of Object.entries(token.extensions.bridgeInfo)) {
150
156
  bridgeInfo[chainId] = info.tokenAddress;
151
157
  }
152
- this.cache.set(cacheKey, bridgeInfo, import_warps.CacheTtl.OneHour);
158
+ await this.cache.set(cacheKey, bridgeInfo, import_warps.CacheTtl.OneHour);
153
159
  return bridgeInfo;
154
160
  }
155
161
  };
@@ -245,6 +251,9 @@ var _PrivateKeyWalletProvider = class _PrivateKeyWalletProvider {
245
251
  mnemonic: null
246
252
  };
247
253
  }
254
+ async delete(externalId) {
255
+ (0, import_warps2.removeWarpWalletFromConfig)(this.config, this.chain.name);
256
+ }
248
257
  getWallet() {
249
258
  if (this.wallet) return this.wallet;
250
259
  const privateKey = (0, import_warps2.getWarpWalletPrivateKeyFromConfig)(this.config, this.chain.name);
@@ -352,6 +361,9 @@ var _MnemonicWalletProvider = class _MnemonicWalletProvider {
352
361
  mnemonic
353
362
  };
354
363
  }
364
+ async delete(externalId) {
365
+ (0, import_warps3.removeWarpWalletFromConfig)(this.config, this.chain.name);
366
+ }
355
367
  getWallet() {
356
368
  if (this.wallet) return this.wallet;
357
369
  const mnemonic = (0, import_warps3.getWarpWalletMnemonicFromConfig)(this.config, this.chain.name);
@@ -400,10 +412,13 @@ var ReadOnlyWalletProvider = class {
400
412
  const address = (0, import_warps4.getWarpWalletAddressFromConfig)(this.config, this.chain.name);
401
413
  throw new Error(`Wallet can not be used for signing: ${address}`);
402
414
  }
415
+ async delete(externalId) {
416
+ (0, import_warps4.removeWarpWalletFromConfig)(this.config, this.chain.name);
417
+ }
403
418
  };
404
419
 
405
420
  // src/tokens.ts
406
- var import_warps13 = require("@joai/warps");
421
+ var import_warps15 = require("@joai/warps");
407
422
 
408
423
  // src/tokens/arbitrum.ts
409
424
  var import_warps5 = require("@joai/warps");
@@ -733,27 +748,148 @@ var PolygonMumbaiTokens = [
733
748
  }
734
749
  ];
735
750
 
751
+ // src/tokens/tempo.ts
752
+ var import_warps13 = require("@joai/warps");
753
+ var TempoChain = import_warps13.WarpChainName.Tempo;
754
+ var TempoTokens = [
755
+ {
756
+ chain: TempoChain,
757
+ identifier: "0x20c0000000000000000000000000000000000000",
758
+ name: "PathUSD",
759
+ symbol: "pathUSD",
760
+ decimals: 6,
761
+ logoUrl: import_warps13.WarpAssets.tokenLogo("pathusd.svg")
762
+ },
763
+ {
764
+ chain: TempoChain,
765
+ identifier: "0x20c000000000000000000000b9537d11c60e8b50",
766
+ name: "Bridged USDC (Stargate)",
767
+ symbol: "USDC.e",
768
+ decimals: 6,
769
+ logoUrl: import_warps13.WarpAssets.tokenLogo("usdc.svg")
770
+ },
771
+ {
772
+ chain: TempoChain,
773
+ identifier: "0x20c0000000000000000000001621e21f71cf12fb",
774
+ name: "Bridged EURC (Stargate)",
775
+ symbol: "EURC.e",
776
+ decimals: 6,
777
+ logoUrl: import_warps13.WarpAssets.tokenLogo("eurc.svg")
778
+ },
779
+ {
780
+ chain: TempoChain,
781
+ identifier: "0x20c00000000000000000000014f22ca97301eb73",
782
+ name: "USDT0",
783
+ symbol: "USDT0",
784
+ decimals: 6,
785
+ logoUrl: import_warps13.WarpAssets.tokenLogo("usdt.svg")
786
+ },
787
+ {
788
+ chain: TempoChain,
789
+ identifier: "0x20c0000000000000000000003554d28269e0f3c2",
790
+ name: "Frax USD",
791
+ symbol: "frxUSD",
792
+ decimals: 6,
793
+ logoUrl: import_warps13.WarpAssets.tokenLogo("frxusd.svg")
794
+ },
795
+ {
796
+ chain: TempoChain,
797
+ identifier: "0x20c0000000000000000000000520792dcccccccc",
798
+ name: "Cap USD",
799
+ symbol: "cUSD",
800
+ decimals: 6,
801
+ logoUrl: import_warps13.WarpAssets.tokenLogo("cusd.svg")
802
+ },
803
+ {
804
+ chain: TempoChain,
805
+ identifier: "0x20c00000000000000000000031f228af88888888",
806
+ name: "Staked Cap USD",
807
+ symbol: "stcUSD",
808
+ decimals: 6,
809
+ logoUrl: import_warps13.WarpAssets.tokenLogo("stcusd.svg")
810
+ }
811
+ ];
812
+
813
+ // src/tokens/tempo-moderato.ts
814
+ var import_warps14 = require("@joai/warps");
815
+ var TempoChain2 = import_warps14.WarpChainName.Tempo;
816
+ var TempoModeratoTokens = [
817
+ {
818
+ chain: TempoChain2,
819
+ identifier: "0x20c0000000000000000000000000000000000000",
820
+ name: "PathUSD",
821
+ symbol: "pathUSD",
822
+ decimals: 6,
823
+ logoUrl: import_warps14.WarpAssets.tokenLogo("pathusd.svg")
824
+ },
825
+ {
826
+ chain: TempoChain2,
827
+ identifier: "0x20c0000000000000000000000000000000000001",
828
+ name: "AlphaUSD",
829
+ symbol: "alphaUSD",
830
+ decimals: 6,
831
+ logoUrl: import_warps14.WarpAssets.tokenLogo("pathusd.svg")
832
+ },
833
+ {
834
+ chain: TempoChain2,
835
+ identifier: "0x20c0000000000000000000000000000000000002",
836
+ name: "BetaUSD",
837
+ symbol: "betaUSD",
838
+ decimals: 6,
839
+ logoUrl: import_warps14.WarpAssets.tokenLogo("pathusd.svg")
840
+ },
841
+ {
842
+ chain: TempoChain2,
843
+ identifier: "0x20c0000000000000000000000000000000000003",
844
+ name: "ThetaUSD",
845
+ symbol: "thetaUSD",
846
+ decimals: 6,
847
+ logoUrl: import_warps14.WarpAssets.tokenLogo("pathusd.svg")
848
+ },
849
+ {
850
+ chain: TempoChain2,
851
+ identifier: "0x20c0000000000000000000009e8d7eb59b783726",
852
+ name: "Bridged USDC (Stargate)",
853
+ symbol: "USDC.e",
854
+ decimals: 6,
855
+ logoUrl: import_warps14.WarpAssets.tokenLogo("usdc.svg")
856
+ },
857
+ {
858
+ chain: TempoChain2,
859
+ identifier: "0x20c000000000000000000000d72572838bbee59c",
860
+ name: "Bridged EURC (Stargate)",
861
+ symbol: "EURC.e",
862
+ decimals: 6,
863
+ logoUrl: import_warps14.WarpAssets.tokenLogo("eurc.svg")
864
+ }
865
+ ];
866
+
736
867
  // src/tokens.ts
737
868
  var KnownTokens = {
738
- [import_warps13.WarpChainName.Ethereum]: {
869
+ [import_warps15.WarpChainName.Ethereum]: {
739
870
  mainnet: EthereumTokens,
740
871
  testnet: EthereumSepoliaTokens,
741
872
  devnet: EthereumSepoliaTokens
742
873
  },
743
- [import_warps13.WarpChainName.Base]: {
874
+ [import_warps15.WarpChainName.Base]: {
744
875
  mainnet: BaseTokens,
745
876
  testnet: BaseSepoliaTokens,
746
877
  devnet: BaseSepoliaTokens
747
878
  },
748
- [import_warps13.WarpChainName.Arbitrum]: {
879
+ [import_warps15.WarpChainName.Arbitrum]: {
749
880
  mainnet: ArbitrumTokens,
750
881
  testnet: ArbitrumSepoliaTokens,
751
882
  devnet: ArbitrumSepoliaTokens
752
883
  },
753
- [import_warps13.WarpChainName.Polygon]: {
884
+ [import_warps15.WarpChainName.Polygon]: {
754
885
  mainnet: PolygonTokens,
755
886
  testnet: PolygonMumbaiTokens,
756
887
  devnet: PolygonMumbaiTokens
888
+ },
889
+ [import_warps15.WarpChainName.Tempo]: {
890
+ mainnet: TempoTokens,
891
+ testnet: TempoModeratoTokens,
892
+ devnet: TempoModeratoTokens
757
893
  }
758
894
  };
759
895
  var findKnownTokenById = (chain, env, id) => {
@@ -776,10 +912,10 @@ var WarpEvmDataLoader = class {
776
912
  constructor(config, chain) {
777
913
  this.config = config;
778
914
  this.chain = chain;
779
- const providerConfig = (0, import_warps14.getProviderConfig)(this.config, this.chain.name, this.config.env, this.chain.defaultApiUrl);
915
+ const providerConfig = (0, import_warps16.getProviderConfig)(this.config, this.chain.name, this.config.env, this.chain.defaultApiUrl);
780
916
  const network = new import_ethers3.ethers.Network(this.chain.name, parseInt(this.chain.chainId));
781
917
  this.provider = new import_ethers3.ethers.JsonRpcProvider(providerConfig.url, network);
782
- this.cache = new import_warps14.WarpCache(config.env, config.cache);
918
+ this.cache = new import_warps16.WarpCache(config.env, config.cache);
783
919
  this.uniswapService = new UniswapService(this.cache, parseInt(this.chain.chainId));
784
920
  }
785
921
  getRequiredConfirmations() {
@@ -821,8 +957,8 @@ var WarpEvmDataLoader = class {
821
957
  if (identifier === this.chain.nativeToken.identifier) {
822
958
  return this.chain.nativeToken;
823
959
  }
824
- const cacheKey = import_warps14.WarpCacheKey.Asset(this.config.env, this.chain.name, identifier);
825
- const cachedAsset = this.cache.get(cacheKey);
960
+ const cacheKey = import_warps16.WarpCacheKey.Asset(this.config.env, this.chain.name, identifier);
961
+ const cachedAsset = await this.cache.get(cacheKey);
826
962
  if (cachedAsset) {
827
963
  return cachedAsset;
828
964
  }
@@ -849,7 +985,7 @@ var WarpEvmDataLoader = class {
849
985
  decimals: metadata.decimals,
850
986
  logoUrl: metadata.logoUrl
851
987
  };
852
- this.cache.set(cacheKey, asset, import_warps14.CacheTtl.OneHour);
988
+ await this.cache.set(cacheKey, asset, import_warps16.CacheTtl.OneHour);
853
989
  return asset;
854
990
  } catch (error) {
855
991
  return null;
@@ -919,7 +1055,7 @@ var WarpEvmDataLoader = class {
919
1055
  name: token.name,
920
1056
  symbol: token.symbol,
921
1057
  decimals: token.decimals || 18,
922
- logoUrl: (0, import_warps14.getWarpChainAssetLogoUrl)(token, this.config) || ""
1058
+ logoUrl: (0, import_warps16.getWarpChainAssetLogoUrl)(token, this.config) || ""
923
1059
  }));
924
1060
  }
925
1061
  async getTokenBalance(address, tokenAddress) {
@@ -948,7 +1084,7 @@ var WarpEvmDataLoader = class {
948
1084
  };
949
1085
 
950
1086
  // src/WarpEvmExecutor.ts
951
- var import_warps17 = require("@joai/warps");
1087
+ var import_warps19 = require("@joai/warps");
952
1088
  var import_ethers6 = require("ethers");
953
1089
 
954
1090
  // src/constants.ts
@@ -1000,6 +1136,12 @@ var PolygonExplorers = /* @__PURE__ */ ((PolygonExplorers2) => {
1000
1136
  PolygonExplorers2["BlockscoutPolygonMumbai"] = "blockscout_polygon_mumbai";
1001
1137
  return PolygonExplorers2;
1002
1138
  })(PolygonExplorers || {});
1139
+ var TempoExplorers = /* @__PURE__ */ ((TempoExplorers2) => {
1140
+ TempoExplorers2["TempoExplorer"] = "tempo_explorer";
1141
+ TempoExplorers2["TempoExplorerTestnet"] = "tempo_explorer_testnet";
1142
+ TempoExplorers2["TempoExplorerDevnet"] = "tempo_explorer_devnet";
1143
+ return TempoExplorers2;
1144
+ })(TempoExplorers || {});
1003
1145
  var EvmExplorers = {
1004
1146
  ethereum: {
1005
1147
  mainnet: ["etherscan" /* Etherscan */, "ethplorer" /* Ethplorer */, "blockscout" /* Blockscout */],
@@ -1020,6 +1162,11 @@ var EvmExplorers = {
1020
1162
  mainnet: ["polygonscan" /* Polygonscan */, "blockscout_polygon" /* BlockscoutPolygon */],
1021
1163
  testnet: ["polygonscan_mumbai" /* PolygonscanMumbai */, "blockscout_polygon_mumbai" /* BlockscoutPolygonMumbai */],
1022
1164
  devnet: ["polygonscan_mumbai" /* PolygonscanMumbai */, "blockscout_polygon_mumbai" /* BlockscoutPolygonMumbai */]
1165
+ },
1166
+ tempo: {
1167
+ mainnet: ["tempo_explorer" /* TempoExplorer */],
1168
+ testnet: ["tempo_explorer_testnet" /* TempoExplorerTestnet */],
1169
+ devnet: ["tempo_explorer_devnet" /* TempoExplorerDevnet */]
1023
1170
  }
1024
1171
  };
1025
1172
  var ExplorerUrls = {
@@ -1039,7 +1186,10 @@ var ExplorerUrls = {
1039
1186
  ["polygonscan" /* Polygonscan */]: "https://polygonscan.com",
1040
1187
  ["polygonscan_mumbai" /* PolygonscanMumbai */]: "https://mumbai.polygonscan.com",
1041
1188
  ["blockscout_polygon" /* BlockscoutPolygon */]: "https://polygon.blockscout.com",
1042
- ["blockscout_polygon_mumbai" /* BlockscoutPolygonMumbai */]: "https://mumbai.blockscout.com"
1189
+ ["blockscout_polygon_mumbai" /* BlockscoutPolygonMumbai */]: "https://mumbai.blockscout.com",
1190
+ ["tempo_explorer" /* TempoExplorer */]: "https://explore.tempo.xyz",
1191
+ ["tempo_explorer_testnet" /* TempoExplorerTestnet */]: "https://explore.testnet.tempo.xyz",
1192
+ ["tempo_explorer_devnet" /* TempoExplorerDevnet */]: "https://explore.devnet.tempo.xyz"
1043
1193
  };
1044
1194
  var EvmChainIds = {
1045
1195
  Ethereum: {
@@ -1062,6 +1212,11 @@ var EvmChainIds = {
1062
1212
  Optimism: {
1063
1213
  Mainnet: 10,
1064
1214
  Sepolia: 11155420
1215
+ },
1216
+ Tempo: {
1217
+ Mainnet: 4217,
1218
+ Moderato: 42431,
1219
+ Devnet: 31318
1065
1220
  }
1066
1221
  };
1067
1222
  var EvmChainIdMap = {
@@ -1075,7 +1230,10 @@ var EvmChainIdMap = {
1075
1230
  "base:mainnet": EvmChainIds.Base.Mainnet,
1076
1231
  "base:sepolia": EvmChainIds.Base.Sepolia,
1077
1232
  "optimism:mainnet": EvmChainIds.Optimism.Mainnet,
1078
- "optimism:sepolia": EvmChainIds.Optimism.Sepolia
1233
+ "optimism:sepolia": EvmChainIds.Optimism.Sepolia,
1234
+ "tempo:mainnet": EvmChainIds.Tempo.Mainnet,
1235
+ "tempo:moderato": EvmChainIds.Tempo.Moderato,
1236
+ "tempo:devnet": EvmChainIds.Tempo.Devnet
1079
1237
  };
1080
1238
  var SupportedEvmChainIds = [
1081
1239
  EvmChainIds.Ethereum.Mainnet,
@@ -1088,20 +1246,23 @@ var SupportedEvmChainIds = [
1088
1246
  EvmChainIds.Base.Mainnet,
1089
1247
  EvmChainIds.Base.Sepolia,
1090
1248
  EvmChainIds.Optimism.Mainnet,
1091
- EvmChainIds.Optimism.Sepolia
1249
+ EvmChainIds.Optimism.Sepolia,
1250
+ EvmChainIds.Tempo.Mainnet,
1251
+ EvmChainIds.Tempo.Moderato,
1252
+ EvmChainIds.Tempo.Devnet
1092
1253
  ];
1093
1254
 
1094
1255
  // src/WarpEvmOutput.ts
1095
- var import_warps16 = require("@joai/warps");
1256
+ var import_warps18 = require("@joai/warps");
1096
1257
  var import_ethers5 = require("ethers");
1097
1258
 
1098
1259
  // src/WarpEvmSerializer.ts
1099
- var import_warps15 = require("@joai/warps");
1260
+ var import_warps17 = require("@joai/warps");
1100
1261
  var import_ethers4 = require("ethers");
1101
- var SplitParamsRegex = new RegExp(`${import_warps15.WarpConstants.ArgParamsSeparator}(.*)`);
1262
+ var SplitParamsRegex = new RegExp(`${import_warps17.WarpConstants.ArgParamsSeparator}(.*)`);
1102
1263
  var WarpEvmSerializer = class {
1103
1264
  constructor() {
1104
- this.coreSerializer = new import_warps15.WarpSerializer();
1265
+ this.coreSerializer = new import_warps17.WarpSerializer();
1105
1266
  }
1106
1267
  typedToString(value) {
1107
1268
  if (typeof value === "string") {
@@ -1130,9 +1291,9 @@ var WarpEvmSerializer = class {
1130
1291
  }
1131
1292
  if (Array.isArray(value)) {
1132
1293
  if (value.length === 0) return `list:string:`;
1133
- const types = value.map((item) => this.typedToString(item).split(import_warps15.WarpConstants.ArgParamsSeparator)[0]);
1294
+ const types = value.map((item) => this.typedToString(item).split(import_warps17.WarpConstants.ArgParamsSeparator)[0]);
1134
1295
  const type = types[0];
1135
- const values = value.map((item) => this.typedToString(item).split(import_warps15.WarpConstants.ArgParamsSeparator)[1]);
1296
+ const values = value.map((item) => this.typedToString(item).split(import_warps17.WarpConstants.ArgParamsSeparator)[1]);
1136
1297
  return `list:${type}:${values.join(",")}`;
1137
1298
  }
1138
1299
  if (value === null || value === void 0) {
@@ -1142,8 +1303,8 @@ var WarpEvmSerializer = class {
1142
1303
  }
1143
1304
  typedToNative(value) {
1144
1305
  const stringValue = this.typedToString(value);
1145
- const [type, ...valueParts] = stringValue.split(import_warps15.WarpConstants.ArgParamsSeparator);
1146
- const nativeValue = valueParts.join(import_warps15.WarpConstants.ArgParamsSeparator);
1306
+ const [type, ...valueParts] = stringValue.split(import_warps17.WarpConstants.ArgParamsSeparator);
1307
+ const nativeValue = valueParts.join(import_warps17.WarpConstants.ArgParamsSeparator);
1147
1308
  return [type, this.parseNativeValue(type, nativeValue)];
1148
1309
  }
1149
1310
  nativeToTyped(type, value) {
@@ -1195,7 +1356,7 @@ var WarpEvmSerializer = class {
1195
1356
  }
1196
1357
  }
1197
1358
  stringToTyped(value) {
1198
- const parts = value.split(import_warps15.WarpConstants.ArgParamsSeparator, 2);
1359
+ const parts = value.split(import_warps17.WarpConstants.ArgParamsSeparator, 2);
1199
1360
  if (parts.length < 2) {
1200
1361
  return value;
1201
1362
  }
@@ -1254,14 +1415,14 @@ var WarpEvmOutput = class {
1254
1415
  this.config = config;
1255
1416
  this.chain = chain;
1256
1417
  this.serializer = new WarpEvmSerializer();
1257
- const providerConfig = (0, import_warps16.getProviderConfig)(this.config, this.chain.name, this.config.env, this.chain.defaultApiUrl);
1418
+ const providerConfig = (0, import_warps18.getProviderConfig)(this.config, this.chain.name, this.config.env, this.chain.defaultApiUrl);
1258
1419
  const network = new import_ethers5.ethers.Network(this.chain.name, parseInt(this.chain.chainId));
1259
1420
  this.provider = new import_ethers5.ethers.JsonRpcProvider(providerConfig.url, network);
1260
- this.cache = new import_warps16.WarpCache(config.env, config.cache);
1421
+ this.cache = new import_warps18.WarpCache(config.env, config.cache);
1261
1422
  }
1262
1423
  async getActionExecution(warp, actionIndex, tx) {
1263
- const inputs = this.cache.get(import_warps16.WarpCacheKey.WarpExecutable(this.config.env, warp.meta?.hash || "", actionIndex)) ?? [];
1264
- const resolvedInputs = (0, import_warps16.extractResolvedInputValues)(inputs);
1424
+ const inputs = await this.cache.get(import_warps18.WarpCacheKey.WarpExecutable(this.config.env, warp.meta?.hash || "", actionIndex)) ?? [];
1425
+ const resolvedInputs = (0, import_warps18.extractResolvedInputValues)(inputs);
1265
1426
  if (!tx) {
1266
1427
  return this.createFailedExecution(warp, actionIndex, resolvedInputs);
1267
1428
  }
@@ -1275,7 +1436,7 @@ var WarpEvmOutput = class {
1275
1436
  status: "error",
1276
1437
  warp,
1277
1438
  action: actionIndex,
1278
- user: (0, import_warps16.getWarpWalletAddressFromConfig)(this.config, this.chain.name),
1439
+ user: (0, import_warps18.getWarpWalletAddressFromConfig)(this.config, this.chain.name),
1279
1440
  txHash: "",
1280
1441
  tx: null,
1281
1442
  next: null,
@@ -1298,7 +1459,7 @@ var WarpEvmOutput = class {
1298
1459
  status: success ? "success" : "error",
1299
1460
  warp,
1300
1461
  action: actionIndex,
1301
- user: (0, import_warps16.getWarpWalletAddressFromConfig)(this.config, this.chain.name),
1462
+ user: (0, import_warps18.getWarpWalletAddressFromConfig)(this.config, this.chain.name),
1302
1463
  txHash: transactionHash,
1303
1464
  tx,
1304
1465
  next: null,
@@ -1329,7 +1490,7 @@ var WarpEvmOutput = class {
1329
1490
  status: success ? "success" : "error",
1330
1491
  warp,
1331
1492
  action: actionIndex,
1332
- user: (0, import_warps16.getWarpWalletAddressFromConfig)(this.config, this.chain.name),
1493
+ user: (0, import_warps18.getWarpWalletAddressFromConfig)(this.config, this.chain.name),
1333
1494
  txHash: transactionHash,
1334
1495
  tx: {
1335
1496
  ...tx,
@@ -1360,8 +1521,8 @@ var WarpEvmOutput = class {
1360
1521
  return value;
1361
1522
  };
1362
1523
  for (const [key, path] of Object.entries(warp.output)) {
1363
- if (path.startsWith(import_warps16.WarpConstants.Transform.Prefix)) continue;
1364
- const currentActionIndex = (0, import_warps16.parseOutputOutIndex)(path);
1524
+ if (path.startsWith(import_warps18.WarpConstants.Transform.Prefix)) continue;
1525
+ const currentActionIndex = (0, import_warps18.parseOutputOutIndex)(path);
1365
1526
  if (currentActionIndex !== null && currentActionIndex !== actionIndex) {
1366
1527
  output[key] = null;
1367
1528
  continue;
@@ -1372,7 +1533,7 @@ var WarpEvmOutput = class {
1372
1533
  output[key] = path;
1373
1534
  }
1374
1535
  }
1375
- return { values, output: await (0, import_warps16.evaluateOutputCommon)(warp, output, nativeValues, actionIndex, inputs, this.serializer.coreSerializer, this.config) };
1536
+ return { values, output: await (0, import_warps18.evaluateOutputCommon)(warp, output, nativeValues, actionIndex, inputs, this.serializer.coreSerializer, this.config) };
1376
1537
  }
1377
1538
  async getTransactionStatus(txHash) {
1378
1539
  try {
@@ -1404,13 +1565,13 @@ var WarpEvmExecutor = class {
1404
1565
  this.config = config;
1405
1566
  this.chain = chain;
1406
1567
  this.serializer = new WarpEvmSerializer();
1407
- const providerConfig = (0, import_warps17.getProviderConfig)(this.config, chain.name, this.config.env, this.chain.defaultApiUrl);
1568
+ const providerConfig = (0, import_warps19.getProviderConfig)(this.config, chain.name, this.config.env, this.chain.defaultApiUrl);
1408
1569
  const network = new import_ethers6.ethers.Network(this.chain.name, parseInt(this.chain.chainId));
1409
1570
  this.provider = new import_ethers6.ethers.JsonRpcProvider(providerConfig.url, network);
1410
1571
  this.output = new WarpEvmOutput(config, this.chain);
1411
1572
  }
1412
1573
  async createTransaction(executable) {
1413
- const action = (0, import_warps17.getWarpActionByIndex)(executable.warp, executable.action);
1574
+ const action = (0, import_warps19.getWarpActionByIndex)(executable.warp, executable.action);
1414
1575
  let tx = null;
1415
1576
  if (action.type === "transfer") {
1416
1577
  tx = await this.createTransferTransaction(executable);
@@ -1425,7 +1586,7 @@ var WarpEvmExecutor = class {
1425
1586
  return tx;
1426
1587
  }
1427
1588
  async createTransferTransaction(executable) {
1428
- const userWallet = (0, import_warps17.getWarpWalletAddressFromConfig)(this.config, executable.chain.name);
1589
+ const userWallet = (0, import_warps19.getWarpWalletAddressFromConfig)(this.config, executable.chain.name);
1429
1590
  if (!userWallet) throw new Error("WarpEvmExecutor: createTransfer - user address not set");
1430
1591
  if (!import_ethers6.ethers.isAddress(executable.destination)) {
1431
1592
  throw new Error(`WarpEvmExecutor: Invalid destination address: ${executable.destination}`);
@@ -1441,9 +1602,9 @@ var WarpEvmExecutor = class {
1441
1602
  return this.estimateGasAndSetDefaults(tx, userWallet);
1442
1603
  }
1443
1604
  async createContractCallTransaction(executable) {
1444
- const userWallet = (0, import_warps17.getWarpWalletAddressFromConfig)(this.config, executable.chain.name);
1605
+ const userWallet = (0, import_warps19.getWarpWalletAddressFromConfig)(this.config, executable.chain.name);
1445
1606
  if (!userWallet) throw new Error("WarpEvmExecutor: createContractCall - user address not set");
1446
- const action = (0, import_warps17.getWarpActionByIndex)(executable.warp, executable.action);
1607
+ const action = (0, import_warps19.getWarpActionByIndex)(executable.warp, executable.action);
1447
1608
  if (!action || !("func" in action) || !action.func) throw new Error("WarpEvmExecutor: Contract action must have a function name");
1448
1609
  if (!import_ethers6.ethers.isAddress(executable.destination)) throw new Error(`WarpEvmExecutor: Invalid contract address: ${executable.destination}`);
1449
1610
  try {
@@ -1506,7 +1667,7 @@ var WarpEvmExecutor = class {
1506
1667
  return this.estimateGasAndSetDefaults(tx, userWallet);
1507
1668
  }
1508
1669
  async executeQuery(executable) {
1509
- const action = (0, import_warps17.getWarpActionByIndex)(executable.warp, executable.action);
1670
+ const action = (0, import_warps19.getWarpActionByIndex)(executable.warp, executable.action);
1510
1671
  if (action.type !== "query") throw new Error(`WarpEvmExecutor: Invalid action type for executeQuery: ${action.type}`);
1511
1672
  if (!action.func) throw new Error("WarpEvmExecutor: Query action must have a function name");
1512
1673
  if (!import_ethers6.ethers.isAddress(executable.destination)) throw new Error(`WarpEvmExecutor: Invalid address for query: ${executable.destination}`);
@@ -1533,33 +1694,33 @@ var WarpEvmExecutor = class {
1533
1694
  executable.action,
1534
1695
  executable.resolvedInputs
1535
1696
  );
1536
- const next = (0, import_warps17.getNextInfo)(this.config, [], executable.warp, executable.action, output);
1697
+ const next = (0, import_warps19.getNextInfo)(this.config, [], executable.warp, executable.action, output);
1537
1698
  const destinationInput = executable.resolvedInputs.find((i) => i.input.position === "receiver" || i.input.position === "destination");
1538
1699
  const destination = destinationInput?.value || executable.destination;
1539
- const resolvedInputs = (0, import_warps17.extractResolvedInputValues)(executable.resolvedInputs);
1700
+ const resolvedInputs = (0, import_warps19.extractResolvedInputValues)(executable.resolvedInputs);
1540
1701
  return {
1541
1702
  status: isSuccess ? "success" : "error",
1542
1703
  warp: executable.warp,
1543
1704
  action: executable.action,
1544
- user: (0, import_warps17.getWarpWalletAddressFromConfig)(this.config, executable.chain.name),
1705
+ user: (0, import_warps19.getWarpWalletAddressFromConfig)(this.config, executable.chain.name),
1545
1706
  txHash: null,
1546
1707
  tx: null,
1547
1708
  next,
1548
1709
  values,
1549
1710
  output: { ...output, _DATA: decodedResult },
1550
- messages: (0, import_warps17.applyOutputToMessages)(executable.warp, output, this.config),
1711
+ messages: (0, import_warps19.applyOutputToMessages)(executable.warp, output, this.config),
1551
1712
  destination,
1552
1713
  resolvedInputs
1553
1714
  };
1554
1715
  } catch (error) {
1555
1716
  const destinationInput = executable.resolvedInputs.find((i) => i.input.position === "receiver" || i.input.position === "destination");
1556
1717
  const destination = destinationInput?.value || executable.destination;
1557
- const resolvedInputs = (0, import_warps17.extractResolvedInputValues)(executable.resolvedInputs);
1718
+ const resolvedInputs = (0, import_warps19.extractResolvedInputValues)(executable.resolvedInputs);
1558
1719
  return {
1559
1720
  status: "error",
1560
1721
  warp: executable.warp,
1561
1722
  action: executable.action,
1562
- user: (0, import_warps17.getWarpWalletAddressFromConfig)(this.config, executable.chain.name),
1723
+ user: (0, import_warps19.getWarpWalletAddressFromConfig)(this.config, executable.chain.name),
1563
1724
  txHash: null,
1564
1725
  tx: null,
1565
1726
  next: null,
@@ -1799,9 +1960,11 @@ var WarpEvmExplorer = class {
1799
1960
  };
1800
1961
 
1801
1962
  // src/WarpEvmWallet.ts
1802
- var import_warps18 = require("@joai/warps");
1963
+ var import_warps20 = require("@joai/warps");
1964
+ var import_evm = require("@x402/evm");
1803
1965
  var import_client = require("@x402/evm/exact/client");
1804
1966
  var import_ethers7 = require("ethers");
1967
+ var import_viem = require("viem");
1805
1968
  var import_accounts = require("viem/accounts");
1806
1969
  var WarpEvmWallet = class {
1807
1970
  constructor(config, chain) {
@@ -1809,7 +1972,7 @@ var WarpEvmWallet = class {
1809
1972
  this.chain = chain;
1810
1973
  this.cachedAddress = null;
1811
1974
  this.cachedPublicKey = null;
1812
- const providerConfig = (0, import_warps18.getProviderConfig)(config, chain.name, config.env, chain.defaultApiUrl);
1975
+ const providerConfig = (0, import_warps20.getProviderConfig)(config, chain.name, config.env, chain.defaultApiUrl);
1813
1976
  this.provider = new import_ethers7.ethers.JsonRpcProvider(providerConfig.url);
1814
1977
  this.walletProvider = this.createProvider();
1815
1978
  const wallet = config.user?.wallets?.[chain.name];
@@ -1898,6 +2061,10 @@ var WarpEvmWallet = class {
1898
2061
  const walletProvider = this.createProviderForOperation(provider);
1899
2062
  return await walletProvider.generate();
1900
2063
  }
2064
+ async delete(provider, externalId) {
2065
+ const walletProvider = this.createProviderForOperation(provider);
2066
+ await walletProvider.delete(externalId);
2067
+ }
1901
2068
  getAddress() {
1902
2069
  return this.cachedAddress;
1903
2070
  }
@@ -1911,7 +2078,12 @@ var WarpEvmWallet = class {
1911
2078
  if (typeof getInstance !== "function") throw new Error("Wallet provider does not have getWalletInstance method");
1912
2079
  const wallet = getInstance();
1913
2080
  if (!wallet || !wallet.privateKey) throw new Error("Wallet instance does not have private key");
1914
- const signer = (0, import_accounts.privateKeyToAccount)(wallet.privateKey);
2081
+ const signer = (0, import_evm.toClientEvmSigner)(
2082
+ (0, import_accounts.privateKeyToAccount)(wallet.privateKey),
2083
+ (0, import_viem.createPublicClient)({
2084
+ transport: (0, import_viem.http)((0, import_warps20.getProviderConfig)(this.config, this.chain.name, this.config.env, this.chain.defaultApiUrl).url)
2085
+ })
2086
+ );
1915
2087
  const handlers = {};
1916
2088
  for (const chainId of SupportedEvmChainIds) {
1917
2089
  handlers[`eip155:${chainId}`] = () => {
@@ -2017,16 +2189,16 @@ var createEvmAdapter = (chainName, chainInfos) => {
2017
2189
 
2018
2190
  // src/chains/arbitrum.ts
2019
2191
  var NativeTokenArb = {
2020
- chain: import_warps19.WarpChainName.Arbitrum,
2192
+ chain: import_warps21.WarpChainName.Arbitrum,
2021
2193
  identifier: "ARB",
2022
2194
  symbol: "ARB",
2023
2195
  name: "Arbitrum",
2024
2196
  decimals: 18,
2025
2197
  logoUrl: "https://raw.githubusercontent.com/JoAiHQ/assets/refs/heads/main/tokens/logos/arb.svg"
2026
2198
  };
2027
- var ArbitrumAdapter = createEvmAdapter(import_warps19.WarpChainName.Arbitrum, {
2199
+ var ArbitrumAdapter = createEvmAdapter(import_warps21.WarpChainName.Arbitrum, {
2028
2200
  mainnet: {
2029
- name: import_warps19.WarpChainName.Arbitrum,
2201
+ name: import_warps21.WarpChainName.Arbitrum,
2030
2202
  displayName: "Arbitrum",
2031
2203
  chainId: "42161",
2032
2204
  blockTime: 1e3,
@@ -2036,7 +2208,7 @@ var ArbitrumAdapter = createEvmAdapter(import_warps19.WarpChainName.Arbitrum, {
2036
2208
  nativeToken: NativeTokenArb
2037
2209
  },
2038
2210
  testnet: {
2039
- name: import_warps19.WarpChainName.Arbitrum,
2211
+ name: import_warps21.WarpChainName.Arbitrum,
2040
2212
  displayName: "Arbitrum Sepolia",
2041
2213
  chainId: "421614",
2042
2214
  blockTime: 1e3,
@@ -2046,7 +2218,7 @@ var ArbitrumAdapter = createEvmAdapter(import_warps19.WarpChainName.Arbitrum, {
2046
2218
  nativeToken: NativeTokenArb
2047
2219
  },
2048
2220
  devnet: {
2049
- name: import_warps19.WarpChainName.Arbitrum,
2221
+ name: import_warps21.WarpChainName.Arbitrum,
2050
2222
  displayName: "Arbitrum Sepolia",
2051
2223
  chainId: "421614",
2052
2224
  blockTime: 1e3,
@@ -2058,9 +2230,9 @@ var ArbitrumAdapter = createEvmAdapter(import_warps19.WarpChainName.Arbitrum, {
2058
2230
  });
2059
2231
 
2060
2232
  // src/chains/base.ts
2061
- var import_warps20 = require("@joai/warps");
2233
+ var import_warps22 = require("@joai/warps");
2062
2234
  var NativeTokenBase = {
2063
- chain: import_warps20.WarpChainName.Base,
2235
+ chain: import_warps22.WarpChainName.Base,
2064
2236
  identifier: "ETH",
2065
2237
  name: "Ether",
2066
2238
  symbol: "ETH",
@@ -2070,9 +2242,9 @@ var NativeTokenBase = {
2070
2242
  dark: "https://raw.githubusercontent.com/JoAiHQ/assets/refs/heads/main/tokens/logos/eth-black.svg"
2071
2243
  }
2072
2244
  };
2073
- var BaseAdapter = createEvmAdapter(import_warps20.WarpChainName.Base, {
2245
+ var BaseAdapter = createEvmAdapter(import_warps22.WarpChainName.Base, {
2074
2246
  mainnet: {
2075
- name: import_warps20.WarpChainName.Base,
2247
+ name: import_warps22.WarpChainName.Base,
2076
2248
  displayName: "Base",
2077
2249
  chainId: "8453",
2078
2250
  blockTime: 2e3,
@@ -2085,7 +2257,7 @@ var BaseAdapter = createEvmAdapter(import_warps20.WarpChainName.Base, {
2085
2257
  nativeToken: NativeTokenBase
2086
2258
  },
2087
2259
  testnet: {
2088
- name: import_warps20.WarpChainName.Base,
2260
+ name: import_warps22.WarpChainName.Base,
2089
2261
  displayName: "Base Sepolia",
2090
2262
  chainId: "84532",
2091
2263
  blockTime: 2e3,
@@ -2098,7 +2270,7 @@ var BaseAdapter = createEvmAdapter(import_warps20.WarpChainName.Base, {
2098
2270
  nativeToken: NativeTokenBase
2099
2271
  },
2100
2272
  devnet: {
2101
- name: import_warps20.WarpChainName.Base,
2273
+ name: import_warps22.WarpChainName.Base,
2102
2274
  displayName: "Base Sepolia",
2103
2275
  chainId: "84532",
2104
2276
  blockTime: 2e3,
@@ -2113,19 +2285,20 @@ var BaseAdapter = createEvmAdapter(import_warps20.WarpChainName.Base, {
2113
2285
  });
2114
2286
 
2115
2287
  // src/chains/combined.ts
2116
- var import_warps21 = require("@joai/warps");
2288
+ var import_warps23 = require("@joai/warps");
2117
2289
  var getAllEvmChainNames = () => [
2118
- import_warps21.WarpChainName.Ethereum,
2119
- import_warps21.WarpChainName.Base,
2120
- import_warps21.WarpChainName.Arbitrum,
2121
- import_warps21.WarpChainName.Polygon,
2122
- import_warps21.WarpChainName.Somnia
2290
+ import_warps23.WarpChainName.Ethereum,
2291
+ import_warps23.WarpChainName.Base,
2292
+ import_warps23.WarpChainName.Arbitrum,
2293
+ import_warps23.WarpChainName.Polygon,
2294
+ import_warps23.WarpChainName.Somnia,
2295
+ import_warps23.WarpChainName.Tempo
2123
2296
  ];
2124
2297
 
2125
2298
  // src/chains/ethereum.ts
2126
- var import_warps22 = require("@joai/warps");
2299
+ var import_warps24 = require("@joai/warps");
2127
2300
  var NativeTokenEth = {
2128
- chain: import_warps22.WarpChainName.Ethereum,
2301
+ chain: import_warps24.WarpChainName.Ethereum,
2129
2302
  identifier: "ETH",
2130
2303
  symbol: "ETH",
2131
2304
  name: "Ether",
@@ -2135,9 +2308,9 @@ var NativeTokenEth = {
2135
2308
  dark: "https://raw.githubusercontent.com/JoAiHQ/assets/refs/heads/main/tokens/logos/eth-black.svg"
2136
2309
  }
2137
2310
  };
2138
- var EthereumAdapter = createEvmAdapter(import_warps22.WarpChainName.Ethereum, {
2311
+ var EthereumAdapter = createEvmAdapter(import_warps24.WarpChainName.Ethereum, {
2139
2312
  mainnet: {
2140
- name: import_warps22.WarpChainName.Ethereum,
2313
+ name: import_warps24.WarpChainName.Ethereum,
2141
2314
  displayName: "Ethereum Mainnet",
2142
2315
  chainId: "1",
2143
2316
  blockTime: 12e3,
@@ -2150,7 +2323,7 @@ var EthereumAdapter = createEvmAdapter(import_warps22.WarpChainName.Ethereum, {
2150
2323
  nativeToken: NativeTokenEth
2151
2324
  },
2152
2325
  testnet: {
2153
- name: import_warps22.WarpChainName.Ethereum,
2326
+ name: import_warps24.WarpChainName.Ethereum,
2154
2327
  displayName: "Ethereum Sepolia",
2155
2328
  chainId: "11155111",
2156
2329
  blockTime: 12e3,
@@ -2163,7 +2336,7 @@ var EthereumAdapter = createEvmAdapter(import_warps22.WarpChainName.Ethereum, {
2163
2336
  nativeToken: NativeTokenEth
2164
2337
  },
2165
2338
  devnet: {
2166
- name: import_warps22.WarpChainName.Ethereum,
2339
+ name: import_warps24.WarpChainName.Ethereum,
2167
2340
  displayName: "Ethereum Sepolia",
2168
2341
  chainId: "11155111",
2169
2342
  blockTime: 12e3,
@@ -2178,9 +2351,9 @@ var EthereumAdapter = createEvmAdapter(import_warps22.WarpChainName.Ethereum, {
2178
2351
  });
2179
2352
 
2180
2353
  // src/chains/polygon.ts
2181
- var import_warps23 = require("@joai/warps");
2354
+ var import_warps25 = require("@joai/warps");
2182
2355
  var NativeTokenPolygon = {
2183
- chain: import_warps23.WarpChainName.Polygon,
2356
+ chain: import_warps25.WarpChainName.Polygon,
2184
2357
  identifier: "MATIC",
2185
2358
  symbol: "MATIC",
2186
2359
  name: "Polygon",
@@ -2190,9 +2363,9 @@ var NativeTokenPolygon = {
2190
2363
  dark: "https://raw.githubusercontent.com/JoAiHQ/assets/refs/heads/main/tokens/logos/matic-black.svg"
2191
2364
  }
2192
2365
  };
2193
- var PolygonAdapter = createEvmAdapter(import_warps23.WarpChainName.Polygon, {
2366
+ var PolygonAdapter = createEvmAdapter(import_warps25.WarpChainName.Polygon, {
2194
2367
  mainnet: {
2195
- name: import_warps23.WarpChainName.Polygon,
2368
+ name: import_warps25.WarpChainName.Polygon,
2196
2369
  displayName: "Polygon",
2197
2370
  chainId: "137",
2198
2371
  blockTime: 2e3,
@@ -2205,7 +2378,7 @@ var PolygonAdapter = createEvmAdapter(import_warps23.WarpChainName.Polygon, {
2205
2378
  nativeToken: NativeTokenPolygon
2206
2379
  },
2207
2380
  testnet: {
2208
- name: import_warps23.WarpChainName.Polygon,
2381
+ name: import_warps25.WarpChainName.Polygon,
2209
2382
  displayName: "Polygon Mumbai",
2210
2383
  chainId: "80001",
2211
2384
  blockTime: 2e3,
@@ -2218,7 +2391,7 @@ var PolygonAdapter = createEvmAdapter(import_warps23.WarpChainName.Polygon, {
2218
2391
  nativeToken: NativeTokenPolygon
2219
2392
  },
2220
2393
  devnet: {
2221
- name: import_warps23.WarpChainName.Polygon,
2394
+ name: import_warps25.WarpChainName.Polygon,
2222
2395
  displayName: "Polygon Mumbai",
2223
2396
  chainId: "80001",
2224
2397
  blockTime: 2e3,
@@ -2232,13 +2405,10 @@ var PolygonAdapter = createEvmAdapter(import_warps23.WarpChainName.Polygon, {
2232
2405
  }
2233
2406
  });
2234
2407
 
2235
- // src/adapters.ts
2236
- var import_warps25 = require("@joai/warps");
2237
-
2238
2408
  // src/chains/somnia.ts
2239
- var import_warps24 = require("@joai/warps");
2409
+ var import_warps26 = require("@joai/warps");
2240
2410
  var NativeTokenSomi = {
2241
- chain: import_warps24.WarpChainName.Somnia,
2411
+ chain: import_warps26.WarpChainName.Somnia,
2242
2412
  identifier: "SOMI",
2243
2413
  symbol: "SOMI",
2244
2414
  name: "Somnia",
@@ -2246,16 +2416,16 @@ var NativeTokenSomi = {
2246
2416
  logoUrl: "https://assets.coingecko.com/coins/images/68061/standard/somniacg.png?1754641117"
2247
2417
  };
2248
2418
  var NativeTokenStt = {
2249
- chain: import_warps24.WarpChainName.Somnia,
2419
+ chain: import_warps26.WarpChainName.Somnia,
2250
2420
  identifier: "STT",
2251
2421
  symbol: "STT",
2252
2422
  name: "Somnia Testnet Token",
2253
2423
  decimals: 18,
2254
2424
  logoUrl: "https://assets.coingecko.com/coins/images/68061/standard/somniacg.png?1754641117"
2255
2425
  };
2256
- var SomniaAdapter = createEvmAdapter(import_warps24.WarpChainName.Somnia, {
2426
+ var SomniaAdapter = createEvmAdapter(import_warps26.WarpChainName.Somnia, {
2257
2427
  mainnet: {
2258
- name: import_warps24.WarpChainName.Somnia,
2428
+ name: import_warps26.WarpChainName.Somnia,
2259
2429
  displayName: "Somnia Mainnet",
2260
2430
  chainId: "5031",
2261
2431
  blockTime: 100,
@@ -2265,7 +2435,7 @@ var SomniaAdapter = createEvmAdapter(import_warps24.WarpChainName.Somnia, {
2265
2435
  nativeToken: NativeTokenSomi
2266
2436
  },
2267
2437
  testnet: {
2268
- name: import_warps24.WarpChainName.Somnia,
2438
+ name: import_warps26.WarpChainName.Somnia,
2269
2439
  displayName: "Somnia Testnet",
2270
2440
  chainId: "50312",
2271
2441
  blockTime: 100,
@@ -2275,7 +2445,7 @@ var SomniaAdapter = createEvmAdapter(import_warps24.WarpChainName.Somnia, {
2275
2445
  nativeToken: NativeTokenStt
2276
2446
  },
2277
2447
  devnet: {
2278
- name: import_warps24.WarpChainName.Somnia,
2448
+ name: import_warps26.WarpChainName.Somnia,
2279
2449
  displayName: "Somnia Testnet",
2280
2450
  chainId: "50312",
2281
2451
  blockTime: 100,
@@ -2286,13 +2456,67 @@ var SomniaAdapter = createEvmAdapter(import_warps24.WarpChainName.Somnia, {
2286
2456
  }
2287
2457
  });
2288
2458
 
2459
+ // src/chains/tempo.ts
2460
+ var import_warps27 = require("@joai/warps");
2461
+ var NativeTokenTempo = {
2462
+ chain: import_warps27.WarpChainName.Tempo,
2463
+ identifier: "USD",
2464
+ name: "USD",
2465
+ symbol: "USD",
2466
+ decimals: 6,
2467
+ logoUrl: import_warps27.WarpAssets.tokenLogo("pathusd.svg")
2468
+ };
2469
+ var TempoAdapter = createEvmAdapter(import_warps27.WarpChainName.Tempo, {
2470
+ mainnet: {
2471
+ name: import_warps27.WarpChainName.Tempo,
2472
+ displayName: "Tempo",
2473
+ chainId: "4217",
2474
+ blockTime: 500,
2475
+ addressHrp: "0x",
2476
+ defaultApiUrl: "https://rpc.tempo.xyz",
2477
+ logoUrl: {
2478
+ light: import_warps27.WarpAssets.chainLogo("tempo-white.svg"),
2479
+ dark: import_warps27.WarpAssets.chainLogo("tempo-black.svg")
2480
+ },
2481
+ nativeToken: NativeTokenTempo
2482
+ },
2483
+ testnet: {
2484
+ name: import_warps27.WarpChainName.Tempo,
2485
+ displayName: "Tempo Moderato",
2486
+ chainId: "42431",
2487
+ blockTime: 500,
2488
+ addressHrp: "0x",
2489
+ defaultApiUrl: "https://rpc.moderato.tempo.xyz",
2490
+ logoUrl: {
2491
+ light: import_warps27.WarpAssets.chainLogo("tempo-white.svg"),
2492
+ dark: import_warps27.WarpAssets.chainLogo("tempo-black.svg")
2493
+ },
2494
+ nativeToken: NativeTokenTempo
2495
+ },
2496
+ devnet: {
2497
+ name: import_warps27.WarpChainName.Tempo,
2498
+ displayName: "Tempo Devnet",
2499
+ chainId: "31318",
2500
+ blockTime: 500,
2501
+ addressHrp: "0x",
2502
+ defaultApiUrl: "https://rpc.devnet.tempoxyz.dev",
2503
+ logoUrl: {
2504
+ light: import_warps27.WarpAssets.chainLogo("tempo-white.svg"),
2505
+ dark: import_warps27.WarpAssets.chainLogo("tempo-black.svg")
2506
+ },
2507
+ nativeToken: NativeTokenTempo
2508
+ }
2509
+ });
2510
+
2289
2511
  // src/adapters.ts
2512
+ var import_warps28 = require("@joai/warps");
2290
2513
  var getAllEvmAdapters = (fallbackFactory) => [
2291
- (0, import_warps25.withAdapterFallback)(EthereumAdapter, fallbackFactory),
2292
- (0, import_warps25.withAdapterFallback)(BaseAdapter, fallbackFactory),
2293
- (0, import_warps25.withAdapterFallback)(ArbitrumAdapter, fallbackFactory),
2294
- (0, import_warps25.withAdapterFallback)(PolygonAdapter, fallbackFactory),
2295
- (0, import_warps25.withAdapterFallback)(SomniaAdapter, fallbackFactory)
2514
+ (0, import_warps28.withAdapterFallback)(EthereumAdapter, fallbackFactory),
2515
+ (0, import_warps28.withAdapterFallback)(BaseAdapter, fallbackFactory),
2516
+ (0, import_warps28.withAdapterFallback)(ArbitrumAdapter, fallbackFactory),
2517
+ (0, import_warps28.withAdapterFallback)(PolygonAdapter, fallbackFactory),
2518
+ (0, import_warps28.withAdapterFallback)(SomniaAdapter, fallbackFactory),
2519
+ (0, import_warps28.withAdapterFallback)(TempoAdapter, fallbackFactory)
2296
2520
  ];
2297
2521
  // Annotate the CommonJS export names for ESM import in node:
2298
2522
  0 && (module.exports = {
@@ -2311,9 +2535,15 @@ var getAllEvmAdapters = (fallbackFactory) => [
2311
2535
  NativeTokenBase,
2312
2536
  NativeTokenEth,
2313
2537
  NativeTokenPolygon,
2538
+ NativeTokenSomi,
2539
+ NativeTokenStt,
2540
+ NativeTokenTempo,
2314
2541
  PolygonAdapter,
2315
2542
  PolygonExplorers,
2543
+ SomniaAdapter,
2316
2544
  SupportedEvmChainIds,
2545
+ TempoAdapter,
2546
+ TempoExplorers,
2317
2547
  WarpEvmConstants,
2318
2548
  WarpEvmDataLoader,
2319
2549
  WarpEvmExecutor,