@epoch-protocol/epoch-commons-sdk 0.1.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.
Files changed (43) hide show
  1. package/README.md +1 -0
  2. package/dist/constants/compact.d.ts +1 -0
  3. package/dist/constants/compact.js +5 -0
  4. package/dist/constants/contractAddresses.d.ts +57 -0
  5. package/dist/constants/contractAddresses.js +181 -0
  6. package/dist/constants/index.d.ts +2 -0
  7. package/dist/constants/index.js +18 -0
  8. package/dist/data/epochgraphmainnet.json +410 -0
  9. package/dist/data/epochgraphtestnet.json +532 -0
  10. package/dist/data/index.d.ts +3 -0
  11. package/dist/data/index.js +10 -0
  12. package/dist/index.d.ts +5 -0
  13. package/dist/index.js +22 -0
  14. package/dist/types/index.d.ts +322 -0
  15. package/dist/types/index.js +37 -0
  16. package/dist/utils/compact.d.ts +4 -0
  17. package/dist/utils/compact.js +58 -0
  18. package/dist/utils/index.d.ts +1 -0
  19. package/dist/utils/index.js +17 -0
  20. package/dist/utils/web3.d.ts +9 -0
  21. package/dist/utils/web3.js +115 -0
  22. package/dist/web3/abis/COMPACT_ABI.json +1529 -0
  23. package/dist/web3/abis/epochModuleAbi.d.ts +2 -0
  24. package/dist/web3/abis/epochModuleAbi.js +233 -0
  25. package/dist/web3/abis/erc20Abi.d.ts +2 -0
  26. package/dist/web3/abis/erc20Abi.js +224 -0
  27. package/dist/web3/abis/intentRegistryAbi.d.ts +2 -0
  28. package/dist/web3/abis/intentRegistryAbi.js +925 -0
  29. package/dist/web3/abis/safe7702ProxyFactoryAbi.d.ts +2 -0
  30. package/dist/web3/abis/safe7702ProxyFactoryAbi.js +107 -0
  31. package/dist/web3/abis/safeProxyFactoryAbi.d.ts +2 -0
  32. package/dist/web3/abis/safeProxyFactoryAbi.js +3 -0
  33. package/dist/web3/abis/solverRegistryAbi.d.ts +2 -0
  34. package/dist/web3/abis/solverRegistryAbi.js +236 -0
  35. package/dist/web3/index.d.ts +3 -0
  36. package/dist/web3/index.js +23 -0
  37. package/dist/web3/intents.d.ts +5 -0
  38. package/dist/web3/intents.js +32 -0
  39. package/dist/web3/registry.d.ts +5 -0
  40. package/dist/web3/registry.js +29 -0
  41. package/dist/web3/wallet.d.ts +26 -0
  42. package/dist/web3/wallet.js +390 -0
  43. package/package.json +41 -0
package/README.md ADDED
@@ -0,0 +1 @@
1
+ # Epoch Commons SDK
@@ -0,0 +1 @@
1
+ export declare const COMPACT_ADDRESS: "0x00000000000000171ede64904551eeDF3C6C9788";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.COMPACT_ADDRESS = void 0;
4
+ // The Compact is deployed at the same address on all networks
5
+ exports.COMPACT_ADDRESS = '0x00000000000000171ede64904551eeDF3C6C9788';
@@ -0,0 +1,57 @@
1
+ export declare const INTENT_REGISTRY_ADDRESS: {
2
+ [key: number]: string;
3
+ };
4
+ export declare const EPOCH_MODULE_SAFE_ADDRESS: {
5
+ [key: number]: string;
6
+ };
7
+ export declare const EPOCH_SAFE_INIT_SETUP: {
8
+ [key: number]: string;
9
+ };
10
+ export declare const SAFE_INIT_SETUP_FORWARDER: {
11
+ [key: number]: string;
12
+ };
13
+ export declare const SAFE_WEBAUTHN_SHARED_SIGNER: {
14
+ [key: number]: string;
15
+ };
16
+ export declare const SAFE_WEBAUTHN_SIGNER_FACTORY: {
17
+ [key: number]: string;
18
+ };
19
+ export declare const FCLP256Verifier: {
20
+ [key: number]: string;
21
+ };
22
+ export declare const SAFE_PROXY_FACTORY_ADDRESS: {
23
+ [key: number]: string;
24
+ };
25
+ export declare const SAFE_SINGLETON_ADDRESS: {
26
+ [key: number]: string;
27
+ };
28
+ export declare const SAFE_7702_SINGLETON_ADDRESS: {
29
+ [key: number]: string;
30
+ };
31
+ export declare const SAFE_7579_MODULE_ADDRESS: {
32
+ [key: number]: string;
33
+ };
34
+ export declare const SAFE_7579_REGISTRY_ADDRESS: {
35
+ [key: number]: string;
36
+ };
37
+ export declare const EIP7702_SAFE_PROXY_ADDRESS: {
38
+ [key: number]: string;
39
+ };
40
+ export declare const METAMASK_EXEC_MANAGER: {
41
+ [key: number]: string;
42
+ };
43
+ export declare const EPOCH_ESCROW_ADDRESS: {
44
+ [key: number]: string;
45
+ };
46
+ export declare const SAFE_MULTISEND_ADDRESS: {
47
+ [key: number]: string;
48
+ };
49
+ export declare const SAFE_MULTISEND_CALL_ONLY_ADDRESS: {
50
+ [key: number]: string;
51
+ };
52
+ declare const CONTRACT_ADDRESSES: {
53
+ [key: string]: {
54
+ [key: number]: string;
55
+ };
56
+ };
57
+ export { CONTRACT_ADDRESSES };
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CONTRACT_ADDRESSES = exports.SAFE_MULTISEND_CALL_ONLY_ADDRESS = exports.SAFE_MULTISEND_ADDRESS = exports.EPOCH_ESCROW_ADDRESS = exports.METAMASK_EXEC_MANAGER = exports.EIP7702_SAFE_PROXY_ADDRESS = exports.SAFE_7579_REGISTRY_ADDRESS = exports.SAFE_7579_MODULE_ADDRESS = exports.SAFE_7702_SINGLETON_ADDRESS = exports.SAFE_SINGLETON_ADDRESS = exports.SAFE_PROXY_FACTORY_ADDRESS = exports.FCLP256Verifier = exports.SAFE_WEBAUTHN_SIGNER_FACTORY = exports.SAFE_WEBAUTHN_SHARED_SIGNER = exports.SAFE_INIT_SETUP_FORWARDER = exports.EPOCH_SAFE_INIT_SETUP = exports.EPOCH_MODULE_SAFE_ADDRESS = exports.INTENT_REGISTRY_ADDRESS = void 0;
4
+ exports.INTENT_REGISTRY_ADDRESS = {
5
+ 11155111: "0x299Ea355dBeDF225b3a88D67827a0a04dF943749",
6
+ 11155420: "0x299Ea355dBeDF225b3a88D67827a0a04dF943749",
7
+ 84532: "0x299Ea355dBeDF225b3a88D67827a0a04dF943749",
8
+ 10143: "0x299Ea355dBeDF225b3a88D67827a0a04dF943749",
9
+ 80002: "0x299Ea355dBeDF225b3a88D67827a0a04dF943749",
10
+ 11155931: "0x299Ea355dBeDF225b3a88D67827a0a04dF943749",
11
+ 129399: "0x299Ea355dBeDF225b3a88D67827a0a04dF943749",
12
+ };
13
+ exports.EPOCH_MODULE_SAFE_ADDRESS = {
14
+ 11155111: "0x1b4a3398102d42CA600Cb7e3f40a5495B4954071",
15
+ 11155420: "0x1b4a3398102d42CA600Cb7e3f40a5495B4954071",
16
+ 84532: "0x1b4a3398102d42CA600Cb7e3f40a5495B4954071",
17
+ 10143: "0x1b4a3398102d42CA600Cb7e3f40a5495B4954071",
18
+ 80002: "0x1b4a3398102d42CA600Cb7e3f40a5495B4954071",
19
+ 11155931: "0x1b4a3398102d42CA600Cb7e3f40a5495B4954071",
20
+ 129399: "0x1b4a3398102d42CA600Cb7e3f40a5495B4954071",
21
+ };
22
+ exports.EPOCH_SAFE_INIT_SETUP = {
23
+ 11155111: "0xf460890181cB9C76EE404edE779555c9fEefB10e",
24
+ 11155420: "0xf460890181cB9C76EE404edE779555c9fEefB10e",
25
+ 84532: "0xf460890181cB9C76EE404edE779555c9fEefB10e",
26
+ 10143: "0xf460890181cB9C76EE404edE779555c9fEefB10e",
27
+ 80002: "0xf460890181cB9C76EE404edE779555c9fEefB10e",
28
+ 11155931: "0xf460890181cB9C76EE404edE779555c9fEefB10e",
29
+ 129399: "0xf460890181cB9C76EE404edE779555c9fEefB10e",
30
+ };
31
+ exports.SAFE_INIT_SETUP_FORWARDER = {
32
+ 11155111: "0x8c7192D248361844DBDdDa5dE58DF591996C44CB",
33
+ 11155420: "0x8c7192D248361844DBDdDa5dE58DF591996C44CB",
34
+ 84532: "0x8c7192D248361844DBDdDa5dE58DF591996C44CB",
35
+ 10143: "0x8c7192D248361844DBDdDa5dE58DF591996C44CB",
36
+ 80002: "0x8c7192D248361844DBDdDa5dE58DF591996C44CB",
37
+ 11155931: "0x8c7192D248361844DBDdDa5dE58DF591996C44CB",
38
+ 129399: "0x8c7192D248361844DBDdDa5dE58DF591996C44CB",
39
+ };
40
+ exports.SAFE_WEBAUTHN_SHARED_SIGNER = {
41
+ 11155111: "0x049b3EA3f45460dec04438312e70876f9325a737",
42
+ 11155420: "0x049b3EA3f45460dec04438312e70876f9325a737",
43
+ 84532: "0x049b3EA3f45460dec04438312e70876f9325a737",
44
+ 10143: "0x049b3EA3f45460dec04438312e70876f9325a737",
45
+ 129399: "0x049b3EA3f45460dec04438312e70876f9325a737",
46
+ 80002: "0x049b3EA3f45460dec04438312e70876f9325a737",
47
+ 11155931: "0x049b3EA3f45460dec04438312e70876f9325a737",
48
+ };
49
+ exports.SAFE_WEBAUTHN_SIGNER_FACTORY = {
50
+ 11155111: "0xE66584AFFD075E9224d3B0f36978ec0263cEd6FD",
51
+ 11155420: "0xE66584AFFD075E9224d3B0f36978ec0263cEd6FD",
52
+ 84532: "0xE66584AFFD075E9224d3B0f36978ec0263cEd6FD",
53
+ 10143: "0xE66584AFFD075E9224d3B0f36978ec0263cEd6FD",
54
+ 129399: "0xE66584AFFD075E9224d3B0f36978ec0263cEd6FD",
55
+ 80002: "0xE66584AFFD075E9224d3B0f36978ec0263cEd6FD",
56
+ 11155931: "0xE66584AFFD075E9224d3B0f36978ec0263cEd6FD",
57
+ };
58
+ exports.FCLP256Verifier = {
59
+ 11155111: "0xFB5D9DAddC16Bd61566c82Bf3F0659ce2B538bEE",
60
+ 11155420: "0xFB5D9DAddC16Bd61566c82Bf3F0659ce2B538bEE",
61
+ 84532: "0xFB5D9DAddC16Bd61566c82Bf3F0659ce2B538bEE",
62
+ 10143: "0xFB5D9DAddC16Bd61566c82Bf3F0659ce2B538bEE",
63
+ 129399: "0xFB5D9DAddC16Bd61566c82Bf3F0659ce2B538bEE",
64
+ 80002: "0xFB5D9DAddC16Bd61566c82Bf3F0659ce2B538bEE",
65
+ 11155931: "0xFB5D9DAddC16Bd61566c82Bf3F0659ce2B538bEE",
66
+ };
67
+ //todo: update for testnets
68
+ exports.SAFE_PROXY_FACTORY_ADDRESS = {
69
+ 11155111: "0x6F0035ed7325d0DAaC2eB12562422Ae53faa682C",
70
+ 11155420: "0x6F0035ed7325d0DAaC2eB12562422Ae53faa682C",
71
+ 84532: "0x6F0035ed7325d0DAaC2eB12562422Ae53faa682C",
72
+ 10143: "0x6F0035ed7325d0DAaC2eB12562422Ae53faa682C",
73
+ 129399: "0x6F0035ed7325d0DAaC2eB12562422Ae53faa682C",
74
+ 80002: "0x6F0035ed7325d0DAaC2eB12562422Ae53faa682C",
75
+ 11155931: "0x6F0035ed7325d0DAaC2eB12562422Ae53faa682C",
76
+ };
77
+ //todo: update for testnets
78
+ exports.SAFE_SINGLETON_ADDRESS = {
79
+ 11155111: "0x5FdB4DaE6733008c82652D4e1B4a8c02dA3F5175",
80
+ 11155420: "0x5FdB4DaE6733008c82652D4e1B4a8c02dA3F5175",
81
+ 84532: "0x5FdB4DaE6733008c82652D4e1B4a8c02dA3F5175",
82
+ 10143: "0x5FdB4DaE6733008c82652D4e1B4a8c02dA3F5175",
83
+ 129399: "0x5FdB4DaE6733008c82652D4e1B4a8c02dA3F5175",
84
+ 80002: "0x5FdB4DaE6733008c82652D4e1B4a8c02dA3F5175",
85
+ 11155931: "0x5FdB4DaE6733008c82652D4e1B4a8c02dA3F5175",
86
+ };
87
+ //todo: update for testnets
88
+ exports.SAFE_7702_SINGLETON_ADDRESS = {
89
+ 11155111: "0x18F2d1EB128e64fE5EDcCa6A0Fa7702Aa44cf664",
90
+ 11155420: "0x18F2d1EB128e64fE5EDcCa6A0Fa7702Aa44cf664",
91
+ 84532: "0x18F2d1EB128e64fE5EDcCa6A0Fa7702Aa44cf664",
92
+ 10143: "0x18F2d1EB128e64fE5EDcCa6A0Fa7702Aa44cf664",
93
+ 129399: "0x18F2d1EB128e64fE5EDcCa6A0Fa7702Aa44cf664",
94
+ 80002: "0x18F2d1EB128e64fE5EDcCa6A0Fa7702Aa44cf664",
95
+ 11155931: "0x18F2d1EB128e64fE5EDcCa6A0Fa7702Aa44cf664",
96
+ };
97
+ exports.SAFE_7579_MODULE_ADDRESS = {
98
+ 11155111: "0x5f73D1792f81Ee2356f99764904Cb03956F577d0",
99
+ 11155420: "0x5f73D1792f81Ee2356f99764904Cb03956F577d0",
100
+ 84532: "0x5f73D1792f81Ee2356f99764904Cb03956F577d0",
101
+ 10143: "0x5f73D1792f81Ee2356f99764904Cb03956F577d0",
102
+ 129399: "0x5f73D1792f81Ee2356f99764904Cb03956F577d0",
103
+ 80002: "0x5f73D1792f81Ee2356f99764904Cb03956F577d0",
104
+ 11155931: "0x5f73D1792f81Ee2356f99764904Cb03956F577d0",
105
+ };
106
+ //todo: update for testnets
107
+ exports.SAFE_7579_REGISTRY_ADDRESS = {
108
+ 11155111: "0x6F1aBD911DBec98EEd1DfA470Ee98b61D3131A55",
109
+ 11155420: "0x6F1aBD911DBec98EEd1DfA470Ee98b61D3131A55",
110
+ 84532: "0x6F1aBD911DBec98EEd1DfA470Ee98b61D3131A55",
111
+ 10143: "0x6F1aBD911DBec98EEd1DfA470Ee98b61D3131A55",
112
+ 129399: "0x6F1aBD911DBec98EEd1DfA470Ee98b61D3131A55",
113
+ 80002: "0x6F1aBD911DBec98EEd1DfA470Ee98b61D3131A55",
114
+ 11155931: "0x6F1aBD911DBec98EEd1DfA470Ee98b61D3131A55",
115
+ };
116
+ //todo: update for testnets
117
+ exports.EIP7702_SAFE_PROXY_ADDRESS = {
118
+ 11155111: "0xE60EcE6588DCcFb7373538034963B4D20a280DB0",
119
+ 11155420: "0xc8490cDee50174A00105598AD615e2d00f0Cfb10",
120
+ 84532: "0xc8490cDee50174A00105598AD615e2d00f0Cfb10",
121
+ 10143: "0xc8490cDee50174A00105598AD615e2d00f0Cfb10",
122
+ 129399: "0xc8490cDee50174A00105598AD615e2d00f0Cfb10",
123
+ 80002: "0xc8490cDee50174A00105598AD615e2d00f0Cfb10",
124
+ 11155931: "0xc8490cDee50174A00105598AD615e2d00f0Cfb10",
125
+ };
126
+ exports.METAMASK_EXEC_MANAGER = {
127
+ 11155111: "0xC913903b10f8Aa3bEf3e368EbDAeb13D73603524",
128
+ 11155420: "0xC913903b10f8Aa3bEf3e368EbDAeb13D73603524",
129
+ 84532: "0xC913903b10f8Aa3bEf3e368EbDAeb13D73603524",
130
+ 10143: "0xC913903b10f8Aa3bEf3e368EbDAeb13D73603524",
131
+ 129399: "0xC913903b10f8Aa3bEf3e368EbDAeb13D73603524",
132
+ 80002: "0xC913903b10f8Aa3bEf3e368EbDAeb13D73603524",
133
+ 11155931: "0xC913903b10f8Aa3bEf3e368EbDAeb13D73603524",
134
+ };
135
+ exports.EPOCH_ESCROW_ADDRESS = {
136
+ 11155111: "0xA88Ea7EB5f687d05e20b7232d698864A7c17e20C",
137
+ 11155420: "0xA88Ea7EB5f687d05e20b7232d698864A7c17e20C",
138
+ 84532: "0xA88Ea7EB5f687d05e20b7232d698864A7c17e20C",
139
+ 10143: "0xA88Ea7EB5f687d05e20b7232d698864A7c17e20C",
140
+ 129399: "0xA88Ea7EB5f687d05e20b7232d698864A7c17e20C",
141
+ 80002: "0xA88Ea7EB5f687d05e20b7232d698864A7c17e20C",
142
+ 11155931: "0xA88Ea7EB5f687d05e20b7232d698864A7c17e20C",
143
+ };
144
+ exports.SAFE_MULTISEND_ADDRESS = {
145
+ 11155111: "0x328AB3a53287503DF0EFED81928a2b45b3205B2A",
146
+ 11155420: "0x328AB3a53287503DF0EFED81928a2b45b3205B2A",
147
+ 84532: "0x328AB3a53287503DF0EFED81928a2b45b3205B2A",
148
+ 10143: "0x328AB3a53287503DF0EFED81928a2b45b3205B2A",
149
+ 129399: "0x328AB3a53287503DF0EFED81928a2b45b3205B2A",
150
+ 80002: "0x328AB3a53287503DF0EFED81928a2b45b3205B2A",
151
+ 11155931: "0x328AB3a53287503DF0EFED81928a2b45b3205B2A",
152
+ };
153
+ exports.SAFE_MULTISEND_CALL_ONLY_ADDRESS = {
154
+ 11155111: "0x944b129a384265D916fbEA3440CD2caA4925145c",
155
+ 11155420: "0x944b129a384265D916fbEA3440CD2caA4925145c",
156
+ 84532: "0x944b129a384265D916fbEA3440CD2caA4925145c",
157
+ 10143: "0x944b129a384265D916fbEA3440CD2caA4925145c",
158
+ 129399: "0x944b129a384265D916fbEA3440CD2caA4925145c",
159
+ 80002: "0x944b129a384265D916fbEA3440CD2caA4925145c",
160
+ 11155931: "0x944b129a384265D916fbEA3440CD2caA4925145c",
161
+ };
162
+ const CONTRACT_ADDRESSES = {
163
+ METAMASK_EXEC_MANAGER: exports.METAMASK_EXEC_MANAGER,
164
+ SAFE_PROXY_FACTORY_ADDRESS: exports.SAFE_PROXY_FACTORY_ADDRESS,
165
+ SAFE_SINGLETON_ADDRESS: exports.SAFE_SINGLETON_ADDRESS,
166
+ SAFE_7702_SINGLETON_ADDRESS: exports.SAFE_7702_SINGLETON_ADDRESS,
167
+ SAFE_7579_MODULE_ADDRESS: exports.SAFE_7579_MODULE_ADDRESS,
168
+ SAFE_7579_REGISTRY_ADDRESS: exports.SAFE_7579_REGISTRY_ADDRESS,
169
+ EIP7702_SAFE_PROXY_ADDRESS: exports.EIP7702_SAFE_PROXY_ADDRESS,
170
+ EPOCH_MODULE_SAFE_ADDRESS: exports.EPOCH_MODULE_SAFE_ADDRESS,
171
+ EPOCH_SAFE_INIT_SETUP: exports.EPOCH_SAFE_INIT_SETUP,
172
+ INTENT_REGISTRY_ADDRESS: exports.INTENT_REGISTRY_ADDRESS,
173
+ SAFE_INIT_SETUP_FORWARDER: exports.SAFE_INIT_SETUP_FORWARDER,
174
+ SAFE_WEBAUTHN_SHARED_SIGNER: exports.SAFE_WEBAUTHN_SHARED_SIGNER,
175
+ SAFE_WEBAUTHN_SIGNER_FACTORY: exports.SAFE_WEBAUTHN_SIGNER_FACTORY,
176
+ FCLP256Verifier: exports.FCLP256Verifier,
177
+ EPOCH_ESCROW_ADDRESS: exports.EPOCH_ESCROW_ADDRESS,
178
+ SAFE_MULTISEND_ADDRESS: exports.SAFE_MULTISEND_ADDRESS,
179
+ SAFE_MULTISEND_CALL_ONLY_ADDRESS: exports.SAFE_MULTISEND_CALL_ONLY_ADDRESS,
180
+ };
181
+ exports.CONTRACT_ADDRESSES = CONTRACT_ADDRESSES;
@@ -0,0 +1,2 @@
1
+ export * from "./contractAddresses";
2
+ export * from "./compact";
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./contractAddresses"), exports);
18
+ __exportStar(require("./compact"), exports);
@@ -0,0 +1,410 @@
1
+ {
2
+ "protocols": {
3
+ "raffles": {
4
+ "contractAddress": {
5
+ "Base": "0xMorphoBaseAddress",
6
+ "Optimism": "0xMorphoOptimismAddress",
7
+ "Mainnet": "0xMorphoMainnetAddress"
8
+ },
9
+ "type": ["protocol-interaction"]
10
+ },
11
+ "aave-v3": {
12
+ "contractAddress": {
13
+ "Base": "0xAaveBaseAddress",
14
+ "Optimism": "0xAaveOptimismAddress",
15
+ "Mainnet": "0xAaveMainnetAddress"
16
+ },
17
+ "type": ["lending", "yield"]
18
+ },
19
+ "morpho-blue": {
20
+ "contractAddress": {
21
+ "Base": "0xMorphoBaseAddress",
22
+ "Mainnet": "0xMorphoMainnetAddress"
23
+ },
24
+ "type": ["lending", "yield"]
25
+ },
26
+ "Across": {
27
+ "contractAddress": {
28
+ "Base": "0xMorphoBaseAddress",
29
+ "Optimism": "0xMorphoOptimismAddress",
30
+ "Mainnet": "0xMorphoMainnetAddress"
31
+ },
32
+ "type": ["bridge"]
33
+ },
34
+ "Wormhole": {
35
+ "contractAddress": {
36
+ "Base": "0xMorphoBaseAddress",
37
+ "Optimism": "0xMorphoOptimismAddress",
38
+ "Mainnet": "0xMorphoMainnetAddress"
39
+ },
40
+ "type": ["bridge"]
41
+ },
42
+ "uniswap-v3": {
43
+ "contractAddress": {
44
+ "Base": "0xMorphoBaseAddress",
45
+ "Optimism": "0xMorphoOptimismAddress",
46
+ "Mainnet": "0xMorphoMainnetAddress"
47
+ },
48
+ "type": ["swap"]
49
+ },
50
+ "Kyber": {
51
+ "contractAddress": {
52
+ "Base": "0xMorphoBaseAddress",
53
+ "Optimism": "0xMorphoOptimismAddress",
54
+ "Mainnet": "0xMorphoMainnetAddress"
55
+ },
56
+ "type": ["swap"]
57
+ },
58
+ "Kelp": {
59
+ "contractAddress": {
60
+ "Base": "0xMorphoBaseAddress",
61
+ "Optimism": "0xMorphoOptimismAddress"
62
+ },
63
+ "type": ["restaking", "yield"]
64
+ },
65
+ "Lido": {
66
+ "contractAddress": {
67
+ "Mainnet": "0xMorphoMainnetAddress"
68
+ },
69
+ "type": ["restaking", "yield"]
70
+ },
71
+ "RocketPool": {
72
+ "contractAddress": {
73
+ "Mainnet": "0xMorphoMainnetAddress",
74
+ "Base": "0xMorphoBaseAddress"
75
+ },
76
+ "type": ["restaking", "yield"]
77
+ },
78
+ "Etherfi": {
79
+ "contractAddress": {
80
+ "Base": "0xMorphoBaseAddress",
81
+ "Mainnet": "0xMorphoMainnetAddress"
82
+ },
83
+ "type": ["restaking", "yield"]
84
+ },
85
+ "FillerSwap": {
86
+ "contractAddress": {
87
+ "*": "*"
88
+ },
89
+ "type": ["swap"]
90
+ },
91
+ "FillerCrossChain": {
92
+ "contractAddress": {
93
+ "*": "*"
94
+ },
95
+ "type": ["bridge"]
96
+ },
97
+ "moonwell": {
98
+ "contractAddress": {
99
+ "Base": "0xMorphoBaseAddress",
100
+ "Optimism": "0xMorphoOptimismAddress"
101
+ },
102
+ "type": ["lending", "yield"]
103
+ }
104
+ },
105
+ "tokens": {
106
+ "COLLAB": {
107
+ "contractAddress": {
108
+ "Optimism": "0x8B21e9b7dAF2c4325bf3D18c1BeB79A347fE902A"
109
+ },
110
+ "decimals": 18
111
+ },
112
+ "DAI": {
113
+ "contractAddress": {
114
+ "Base": "0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb",
115
+ "Optimism": "0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1",
116
+ "Mainnet": "0x6b175474e89094c44da98b954eedeac495271d0f"
117
+ },
118
+ "decimals": 18
119
+ },
120
+ "USDC": {
121
+ "contractAddress": {
122
+ "Base": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
123
+ "Optimism": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
124
+ "Mainnet": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
125
+ },
126
+ "decimals": 6
127
+ },
128
+ "WETH": {
129
+ "contractAddress": {
130
+ "Base": "0x4200000000000000000000000000000000000006",
131
+ "Optimism": "0x4200000000000000000000000000000000000006",
132
+ "Mainnet": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"
133
+ },
134
+ "decimals": 18
135
+ },
136
+ "OP": {
137
+ "contractAddress": {
138
+ "Optimism": "0x4200000000000000000000000000000000000042"
139
+ },
140
+ "decimals": 18
141
+ },
142
+ "eUSD": {
143
+ "contractAddress": {
144
+ "Base": "0xCfA3Ef56d303AE4fAabA0592388F19d7C3399FB4"
145
+ },
146
+ "decimals": 18
147
+ },
148
+ "EURA": {
149
+ "contractAddress": {
150
+ "Base": "0xA61BeB4A3d02decb01039e378237032B351125B4"
151
+ },
152
+ "decimals": 18
153
+ },
154
+ "MAI": {
155
+ "contractAddress": {
156
+ "Base": "0xbf1aeA8670D2528E08334083616dD9C5F3B087aE"
157
+ },
158
+ "decimals": 18
159
+ },
160
+ "USDC.e": {
161
+ "contractAddress": {
162
+ "Optimism": "0x7F5c764cBc14f9669B88837ca1490cCa17c31607"
163
+ },
164
+ "decimals": 6
165
+ },
166
+ "BAL": {
167
+ "contractAddress": {
168
+ "Base": "0x4158734D47Fc9692176B5085E0F52ee0Da5d47F1",
169
+ "Optimism": "0xFE8B128bA8C78aabC59d4c64cEE7fF28e9379921"
170
+ },
171
+ "decimals": 18
172
+ },
173
+ "POOL": {
174
+ "contractAddress": {
175
+ "Base": "0xd652C5425aea2Afd5fb142e120FeCf79e18fafc3",
176
+ "Optimism": "0x395Ae52bB17aef68C2888d941736A71dC6d4e125"
177
+ },
178
+ "decimals": 18
179
+ },
180
+ "USDbC": {
181
+ "contractAddress": {
182
+ "Base": "0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA"
183
+ },
184
+ "decimals": 6
185
+ },
186
+ "cbETH": {
187
+ "contractAddress": {
188
+ "Base": "0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22"
189
+ },
190
+ "decimals": 18
191
+ },
192
+ "rETH": {
193
+ "contractAddress": {
194
+ "Base": "0xB6fe221Fe9EeF5aBa221c348bA20A1Bf5e73624c"
195
+ },
196
+ "decimals": 18
197
+ },
198
+ "WBTC": {
199
+ "contractAddress": {
200
+ "Optimism": "0x68f180fcCe6836688e9084f035309E29Bf0A2095"
201
+ },
202
+ "decimals": 8
203
+ }
204
+ },
205
+ "chains": {
206
+ "Base": {
207
+ "chainId": 8453,
208
+ "explorer": "https://basescan.org"
209
+ },
210
+ "Optimism": {
211
+ "chainId": 10,
212
+ "explorer": "https://optimistic.etherscan.io"
213
+ },
214
+ "Mainnet": {
215
+ "chainId": 1,
216
+ "explorer": "https://etherscan.io"
217
+ }
218
+ },
219
+ "relationships": {
220
+ "protocolTokensByChain": {
221
+ "protocol-interaction": {
222
+ "Base": {
223
+ "tokensInAndOut": ["WETH", "USDC", "DAI", "BAL", "POOL", "USDbC"]
224
+ },
225
+ "Optimism": {
226
+ "tokensInAndOut": ["WETH", "USDC", "DAI", "BAL", "POOL", "USDC.e"]
227
+ }
228
+ },
229
+ "aave-v3": {
230
+ "Base": {
231
+ "tokensIn": ["WETH", "USDC", "DAI"],
232
+ "tokensOut": ["aETH", "aUSDC", "aDAI"]
233
+ },
234
+ "Optimism": {
235
+ "tokensIn": ["WETH", "OP", "DAI"],
236
+ "tokensOut": ["aETH", "aOP", "aDAI"]
237
+ }
238
+ },
239
+ "morpho-blue": {
240
+ "Base": {
241
+ "tokensIn": ["USDC", "eUSD", "WETH", "EURA", "MAI"],
242
+ "tokensOut": ["mUSDC", "meUSD", "mWETH", "mEURA", "mMAI"]
243
+ }
244
+ },
245
+ "moonwell": {
246
+ "Base": {
247
+ "tokensInAndOut": ["WETH", "USDbC", "rETH", "DAI", "cbETH"]
248
+ },
249
+ "Optimism": {
250
+ "tokensInAndOut": ["WETH", "USDC", "OP", "WBTC"]
251
+ }
252
+ },
253
+ "Across": {
254
+ "Base": {
255
+ "tokensInAndOut": ["WETH", "USDC", "DAI", "BAL", "POOL", "USDbC"]
256
+ },
257
+ "Optimism": {
258
+ "tokensInAndOut": [
259
+ "WETH",
260
+ "USDC",
261
+ "DAI",
262
+ "BAL",
263
+ "POOL",
264
+ "USDC.e",
265
+ "WBTC"
266
+ ]
267
+ },
268
+ "Mainnet": {
269
+ "tokensInAndOut": ["WETH", "USDC", "DAI", "WBTC"]
270
+ }
271
+ },
272
+ "Wormhole": {
273
+ "Base": {
274
+ "tokensInAndOut": ["WETH", "USDC", "DAI", "BAL", "POOL", "USDbC"]
275
+ },
276
+ "Optimism": {
277
+ "tokensInAndOut": ["WETH", "USDC", "DAI", "BAL", "POOL", "USDC.e"]
278
+ },
279
+ "Mainnet": {
280
+ "tokensInAndOut": ["WETH", "USDC", "DAI"]
281
+ }
282
+ },
283
+ "uniswap-v3": {
284
+ "Base": {
285
+ "tokensInAndOut": [
286
+ "WETH",
287
+ "USDC",
288
+ "DAI",
289
+ "BAL",
290
+ "POOL",
291
+ "USDbC",
292
+ "eUSD",
293
+ "MAI",
294
+ "rETH",
295
+ "cbETH"
296
+ ]
297
+ },
298
+ "Optimism": {
299
+ "tokensInAndOut": [
300
+ "WETH",
301
+ "USDC",
302
+ "USDC.e",
303
+ "DAI",
304
+ "BAL",
305
+ "POOL",
306
+ "OP",
307
+ "COLLAB"
308
+ ]
309
+ },
310
+ "Mainnet": {
311
+ "tokensInAndOut": ["WETH", "USDC", "DAI"]
312
+ }
313
+ },
314
+ "Kyber": {
315
+ "Base": {
316
+ "tokensInAndOut": [
317
+ "WETH",
318
+ "USDC",
319
+ "DAI",
320
+ "BAL",
321
+ "POOL",
322
+ "USDbC",
323
+ "eUSD",
324
+ "MAI",
325
+ "rETH",
326
+ "cbETH"
327
+ ]
328
+ },
329
+ "Optimism": {
330
+ "tokensInAndOut": [
331
+ "WETH",
332
+ "USDC",
333
+ "USDC.e",
334
+ "DAI",
335
+ "BAL",
336
+ "POOL",
337
+ "OP",
338
+ "COLLAB"
339
+ ]
340
+ },
341
+ "Mainnet": {
342
+ "tokensInAndOut": ["WETH", "USDC", "DAI"]
343
+ }
344
+ },
345
+ "Kelp": {
346
+ "Base": {
347
+ "tokensIn": ["WETH"],
348
+ "tokensOut": ["rsETH"]
349
+ },
350
+ "Optimism": {
351
+ "tokensIn": ["WETH"],
352
+ "tokensOut": ["rsETH"]
353
+ }
354
+ },
355
+ "Lido": {
356
+ "Mainnet": {
357
+ "tokensIn": ["WETH"],
358
+ "tokensOut": ["stETH"]
359
+ }
360
+ },
361
+ "RocketPool": {
362
+ "Mainnet": {
363
+ "tokensIn": ["WETH"],
364
+ "tokensOut": ["rETH"]
365
+ },
366
+ "Base": {
367
+ "tokensIn": ["WETH"],
368
+ "tokensOut": ["rETH"]
369
+ }
370
+ },
371
+ "Etherfi": {
372
+ "Mainnet": {
373
+ "tokensIn": ["WETH"],
374
+ "tokensOut": ["eETH"]
375
+ },
376
+ "Base": {
377
+ "tokensIn": ["WETH"],
378
+ "tokensOut": ["eETH"]
379
+ }
380
+ },
381
+ "FillerSwap": {
382
+ "*": {
383
+ "tokensInAndOut": ["*"]
384
+ }
385
+ },
386
+ "FillerCrossChain": {
387
+ "*": {
388
+ "tokensInAndOut": ["*"]
389
+ }
390
+ }
391
+ },
392
+ "tokenChains": {
393
+ "DAI": ["Base", "Optimism", "Mainnet"],
394
+ "USDC": ["Base", "Optimism", "Mainnet"],
395
+ "WETH": ["Base", "Optimism", "Mainnet"],
396
+ "OP": ["Optimism"],
397
+ "rETH": ["Base"],
398
+ "cbETH": ["Base"],
399
+ "WBTC": ["Base", "Optimism"],
400
+ "eUSD": ["Base"],
401
+ "EURA": ["Base"],
402
+ "MAI": ["Base"],
403
+ "USDC.e": ["Optimism"],
404
+ "BAL": ["Base", "Optimism"],
405
+ "POOL": ["Base", "Optimism"],
406
+ "USDbC": ["Base"],
407
+ "COLLAB": ["Optimism"]
408
+ }
409
+ }
410
+ }