@joai/warps-adapter-evm 1.1.0 → 1.2.1

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
@@ -412,7 +418,7 @@ var ReadOnlyWalletProvider = class {
412
418
  };
413
419
 
414
420
  // src/tokens.ts
415
- var import_warps13 = require("@joai/warps");
421
+ var import_warps15 = require("@joai/warps");
416
422
 
417
423
  // src/tokens/arbitrum.ts
418
424
  var import_warps5 = require("@joai/warps");
@@ -742,27 +748,148 @@ var PolygonMumbaiTokens = [
742
748
  }
743
749
  ];
744
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
+
745
867
  // src/tokens.ts
746
868
  var KnownTokens = {
747
- [import_warps13.WarpChainName.Ethereum]: {
869
+ [import_warps15.WarpChainName.Ethereum]: {
748
870
  mainnet: EthereumTokens,
749
871
  testnet: EthereumSepoliaTokens,
750
872
  devnet: EthereumSepoliaTokens
751
873
  },
752
- [import_warps13.WarpChainName.Base]: {
874
+ [import_warps15.WarpChainName.Base]: {
753
875
  mainnet: BaseTokens,
754
876
  testnet: BaseSepoliaTokens,
755
877
  devnet: BaseSepoliaTokens
756
878
  },
757
- [import_warps13.WarpChainName.Arbitrum]: {
879
+ [import_warps15.WarpChainName.Arbitrum]: {
758
880
  mainnet: ArbitrumTokens,
759
881
  testnet: ArbitrumSepoliaTokens,
760
882
  devnet: ArbitrumSepoliaTokens
761
883
  },
762
- [import_warps13.WarpChainName.Polygon]: {
884
+ [import_warps15.WarpChainName.Polygon]: {
763
885
  mainnet: PolygonTokens,
764
886
  testnet: PolygonMumbaiTokens,
765
887
  devnet: PolygonMumbaiTokens
888
+ },
889
+ [import_warps15.WarpChainName.Tempo]: {
890
+ mainnet: TempoTokens,
891
+ testnet: TempoModeratoTokens,
892
+ devnet: TempoModeratoTokens
766
893
  }
767
894
  };
768
895
  var findKnownTokenById = (chain, env, id) => {
@@ -781,14 +908,14 @@ var ERC20_ABI = [
781
908
  "function symbol() view returns (string)",
782
909
  "function totalSupply() view returns (uint256)"
783
910
  ];
784
- var WarpEvmDataLoader = class {
911
+ var _WarpEvmDataLoader = class _WarpEvmDataLoader {
785
912
  constructor(config, chain) {
786
913
  this.config = config;
787
914
  this.chain = chain;
788
- 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);
789
916
  const network = new import_ethers3.ethers.Network(this.chain.name, parseInt(this.chain.chainId));
790
917
  this.provider = new import_ethers3.ethers.JsonRpcProvider(providerConfig.url, network);
791
- this.cache = new import_warps14.WarpCache(config.env, config.cache);
918
+ this.cache = new import_warps16.WarpCache(config.env, config.cache);
792
919
  this.uniswapService = new UniswapService(this.cache, parseInt(this.chain.chainId));
793
920
  }
794
921
  getRequiredConfirmations() {
@@ -797,8 +924,11 @@ var WarpEvmDataLoader = class {
797
924
  }
798
925
  return 1;
799
926
  }
927
+ hasNativeBalance() {
928
+ return !_WarpEvmDataLoader.ChainsWithoutNativeBalance.includes(this.chain.name);
929
+ }
800
930
  async getAccount(address) {
801
- const balance = await this.provider.getBalance(address);
931
+ const balance = this.hasNativeBalance() ? await this.provider.getBalance(address) : 0n;
802
932
  return {
803
933
  chain: this.chain.name,
804
934
  address,
@@ -808,7 +938,7 @@ var WarpEvmDataLoader = class {
808
938
  async getAccountAssets(address) {
809
939
  const account = await this.getAccount(address);
810
940
  const tokenBalances = await this.getERC20TokenBalances(address);
811
- let assets = account.balance > 0 ? [{ ...this.chain.nativeToken, amount: account.balance }] : [];
941
+ let assets = this.hasNativeBalance() && account.balance > 0 ? [{ ...this.chain.nativeToken, amount: account.balance }] : [];
812
942
  for (const tokenBalance of tokenBalances) {
813
943
  if (tokenBalance.balance > 0n) {
814
944
  assets.push({
@@ -830,7 +960,7 @@ var WarpEvmDataLoader = class {
830
960
  if (identifier === this.chain.nativeToken.identifier) {
831
961
  return this.chain.nativeToken;
832
962
  }
833
- const cacheKey = import_warps14.WarpCacheKey.Asset(this.config.env, this.chain.name, identifier);
963
+ const cacheKey = import_warps16.WarpCacheKey.Asset(this.config.env, this.chain.name, identifier);
834
964
  const cachedAsset = await this.cache.get(cacheKey);
835
965
  if (cachedAsset) {
836
966
  return cachedAsset;
@@ -858,7 +988,7 @@ var WarpEvmDataLoader = class {
858
988
  decimals: metadata.decimals,
859
989
  logoUrl: metadata.logoUrl
860
990
  };
861
- await this.cache.set(cacheKey, asset, import_warps14.CacheTtl.OneHour);
991
+ await this.cache.set(cacheKey, asset, import_warps16.CacheTtl.OneHour);
862
992
  return asset;
863
993
  } catch (error) {
864
994
  return null;
@@ -928,7 +1058,7 @@ var WarpEvmDataLoader = class {
928
1058
  name: token.name,
929
1059
  symbol: token.symbol,
930
1060
  decimals: token.decimals || 18,
931
- logoUrl: (0, import_warps14.getWarpChainAssetLogoUrl)(token, this.config) || ""
1061
+ logoUrl: (0, import_warps16.getWarpChainAssetLogoUrl)(token, this.config) || ""
932
1062
  }));
933
1063
  }
934
1064
  async getTokenBalance(address, tokenAddress) {
@@ -955,9 +1085,11 @@ var WarpEvmDataLoader = class {
955
1085
  };
956
1086
  }
957
1087
  };
1088
+ _WarpEvmDataLoader.ChainsWithoutNativeBalance = [import_warps16.WarpChainName.Tempo];
1089
+ var WarpEvmDataLoader = _WarpEvmDataLoader;
958
1090
 
959
1091
  // src/WarpEvmExecutor.ts
960
- var import_warps17 = require("@joai/warps");
1092
+ var import_warps19 = require("@joai/warps");
961
1093
  var import_ethers6 = require("ethers");
962
1094
 
963
1095
  // src/constants.ts
@@ -1009,6 +1141,12 @@ var PolygonExplorers = /* @__PURE__ */ ((PolygonExplorers2) => {
1009
1141
  PolygonExplorers2["BlockscoutPolygonMumbai"] = "blockscout_polygon_mumbai";
1010
1142
  return PolygonExplorers2;
1011
1143
  })(PolygonExplorers || {});
1144
+ var TempoExplorers = /* @__PURE__ */ ((TempoExplorers2) => {
1145
+ TempoExplorers2["TempoExplorer"] = "tempo_explorer";
1146
+ TempoExplorers2["TempoExplorerTestnet"] = "tempo_explorer_testnet";
1147
+ TempoExplorers2["TempoExplorerDevnet"] = "tempo_explorer_devnet";
1148
+ return TempoExplorers2;
1149
+ })(TempoExplorers || {});
1012
1150
  var EvmExplorers = {
1013
1151
  ethereum: {
1014
1152
  mainnet: ["etherscan" /* Etherscan */, "ethplorer" /* Ethplorer */, "blockscout" /* Blockscout */],
@@ -1029,6 +1167,11 @@ var EvmExplorers = {
1029
1167
  mainnet: ["polygonscan" /* Polygonscan */, "blockscout_polygon" /* BlockscoutPolygon */],
1030
1168
  testnet: ["polygonscan_mumbai" /* PolygonscanMumbai */, "blockscout_polygon_mumbai" /* BlockscoutPolygonMumbai */],
1031
1169
  devnet: ["polygonscan_mumbai" /* PolygonscanMumbai */, "blockscout_polygon_mumbai" /* BlockscoutPolygonMumbai */]
1170
+ },
1171
+ tempo: {
1172
+ mainnet: ["tempo_explorer" /* TempoExplorer */],
1173
+ testnet: ["tempo_explorer_testnet" /* TempoExplorerTestnet */],
1174
+ devnet: ["tempo_explorer_devnet" /* TempoExplorerDevnet */]
1032
1175
  }
1033
1176
  };
1034
1177
  var ExplorerUrls = {
@@ -1048,7 +1191,10 @@ var ExplorerUrls = {
1048
1191
  ["polygonscan" /* Polygonscan */]: "https://polygonscan.com",
1049
1192
  ["polygonscan_mumbai" /* PolygonscanMumbai */]: "https://mumbai.polygonscan.com",
1050
1193
  ["blockscout_polygon" /* BlockscoutPolygon */]: "https://polygon.blockscout.com",
1051
- ["blockscout_polygon_mumbai" /* BlockscoutPolygonMumbai */]: "https://mumbai.blockscout.com"
1194
+ ["blockscout_polygon_mumbai" /* BlockscoutPolygonMumbai */]: "https://mumbai.blockscout.com",
1195
+ ["tempo_explorer" /* TempoExplorer */]: "https://explore.tempo.xyz",
1196
+ ["tempo_explorer_testnet" /* TempoExplorerTestnet */]: "https://explore.testnet.tempo.xyz",
1197
+ ["tempo_explorer_devnet" /* TempoExplorerDevnet */]: "https://explore.devnet.tempo.xyz"
1052
1198
  };
1053
1199
  var EvmChainIds = {
1054
1200
  Ethereum: {
@@ -1071,6 +1217,11 @@ var EvmChainIds = {
1071
1217
  Optimism: {
1072
1218
  Mainnet: 10,
1073
1219
  Sepolia: 11155420
1220
+ },
1221
+ Tempo: {
1222
+ Mainnet: 4217,
1223
+ Moderato: 42431,
1224
+ Devnet: 31318
1074
1225
  }
1075
1226
  };
1076
1227
  var EvmChainIdMap = {
@@ -1084,7 +1235,10 @@ var EvmChainIdMap = {
1084
1235
  "base:mainnet": EvmChainIds.Base.Mainnet,
1085
1236
  "base:sepolia": EvmChainIds.Base.Sepolia,
1086
1237
  "optimism:mainnet": EvmChainIds.Optimism.Mainnet,
1087
- "optimism:sepolia": EvmChainIds.Optimism.Sepolia
1238
+ "optimism:sepolia": EvmChainIds.Optimism.Sepolia,
1239
+ "tempo:mainnet": EvmChainIds.Tempo.Mainnet,
1240
+ "tempo:moderato": EvmChainIds.Tempo.Moderato,
1241
+ "tempo:devnet": EvmChainIds.Tempo.Devnet
1088
1242
  };
1089
1243
  var SupportedEvmChainIds = [
1090
1244
  EvmChainIds.Ethereum.Mainnet,
@@ -1097,20 +1251,23 @@ var SupportedEvmChainIds = [
1097
1251
  EvmChainIds.Base.Mainnet,
1098
1252
  EvmChainIds.Base.Sepolia,
1099
1253
  EvmChainIds.Optimism.Mainnet,
1100
- EvmChainIds.Optimism.Sepolia
1254
+ EvmChainIds.Optimism.Sepolia,
1255
+ EvmChainIds.Tempo.Mainnet,
1256
+ EvmChainIds.Tempo.Moderato,
1257
+ EvmChainIds.Tempo.Devnet
1101
1258
  ];
1102
1259
 
1103
1260
  // src/WarpEvmOutput.ts
1104
- var import_warps16 = require("@joai/warps");
1261
+ var import_warps18 = require("@joai/warps");
1105
1262
  var import_ethers5 = require("ethers");
1106
1263
 
1107
1264
  // src/WarpEvmSerializer.ts
1108
- var import_warps15 = require("@joai/warps");
1265
+ var import_warps17 = require("@joai/warps");
1109
1266
  var import_ethers4 = require("ethers");
1110
- var SplitParamsRegex = new RegExp(`${import_warps15.WarpConstants.ArgParamsSeparator}(.*)`);
1267
+ var SplitParamsRegex = new RegExp(`${import_warps17.WarpConstants.ArgParamsSeparator}(.*)`);
1111
1268
  var WarpEvmSerializer = class {
1112
1269
  constructor() {
1113
- this.coreSerializer = new import_warps15.WarpSerializer();
1270
+ this.coreSerializer = new import_warps17.WarpSerializer();
1114
1271
  }
1115
1272
  typedToString(value) {
1116
1273
  if (typeof value === "string") {
@@ -1139,9 +1296,9 @@ var WarpEvmSerializer = class {
1139
1296
  }
1140
1297
  if (Array.isArray(value)) {
1141
1298
  if (value.length === 0) return `list:string:`;
1142
- const types = value.map((item) => this.typedToString(item).split(import_warps15.WarpConstants.ArgParamsSeparator)[0]);
1299
+ const types = value.map((item) => this.typedToString(item).split(import_warps17.WarpConstants.ArgParamsSeparator)[0]);
1143
1300
  const type = types[0];
1144
- const values = value.map((item) => this.typedToString(item).split(import_warps15.WarpConstants.ArgParamsSeparator)[1]);
1301
+ const values = value.map((item) => this.typedToString(item).split(import_warps17.WarpConstants.ArgParamsSeparator)[1]);
1145
1302
  return `list:${type}:${values.join(",")}`;
1146
1303
  }
1147
1304
  if (value === null || value === void 0) {
@@ -1151,8 +1308,8 @@ var WarpEvmSerializer = class {
1151
1308
  }
1152
1309
  typedToNative(value) {
1153
1310
  const stringValue = this.typedToString(value);
1154
- const [type, ...valueParts] = stringValue.split(import_warps15.WarpConstants.ArgParamsSeparator);
1155
- const nativeValue = valueParts.join(import_warps15.WarpConstants.ArgParamsSeparator);
1311
+ const [type, ...valueParts] = stringValue.split(import_warps17.WarpConstants.ArgParamsSeparator);
1312
+ const nativeValue = valueParts.join(import_warps17.WarpConstants.ArgParamsSeparator);
1156
1313
  return [type, this.parseNativeValue(type, nativeValue)];
1157
1314
  }
1158
1315
  nativeToTyped(type, value) {
@@ -1204,7 +1361,7 @@ var WarpEvmSerializer = class {
1204
1361
  }
1205
1362
  }
1206
1363
  stringToTyped(value) {
1207
- const parts = value.split(import_warps15.WarpConstants.ArgParamsSeparator, 2);
1364
+ const parts = value.split(import_warps17.WarpConstants.ArgParamsSeparator, 2);
1208
1365
  if (parts.length < 2) {
1209
1366
  return value;
1210
1367
  }
@@ -1263,14 +1420,14 @@ var WarpEvmOutput = class {
1263
1420
  this.config = config;
1264
1421
  this.chain = chain;
1265
1422
  this.serializer = new WarpEvmSerializer();
1266
- const providerConfig = (0, import_warps16.getProviderConfig)(this.config, this.chain.name, this.config.env, this.chain.defaultApiUrl);
1423
+ const providerConfig = (0, import_warps18.getProviderConfig)(this.config, this.chain.name, this.config.env, this.chain.defaultApiUrl);
1267
1424
  const network = new import_ethers5.ethers.Network(this.chain.name, parseInt(this.chain.chainId));
1268
1425
  this.provider = new import_ethers5.ethers.JsonRpcProvider(providerConfig.url, network);
1269
- this.cache = new import_warps16.WarpCache(config.env, config.cache);
1426
+ this.cache = new import_warps18.WarpCache(config.env, config.cache);
1270
1427
  }
1271
1428
  async getActionExecution(warp, actionIndex, tx) {
1272
- const inputs = await this.cache.get(import_warps16.WarpCacheKey.WarpExecutable(this.config.env, warp.meta?.hash || "", actionIndex)) ?? [];
1273
- const resolvedInputs = (0, import_warps16.extractResolvedInputValues)(inputs);
1429
+ const inputs = await this.cache.get(import_warps18.WarpCacheKey.WarpExecutable(this.config.env, warp.meta?.hash || "", actionIndex)) ?? [];
1430
+ const resolvedInputs = (0, import_warps18.extractResolvedInputValues)(inputs);
1274
1431
  if (!tx) {
1275
1432
  return this.createFailedExecution(warp, actionIndex, resolvedInputs);
1276
1433
  }
@@ -1284,7 +1441,7 @@ var WarpEvmOutput = class {
1284
1441
  status: "error",
1285
1442
  warp,
1286
1443
  action: actionIndex,
1287
- user: (0, import_warps16.getWarpWalletAddressFromConfig)(this.config, this.chain.name),
1444
+ user: (0, import_warps18.getWarpWalletAddressFromConfig)(this.config, this.chain.name),
1288
1445
  txHash: "",
1289
1446
  tx: null,
1290
1447
  next: null,
@@ -1307,7 +1464,7 @@ var WarpEvmOutput = class {
1307
1464
  status: success ? "success" : "error",
1308
1465
  warp,
1309
1466
  action: actionIndex,
1310
- user: (0, import_warps16.getWarpWalletAddressFromConfig)(this.config, this.chain.name),
1467
+ user: (0, import_warps18.getWarpWalletAddressFromConfig)(this.config, this.chain.name),
1311
1468
  txHash: transactionHash,
1312
1469
  tx,
1313
1470
  next: null,
@@ -1338,7 +1495,7 @@ var WarpEvmOutput = class {
1338
1495
  status: success ? "success" : "error",
1339
1496
  warp,
1340
1497
  action: actionIndex,
1341
- user: (0, import_warps16.getWarpWalletAddressFromConfig)(this.config, this.chain.name),
1498
+ user: (0, import_warps18.getWarpWalletAddressFromConfig)(this.config, this.chain.name),
1342
1499
  txHash: transactionHash,
1343
1500
  tx: {
1344
1501
  ...tx,
@@ -1369,8 +1526,8 @@ var WarpEvmOutput = class {
1369
1526
  return value;
1370
1527
  };
1371
1528
  for (const [key, path] of Object.entries(warp.output)) {
1372
- if (path.startsWith(import_warps16.WarpConstants.Transform.Prefix)) continue;
1373
- const currentActionIndex = (0, import_warps16.parseOutputOutIndex)(path);
1529
+ if (path.startsWith(import_warps18.WarpConstants.Transform.Prefix)) continue;
1530
+ const currentActionIndex = (0, import_warps18.parseOutputOutIndex)(path);
1374
1531
  if (currentActionIndex !== null && currentActionIndex !== actionIndex) {
1375
1532
  output[key] = null;
1376
1533
  continue;
@@ -1381,7 +1538,7 @@ var WarpEvmOutput = class {
1381
1538
  output[key] = path;
1382
1539
  }
1383
1540
  }
1384
- return { values, output: await (0, import_warps16.evaluateOutputCommon)(warp, output, nativeValues, actionIndex, inputs, this.serializer.coreSerializer, this.config) };
1541
+ return { values, output: await (0, import_warps18.evaluateOutputCommon)(warp, output, nativeValues, actionIndex, inputs, this.serializer.coreSerializer, this.config) };
1385
1542
  }
1386
1543
  async getTransactionStatus(txHash) {
1387
1544
  try {
@@ -1413,13 +1570,13 @@ var WarpEvmExecutor = class {
1413
1570
  this.config = config;
1414
1571
  this.chain = chain;
1415
1572
  this.serializer = new WarpEvmSerializer();
1416
- const providerConfig = (0, import_warps17.getProviderConfig)(this.config, chain.name, this.config.env, this.chain.defaultApiUrl);
1573
+ const providerConfig = (0, import_warps19.getProviderConfig)(this.config, chain.name, this.config.env, this.chain.defaultApiUrl);
1417
1574
  const network = new import_ethers6.ethers.Network(this.chain.name, parseInt(this.chain.chainId));
1418
1575
  this.provider = new import_ethers6.ethers.JsonRpcProvider(providerConfig.url, network);
1419
1576
  this.output = new WarpEvmOutput(config, this.chain);
1420
1577
  }
1421
1578
  async createTransaction(executable) {
1422
- const action = (0, import_warps17.getWarpActionByIndex)(executable.warp, executable.action);
1579
+ const action = (0, import_warps19.getWarpActionByIndex)(executable.warp, executable.action);
1423
1580
  let tx = null;
1424
1581
  if (action.type === "transfer") {
1425
1582
  tx = await this.createTransferTransaction(executable);
@@ -1434,7 +1591,7 @@ var WarpEvmExecutor = class {
1434
1591
  return tx;
1435
1592
  }
1436
1593
  async createTransferTransaction(executable) {
1437
- const userWallet = (0, import_warps17.getWarpWalletAddressFromConfig)(this.config, executable.chain.name);
1594
+ const userWallet = (0, import_warps19.getWarpWalletAddressFromConfig)(this.config, executable.chain.name);
1438
1595
  if (!userWallet) throw new Error("WarpEvmExecutor: createTransfer - user address not set");
1439
1596
  if (!import_ethers6.ethers.isAddress(executable.destination)) {
1440
1597
  throw new Error(`WarpEvmExecutor: Invalid destination address: ${executable.destination}`);
@@ -1450,9 +1607,9 @@ var WarpEvmExecutor = class {
1450
1607
  return this.estimateGasAndSetDefaults(tx, userWallet);
1451
1608
  }
1452
1609
  async createContractCallTransaction(executable) {
1453
- const userWallet = (0, import_warps17.getWarpWalletAddressFromConfig)(this.config, executable.chain.name);
1610
+ const userWallet = (0, import_warps19.getWarpWalletAddressFromConfig)(this.config, executable.chain.name);
1454
1611
  if (!userWallet) throw new Error("WarpEvmExecutor: createContractCall - user address not set");
1455
- const action = (0, import_warps17.getWarpActionByIndex)(executable.warp, executable.action);
1612
+ const action = (0, import_warps19.getWarpActionByIndex)(executable.warp, executable.action);
1456
1613
  if (!action || !("func" in action) || !action.func) throw new Error("WarpEvmExecutor: Contract action must have a function name");
1457
1614
  if (!import_ethers6.ethers.isAddress(executable.destination)) throw new Error(`WarpEvmExecutor: Invalid contract address: ${executable.destination}`);
1458
1615
  try {
@@ -1515,7 +1672,7 @@ var WarpEvmExecutor = class {
1515
1672
  return this.estimateGasAndSetDefaults(tx, userWallet);
1516
1673
  }
1517
1674
  async executeQuery(executable) {
1518
- const action = (0, import_warps17.getWarpActionByIndex)(executable.warp, executable.action);
1675
+ const action = (0, import_warps19.getWarpActionByIndex)(executable.warp, executable.action);
1519
1676
  if (action.type !== "query") throw new Error(`WarpEvmExecutor: Invalid action type for executeQuery: ${action.type}`);
1520
1677
  if (!action.func) throw new Error("WarpEvmExecutor: Query action must have a function name");
1521
1678
  if (!import_ethers6.ethers.isAddress(executable.destination)) throw new Error(`WarpEvmExecutor: Invalid address for query: ${executable.destination}`);
@@ -1542,33 +1699,33 @@ var WarpEvmExecutor = class {
1542
1699
  executable.action,
1543
1700
  executable.resolvedInputs
1544
1701
  );
1545
- const next = (0, import_warps17.getNextInfo)(this.config, [], executable.warp, executable.action, output);
1702
+ const next = (0, import_warps19.getNextInfo)(this.config, [], executable.warp, executable.action, output);
1546
1703
  const destinationInput = executable.resolvedInputs.find((i) => i.input.position === "receiver" || i.input.position === "destination");
1547
1704
  const destination = destinationInput?.value || executable.destination;
1548
- const resolvedInputs = (0, import_warps17.extractResolvedInputValues)(executable.resolvedInputs);
1705
+ const resolvedInputs = (0, import_warps19.extractResolvedInputValues)(executable.resolvedInputs);
1549
1706
  return {
1550
1707
  status: isSuccess ? "success" : "error",
1551
1708
  warp: executable.warp,
1552
1709
  action: executable.action,
1553
- user: (0, import_warps17.getWarpWalletAddressFromConfig)(this.config, executable.chain.name),
1710
+ user: (0, import_warps19.getWarpWalletAddressFromConfig)(this.config, executable.chain.name),
1554
1711
  txHash: null,
1555
1712
  tx: null,
1556
1713
  next,
1557
1714
  values,
1558
1715
  output: { ...output, _DATA: decodedResult },
1559
- messages: (0, import_warps17.applyOutputToMessages)(executable.warp, output, this.config),
1716
+ messages: (0, import_warps19.applyOutputToMessages)(executable.warp, output, this.config),
1560
1717
  destination,
1561
1718
  resolvedInputs
1562
1719
  };
1563
1720
  } catch (error) {
1564
1721
  const destinationInput = executable.resolvedInputs.find((i) => i.input.position === "receiver" || i.input.position === "destination");
1565
1722
  const destination = destinationInput?.value || executable.destination;
1566
- const resolvedInputs = (0, import_warps17.extractResolvedInputValues)(executable.resolvedInputs);
1723
+ const resolvedInputs = (0, import_warps19.extractResolvedInputValues)(executable.resolvedInputs);
1567
1724
  return {
1568
1725
  status: "error",
1569
1726
  warp: executable.warp,
1570
1727
  action: executable.action,
1571
- user: (0, import_warps17.getWarpWalletAddressFromConfig)(this.config, executable.chain.name),
1728
+ user: (0, import_warps19.getWarpWalletAddressFromConfig)(this.config, executable.chain.name),
1572
1729
  txHash: null,
1573
1730
  tx: null,
1574
1731
  next: null,
@@ -1808,7 +1965,7 @@ var WarpEvmExplorer = class {
1808
1965
  };
1809
1966
 
1810
1967
  // src/WarpEvmWallet.ts
1811
- var import_warps18 = require("@joai/warps");
1968
+ var import_warps20 = require("@joai/warps");
1812
1969
  var import_evm = require("@x402/evm");
1813
1970
  var import_client = require("@x402/evm/exact/client");
1814
1971
  var import_ethers7 = require("ethers");
@@ -1820,7 +1977,7 @@ var WarpEvmWallet = class {
1820
1977
  this.chain = chain;
1821
1978
  this.cachedAddress = null;
1822
1979
  this.cachedPublicKey = null;
1823
- const providerConfig = (0, import_warps18.getProviderConfig)(config, chain.name, config.env, chain.defaultApiUrl);
1980
+ const providerConfig = (0, import_warps20.getProviderConfig)(config, chain.name, config.env, chain.defaultApiUrl);
1824
1981
  this.provider = new import_ethers7.ethers.JsonRpcProvider(providerConfig.url);
1825
1982
  this.walletProvider = this.createProvider();
1826
1983
  const wallet = config.user?.wallets?.[chain.name];
@@ -1929,7 +2086,7 @@ var WarpEvmWallet = class {
1929
2086
  const signer = (0, import_evm.toClientEvmSigner)(
1930
2087
  (0, import_accounts.privateKeyToAccount)(wallet.privateKey),
1931
2088
  (0, import_viem.createPublicClient)({
1932
- transport: (0, import_viem.http)((0, import_warps18.getProviderConfig)(this.config, this.chain.name, this.config.env, this.chain.defaultApiUrl).url)
2089
+ transport: (0, import_viem.http)((0, import_warps20.getProviderConfig)(this.config, this.chain.name, this.config.env, this.chain.defaultApiUrl).url)
1933
2090
  })
1934
2091
  );
1935
2092
  const handlers = {};
@@ -2037,16 +2194,16 @@ var createEvmAdapter = (chainName, chainInfos) => {
2037
2194
 
2038
2195
  // src/chains/arbitrum.ts
2039
2196
  var NativeTokenArb = {
2040
- chain: import_warps19.WarpChainName.Arbitrum,
2197
+ chain: import_warps21.WarpChainName.Arbitrum,
2041
2198
  identifier: "ARB",
2042
2199
  symbol: "ARB",
2043
2200
  name: "Arbitrum",
2044
2201
  decimals: 18,
2045
2202
  logoUrl: "https://raw.githubusercontent.com/JoAiHQ/assets/refs/heads/main/tokens/logos/arb.svg"
2046
2203
  };
2047
- var ArbitrumAdapter = createEvmAdapter(import_warps19.WarpChainName.Arbitrum, {
2204
+ var ArbitrumAdapter = createEvmAdapter(import_warps21.WarpChainName.Arbitrum, {
2048
2205
  mainnet: {
2049
- name: import_warps19.WarpChainName.Arbitrum,
2206
+ name: import_warps21.WarpChainName.Arbitrum,
2050
2207
  displayName: "Arbitrum",
2051
2208
  chainId: "42161",
2052
2209
  blockTime: 1e3,
@@ -2056,7 +2213,7 @@ var ArbitrumAdapter = createEvmAdapter(import_warps19.WarpChainName.Arbitrum, {
2056
2213
  nativeToken: NativeTokenArb
2057
2214
  },
2058
2215
  testnet: {
2059
- name: import_warps19.WarpChainName.Arbitrum,
2216
+ name: import_warps21.WarpChainName.Arbitrum,
2060
2217
  displayName: "Arbitrum Sepolia",
2061
2218
  chainId: "421614",
2062
2219
  blockTime: 1e3,
@@ -2066,7 +2223,7 @@ var ArbitrumAdapter = createEvmAdapter(import_warps19.WarpChainName.Arbitrum, {
2066
2223
  nativeToken: NativeTokenArb
2067
2224
  },
2068
2225
  devnet: {
2069
- name: import_warps19.WarpChainName.Arbitrum,
2226
+ name: import_warps21.WarpChainName.Arbitrum,
2070
2227
  displayName: "Arbitrum Sepolia",
2071
2228
  chainId: "421614",
2072
2229
  blockTime: 1e3,
@@ -2078,9 +2235,9 @@ var ArbitrumAdapter = createEvmAdapter(import_warps19.WarpChainName.Arbitrum, {
2078
2235
  });
2079
2236
 
2080
2237
  // src/chains/base.ts
2081
- var import_warps20 = require("@joai/warps");
2238
+ var import_warps22 = require("@joai/warps");
2082
2239
  var NativeTokenBase = {
2083
- chain: import_warps20.WarpChainName.Base,
2240
+ chain: import_warps22.WarpChainName.Base,
2084
2241
  identifier: "ETH",
2085
2242
  name: "Ether",
2086
2243
  symbol: "ETH",
@@ -2090,9 +2247,9 @@ var NativeTokenBase = {
2090
2247
  dark: "https://raw.githubusercontent.com/JoAiHQ/assets/refs/heads/main/tokens/logos/eth-black.svg"
2091
2248
  }
2092
2249
  };
2093
- var BaseAdapter = createEvmAdapter(import_warps20.WarpChainName.Base, {
2250
+ var BaseAdapter = createEvmAdapter(import_warps22.WarpChainName.Base, {
2094
2251
  mainnet: {
2095
- name: import_warps20.WarpChainName.Base,
2252
+ name: import_warps22.WarpChainName.Base,
2096
2253
  displayName: "Base",
2097
2254
  chainId: "8453",
2098
2255
  blockTime: 2e3,
@@ -2105,7 +2262,7 @@ var BaseAdapter = createEvmAdapter(import_warps20.WarpChainName.Base, {
2105
2262
  nativeToken: NativeTokenBase
2106
2263
  },
2107
2264
  testnet: {
2108
- name: import_warps20.WarpChainName.Base,
2265
+ name: import_warps22.WarpChainName.Base,
2109
2266
  displayName: "Base Sepolia",
2110
2267
  chainId: "84532",
2111
2268
  blockTime: 2e3,
@@ -2118,7 +2275,7 @@ var BaseAdapter = createEvmAdapter(import_warps20.WarpChainName.Base, {
2118
2275
  nativeToken: NativeTokenBase
2119
2276
  },
2120
2277
  devnet: {
2121
- name: import_warps20.WarpChainName.Base,
2278
+ name: import_warps22.WarpChainName.Base,
2122
2279
  displayName: "Base Sepolia",
2123
2280
  chainId: "84532",
2124
2281
  blockTime: 2e3,
@@ -2133,19 +2290,20 @@ var BaseAdapter = createEvmAdapter(import_warps20.WarpChainName.Base, {
2133
2290
  });
2134
2291
 
2135
2292
  // src/chains/combined.ts
2136
- var import_warps21 = require("@joai/warps");
2293
+ var import_warps23 = require("@joai/warps");
2137
2294
  var getAllEvmChainNames = () => [
2138
- import_warps21.WarpChainName.Ethereum,
2139
- import_warps21.WarpChainName.Base,
2140
- import_warps21.WarpChainName.Arbitrum,
2141
- import_warps21.WarpChainName.Polygon,
2142
- import_warps21.WarpChainName.Somnia
2295
+ import_warps23.WarpChainName.Ethereum,
2296
+ import_warps23.WarpChainName.Base,
2297
+ import_warps23.WarpChainName.Arbitrum,
2298
+ import_warps23.WarpChainName.Polygon,
2299
+ import_warps23.WarpChainName.Somnia,
2300
+ import_warps23.WarpChainName.Tempo
2143
2301
  ];
2144
2302
 
2145
2303
  // src/chains/ethereum.ts
2146
- var import_warps22 = require("@joai/warps");
2304
+ var import_warps24 = require("@joai/warps");
2147
2305
  var NativeTokenEth = {
2148
- chain: import_warps22.WarpChainName.Ethereum,
2306
+ chain: import_warps24.WarpChainName.Ethereum,
2149
2307
  identifier: "ETH",
2150
2308
  symbol: "ETH",
2151
2309
  name: "Ether",
@@ -2155,9 +2313,9 @@ var NativeTokenEth = {
2155
2313
  dark: "https://raw.githubusercontent.com/JoAiHQ/assets/refs/heads/main/tokens/logos/eth-black.svg"
2156
2314
  }
2157
2315
  };
2158
- var EthereumAdapter = createEvmAdapter(import_warps22.WarpChainName.Ethereum, {
2316
+ var EthereumAdapter = createEvmAdapter(import_warps24.WarpChainName.Ethereum, {
2159
2317
  mainnet: {
2160
- name: import_warps22.WarpChainName.Ethereum,
2318
+ name: import_warps24.WarpChainName.Ethereum,
2161
2319
  displayName: "Ethereum Mainnet",
2162
2320
  chainId: "1",
2163
2321
  blockTime: 12e3,
@@ -2170,7 +2328,7 @@ var EthereumAdapter = createEvmAdapter(import_warps22.WarpChainName.Ethereum, {
2170
2328
  nativeToken: NativeTokenEth
2171
2329
  },
2172
2330
  testnet: {
2173
- name: import_warps22.WarpChainName.Ethereum,
2331
+ name: import_warps24.WarpChainName.Ethereum,
2174
2332
  displayName: "Ethereum Sepolia",
2175
2333
  chainId: "11155111",
2176
2334
  blockTime: 12e3,
@@ -2183,7 +2341,7 @@ var EthereumAdapter = createEvmAdapter(import_warps22.WarpChainName.Ethereum, {
2183
2341
  nativeToken: NativeTokenEth
2184
2342
  },
2185
2343
  devnet: {
2186
- name: import_warps22.WarpChainName.Ethereum,
2344
+ name: import_warps24.WarpChainName.Ethereum,
2187
2345
  displayName: "Ethereum Sepolia",
2188
2346
  chainId: "11155111",
2189
2347
  blockTime: 12e3,
@@ -2198,9 +2356,9 @@ var EthereumAdapter = createEvmAdapter(import_warps22.WarpChainName.Ethereum, {
2198
2356
  });
2199
2357
 
2200
2358
  // src/chains/polygon.ts
2201
- var import_warps23 = require("@joai/warps");
2359
+ var import_warps25 = require("@joai/warps");
2202
2360
  var NativeTokenPolygon = {
2203
- chain: import_warps23.WarpChainName.Polygon,
2361
+ chain: import_warps25.WarpChainName.Polygon,
2204
2362
  identifier: "MATIC",
2205
2363
  symbol: "MATIC",
2206
2364
  name: "Polygon",
@@ -2210,9 +2368,9 @@ var NativeTokenPolygon = {
2210
2368
  dark: "https://raw.githubusercontent.com/JoAiHQ/assets/refs/heads/main/tokens/logos/matic-black.svg"
2211
2369
  }
2212
2370
  };
2213
- var PolygonAdapter = createEvmAdapter(import_warps23.WarpChainName.Polygon, {
2371
+ var PolygonAdapter = createEvmAdapter(import_warps25.WarpChainName.Polygon, {
2214
2372
  mainnet: {
2215
- name: import_warps23.WarpChainName.Polygon,
2373
+ name: import_warps25.WarpChainName.Polygon,
2216
2374
  displayName: "Polygon",
2217
2375
  chainId: "137",
2218
2376
  blockTime: 2e3,
@@ -2225,7 +2383,7 @@ var PolygonAdapter = createEvmAdapter(import_warps23.WarpChainName.Polygon, {
2225
2383
  nativeToken: NativeTokenPolygon
2226
2384
  },
2227
2385
  testnet: {
2228
- name: import_warps23.WarpChainName.Polygon,
2386
+ name: import_warps25.WarpChainName.Polygon,
2229
2387
  displayName: "Polygon Mumbai",
2230
2388
  chainId: "80001",
2231
2389
  blockTime: 2e3,
@@ -2238,7 +2396,7 @@ var PolygonAdapter = createEvmAdapter(import_warps23.WarpChainName.Polygon, {
2238
2396
  nativeToken: NativeTokenPolygon
2239
2397
  },
2240
2398
  devnet: {
2241
- name: import_warps23.WarpChainName.Polygon,
2399
+ name: import_warps25.WarpChainName.Polygon,
2242
2400
  displayName: "Polygon Mumbai",
2243
2401
  chainId: "80001",
2244
2402
  blockTime: 2e3,
@@ -2252,13 +2410,10 @@ var PolygonAdapter = createEvmAdapter(import_warps23.WarpChainName.Polygon, {
2252
2410
  }
2253
2411
  });
2254
2412
 
2255
- // src/adapters.ts
2256
- var import_warps25 = require("@joai/warps");
2257
-
2258
2413
  // src/chains/somnia.ts
2259
- var import_warps24 = require("@joai/warps");
2414
+ var import_warps26 = require("@joai/warps");
2260
2415
  var NativeTokenSomi = {
2261
- chain: import_warps24.WarpChainName.Somnia,
2416
+ chain: import_warps26.WarpChainName.Somnia,
2262
2417
  identifier: "SOMI",
2263
2418
  symbol: "SOMI",
2264
2419
  name: "Somnia",
@@ -2266,16 +2421,16 @@ var NativeTokenSomi = {
2266
2421
  logoUrl: "https://assets.coingecko.com/coins/images/68061/standard/somniacg.png?1754641117"
2267
2422
  };
2268
2423
  var NativeTokenStt = {
2269
- chain: import_warps24.WarpChainName.Somnia,
2424
+ chain: import_warps26.WarpChainName.Somnia,
2270
2425
  identifier: "STT",
2271
2426
  symbol: "STT",
2272
2427
  name: "Somnia Testnet Token",
2273
2428
  decimals: 18,
2274
2429
  logoUrl: "https://assets.coingecko.com/coins/images/68061/standard/somniacg.png?1754641117"
2275
2430
  };
2276
- var SomniaAdapter = createEvmAdapter(import_warps24.WarpChainName.Somnia, {
2431
+ var SomniaAdapter = createEvmAdapter(import_warps26.WarpChainName.Somnia, {
2277
2432
  mainnet: {
2278
- name: import_warps24.WarpChainName.Somnia,
2433
+ name: import_warps26.WarpChainName.Somnia,
2279
2434
  displayName: "Somnia Mainnet",
2280
2435
  chainId: "5031",
2281
2436
  blockTime: 100,
@@ -2285,7 +2440,7 @@ var SomniaAdapter = createEvmAdapter(import_warps24.WarpChainName.Somnia, {
2285
2440
  nativeToken: NativeTokenSomi
2286
2441
  },
2287
2442
  testnet: {
2288
- name: import_warps24.WarpChainName.Somnia,
2443
+ name: import_warps26.WarpChainName.Somnia,
2289
2444
  displayName: "Somnia Testnet",
2290
2445
  chainId: "50312",
2291
2446
  blockTime: 100,
@@ -2295,7 +2450,7 @@ var SomniaAdapter = createEvmAdapter(import_warps24.WarpChainName.Somnia, {
2295
2450
  nativeToken: NativeTokenStt
2296
2451
  },
2297
2452
  devnet: {
2298
- name: import_warps24.WarpChainName.Somnia,
2453
+ name: import_warps26.WarpChainName.Somnia,
2299
2454
  displayName: "Somnia Testnet",
2300
2455
  chainId: "50312",
2301
2456
  blockTime: 100,
@@ -2306,13 +2461,67 @@ var SomniaAdapter = createEvmAdapter(import_warps24.WarpChainName.Somnia, {
2306
2461
  }
2307
2462
  });
2308
2463
 
2464
+ // src/chains/tempo.ts
2465
+ var import_warps27 = require("@joai/warps");
2466
+ var NativeTokenTempo = {
2467
+ chain: import_warps27.WarpChainName.Tempo,
2468
+ identifier: "USD",
2469
+ name: "USD",
2470
+ symbol: "USD",
2471
+ decimals: 6,
2472
+ logoUrl: import_warps27.WarpAssets.tokenLogo("pathusd.svg")
2473
+ };
2474
+ var TempoAdapter = createEvmAdapter(import_warps27.WarpChainName.Tempo, {
2475
+ mainnet: {
2476
+ name: import_warps27.WarpChainName.Tempo,
2477
+ displayName: "Tempo",
2478
+ chainId: "4217",
2479
+ blockTime: 500,
2480
+ addressHrp: "0x",
2481
+ defaultApiUrl: "https://rpc.tempo.xyz",
2482
+ logoUrl: {
2483
+ light: import_warps27.WarpAssets.chainLogo("tempo-white.svg"),
2484
+ dark: import_warps27.WarpAssets.chainLogo("tempo-black.svg")
2485
+ },
2486
+ nativeToken: NativeTokenTempo
2487
+ },
2488
+ testnet: {
2489
+ name: import_warps27.WarpChainName.Tempo,
2490
+ displayName: "Tempo Moderato",
2491
+ chainId: "42431",
2492
+ blockTime: 500,
2493
+ addressHrp: "0x",
2494
+ defaultApiUrl: "https://rpc.moderato.tempo.xyz",
2495
+ logoUrl: {
2496
+ light: import_warps27.WarpAssets.chainLogo("tempo-white.svg"),
2497
+ dark: import_warps27.WarpAssets.chainLogo("tempo-black.svg")
2498
+ },
2499
+ nativeToken: NativeTokenTempo
2500
+ },
2501
+ devnet: {
2502
+ name: import_warps27.WarpChainName.Tempo,
2503
+ displayName: "Tempo Devnet",
2504
+ chainId: "31318",
2505
+ blockTime: 500,
2506
+ addressHrp: "0x",
2507
+ defaultApiUrl: "https://rpc.devnet.tempoxyz.dev",
2508
+ logoUrl: {
2509
+ light: import_warps27.WarpAssets.chainLogo("tempo-white.svg"),
2510
+ dark: import_warps27.WarpAssets.chainLogo("tempo-black.svg")
2511
+ },
2512
+ nativeToken: NativeTokenTempo
2513
+ }
2514
+ });
2515
+
2309
2516
  // src/adapters.ts
2517
+ var import_warps28 = require("@joai/warps");
2310
2518
  var getAllEvmAdapters = (fallbackFactory) => [
2311
- (0, import_warps25.withAdapterFallback)(EthereumAdapter, fallbackFactory),
2312
- (0, import_warps25.withAdapterFallback)(BaseAdapter, fallbackFactory),
2313
- (0, import_warps25.withAdapterFallback)(ArbitrumAdapter, fallbackFactory),
2314
- (0, import_warps25.withAdapterFallback)(PolygonAdapter, fallbackFactory),
2315
- (0, import_warps25.withAdapterFallback)(SomniaAdapter, fallbackFactory)
2519
+ (0, import_warps28.withAdapterFallback)(EthereumAdapter, fallbackFactory),
2520
+ (0, import_warps28.withAdapterFallback)(BaseAdapter, fallbackFactory),
2521
+ (0, import_warps28.withAdapterFallback)(ArbitrumAdapter, fallbackFactory),
2522
+ (0, import_warps28.withAdapterFallback)(PolygonAdapter, fallbackFactory),
2523
+ (0, import_warps28.withAdapterFallback)(SomniaAdapter, fallbackFactory),
2524
+ (0, import_warps28.withAdapterFallback)(TempoAdapter, fallbackFactory)
2316
2525
  ];
2317
2526
  // Annotate the CommonJS export names for ESM import in node:
2318
2527
  0 && (module.exports = {
@@ -2331,9 +2540,15 @@ var getAllEvmAdapters = (fallbackFactory) => [
2331
2540
  NativeTokenBase,
2332
2541
  NativeTokenEth,
2333
2542
  NativeTokenPolygon,
2543
+ NativeTokenSomi,
2544
+ NativeTokenStt,
2545
+ NativeTokenTempo,
2334
2546
  PolygonAdapter,
2335
2547
  PolygonExplorers,
2548
+ SomniaAdapter,
2336
2549
  SupportedEvmChainIds,
2550
+ TempoAdapter,
2551
+ TempoExplorers,
2337
2552
  WarpEvmConstants,
2338
2553
  WarpEvmDataLoader,
2339
2554
  WarpEvmExecutor,