@epoch-protocol/epoch-commons-sdk 0.1.11 → 0.1.12

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.
@@ -1,2 +1,2 @@
1
1
  // The Compact is deployed at the same address on all networks
2
- export const COMPACT_ADDRESS = '0x00000000000000171ede64904551eeDF3C6C9788';
2
+ export const COMPACT_ADDRESS = "0x00000000000000171ede64904551eeDF3C6C9788";
@@ -1,3 +1,4 @@
1
+ export declare const MIDEN_CHAIN_ID = 999999999;
1
2
  export declare const INTENT_REGISTRY_ADDRESS: {
2
3
  [key: number]: string;
3
4
  };
@@ -1,160 +1,111 @@
1
+ // Mock chain id used to identify Miden until upstream assigns a canonical EVM chain id.
2
+ export const MIDEN_CHAIN_ID = 999999999;
1
3
  export const INTENT_REGISTRY_ADDRESS = {
2
4
  11155111: "0x299Ea355dBeDF225b3a88D67827a0a04dF943749",
3
- 11155420: "0x299Ea355dBeDF225b3a88D67827a0a04dF943749",
4
5
  84532: "0x299Ea355dBeDF225b3a88D67827a0a04dF943749",
5
- 10143: "0x299Ea355dBeDF225b3a88D67827a0a04dF943749",
6
6
  80002: "0x299Ea355dBeDF225b3a88D67827a0a04dF943749",
7
- 11155931: "0x299Ea355dBeDF225b3a88D67827a0a04dF943749",
8
- 129399: "0x299Ea355dBeDF225b3a88D67827a0a04dF943749",
7
+ 11155420: "0x299Ea355dBeDF225b3a88D67827a0a04dF943749",
9
8
  };
10
9
  export const EPOCH_MODULE_SAFE_ADDRESS = {
11
10
  11155111: "0x1b4a3398102d42CA600Cb7e3f40a5495B4954071",
12
- 11155420: "0x1b4a3398102d42CA600Cb7e3f40a5495B4954071",
13
11
  84532: "0x1b4a3398102d42CA600Cb7e3f40a5495B4954071",
14
- 10143: "0x1b4a3398102d42CA600Cb7e3f40a5495B4954071",
15
12
  80002: "0x1b4a3398102d42CA600Cb7e3f40a5495B4954071",
16
- 11155931: "0x1b4a3398102d42CA600Cb7e3f40a5495B4954071",
17
- 129399: "0x1b4a3398102d42CA600Cb7e3f40a5495B4954071",
13
+ 11155420: "0x1b4a3398102d42CA600Cb7e3f40a5495B4954071",
18
14
  };
19
15
  export const EPOCH_SAFE_INIT_SETUP = {
20
16
  11155111: "0xf460890181cB9C76EE404edE779555c9fEefB10e",
21
- 11155420: "0xf460890181cB9C76EE404edE779555c9fEefB10e",
22
17
  84532: "0xf460890181cB9C76EE404edE779555c9fEefB10e",
23
- 10143: "0xf460890181cB9C76EE404edE779555c9fEefB10e",
24
18
  80002: "0xf460890181cB9C76EE404edE779555c9fEefB10e",
25
- 11155931: "0xf460890181cB9C76EE404edE779555c9fEefB10e",
26
- 129399: "0xf460890181cB9C76EE404edE779555c9fEefB10e",
19
+ 11155420: "0xf460890181cB9C76EE404edE779555c9fEefB10e",
27
20
  };
28
21
  export const SAFE_INIT_SETUP_FORWARDER = {
29
22
  11155111: "0x8c7192D248361844DBDdDa5dE58DF591996C44CB",
30
- 11155420: "0x8c7192D248361844DBDdDa5dE58DF591996C44CB",
31
23
  84532: "0x8c7192D248361844DBDdDa5dE58DF591996C44CB",
32
- 10143: "0x8c7192D248361844DBDdDa5dE58DF591996C44CB",
33
24
  80002: "0x8c7192D248361844DBDdDa5dE58DF591996C44CB",
34
- 11155931: "0x8c7192D248361844DBDdDa5dE58DF591996C44CB",
35
- 129399: "0x8c7192D248361844DBDdDa5dE58DF591996C44CB",
25
+ 11155420: "0x8c7192D248361844DBDdDa5dE58DF591996C44CB",
36
26
  };
37
27
  export const SAFE_WEBAUTHN_SHARED_SIGNER = {
38
28
  11155111: "0x049b3EA3f45460dec04438312e70876f9325a737",
39
- 11155420: "0x049b3EA3f45460dec04438312e70876f9325a737",
40
29
  84532: "0x049b3EA3f45460dec04438312e70876f9325a737",
41
- 10143: "0x049b3EA3f45460dec04438312e70876f9325a737",
42
- 129399: "0x049b3EA3f45460dec04438312e70876f9325a737",
43
30
  80002: "0x049b3EA3f45460dec04438312e70876f9325a737",
44
- 11155931: "0x049b3EA3f45460dec04438312e70876f9325a737",
31
+ 11155420: "0x049b3EA3f45460dec04438312e70876f9325a737",
45
32
  };
46
33
  export const SAFE_WEBAUTHN_SIGNER_FACTORY = {
47
34
  11155111: "0xE66584AFFD075E9224d3B0f36978ec0263cEd6FD",
48
- 11155420: "0xE66584AFFD075E9224d3B0f36978ec0263cEd6FD",
49
35
  84532: "0xE66584AFFD075E9224d3B0f36978ec0263cEd6FD",
50
- 10143: "0xE66584AFFD075E9224d3B0f36978ec0263cEd6FD",
51
- 129399: "0xE66584AFFD075E9224d3B0f36978ec0263cEd6FD",
52
36
  80002: "0xE66584AFFD075E9224d3B0f36978ec0263cEd6FD",
53
- 11155931: "0xE66584AFFD075E9224d3B0f36978ec0263cEd6FD",
37
+ 11155420: "0xE66584AFFD075E9224d3B0f36978ec0263cEd6FD",
54
38
  };
55
39
  export const FCLP256Verifier = {
56
40
  11155111: "0xFB5D9DAddC16Bd61566c82Bf3F0659ce2B538bEE",
57
- 11155420: "0xFB5D9DAddC16Bd61566c82Bf3F0659ce2B538bEE",
58
41
  84532: "0xFB5D9DAddC16Bd61566c82Bf3F0659ce2B538bEE",
59
- 10143: "0xFB5D9DAddC16Bd61566c82Bf3F0659ce2B538bEE",
60
- 129399: "0xFB5D9DAddC16Bd61566c82Bf3F0659ce2B538bEE",
61
42
  80002: "0xFB5D9DAddC16Bd61566c82Bf3F0659ce2B538bEE",
62
- 11155931: "0xFB5D9DAddC16Bd61566c82Bf3F0659ce2B538bEE",
43
+ 11155420: "0xFB5D9DAddC16Bd61566c82Bf3F0659ce2B538bEE",
63
44
  };
64
45
  //todo: update for testnets
65
46
  export const SAFE_PROXY_FACTORY_ADDRESS = {
66
47
  11155111: "0x6F0035ed7325d0DAaC2eB12562422Ae53faa682C",
67
- 11155420: "0x6F0035ed7325d0DAaC2eB12562422Ae53faa682C",
68
48
  84532: "0x6F0035ed7325d0DAaC2eB12562422Ae53faa682C",
69
- 10143: "0x6F0035ed7325d0DAaC2eB12562422Ae53faa682C",
70
- 129399: "0x6F0035ed7325d0DAaC2eB12562422Ae53faa682C",
71
49
  80002: "0x6F0035ed7325d0DAaC2eB12562422Ae53faa682C",
72
- 11155931: "0x6F0035ed7325d0DAaC2eB12562422Ae53faa682C",
50
+ 11155420: "0x6F0035ed7325d0DAaC2eB12562422Ae53faa682C",
73
51
  };
74
52
  //todo: update for testnets
75
53
  export const SAFE_SINGLETON_ADDRESS = {
76
54
  11155111: "0x5FdB4DaE6733008c82652D4e1B4a8c02dA3F5175",
77
- 11155420: "0x5FdB4DaE6733008c82652D4e1B4a8c02dA3F5175",
78
55
  84532: "0x5FdB4DaE6733008c82652D4e1B4a8c02dA3F5175",
79
- 10143: "0x5FdB4DaE6733008c82652D4e1B4a8c02dA3F5175",
80
- 129399: "0x5FdB4DaE6733008c82652D4e1B4a8c02dA3F5175",
81
56
  80002: "0x5FdB4DaE6733008c82652D4e1B4a8c02dA3F5175",
82
- 11155931: "0x5FdB4DaE6733008c82652D4e1B4a8c02dA3F5175",
57
+ 11155420: "0x5FdB4DaE6733008c82652D4e1B4a8c02dA3F5175",
83
58
  };
84
59
  //todo: update for testnets
85
60
  export const SAFE_7702_SINGLETON_ADDRESS = {
86
61
  11155111: "0x18F2d1EB128e64fE5EDcCa6A0Fa7702Aa44cf664",
87
- 11155420: "0x18F2d1EB128e64fE5EDcCa6A0Fa7702Aa44cf664",
88
62
  84532: "0x18F2d1EB128e64fE5EDcCa6A0Fa7702Aa44cf664",
89
- 10143: "0x18F2d1EB128e64fE5EDcCa6A0Fa7702Aa44cf664",
90
- 129399: "0x18F2d1EB128e64fE5EDcCa6A0Fa7702Aa44cf664",
91
63
  80002: "0x18F2d1EB128e64fE5EDcCa6A0Fa7702Aa44cf664",
92
- 11155931: "0x18F2d1EB128e64fE5EDcCa6A0Fa7702Aa44cf664",
64
+ 11155420: "0x18F2d1EB128e64fE5EDcCa6A0Fa7702Aa44cf664",
93
65
  };
94
66
  export const SAFE_7579_MODULE_ADDRESS = {
95
67
  11155111: "0x5f73D1792f81Ee2356f99764904Cb03956F577d0",
96
- 11155420: "0x5f73D1792f81Ee2356f99764904Cb03956F577d0",
97
68
  84532: "0x5f73D1792f81Ee2356f99764904Cb03956F577d0",
98
- 10143: "0x5f73D1792f81Ee2356f99764904Cb03956F577d0",
99
- 129399: "0x5f73D1792f81Ee2356f99764904Cb03956F577d0",
100
69
  80002: "0x5f73D1792f81Ee2356f99764904Cb03956F577d0",
101
- 11155931: "0x5f73D1792f81Ee2356f99764904Cb03956F577d0",
70
+ 11155420: "0x5f73D1792f81Ee2356f99764904Cb03956F577d0",
102
71
  };
103
72
  //todo: update for testnets
104
73
  export const SAFE_7579_REGISTRY_ADDRESS = {
105
74
  11155111: "0x6F1aBD911DBec98EEd1DfA470Ee98b61D3131A55",
106
- 11155420: "0x6F1aBD911DBec98EEd1DfA470Ee98b61D3131A55",
107
75
  84532: "0x6F1aBD911DBec98EEd1DfA470Ee98b61D3131A55",
108
- 10143: "0x6F1aBD911DBec98EEd1DfA470Ee98b61D3131A55",
109
- 129399: "0x6F1aBD911DBec98EEd1DfA470Ee98b61D3131A55",
110
76
  80002: "0x6F1aBD911DBec98EEd1DfA470Ee98b61D3131A55",
111
- 11155931: "0x6F1aBD911DBec98EEd1DfA470Ee98b61D3131A55",
77
+ 11155420: "0x6F1aBD911DBec98EEd1DfA470Ee98b61D3131A55",
112
78
  };
113
79
  //todo: update for testnets
114
80
  export const EIP7702_SAFE_PROXY_ADDRESS = {
115
81
  11155111: "0xE60EcE6588DCcFb7373538034963B4D20a280DB0",
116
- 11155420: "0xc8490cDee50174A00105598AD615e2d00f0Cfb10",
117
82
  84532: "0xc8490cDee50174A00105598AD615e2d00f0Cfb10",
118
- 10143: "0xc8490cDee50174A00105598AD615e2d00f0Cfb10",
119
- 129399: "0xc8490cDee50174A00105598AD615e2d00f0Cfb10",
120
83
  80002: "0xc8490cDee50174A00105598AD615e2d00f0Cfb10",
121
- 11155931: "0xc8490cDee50174A00105598AD615e2d00f0Cfb10",
84
+ 11155420: "0xc8490cDee50174A00105598AD615e2d00f0Cfb10",
122
85
  };
123
86
  export const METAMASK_EXEC_MANAGER = {
124
87
  11155111: "0xC913903b10f8Aa3bEf3e368EbDAeb13D73603524",
125
- 11155420: "0xC913903b10f8Aa3bEf3e368EbDAeb13D73603524",
126
88
  84532: "0xC913903b10f8Aa3bEf3e368EbDAeb13D73603524",
127
- 10143: "0xC913903b10f8Aa3bEf3e368EbDAeb13D73603524",
128
- 129399: "0xC913903b10f8Aa3bEf3e368EbDAeb13D73603524",
129
89
  80002: "0xC913903b10f8Aa3bEf3e368EbDAeb13D73603524",
130
- 11155931: "0xC913903b10f8Aa3bEf3e368EbDAeb13D73603524",
90
+ 11155420: "0xC913903b10f8Aa3bEf3e368EbDAeb13D73603524",
131
91
  };
132
92
  export const EPOCH_ESCROW_ADDRESS = {
133
93
  11155111: "0xA88Ea7EB5f687d05e20b7232d698864A7c17e20C",
134
- 11155420: "0xA88Ea7EB5f687d05e20b7232d698864A7c17e20C",
135
94
  84532: "0xA88Ea7EB5f687d05e20b7232d698864A7c17e20C",
136
- 10143: "0xA88Ea7EB5f687d05e20b7232d698864A7c17e20C",
137
- 129399: "0xA88Ea7EB5f687d05e20b7232d698864A7c17e20C",
138
95
  80002: "0xA88Ea7EB5f687d05e20b7232d698864A7c17e20C",
139
- 11155931: "0xA88Ea7EB5f687d05e20b7232d698864A7c17e20C",
96
+ 11155420: "0xA88Ea7EB5f687d05e20b7232d698864A7c17e20C",
140
97
  };
141
98
  export const SAFE_MULTISEND_ADDRESS = {
142
99
  11155111: "0x328AB3a53287503DF0EFED81928a2b45b3205B2A",
143
- 11155420: "0x328AB3a53287503DF0EFED81928a2b45b3205B2A",
144
100
  84532: "0x328AB3a53287503DF0EFED81928a2b45b3205B2A",
145
- 10143: "0x328AB3a53287503DF0EFED81928a2b45b3205B2A",
146
- 129399: "0x328AB3a53287503DF0EFED81928a2b45b3205B2A",
147
101
  80002: "0x328AB3a53287503DF0EFED81928a2b45b3205B2A",
148
- 11155931: "0x328AB3a53287503DF0EFED81928a2b45b3205B2A",
102
+ 11155420: "0x328AB3a53287503DF0EFED81928a2b45b3205B2A",
149
103
  };
150
104
  export const SAFE_MULTISEND_CALL_ONLY_ADDRESS = {
151
105
  11155111: "0x944b129a384265D916fbEA3440CD2caA4925145c",
152
- 11155420: "0x944b129a384265D916fbEA3440CD2caA4925145c",
153
106
  84532: "0x944b129a384265D916fbEA3440CD2caA4925145c",
154
- 10143: "0x944b129a384265D916fbEA3440CD2caA4925145c",
155
- 129399: "0x944b129a384265D916fbEA3440CD2caA4925145c",
156
107
  80002: "0x944b129a384265D916fbEA3440CD2caA4925145c",
157
- 11155931: "0x944b129a384265D916fbEA3440CD2caA4925145c",
108
+ 11155420: "0x944b129a384265D916fbEA3440CD2caA4925145c",
158
109
  };
159
110
  const CONTRACT_ADDRESSES = {
160
111
  METAMASK_EXEC_MANAGER,
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Dummy-lending protocol constants for testnet pathfinding and solver wiring.
3
+ * Token and vault addresses are CREATE2 — identical on every supported chain.
4
+ */
5
+ export declare const DUMMY_LENDING_PROTOCOL: "dummy-lending";
6
+ /** CREATE2 lending vault — same on all dummy-lending testnets. */
7
+ export declare const DUMMY_LENDING_MARKET_ADDRESS = "0xa73c1ae0e4e9116020dba0a419f91585d73459ee";
8
+ /** CREATE2 staking contract — same on all dummy-staking testnets. */
9
+ export declare const DUMMY_STAKING_CONTRACT_ADDRESS = "0xA25A981bc027E1f13aC70882a323B8B8EE880B9C";
10
+ export declare const DUMMY_LENDING_CHAIN_IDS: readonly [84532, 11155111, 80002, 11155420];
11
+ export type DummyLendingChainId = (typeof DUMMY_LENDING_CHAIN_IDS)[number];
12
+ /** Unified CREATE2 token addresses — same on every dummy-lending chain. */
13
+ export declare const DUMMY_LENDING_TOKENS: {
14
+ readonly USDC: "0x2BB4FfD7E2c6D432b697554Efd77fA13bdbefd69";
15
+ readonly WETH: "0x7946dd86eE310D0aC16804A37787289Fa5b88A8A";
16
+ readonly WBTC: "0x9b2a2754a9182fD65360E23afCDf3BeFF51796E9";
17
+ readonly PENGU: "0xEA7dC9849206Ce73b11c465d37b85eC06B11Cf2C";
18
+ readonly OSWALD: "0xB588418c0f90F07Bc9587d0050845a90C23C7502";
19
+ readonly KICK: "0x512Ee6Bd7A4be5Ba4796F15Df080c4D0F89a38eD";
20
+ readonly FERB: "0x145e03A80c19ad1b9d0429d06b6d52707de724A0";
21
+ };
22
+ export declare function dummyLendingMarketUid(chainId: number | string, tokenAddress: string): string;
23
+ export declare function isDummyLendingChain(chainId: number): boolean;
24
+ export declare function dummyLendingMarketAddressForChain(chainId: number): string | undefined;
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Dummy-lending protocol constants for testnet pathfinding and solver wiring.
3
+ * Token and vault addresses are CREATE2 — identical on every supported chain.
4
+ */
5
+ export const DUMMY_LENDING_PROTOCOL = "dummy-lending";
6
+ /** CREATE2 lending vault — same on all dummy-lending testnets. */
7
+ export const DUMMY_LENDING_MARKET_ADDRESS = "0xa73c1ae0e4e9116020dba0a419f91585d73459ee";
8
+ /** CREATE2 staking contract — same on all dummy-staking testnets. */
9
+ export const DUMMY_STAKING_CONTRACT_ADDRESS = "0xA25A981bc027E1f13aC70882a323B8B8EE880B9C";
10
+ export const DUMMY_LENDING_CHAIN_IDS = [
11
+ 84532, // Base Sepolia
12
+ 11155111, // Ethereum Sepolia
13
+ 80002, // Polygon Amoy
14
+ 11155420, // Optimism Sepolia
15
+ ];
16
+ /** Unified CREATE2 token addresses — same on every dummy-lending chain. */
17
+ export const DUMMY_LENDING_TOKENS = {
18
+ USDC: "0x2BB4FfD7E2c6D432b697554Efd77fA13bdbefd69",
19
+ WETH: "0x7946dd86eE310D0aC16804A37787289Fa5b88A8A",
20
+ WBTC: "0x9b2a2754a9182fD65360E23afCDf3BeFF51796E9",
21
+ PENGU: "0xEA7dC9849206Ce73b11c465d37b85eC06B11Cf2C",
22
+ OSWALD: "0xB588418c0f90F07Bc9587d0050845a90C23C7502",
23
+ KICK: "0x512Ee6Bd7A4be5Ba4796F15Df080c4D0F89a38eD",
24
+ FERB: "0x145e03A80c19ad1b9d0429d06b6d52707de724A0",
25
+ };
26
+ export function dummyLendingMarketUid(chainId, tokenAddress) {
27
+ return `DUMMY_LENDING:${chainId}:${tokenAddress.toLowerCase()}`;
28
+ }
29
+ export function isDummyLendingChain(chainId) {
30
+ return DUMMY_LENDING_CHAIN_IDS.includes(chainId);
31
+ }
32
+ export function dummyLendingMarketAddressForChain(chainId) {
33
+ return isDummyLendingChain(chainId)
34
+ ? DUMMY_LENDING_MARKET_ADDRESS
35
+ : undefined;
36
+ }
@@ -1,2 +1,3 @@
1
1
  export * from "./contractAddresses.js";
2
2
  export * from "./compact.js";
3
+ export * from "./dummyLending.js";
@@ -1,2 +1,3 @@
1
1
  export * from "./contractAddresses.js";
2
2
  export * from "./compact.js";
3
+ export * from "./dummyLending.js";
@@ -9,6 +9,16 @@
9
9
  },
10
10
  "type": ["protocol-interaction"]
11
11
  },
12
+ "1delta": {
13
+ "contractAddress": {
14
+ "Ethereum": "0x1deltaEthereumAddress",
15
+ "Base": "0x1deltaBaseAddress",
16
+ "Optimism": "0x1deltaOptimismAddress",
17
+ "Polygon": "0x1deltaPolygonAddress",
18
+ "Arbitrum": "0x1deltaArbitrumAddress"
19
+ },
20
+ "type": ["protocol-interaction"]
21
+ },
12
22
  "uniswap-v3": {
13
23
  "contractAddress": {
14
24
  "Base": "0xMorphoBaseAddress",
@@ -35,11 +45,18 @@
35
45
  "*": "*"
36
46
  },
37
47
  "type": ["bridge"]
48
+ },
49
+ "ExternalSwapBridge": {
50
+ "contractAddress": {
51
+ "*": "*"
52
+ },
53
+ "type": ["swapandbridge"]
38
54
  }
39
55
  },
40
56
  "tokens": {
41
57
  "DAI": {
42
58
  "contractAddress": {
59
+ "Ethereum": "0x6B175474E89094C44Da98b954EedeAC495271d0F",
43
60
  "Base": "0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb",
44
61
  "Optimism": "0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1",
45
62
  "Polygon": "0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063",
@@ -49,6 +66,7 @@
49
66
  },
50
67
  "USDC": {
51
68
  "contractAddress": {
69
+ "Ethereum": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
52
70
  "Base": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
53
71
  "Optimism": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
54
72
  "Polygon": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
@@ -58,6 +76,7 @@
58
76
  },
59
77
  "WETH": {
60
78
  "contractAddress": {
79
+ "Ethereum": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
61
80
  "Base": "0x4200000000000000000000000000000000000006",
62
81
  "Optimism": "0x4200000000000000000000000000000000000006",
63
82
  "Polygon": "0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619",
@@ -67,6 +86,7 @@
67
86
  },
68
87
  "USDT": {
69
88
  "contractAddress": {
89
+ "Ethereum": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
70
90
  "Optimism": "0x94b008aA00579c1307B0EF2c499aD98a8ce58e58",
71
91
  "Polygon": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F",
72
92
  "Arbitrum": "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9"
@@ -75,6 +95,10 @@
75
95
  }
76
96
  },
77
97
  "chains": {
98
+ "Ethereum": {
99
+ "chainId": 1,
100
+ "explorer": "https://etherscan.io"
101
+ },
78
102
  "Base": {
79
103
  "chainId": 8453,
80
104
  "explorer": "https://basescan.org"
@@ -130,13 +154,31 @@
130
154
  "*": {
131
155
  "tokensInAndOut": ["*"]
132
156
  }
157
+ },
158
+ "1delta": {
159
+ "*": {
160
+ "tokensInAndOut": ["*"]
161
+ }
162
+ },
163
+ "ExternalSwapBridge": {
164
+ "*": {
165
+ "tokensInAndOut": ["*"]
166
+ }
133
167
  }
134
168
  },
135
169
  "tokenChains": {
136
- "DAI": ["Base", "Optimism", "Polygon", "Arbitrum"],
137
- "USDC": ["Base", "Optimism", "Polygon", "Arbitrum"],
138
- "WETH": ["Base", "Optimism", "Polygon", "Arbitrum"],
139
- "USDT": ["Optimism", "Polygon", "Arbitrum"]
170
+ "DAI": ["Ethereum", "Base", "Optimism", "Polygon", "Arbitrum"],
171
+ "USDC": ["Ethereum", "Base", "Optimism", "Polygon", "Arbitrum"],
172
+ "WETH": ["Ethereum", "Base", "Optimism", "Polygon", "Arbitrum"],
173
+ "USDT": ["Ethereum", "Optimism", "Polygon", "Arbitrum"],
174
+ "WBTC": ["Ethereum", "Optimism", "Polygon", "Arbitrum"],
175
+ "wstETH": ["Ethereum", "Base", "Optimism", "Arbitrum"],
176
+ "GHO": ["Ethereum", "Arbitrum", "Base"],
177
+ "USDe": ["Ethereum", "Arbitrum"],
178
+ "cbBTC": ["Ethereum", "Base"],
179
+ "PYUSD": ["Ethereum"],
180
+ "LINK": ["Ethereum", "Base", "Optimism", "Polygon", "Arbitrum"],
181
+ "weETH": ["Ethereum", "Base", "Arbitrum"]
140
182
  }
141
183
  }
142
184
  }
@@ -3,50 +3,43 @@
3
3
  "aave-v3": {
4
4
  "contractAddress": {
5
5
  "Base": "0xAaveBaseAddress",
6
- "Optimism": "0xAaveOptimismAddress",
7
- "Mainnet": "0xAaveSepoliaAddress"
6
+ "Mainnet": "0xAaveSepoliaAddress",
7
+ "Optimism": "0xAaveBaseAddress"
8
8
  },
9
9
  "type": ["lending", "yield"]
10
10
  },
11
11
  "raffles": {
12
12
  "contractAddress": {
13
13
  "Base": "0xAaveBaseAddress",
14
- "Mainnet": "0xAaveSepoliaAddress"
14
+ "Mainnet": "0xAaveSepoliaAddress",
15
+ "Optimism": "0xAaveBaseAddress"
15
16
  },
16
17
  "type": ["protocol-interaction"]
17
18
  },
18
19
  "dummy-lending": {
19
20
  "contractAddress": {
20
- "Monad": "0xMorphoMonadAddress",
21
- "Mainnet": "0xMorphoMainnetAddress",
22
- "Optimism": "0xMorphoOptimismAddress",
23
- "Base": "0xMorphoBaseAddress",
24
- "Sepolia": "0xMorphoSepoliaAddress",
25
- "Polygon": "0xMorphoPolygonAddress",
26
- "Tatara": "0xMorphoTataraAddress",
27
- "Rise": "0xMorphoRiseAddress"
21
+ "Base": "0xa73c1ae0e4e9116020dba0a419f91585d73459ee",
22
+ "Mainnet": "0xa73c1ae0e4e9116020dba0a419f91585d73459ee",
23
+ "Polygon": "0xa73c1ae0e4e9116020dba0a419f91585d73459ee",
24
+ "Optimism": "0xa73c1ae0e4e9116020dba0a419f91585d73459ee"
28
25
  },
29
- "type": ["lending", "yield"]
26
+ "type": ["protocol-interaction", "lending", "yield"]
30
27
  },
31
28
  "dummy-staking": {
32
29
  "contractAddress": {
33
- "Monad": "0xMorphoMonadAddress",
34
- "Mainnet": "0xMorphoMainnetAddress",
35
- "Optimism": "0xMorphoOptimismAddress",
36
- "Base": "0xMorphoBaseAddress",
37
- "Polygon": "0xMorphoPolygonAddress",
38
- "Tatara": "0xMorphoTataraAddress",
39
- "Rise": "0xMorphoRiseAddress"
30
+ "Mainnet": "0xA25A981bc027E1f13aC70882a323B8B8EE880B9C",
31
+ "Base": "0xA25A981bc027E1f13aC70882a323B8B8EE880B9C",
32
+ "Polygon": "0xA25A981bc027E1f13aC70882a323B8B8EE880B9C",
33
+ "Optimism": "0xA25A981bc027E1f13aC70882a323B8B8EE880B9C"
40
34
  },
41
35
  "type": ["staking", "yield"]
42
36
  },
43
37
  "uniswap-v3": {
44
38
  "contractAddress": {
45
39
  "Base": "0xMorphoBaseAddress",
46
- "Optimism": "0xMorphoOptimismAddress",
47
40
  "Mainnet": "0xMorphoMainnetAddress",
48
- "Monad": "0xMorphoMonadAddress",
49
- "Polygon": "0xMorphoPolygonAddress"
41
+ "Polygon": "0xMorphoPolygonAddress",
42
+ "Optimism": "0xMorphoBaseAddress"
50
43
  },
51
44
  "type": ["swap"]
52
45
  },
@@ -79,110 +72,86 @@
79
72
  "USDC": {
80
73
  "contractAddress": {
81
74
  "Base": "0x2BB4FfD7E2c6D432b697554Efd77fA13bdbefd69",
82
- "Optimism": "0x2BB4FfD7E2c6D432b697554Efd77fA13bdbefd69",
83
- "Monad": "0x2BB4FfD7E2c6D432b697554Efd77fA13bdbefd69",
84
75
  "Mainnet": "0x2BB4FfD7E2c6D432b697554Efd77fA13bdbefd69",
85
76
  "Polygon": "0x2BB4FfD7E2c6D432b697554Efd77fA13bdbefd69",
86
- "Tatara": "0x2BB4FfD7E2c6D432b697554Efd77fA13bdbefd69",
87
- "Rise": "0x2BB4FfD7E2c6D432b697554Efd77fA13bdbefd69",
88
- "Miden": "0x084dc73a23ccd5204eec98c5ed2234"
77
+ "Miden": "0x0a7d175ed63ec5200fb2ced86f6aa5",
78
+ "Optimism": "0x2BB4FfD7E2c6D432b697554Efd77fA13bdbefd69"
89
79
  },
90
- "decimals": 18
80
+ "decimals": 18,
81
+ "decimalsByChain": {
82
+ "Miden": 6
83
+ }
91
84
  },
92
85
  "DAI": {
93
86
  "contractAddress": {
94
87
  "Base": "0xc30f1Ce05d1434d484E9A47283aA925fc8A8699a",
95
- "Optimism": "0xc30f1Ce05d1434d484E9A47283aA925fc8A8699a",
96
- "Monad": "0xc30f1Ce05d1434d484E9A47283aA925fc8A8699a",
97
88
  "Mainnet": "0xc30f1Ce05d1434d484E9A47283aA925fc8A8699a",
98
89
  "Polygon": "0xc30f1Ce05d1434d484E9A47283aA925fc8A8699a",
99
- "Tatara": "0xc30f1Ce05d1434d484E9A47283aA925fc8A8699a",
100
- "Rise": "0xc30f1Ce05d1434d484E9A47283aA925fc8A8699a"
90
+ "Optimism": "0xc30f1Ce05d1434d484E9A47283aA925fc8A8699a"
101
91
  },
102
92
  "decimals": 18
103
93
  },
104
94
  "USDT": {
105
95
  "contractAddress": {
106
96
  "Base": "0xc04d2869665Be874881133943523723Be5782720",
107
- "Optimism": "0xc04d2869665Be874881133943523723Be5782720",
108
- "Monad": "0xc04d2869665Be874881133943523723Be5782720",
109
97
  "Mainnet": "0xc04d2869665Be874881133943523723Be5782720",
110
98
  "Polygon": "0xc04d2869665Be874881133943523723Be5782720",
111
- "Tatara": "0xc04d2869665Be874881133943523723Be5782720",
112
- "Rise": "0xc04d2869665Be874881133943523723Be5782720",
113
- "Miden": "0xc04d2869665Be874881133943523723Be5782720"
99
+ "Miden": "0xc04d2869665Be874881133943523723Be5782720",
100
+ "Optimism": "0xc04d2869665Be874881133943523723Be5782720"
114
101
  },
115
102
  "decimals": 18
116
103
  },
117
104
  "WETH": {
118
105
  "contractAddress": {
119
106
  "Base": "0x7946dd86eE310D0aC16804A37787289Fa5b88A8A",
120
- "Optimism": "0x7946dd86eE310D0aC16804A37787289Fa5b88A8A",
121
- "Monad": "0x7946dd86eE310D0aC16804A37787289Fa5b88A8A",
122
107
  "Mainnet": "0x7946dd86eE310D0aC16804A37787289Fa5b88A8A",
123
108
  "Polygon": "0x7946dd86eE310D0aC16804A37787289Fa5b88A8A",
124
- "Tatara": "0x7946dd86eE310D0aC16804A37787289Fa5b88A8A",
125
- "Rise": "0x7946dd86eE310D0aC16804A37787289Fa5b88A8A"
109
+ "Optimism": "0x7946dd86eE310D0aC16804A37787289Fa5b88A8A"
126
110
  },
127
111
  "decimals": 18
128
112
  },
129
113
  "WBTC": {
130
114
  "contractAddress": {
131
115
  "Base": "0x9b2a2754a9182fD65360E23afCDf3BeFF51796E9",
132
- "Optimism": "0x9b2a2754a9182fD65360E23afCDf3BeFF51796E9",
133
- "Monad": "0x9b2a2754a9182fD65360E23afCDf3BeFF51796E9",
134
116
  "Mainnet": "0x9b2a2754a9182fD65360E23afCDf3BeFF51796E9",
135
117
  "Polygon": "0x9b2a2754a9182fD65360E23afCDf3BeFF51796E9",
136
- "Tatara": "0x9b2a2754a9182fD65360E23afCDf3BeFF51796E9",
137
- "Rise": "0x9b2a2754a9182fD65360E23afCDf3BeFF51796E9"
118
+ "Optimism": "0x9b2a2754a9182fD65360E23afCDf3BeFF51796E9"
138
119
  },
139
120
  "decimals": 18
140
121
  },
141
122
  "PENGU": {
142
123
  "contractAddress": {
143
124
  "Base": "0xEA7dC9849206Ce73b11c465d37b85eC06B11Cf2C",
144
- "Optimism": "0xEA7dC9849206Ce73b11c465d37b85eC06B11Cf2C",
145
- "Monad": "0xEA7dC9849206Ce73b11c465d37b85eC06B11Cf2C",
146
125
  "Mainnet": "0xEA7dC9849206Ce73b11c465d37b85eC06B11Cf2C",
147
126
  "Polygon": "0xEA7dC9849206Ce73b11c465d37b85eC06B11Cf2C",
148
- "Tatara": "0xEA7dC9849206Ce73b11c465d37b85eC06B11Cf2C",
149
- "Rise": "0xEA7dC9849206Ce73b11c465d37b85eC06B11Cf2C"
127
+ "Optimism": "0xEA7dC9849206Ce73b11c465d37b85eC06B11Cf2C"
150
128
  },
151
129
  "decimals": 18
152
130
  },
153
131
  "OSWALD": {
154
132
  "contractAddress": {
155
133
  "Base": "0xB588418c0f90F07Bc9587d0050845a90C23C7502",
156
- "Optimism": "0xB588418c0f90F07Bc9587d0050845a90C23C7502",
157
- "Monad": "0xB588418c0f90F07Bc9587d0050845a90C23C7502",
158
134
  "Mainnet": "0xB588418c0f90F07Bc9587d0050845a90C23C7502",
159
135
  "Polygon": "0xB588418c0f90F07Bc9587d0050845a90C23C7502",
160
- "Tatara": "0xB588418c0f90F07Bc9587d0050845a90C23C7502",
161
- "Rise": "0xB588418c0f90F07Bc9587d0050845a90C23C7502"
136
+ "Optimism": "0xB588418c0f90F07Bc9587d0050845a90C23C7502"
162
137
  },
163
138
  "decimals": 18
164
139
  },
165
140
  "KICK": {
166
141
  "contractAddress": {
167
142
  "Base": "0x512Ee6Bd7A4be5Ba4796F15Df080c4D0F89a38eD",
168
- "Optimism": "0x512Ee6Bd7A4be5Ba4796F15Df080c4D0F89a38eD",
169
- "Monad": "0x512Ee6Bd7A4be5Ba4796F15Df080c4D0F89a38eD",
170
143
  "Mainnet": "0x512Ee6Bd7A4be5Ba4796F15Df080c4D0F89a38eD",
171
144
  "Polygon": "0x512Ee6Bd7A4be5Ba4796F15Df080c4D0F89a38eD",
172
- "Tatara": "0x512Ee6Bd7A4be5Ba4796F15Df080c4D0F89a38eD",
173
- "Rise": "0x512Ee6Bd7A4be5Ba4796F15Df080c4D0F89a38eD"
145
+ "Optimism": "0x512Ee6Bd7A4be5Ba4796F15Df080c4D0F89a38eD"
174
146
  },
175
147
  "decimals": 18
176
148
  },
177
149
  "FERB": {
178
150
  "contractAddress": {
179
151
  "Base": "0x145e03A80c19ad1b9d0429d06b6d52707de724A0",
180
- "Optimism": "0x145e03A80c19ad1b9d0429d06b6d52707de724A0",
181
- "Monad": "0x145e03A80c19ad1b9d0429d06b6d52707de724A0",
182
152
  "Mainnet": "0x145e03A80c19ad1b9d0429d06b6d52707de724A0",
183
153
  "Polygon": "0x145e03A80c19ad1b9d0429d06b6d52707de724A0",
184
- "Tatara": "0x145e03A80c19ad1b9d0429d06b6d52707de724A0",
185
- "Rise": "0x145e03A80c19ad1b9d0429d06b6d52707de724A0"
154
+ "Optimism": "0x145e03A80c19ad1b9d0429d06b6d52707de724A0"
186
155
  },
187
156
  "decimals": 18
188
157
  }
@@ -192,33 +161,21 @@
192
161
  "chainId": 84532,
193
162
  "explorer": "https://sepolia.basescan.org/"
194
163
  },
195
- "Optimism": {
196
- "chainId": 11155420,
197
- "explorer": "https://sepolia-optimistic.etherscan.io/"
198
- },
199
164
  "Mainnet": {
200
165
  "chainId": 11155111,
201
166
  "explorer": "https://sepolia.etherscan.io/"
202
167
  },
203
- "Monad": {
204
- "chainId": 10143,
205
- "explorer": "https://testnet.monadexplorer.com/"
206
- },
207
168
  "Polygon": {
208
169
  "chainId": 80002,
209
170
  "explorer": "https://amoy.polygonscan.com"
210
171
  },
211
- "Tatara": {
212
- "chainId": 129399,
213
- "explorer": "https://explorer.tatara.katana.network"
214
- },
215
- "Rise": {
216
- "chainId": 11155931,
217
- "explorer": "https://explorer.testnet.riselabs.xyz"
218
- },
219
172
  "Miden": {
220
- "chainId": 0,
173
+ "chainId": 999999999,
221
174
  "explorer": "https://testnet.midenscan.com/"
175
+ },
176
+ "Optimism": {
177
+ "chainId": 11155420,
178
+ "explorer": "https://sepolia-optimistic.etherscan.io/"
222
179
  }
223
180
  },
224
181
  "relationships": {
@@ -251,24 +208,8 @@
251
208
  "FERB"
252
209
  ],
253
210
  "tokensOut": []
254
- }
255
- },
256
- "dummy-lending": {
257
- "Monad": {
258
- "tokensIn": [
259
- "USDC",
260
- "USDT",
261
- "DAI",
262
- "WETH",
263
- "WBTC",
264
- "PENGU",
265
- "OSWALD",
266
- "KICK",
267
- "FERB"
268
- ],
269
- "tokensOut": []
270
211
  },
271
- "Mainnet": {
212
+ "Optimism": {
272
213
  "tokensIn": [
273
214
  "USDC",
274
215
  "USDT",
@@ -281,12 +222,12 @@
281
222
  "FERB"
282
223
  ],
283
224
  "tokensOut": []
284
- },
285
- "Optimism": {
225
+ }
226
+ },
227
+ "dummy-lending": {
228
+ "Mainnet": {
286
229
  "tokensIn": [
287
230
  "USDC",
288
- "USDT",
289
- "DAI",
290
231
  "WETH",
291
232
  "WBTC",
292
233
  "PENGU",
@@ -299,8 +240,6 @@
299
240
  "Base": {
300
241
  "tokensIn": [
301
242
  "USDC",
302
- "USDT",
303
- "DAI",
304
243
  "WETH",
305
244
  "WBTC",
306
245
  "PENGU",
@@ -313,8 +252,6 @@
313
252
  "Polygon": {
314
253
  "tokensIn": [
315
254
  "USDC",
316
- "USDT",
317
- "DAI",
318
255
  "WETH",
319
256
  "WBTC",
320
257
  "PENGU",
@@ -324,25 +261,9 @@
324
261
  ],
325
262
  "tokensOut": []
326
263
  },
327
- "Tatara": {
328
- "tokensIn": [
329
- "USDC",
330
- "USDT",
331
- "DAI",
332
- "WETH",
333
- "WBTC",
334
- "PENGU",
335
- "OSWALD",
336
- "KICK",
337
- "FERB"
338
- ],
339
- "tokensOut": []
340
- },
341
- "Rise": {
264
+ "Optimism": {
342
265
  "tokensIn": [
343
266
  "USDC",
344
- "USDT",
345
- "DAI",
346
267
  "WETH",
347
268
  "WBTC",
348
269
  "PENGU",
@@ -354,18 +275,10 @@
354
275
  }
355
276
  },
356
277
  "dummy-staking": {
357
- "Monad": {
358
- "tokensIn": ["USDC", "USDT", "DAI", "WETH", "WBTC"],
359
- "tokensOut": []
360
- },
361
278
  "Mainnet": {
362
279
  "tokensIn": ["USDC", "USDT", "DAI", "WETH", "WBTC"],
363
280
  "tokensOut": []
364
281
  },
365
- "Optimism": {
366
- "tokensIn": ["USDC", "USDT", "DAI", "WETH", "WBTC"],
367
- "tokensOut": []
368
- },
369
282
  "Base": {
370
283
  "tokensIn": ["USDC", "USDT", "DAI", "WETH", "WBTC"],
371
284
  "tokensOut": []
@@ -374,11 +287,7 @@
374
287
  "tokensIn": ["USDC", "USDT", "DAI", "WETH", "WBTC"],
375
288
  "tokensOut": []
376
289
  },
377
- "Tatara": {
378
- "tokensIn": ["USDC", "USDT", "DAI", "WETH", "WBTC"],
379
- "tokensOut": []
380
- },
381
- "Rise": {
290
+ "Optimism": {
382
291
  "tokensIn": ["USDC", "USDT", "DAI", "WETH", "WBTC"],
383
292
  "tokensOut": []
384
293
  }
@@ -397,19 +306,6 @@
397
306
  "FERB"
398
307
  ]
399
308
  },
400
- "Optimism": {
401
- "tokensInAndOut": [
402
- "USDC",
403
- "USDT",
404
- "DAI",
405
- "WETH",
406
- "WBTC",
407
- "PENGU",
408
- "OSWALD",
409
- "KICK",
410
- "FERB"
411
- ]
412
- },
413
309
  "Mainnet": {
414
310
  "tokensInAndOut": [
415
311
  "USDC",
@@ -423,7 +319,7 @@
423
319
  "FERB"
424
320
  ]
425
321
  },
426
- "Monad": {
322
+ "Polygon": {
427
323
  "tokensInAndOut": [
428
324
  "USDC",
429
325
  "USDT",
@@ -436,7 +332,7 @@
436
332
  "FERB"
437
333
  ]
438
334
  },
439
- "Polygon": {
335
+ "Optimism": {
440
336
  "tokensInAndOut": [
441
337
  "USDC",
442
338
  "USDT",
@@ -472,88 +368,15 @@
472
368
  }
473
369
  },
474
370
  "tokenChains": {
475
- "DAI": [
476
- "Base",
477
- "Optimism",
478
- "Mainnet",
479
- "Monad",
480
- "Polygon",
481
- "Tatara",
482
- "Rise"
483
- ],
484
- "USDT": [
485
- "Base",
486
- "Optimism",
487
- "Mainnet",
488
- "Monad",
489
- "Polygon",
490
- "Tatara",
491
- "Rise"
492
- ],
493
- "USDC": [
494
- "Base",
495
- "Optimism",
496
- "Mainnet",
497
- "Monad",
498
- "Polygon",
499
- "Tatara",
500
- "Rise",
501
- "Miden"
502
- ],
503
- "WETH": [
504
- "Base",
505
- "Optimism",
506
- "Mainnet",
507
- "Monad",
508
- "Polygon",
509
- "Tatara",
510
- "Rise"
511
- ],
512
- "WBTC": [
513
- "Base",
514
- "Optimism",
515
- "Mainnet",
516
- "Monad",
517
- "Polygon",
518
- "Tatara",
519
- "Rise"
520
- ],
521
- "PENGU": [
522
- "Base",
523
- "Optimism",
524
- "Mainnet",
525
- "Monad",
526
- "Polygon",
527
- "Tatara",
528
- "Rise"
529
- ],
530
- "OSWALD": [
531
- "Base",
532
- "Optimism",
533
- "Mainnet",
534
- "Monad",
535
- "Polygon",
536
- "Tatara",
537
- "Rise"
538
- ],
539
- "KICK": [
540
- "Base",
541
- "Optimism",
542
- "Mainnet",
543
- "Monad",
544
- "Polygon",
545
- "Tatara",
546
- "Rise"
547
- ],
548
- "FERB": [
549
- "Base",
550
- "Optimism",
551
- "Mainnet",
552
- "Monad",
553
- "Polygon",
554
- "Tatara",
555
- "Rise"
556
- ]
371
+ "DAI": ["Base", "Mainnet", "Polygon", "Optimism"],
372
+ "USDT": ["Base", "Mainnet", "Polygon", "Optimism"],
373
+ "USDC": ["Base", "Optimism", "Mainnet", "Polygon", "Miden"],
374
+ "WETH": ["Base", "Mainnet", "Polygon", "Optimism"],
375
+ "WBTC": ["Base", "Mainnet", "Polygon", "Optimism"],
376
+ "PENGU": ["Base", "Mainnet", "Polygon", "Optimism"],
377
+ "OSWALD": ["Base", "Mainnet", "Polygon", "Optimism"],
378
+ "KICK": ["Base", "Mainnet", "Polygon", "Optimism"],
379
+ "FERB": ["Base", "Mainnet", "Polygon", "Optimism"]
557
380
  }
558
381
  }
559
382
  }
@@ -102,6 +102,10 @@ export type Token = {
102
102
  [chainName: string]: string;
103
103
  };
104
104
  decimals: number;
105
+ /** Optional chain-specific decimals overrides (e.g. testnet mocks vs Miden faucets). */
106
+ decimalsByChain?: {
107
+ [chainName: string]: number;
108
+ };
105
109
  };
106
110
  export type Chain = {
107
111
  chainId: number;
@@ -323,3 +327,6 @@ export type CompactData = {
323
327
  amount: bigint | string;
324
328
  mandate?: Mandate;
325
329
  };
330
+ export type ExecutionTransactionWithChain = ExecutionTransaction & {
331
+ chainId: number;
332
+ };
@@ -1,4 +1,4 @@
1
- import { type Hex } from 'viem';
2
- import { CompactData } from '../types/index.js';
1
+ import { type Hex } from "viem";
2
+ import { CompactData } from "../types/index.js";
3
3
  export declare function getCompactTypehash(witnessTypeString?: string): Hex;
4
4
  export declare function getClaimHash(message: CompactData, witnessTypeString: string): `0x${string}`;
@@ -1,50 +1,43 @@
1
- import { keccak256, toBytes, } from 'viem';
2
- import { hashStruct } from 'viem/utils';
1
+ import { keccak256, toBytes, } from "viem";
2
+ import { hashStruct } from "viem/utils";
3
3
  export function getCompactTypehash(witnessTypeString) {
4
4
  if (witnessTypeString) {
5
5
  const typestring = `Compact(address arbiter,address sponsor,uint256 nonce,uint256 expires,bytes12 lockTag,address token,uint256 amount,Mandate mandate)Mandate(${witnessTypeString})`;
6
- console.log('typestring: ', typestring);
7
6
  return keccak256(toBytes(typestring));
8
7
  }
9
- const typestring = 'Compact(address arbiter,address sponsor,uint256 nonce,uint256 expires,bytes12 lockTag,address token,uint256 amount)';
10
- console.log('typestring: ', typestring);
8
+ const typestring = "Compact(address arbiter,address sponsor,uint256 nonce,uint256 expires,bytes12 lockTag,address token,uint256 amount)";
11
9
  return keccak256(toBytes(typestring));
12
10
  }
13
11
  export function getClaimHash(message, witnessTypeString) {
14
12
  // Convert lockTag bigint to bytes12 hex string and token bigint to address
15
13
  const messageWithFormattedData = {
16
14
  ...message,
17
- lockTag: `0x${message.lockTag.toString(16).padStart(24, '0')}`,
18
- token: typeof message.token === 'bigint'
19
- ? `0x${message.token.toString(16).padStart(40, '0')}`
15
+ lockTag: `0x${message.lockTag.toString(16).padStart(24, "0")}`,
16
+ token: typeof message.token === "bigint"
17
+ ? `0x${message.token.toString(16).padStart(40, "0")}`
20
18
  : message.token,
21
19
  };
22
- console.log('messageWithFormattedData: ', messageWithFormattedData);
23
- console.log('Hererererere');
24
- console.log('getTypes(message): ', getTypes(message, witnessTypeString));
25
- console.log('herererere: ');
26
20
  return hashStruct({
27
21
  types: getTypes(messageWithFormattedData, witnessTypeString),
28
- primaryType: 'Compact',
22
+ primaryType: "Compact",
29
23
  data: messageWithFormattedData,
30
24
  });
31
25
  }
32
26
  function getTypes(message, witnessTypeString) {
33
- console.log('message: ', message);
34
27
  return {
35
28
  Compact: [
36
- { name: 'arbiter', type: 'address' },
37
- { name: 'sponsor', type: 'address' },
38
- { name: 'nonce', type: 'uint256' },
39
- { name: 'expires', type: 'uint256' },
40
- { name: 'lockTag', type: 'bytes12' },
41
- { name: 'token', type: 'address' },
42
- { name: 'amount', type: 'uint256' },
43
- ...(message.mandate ? [{ name: 'mandate', type: 'Mandate' }] : []),
29
+ { name: "arbiter", type: "address" },
30
+ { name: "sponsor", type: "address" },
31
+ { name: "nonce", type: "uint256" },
32
+ { name: "expires", type: "uint256" },
33
+ { name: "lockTag", type: "bytes12" },
34
+ { name: "token", type: "address" },
35
+ { name: "amount", type: "uint256" },
36
+ ...(message.mandate ? [{ name: "mandate", type: "Mandate" }] : []),
44
37
  ],
45
38
  ...(message.mandate
46
39
  ? {
47
- Mandate: witnessTypeString.split(',').map((field) => {
40
+ Mandate: witnessTypeString.split(",").map((field) => {
48
41
  const [type, name] = field.trim().split(/\s+/);
49
42
  return { name, type };
50
43
  }),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epoch-protocol/epoch-commons-sdk",
3
- "version": "0.1.11",
3
+ "version": "0.1.12",
4
4
  "description": "SDK for interacting with Epoch Commons Protocol",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -10,7 +10,11 @@
10
10
  "test": "jest",
11
11
  "lint": "eslint . --ext .ts",
12
12
  "format": "prettier --write \"src/**/*.ts\"",
13
- "prepare": "npm run build"
13
+ "format:check": "prettier --check \"src/**/*.ts\"",
14
+ "prepare": "husky && npm run build"
15
+ },
16
+ "lint-staged": {
17
+ "*.{ts,tsx,js,json,md}": "prettier --write"
14
18
  },
15
19
  "keywords": [
16
20
  "blockchain",
@@ -30,7 +34,9 @@
30
34
  "@typescript-eslint/eslint-plugin": "^7.0.1",
31
35
  "@typescript-eslint/parser": "^7.0.1",
32
36
  "eslint": "^8.56.0",
37
+ "husky": "^9.1.7",
33
38
  "jest": "^29.7.0",
39
+ "lint-staged": "^15.5.2",
34
40
  "prettier": "^3.2.5",
35
41
  "ts-jest": "^29.1.2",
36
42
  "typescript": "^5.3.3"