@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.d.cts +26 -3
- package/dist/index.d.ts +26 -3
- package/dist/index.js +334 -104
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +289 -63
- package/dist/index.mjs.map +1 -1
- package/package.json +6 -5
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
|
|
73
|
+
var import_warps21 = require("@joai/warps");
|
|
68
74
|
|
|
69
75
|
// src/WarpEvmDataLoader.ts
|
|
70
|
-
var
|
|
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
|
|
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
|
-
[
|
|
869
|
+
[import_warps15.WarpChainName.Ethereum]: {
|
|
739
870
|
mainnet: EthereumTokens,
|
|
740
871
|
testnet: EthereumSepoliaTokens,
|
|
741
872
|
devnet: EthereumSepoliaTokens
|
|
742
873
|
},
|
|
743
|
-
[
|
|
874
|
+
[import_warps15.WarpChainName.Base]: {
|
|
744
875
|
mainnet: BaseTokens,
|
|
745
876
|
testnet: BaseSepoliaTokens,
|
|
746
877
|
devnet: BaseSepoliaTokens
|
|
747
878
|
},
|
|
748
|
-
[
|
|
879
|
+
[import_warps15.WarpChainName.Arbitrum]: {
|
|
749
880
|
mainnet: ArbitrumTokens,
|
|
750
881
|
testnet: ArbitrumSepoliaTokens,
|
|
751
882
|
devnet: ArbitrumSepoliaTokens
|
|
752
883
|
},
|
|
753
|
-
[
|
|
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,
|
|
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
|
|
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 =
|
|
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,
|
|
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,
|
|
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
|
|
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
|
|
1256
|
+
var import_warps18 = require("@joai/warps");
|
|
1096
1257
|
var import_ethers5 = require("ethers");
|
|
1097
1258
|
|
|
1098
1259
|
// src/WarpEvmSerializer.ts
|
|
1099
|
-
var
|
|
1260
|
+
var import_warps17 = require("@joai/warps");
|
|
1100
1261
|
var import_ethers4 = require("ethers");
|
|
1101
|
-
var SplitParamsRegex = new RegExp(`${
|
|
1262
|
+
var SplitParamsRegex = new RegExp(`${import_warps17.WarpConstants.ArgParamsSeparator}(.*)`);
|
|
1102
1263
|
var WarpEvmSerializer = class {
|
|
1103
1264
|
constructor() {
|
|
1104
|
-
this.coreSerializer = new
|
|
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(
|
|
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(
|
|
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(
|
|
1146
|
-
const nativeValue = valueParts.join(
|
|
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(
|
|
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,
|
|
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
|
|
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(
|
|
1264
|
-
const resolvedInputs = (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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(
|
|
1364
|
-
const currentActionIndex = (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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:
|
|
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(
|
|
2199
|
+
var ArbitrumAdapter = createEvmAdapter(import_warps21.WarpChainName.Arbitrum, {
|
|
2028
2200
|
mainnet: {
|
|
2029
|
-
name:
|
|
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:
|
|
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:
|
|
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
|
|
2233
|
+
var import_warps22 = require("@joai/warps");
|
|
2062
2234
|
var NativeTokenBase = {
|
|
2063
|
-
chain:
|
|
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(
|
|
2245
|
+
var BaseAdapter = createEvmAdapter(import_warps22.WarpChainName.Base, {
|
|
2074
2246
|
mainnet: {
|
|
2075
|
-
name:
|
|
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:
|
|
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:
|
|
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
|
|
2288
|
+
var import_warps23 = require("@joai/warps");
|
|
2117
2289
|
var getAllEvmChainNames = () => [
|
|
2118
|
-
|
|
2119
|
-
|
|
2120
|
-
|
|
2121
|
-
|
|
2122
|
-
|
|
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
|
|
2299
|
+
var import_warps24 = require("@joai/warps");
|
|
2127
2300
|
var NativeTokenEth = {
|
|
2128
|
-
chain:
|
|
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(
|
|
2311
|
+
var EthereumAdapter = createEvmAdapter(import_warps24.WarpChainName.Ethereum, {
|
|
2139
2312
|
mainnet: {
|
|
2140
|
-
name:
|
|
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:
|
|
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:
|
|
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
|
|
2354
|
+
var import_warps25 = require("@joai/warps");
|
|
2182
2355
|
var NativeTokenPolygon = {
|
|
2183
|
-
chain:
|
|
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(
|
|
2366
|
+
var PolygonAdapter = createEvmAdapter(import_warps25.WarpChainName.Polygon, {
|
|
2194
2367
|
mainnet: {
|
|
2195
|
-
name:
|
|
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:
|
|
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:
|
|
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
|
|
2409
|
+
var import_warps26 = require("@joai/warps");
|
|
2240
2410
|
var NativeTokenSomi = {
|
|
2241
|
-
chain:
|
|
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:
|
|
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(
|
|
2426
|
+
var SomniaAdapter = createEvmAdapter(import_warps26.WarpChainName.Somnia, {
|
|
2257
2427
|
mainnet: {
|
|
2258
|
-
name:
|
|
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:
|
|
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:
|
|
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,
|
|
2292
|
-
(0,
|
|
2293
|
-
(0,
|
|
2294
|
-
(0,
|
|
2295
|
-
(0,
|
|
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,
|