@opendatalabs/vana-sdk 2.1.0 → 2.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.
Files changed (135) hide show
  1. package/dist/config/contracts.config.cjs +352 -0
  2. package/dist/config/contracts.config.cjs.map +1 -0
  3. package/dist/config/contracts.config.d.ts +90 -0
  4. package/dist/config/contracts.config.js +327 -0
  5. package/dist/config/contracts.config.js.map +1 -0
  6. package/dist/contracts/contractController.cjs +1 -1
  7. package/dist/contracts/contractController.cjs.map +1 -1
  8. package/dist/contracts/contractController.js +1 -1
  9. package/dist/contracts/contractController.js.map +1 -1
  10. package/dist/controllers/data.cjs +1 -1
  11. package/dist/controllers/data.cjs.map +1 -1
  12. package/dist/controllers/data.js +1 -1
  13. package/dist/controllers/data.js.map +1 -1
  14. package/dist/controllers/permissions.cjs +1 -1
  15. package/dist/controllers/permissions.cjs.map +1 -1
  16. package/dist/controllers/permissions.js +1 -1
  17. package/dist/controllers/permissions.js.map +1 -1
  18. package/dist/controllers/schemas.cjs +1 -1
  19. package/dist/controllers/schemas.cjs.map +1 -1
  20. package/dist/controllers/schemas.js +1 -1
  21. package/dist/controllers/schemas.js.map +1 -1
  22. package/dist/crypto/ecies/__tests__/interface.test.d.ts +1 -0
  23. package/dist/crypto/ecies/__tests__/utils.test.d.ts +1 -0
  24. package/dist/generated/abi/ComputeEngineImplementation.cjs.map +1 -1
  25. package/dist/generated/abi/ComputeEngineImplementation.js.map +1 -1
  26. package/dist/generated/abi/ComputeEngineTreasuryImplementation.cjs +536 -0
  27. package/dist/generated/abi/ComputeEngineTreasuryImplementation.cjs.map +1 -0
  28. package/dist/generated/abi/ComputeEngineTreasuryImplementation.d.ts +393 -0
  29. package/dist/generated/abi/ComputeEngineTreasuryImplementation.js +512 -0
  30. package/dist/generated/abi/ComputeEngineTreasuryImplementation.js.map +1 -0
  31. package/dist/generated/abi/ComputeInstructionRegistryImplementation.cjs.map +1 -1
  32. package/dist/generated/abi/ComputeInstructionRegistryImplementation.js.map +1 -1
  33. package/dist/generated/abi/DATFactoryImplementation.cjs.map +1 -1
  34. package/dist/generated/abi/DATFactoryImplementation.js.map +1 -1
  35. package/dist/generated/abi/DATImplementation.cjs.map +1 -1
  36. package/dist/generated/abi/DATImplementation.js.map +1 -1
  37. package/dist/generated/abi/DATPausableImplementation.cjs.map +1 -1
  38. package/dist/generated/abi/DATPausableImplementation.js.map +1 -1
  39. package/dist/generated/abi/DATVotesImplementation.cjs.map +1 -1
  40. package/dist/generated/abi/DATVotesImplementation.js.map +1 -1
  41. package/dist/generated/abi/DLPPerformanceImplementation.cjs.map +1 -1
  42. package/dist/generated/abi/DLPPerformanceImplementation.js.map +1 -1
  43. package/dist/generated/abi/DLPRegistryImplementation.cjs.map +1 -1
  44. package/dist/generated/abi/DLPRegistryImplementation.js.map +1 -1
  45. package/dist/generated/abi/DLPRegistryTreasuryImplementation.cjs.map +1 -1
  46. package/dist/generated/abi/DLPRegistryTreasuryImplementation.js.map +1 -1
  47. package/dist/generated/abi/DLPRewardDeployerImplementation.cjs.map +1 -1
  48. package/dist/generated/abi/DLPRewardDeployerImplementation.js.map +1 -1
  49. package/dist/generated/abi/DLPRewardSwapImplementation.cjs.map +1 -1
  50. package/dist/generated/abi/DLPRewardSwapImplementation.js.map +1 -1
  51. package/dist/generated/abi/DataPortabilityGranteesImplementation.cjs.map +1 -1
  52. package/dist/generated/abi/DataPortabilityGranteesImplementation.js.map +1 -1
  53. package/dist/generated/abi/DataPortabilityPermissionsImplementation.cjs.map +1 -1
  54. package/dist/generated/abi/DataPortabilityPermissionsImplementation.js.map +1 -1
  55. package/dist/generated/abi/DataPortabilityServersImplementation.cjs.map +1 -1
  56. package/dist/generated/abi/DataPortabilityServersImplementation.js.map +1 -1
  57. package/dist/generated/abi/DataRefinerRegistryImplementation.cjs.map +1 -1
  58. package/dist/generated/abi/DataRefinerRegistryImplementation.js.map +1 -1
  59. package/dist/generated/abi/DataRegistryImplementation.cjs.map +1 -1
  60. package/dist/generated/abi/DataRegistryImplementation.js.map +1 -1
  61. package/dist/generated/abi/QueryEngineImplementation.cjs.map +1 -1
  62. package/dist/generated/abi/QueryEngineImplementation.js.map +1 -1
  63. package/dist/generated/abi/SwapHelperImplementation.cjs.map +1 -1
  64. package/dist/generated/abi/SwapHelperImplementation.js.map +1 -1
  65. package/dist/generated/abi/TeePoolDedicatedGpuImplementation.cjs.map +1 -1
  66. package/dist/generated/abi/TeePoolDedicatedGpuImplementation.js.map +1 -1
  67. package/dist/generated/abi/TeePoolDedicatedStandardImplementation.cjs.map +1 -1
  68. package/dist/generated/abi/TeePoolDedicatedStandardImplementation.js.map +1 -1
  69. package/dist/generated/abi/TeePoolEphemeralStandardImplementation.cjs.map +1 -1
  70. package/dist/generated/abi/TeePoolEphemeralStandardImplementation.js.map +1 -1
  71. package/dist/generated/abi/TeePoolPersistentGpuImplementation.cjs.map +1 -1
  72. package/dist/generated/abi/TeePoolPersistentGpuImplementation.js.map +1 -1
  73. package/dist/generated/abi/TeePoolPersistentStandardImplementation.cjs.map +1 -1
  74. package/dist/generated/abi/TeePoolPersistentStandardImplementation.js.map +1 -1
  75. package/dist/generated/abi/TeePoolPhalaImplementation.cjs.map +1 -1
  76. package/dist/generated/abi/TeePoolPhalaImplementation.js.map +1 -1
  77. package/dist/generated/abi/UniswapV3QuoterV2Implementation.cjs +297 -0
  78. package/dist/generated/abi/UniswapV3QuoterV2Implementation.cjs.map +1 -0
  79. package/dist/generated/abi/UniswapV3QuoterV2Implementation.d.ts +206 -0
  80. package/dist/generated/abi/UniswapV3QuoterV2Implementation.js +273 -0
  81. package/dist/generated/abi/UniswapV3QuoterV2Implementation.js.map +1 -0
  82. package/dist/generated/abi/VanaEpochImplementation.cjs.map +1 -1
  83. package/dist/generated/abi/VanaEpochImplementation.js.map +1 -1
  84. package/dist/generated/abi/VanaPoolEntityImplementation.cjs.map +1 -1
  85. package/dist/generated/abi/VanaPoolEntityImplementation.js.map +1 -1
  86. package/dist/generated/abi/VanaPoolStakingImplementation.cjs.map +1 -1
  87. package/dist/generated/abi/VanaPoolStakingImplementation.js.map +1 -1
  88. package/dist/generated/abi/VanaPoolTreasuryImplementation.cjs.map +1 -1
  89. package/dist/generated/abi/VanaPoolTreasuryImplementation.js.map +1 -1
  90. package/dist/generated/abi/VanaTreasuryImplementation.cjs +536 -0
  91. package/dist/generated/abi/VanaTreasuryImplementation.cjs.map +1 -0
  92. package/dist/generated/abi/VanaTreasuryImplementation.d.ts +393 -0
  93. package/dist/generated/abi/VanaTreasuryImplementation.js +512 -0
  94. package/dist/generated/abi/VanaTreasuryImplementation.js.map +1 -0
  95. package/dist/generated/abi/WVANAImplementation.cjs +339 -0
  96. package/dist/generated/abi/WVANAImplementation.cjs.map +1 -0
  97. package/dist/generated/abi/WVANAImplementation.d.ts +244 -0
  98. package/dist/generated/abi/WVANAImplementation.js +315 -0
  99. package/dist/generated/abi/WVANAImplementation.js.map +1 -0
  100. package/dist/generated/abi/index.cjs +2 -0
  101. package/dist/generated/abi/index.cjs.map +1 -1
  102. package/dist/generated/abi/index.d.ts +392 -0
  103. package/dist/generated/abi/index.js +2 -0
  104. package/dist/generated/abi/index.js.map +1 -1
  105. package/dist/{config → generated}/addresses.cjs +126 -69
  106. package/dist/generated/addresses.cjs.map +1 -0
  107. package/dist/{config → generated}/addresses.d.ts +127 -160
  108. package/dist/{config → generated}/addresses.js +126 -69
  109. package/dist/generated/addresses.js.map +1 -0
  110. package/dist/generated/event-types.cjs.map +1 -1
  111. package/dist/generated/event-types.d.ts +338 -389
  112. package/dist/generated/eventRegistry.cjs +1666 -571
  113. package/dist/generated/eventRegistry.cjs.map +1 -1
  114. package/dist/generated/eventRegistry.d.ts +2 -2
  115. package/dist/generated/eventRegistry.js +1666 -571
  116. package/dist/generated/eventRegistry.js.map +1 -1
  117. package/dist/index.browser.d.ts +1 -1
  118. package/dist/index.browser.js +2 -1
  119. package/dist/index.browser.js.map +1 -1
  120. package/dist/index.node.cjs +3 -1
  121. package/dist/index.node.cjs.map +1 -1
  122. package/dist/index.node.d.ts +1 -1
  123. package/dist/index.node.js +2 -1
  124. package/dist/index.node.js.map +1 -1
  125. package/dist/utils/blockchain/registry.cjs +1 -1
  126. package/dist/utils/blockchain/registry.cjs.map +1 -1
  127. package/dist/utils/blockchain/registry.js +1 -1
  128. package/dist/utils/blockchain/registry.js.map +1 -1
  129. package/dist/utils/multicall.cjs +1 -1
  130. package/dist/utils/multicall.cjs.map +1 -1
  131. package/dist/utils/multicall.js +1 -1
  132. package/dist/utils/multicall.js.map +1 -1
  133. package/package.json +3 -2
  134. package/dist/config/addresses.cjs.map +0 -1
  135. package/dist/config/addresses.js.map +0 -1
@@ -28,7 +28,9 @@ __export(addresses_exports, {
28
28
  });
29
29
  module.exports = __toCommonJS(addresses_exports);
30
30
  const CONTRACTS = {
31
- // Data Portability Contracts (New Architecture)
31
+ // ========================================
32
+ // ENTRY POINTS (from contracts.config.ts)
33
+ // ========================================
32
34
  DataPortabilityPermissions: {
33
35
  addresses: {
34
36
  14800: "0xD54523048AdD05b4d734aFaE7C68324Ebb7373eF",
@@ -53,35 +55,22 @@ const CONTRACTS = {
53
55
  1480: "0x8C8788f98385F6ba1adD4234e551ABba0f82Cb7C"
54
56
  }
55
57
  },
56
- TeePoolPhala: {
57
- addresses: {
58
- 14800: "0xE8EC6BD73b23Ad40E6B9a6f4bD343FAc411bD99A",
59
- 1480: "0xE8EC6BD73b23Ad40E6B9a6f4bD343FAc411bD99A"
60
- }
61
- },
62
58
  ComputeEngine: {
63
59
  addresses: {
64
60
  14800: "0xb2BFe33FA420c45F1Cf1287542ad81ae935447bd",
65
61
  1480: "0xb2BFe33FA420c45F1Cf1287542ad81ae935447bd"
66
62
  }
67
63
  },
68
- // Data Access Infrastructure
69
- DataRefinerRegistry: {
70
- addresses: {
71
- 14800: "0x93c3EF89369fDcf08Be159D9DeF0F18AB6Be008c",
72
- 1480: "0x93c3EF89369fDcf08Be159D9DeF0F18AB6Be008c"
73
- }
74
- },
75
64
  QueryEngine: {
76
65
  addresses: {
77
66
  14800: "0xd25Eb66EA2452cf3238A2eC6C1FD1B7F5B320490",
78
67
  1480: "0xd25Eb66EA2452cf3238A2eC6C1FD1B7F5B320490"
79
68
  }
80
69
  },
81
- VanaTreasury: {
70
+ DataRefinerRegistry: {
82
71
  addresses: {
83
- 14800: "0x94a1E56e555ac48d092f490fB10CDFaB434915eD",
84
- 1480: "0x94a1E56e555ac48d092f490fB10CDFaB434915eD"
72
+ 14800: "0x93c3EF89369fDcf08Be159D9DeF0F18AB6Be008c",
73
+ 1480: "0x93c3EF89369fDcf08Be159D9DeF0F18AB6Be008c"
85
74
  }
86
75
  },
87
76
  ComputeInstructionRegistry: {
@@ -90,7 +79,12 @@ const CONTRACTS = {
90
79
  1480: "0x5786B12b4c6Ba2bFAF0e77Ed30Bf6d32805563A5"
91
80
  }
92
81
  },
93
- // TEE Pool Variants
82
+ TeePoolPhala: {
83
+ addresses: {
84
+ 14800: "0xE8EC6BD73b23Ad40E6B9a6f4bD343FAc411bD99A",
85
+ 1480: "0xE8EC6BD73b23Ad40E6B9a6f4bD343FAc411bD99A"
86
+ }
87
+ },
94
88
  TeePoolEphemeralStandard: {
95
89
  addresses: {
96
90
  14800: "0xe124bae846D5ec157f75Bd9e68ca87C4d2AB835A",
@@ -121,7 +115,6 @@ const CONTRACTS = {
121
115
  1480: "0xB1686FA9620bBf851714d1cB47b8a4Bf4664644E"
122
116
  }
123
117
  },
124
- // DLP Reward System
125
118
  VanaEpoch: {
126
119
  addresses: {
127
120
  14800: "0x2063cFF0609D59bCCc196E20Eb58A8696a6b15A0",
@@ -134,74 +127,30 @@ const CONTRACTS = {
134
127
  1480: "0x4D59880a924526d1dD33260552Ff4328b1E18a43"
135
128
  }
136
129
  },
137
- DLPRegistryTreasury: {
138
- addresses: {
139
- 14800: "0xb12ce1d27bEeFe39b6F0110b1AB77C21Aa0c9F9a",
140
- 1480: "0xb12ce1d27bEeFe39b6F0110b1AB77C21Aa0c9F9a"
141
- }
142
- },
143
- DLPPerformance: {
144
- addresses: {
145
- 14800: "0x847715C7DB37cF286611182Be0bD333cbfa29cc1",
146
- 1480: "0x847715C7DB37cF286611182Be0bD333cbfa29cc1"
147
- }
148
- },
149
130
  DLPRewardDeployer: {
150
131
  addresses: {
151
132
  14800: "0xEFD0F9Ba9De70586b7c4189971cF754adC923B04",
152
133
  1480: "0xEFD0F9Ba9De70586b7c4189971cF754adC923B04"
153
134
  }
154
135
  },
155
- DLPRewardDeployerTreasury: {
156
- addresses: {
157
- 14800: "0xb547ca8Fe4990fe330FeAeb1C2EBb42F925Af5b8",
158
- 1480: "0xb547ca8Fe4990fe330FeAeb1C2EBb42F925Af5b8"
159
- }
160
- },
161
- DLPRewardSwap: {
162
- addresses: {
163
- 14800: "0x7c6862C46830F0fc3bF3FF509EA1bD0EE7267fB0",
164
- 1480: "0x7c6862C46830F0fc3bF3FF509EA1bD0EE7267fB0"
165
- }
166
- },
167
- SwapHelper: {
168
- addresses: {
169
- 14800: "0x55D5e6F73326315bF2E091e97F04f0770e5C54e2",
170
- 1480: "0x55D5e6F73326315bF2E091e97F04f0770e5C54e2"
171
- }
172
- },
173
- // VanaPool (Staking)
174
136
  VanaPoolStaking: {
175
137
  addresses: {
176
138
  14800: "0x641C18E2F286c86f96CE95C8ec1EB9fC0415Ca0e",
177
139
  1480: "0x641C18E2F286c86f96CE95C8ec1EB9fC0415Ca0e"
178
140
  }
179
141
  },
180
- VanaPoolEntity: {
181
- addresses: {
182
- 14800: "0x44f20490A82e1f1F1cC25Dd3BA8647034eDdce30",
183
- 1480: "0x44f20490A82e1f1F1cC25Dd3BA8647034eDdce30"
184
- }
185
- },
186
- VanaPoolTreasury: {
142
+ DATFactory: {
187
143
  addresses: {
188
- 14800: "0x143BE72CF2541604A7691933CAccd6D9cC17c003",
189
- 1480: "0x143BE72CF2541604A7691933CAccd6D9cC17c003"
144
+ 14800: "0x40f8bccF35a75ecef63BC3B1B3E06ffEB9220644",
145
+ 1480: "0x40f8bccF35a75ecef63BC3B1B3E06ffEB9220644"
190
146
  }
191
147
  },
192
- // DLP Deployment Contracts
193
148
  DAT: {
194
149
  addresses: {
195
150
  14800: "0xA706b93ccED89f13340673889e29F0a5cd84212d",
196
151
  1480: "0xA706b93ccED89f13340673889e29F0a5cd84212d"
197
152
  }
198
153
  },
199
- DATFactory: {
200
- addresses: {
201
- 14800: "0x40f8bccF35a75ecef63BC3B1B3E06ffEB9220644",
202
- 1480: "0x40f8bccF35a75ecef63BC3B1B3E06ffEB9220644"
203
- }
204
- },
205
154
  DATPausable: {
206
155
  addresses: {
207
156
  14800: "0xe69FE86f0B95cC2f8416Fe22815c85DC8887e76e",
@@ -214,7 +163,24 @@ const CONTRACTS = {
214
163
  1480: "0xaE04c8A77E9B27869eb563720524A9aE0baf1831"
215
164
  }
216
165
  },
217
- // Utility Contracts (no ABIs in SDK)
166
+ WVANA: {
167
+ addresses: {
168
+ 14800: "0xbccc4b4c6530F82FE309c5E845E50b5E9C89f2AD",
169
+ 1480: "0x00EDdD9621Fb08436d0331c149D1690909a5906d"
170
+ }
171
+ },
172
+ UniswapV3NonfungiblePositionManager: {
173
+ addresses: {
174
+ 14800: "0x48Bd633f4B9128a38Ebb4a48b6975EB3Eaf1931b",
175
+ 1480: "0x45a2992e1bFdCF9b9AcE0a84A238f2E56F481816"
176
+ }
177
+ },
178
+ UniswapV3QuoterV2: {
179
+ addresses: {
180
+ 14800: "0x3152246f3CD4dD465292Dd4Ffd792E2Cf602e332",
181
+ 1480: "0x1b13728ea3C90863990aC0e05987CfeC1888908c"
182
+ }
183
+ },
218
184
  Multicall3: {
219
185
  addresses: {
220
186
  14800: "0xD8d2dFca27E8797fd779F8547166A2d3B29d360E",
@@ -226,17 +192,108 @@ const CONTRACTS = {
226
192
  14800: "0x8807e8BCDFbaA8c2761760f3FBA37F6f7F2C5b2d",
227
193
  1480: "0x8807e8BCDFbaA8c2761760f3FBA37F6f7F2C5b2d"
228
194
  }
195
+ },
196
+ // ========================================
197
+ // AUTO-DISCOVERED (via on-chain queries)
198
+ // ========================================
199
+ ComputeEngineTreasury: {
200
+ addresses: {
201
+ 14800: "0xceB33C501B624D984bD1Ed3298f6D1d8F7CE03d1",
202
+ 1480: "0xceB33C501B624D984bD1Ed3298f6D1d8F7CE03d1"
203
+ },
204
+ _meta: {
205
+ discoveredFrom: "ComputeEngine",
206
+ lastUpdated: "2025-10-31"
207
+ }
208
+ },
209
+ VanaTreasury: {
210
+ addresses: {
211
+ 14800: "0x8B32Ef32f22e72cc25D53f6E858f57cAe7E198f9",
212
+ 1480: "0x8B32Ef32f22e72cc25D53f6E858f57cAe7E198f9"
213
+ },
214
+ _meta: {
215
+ discoveredFrom: "QueryEngine",
216
+ lastUpdated: "2025-10-31"
217
+ }
218
+ },
219
+ DLPPerformance: {
220
+ addresses: {
221
+ 14800: "0x847715C7DB37cF286611182Be0bD333cbfa29cc1",
222
+ 1480: "0x847715C7DB37cF286611182Be0bD333cbfa29cc1"
223
+ },
224
+ _meta: {
225
+ discoveredFrom: "VanaEpoch",
226
+ lastUpdated: "2025-10-31"
227
+ }
228
+ },
229
+ DLPRegistryTreasury: {
230
+ addresses: {
231
+ 14800: "0xb12ce1d27bEeFe39b6F0110b1AB77C21Aa0c9F9a",
232
+ 1480: "0xb12ce1d27bEeFe39b6F0110b1AB77C21Aa0c9F9a"
233
+ },
234
+ _meta: {
235
+ discoveredFrom: "DLPRegistry",
236
+ lastUpdated: "2025-10-31"
237
+ }
238
+ },
239
+ DLPRewardDeployerTreasury: {
240
+ addresses: {
241
+ 14800: "0xb547ca8Fe4990fe330FeAeb1C2EBb42F925Af5b8",
242
+ 1480: "0xb547ca8Fe4990fe330FeAeb1C2EBb42F925Af5b8"
243
+ },
244
+ _meta: {
245
+ discoveredFrom: "DLPRewardDeployer",
246
+ lastUpdated: "2025-10-31"
247
+ }
248
+ },
249
+ DLPRewardSwap: {
250
+ addresses: {
251
+ 14800: "0x7c6862C46830F0fc3bF3FF509EA1bD0EE7267fB0",
252
+ 1480: "0x7c6862C46830F0fc3bF3FF509EA1bD0EE7267fB0"
253
+ },
254
+ _meta: {
255
+ discoveredFrom: "DLPRewardDeployer",
256
+ lastUpdated: "2025-10-31"
257
+ }
258
+ },
259
+ VanaPoolTreasury: {
260
+ addresses: {
261
+ 14800: "0x143BE72CF2541604A7691933CAccd6D9cC17c003",
262
+ 1480: "0x143BE72CF2541604A7691933CAccd6D9cC17c003"
263
+ },
264
+ _meta: {
265
+ discoveredFrom: "VanaPoolStaking",
266
+ lastUpdated: "2025-10-31"
267
+ }
268
+ },
269
+ VanaPoolEntity: {
270
+ addresses: {
271
+ 14800: "0x44f20490A82e1f1F1cC25Dd3BA8647034eDdce30",
272
+ 1480: "0x44f20490A82e1f1F1cC25Dd3BA8647034eDdce30"
273
+ },
274
+ _meta: {
275
+ discoveredFrom: "VanaPoolStaking",
276
+ lastUpdated: "2025-10-31"
277
+ }
278
+ },
279
+ SwapHelper: {
280
+ addresses: {
281
+ 14800: "0x55D5e6F73326315bF2E091e97F04f0770e5C54e2",
282
+ 1480: "0x55D5e6F73326315bF2E091e97F04f0770e5C54e2"
283
+ },
284
+ _meta: {
285
+ discoveredFrom: "DLPRewardSwap",
286
+ lastUpdated: "2025-10-31"
287
+ }
229
288
  }
230
289
  };
231
290
  const LEGACY_CONTRACTS = {
232
- // DEPRECATED: Original Intel SGX TeePool (PRO-347)
233
291
  TeePool: {
234
292
  addresses: {
235
293
  14800: "0x3c92fD91639b41f13338CE62f19131e7d19eaa0D",
236
294
  1480: "0x3c92fD91639b41f13338CE62f19131e7d19eaa0D"
237
295
  }
238
296
  },
239
- // DEPRECATED: DLPRoot system (replaced by VanaPool + DLPRewards)
240
297
  DLPRootEpoch: {
241
298
  addresses: {
242
299
  14800: "0xc3d176cF6BccFCB9225b53B87a95147218e1537F",
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/generated/addresses.ts"],"sourcesContent":["// AUTO-GENERATED FILE - DO NOT EDIT\n// Generated by scripts/discover-addresses.ts on 2025-10-31\n// Source: src/config/contracts.config.ts + on-chain discovery\n\n/**\n * Complete registry of Vana protocol contract addresses.\n *\n * This file is AUTO-GENERATED by the discover-addresses script.\n * DO NOT EDIT THIS FILE MANUALLY.\n *\n * To add contracts:\n * 1. Edit src/config/contracts.config.ts\n * 2. Run `npm run discover-addresses`\n *\n * @category Configuration\n */\n\nimport type { VanaContract } from \"./abi\";\n\nexport const CONTRACTS = {\n // ========================================\n // ENTRY POINTS (from contracts.config.ts)\n // ========================================\n DataPortabilityPermissions: {\n addresses: {\n 14800: \"0xD54523048AdD05b4d734aFaE7C68324Ebb7373eF\",\n 1480: \"0xD54523048AdD05b4d734aFaE7C68324Ebb7373eF\",\n },\n },\n DataPortabilityServers: {\n addresses: {\n 14800: \"0x1483B1F634DBA75AeaE60da7f01A679aabd5ee2c\",\n 1480: \"0x1483B1F634DBA75AeaE60da7f01A679aabd5ee2c\",\n },\n },\n DataPortabilityGrantees: {\n addresses: {\n 14800: \"0x8325C0A0948483EdA023A1A2Fd895e62C5131234\",\n 1480: \"0x8325C0A0948483EdA023A1A2Fd895e62C5131234\",\n },\n },\n DataRegistry: {\n addresses: {\n 14800: \"0x8C8788f98385F6ba1adD4234e551ABba0f82Cb7C\",\n 1480: \"0x8C8788f98385F6ba1adD4234e551ABba0f82Cb7C\",\n },\n },\n ComputeEngine: {\n addresses: {\n 14800: \"0xb2BFe33FA420c45F1Cf1287542ad81ae935447bd\",\n 1480: \"0xb2BFe33FA420c45F1Cf1287542ad81ae935447bd\",\n },\n },\n QueryEngine: {\n addresses: {\n 14800: \"0xd25Eb66EA2452cf3238A2eC6C1FD1B7F5B320490\",\n 1480: \"0xd25Eb66EA2452cf3238A2eC6C1FD1B7F5B320490\",\n },\n },\n DataRefinerRegistry: {\n addresses: {\n 14800: \"0x93c3EF89369fDcf08Be159D9DeF0F18AB6Be008c\",\n 1480: \"0x93c3EF89369fDcf08Be159D9DeF0F18AB6Be008c\",\n },\n },\n ComputeInstructionRegistry: {\n addresses: {\n 14800: \"0x5786B12b4c6Ba2bFAF0e77Ed30Bf6d32805563A5\",\n 1480: \"0x5786B12b4c6Ba2bFAF0e77Ed30Bf6d32805563A5\",\n },\n },\n TeePoolPhala: {\n addresses: {\n 14800: \"0xE8EC6BD73b23Ad40E6B9a6f4bD343FAc411bD99A\",\n 1480: \"0xE8EC6BD73b23Ad40E6B9a6f4bD343FAc411bD99A\",\n },\n },\n TeePoolEphemeralStandard: {\n addresses: {\n 14800: \"0xe124bae846D5ec157f75Bd9e68ca87C4d2AB835A\",\n 1480: \"0xe124bae846D5ec157f75Bd9e68ca87C4d2AB835A\",\n },\n },\n TeePoolPersistentStandard: {\n addresses: {\n 14800: \"0xe8bB8d0629651Cf33e0845d743976Dc1f0971d76\",\n 1480: \"0xe8bB8d0629651Cf33e0845d743976Dc1f0971d76\",\n },\n },\n TeePoolPersistentGpu: {\n addresses: {\n 14800: \"0x1c346Cd74f8551f8fa13f3F4b6b8dAE22338E6a9\",\n 1480: \"0x1c346Cd74f8551f8fa13f3F4b6b8dAE22338E6a9\",\n },\n },\n TeePoolDedicatedStandard: {\n addresses: {\n 14800: \"0xf024b7ac5E8417416f53B41ecfa58C8e9396687d\",\n 1480: \"0xf024b7ac5E8417416f53B41ecfa58C8e9396687d\",\n },\n },\n TeePoolDedicatedGpu: {\n addresses: {\n 14800: \"0xB1686FA9620bBf851714d1cB47b8a4Bf4664644E\",\n 1480: \"0xB1686FA9620bBf851714d1cB47b8a4Bf4664644E\",\n },\n },\n VanaEpoch: {\n addresses: {\n 14800: \"0x2063cFF0609D59bCCc196E20Eb58A8696a6b15A0\",\n 1480: \"0x2063cFF0609D59bCCc196E20Eb58A8696a6b15A0\",\n },\n },\n DLPRegistry: {\n addresses: {\n 14800: \"0x4D59880a924526d1dD33260552Ff4328b1E18a43\",\n 1480: \"0x4D59880a924526d1dD33260552Ff4328b1E18a43\",\n },\n },\n DLPRewardDeployer: {\n addresses: {\n 14800: \"0xEFD0F9Ba9De70586b7c4189971cF754adC923B04\",\n 1480: \"0xEFD0F9Ba9De70586b7c4189971cF754adC923B04\",\n },\n },\n VanaPoolStaking: {\n addresses: {\n 14800: \"0x641C18E2F286c86f96CE95C8ec1EB9fC0415Ca0e\",\n 1480: \"0x641C18E2F286c86f96CE95C8ec1EB9fC0415Ca0e\",\n },\n },\n DATFactory: {\n addresses: {\n 14800: \"0x40f8bccF35a75ecef63BC3B1B3E06ffEB9220644\",\n 1480: \"0x40f8bccF35a75ecef63BC3B1B3E06ffEB9220644\",\n },\n },\n DAT: {\n addresses: {\n 14800: \"0xA706b93ccED89f13340673889e29F0a5cd84212d\",\n 1480: \"0xA706b93ccED89f13340673889e29F0a5cd84212d\",\n },\n },\n DATPausable: {\n addresses: {\n 14800: \"0xe69FE86f0B95cC2f8416Fe22815c85DC8887e76e\",\n 1480: \"0xe69FE86f0B95cC2f8416Fe22815c85DC8887e76e\",\n },\n },\n DATVotes: {\n addresses: {\n 14800: \"0xaE04c8A77E9B27869eb563720524A9aE0baf1831\",\n 1480: \"0xaE04c8A77E9B27869eb563720524A9aE0baf1831\",\n },\n },\n WVANA: {\n addresses: {\n 14800: \"0xbccc4b4c6530F82FE309c5E845E50b5E9C89f2AD\",\n 1480: \"0x00EDdD9621Fb08436d0331c149D1690909a5906d\",\n },\n },\n UniswapV3NonfungiblePositionManager: {\n addresses: {\n 14800: \"0x48Bd633f4B9128a38Ebb4a48b6975EB3Eaf1931b\",\n 1480: \"0x45a2992e1bFdCF9b9AcE0a84A238f2E56F481816\",\n },\n },\n UniswapV3QuoterV2: {\n addresses: {\n 14800: \"0x3152246f3CD4dD465292Dd4Ffd792E2Cf602e332\",\n 1480: \"0x1b13728ea3C90863990aC0e05987CfeC1888908c\",\n },\n },\n Multicall3: {\n addresses: {\n 14800: \"0xD8d2dFca27E8797fd779F8547166A2d3B29d360E\",\n 1480: \"0xD8d2dFca27E8797fd779F8547166A2d3B29d360E\",\n },\n },\n Multisend: {\n addresses: {\n 14800: \"0x8807e8BCDFbaA8c2761760f3FBA37F6f7F2C5b2d\",\n 1480: \"0x8807e8BCDFbaA8c2761760f3FBA37F6f7F2C5b2d\",\n },\n },\n\n // ========================================\n // AUTO-DISCOVERED (via on-chain queries)\n // ========================================\n ComputeEngineTreasury: {\n addresses: {\n 14800: \"0xceB33C501B624D984bD1Ed3298f6D1d8F7CE03d1\",\n 1480: \"0xceB33C501B624D984bD1Ed3298f6D1d8F7CE03d1\",\n },\n _meta: {\n discoveredFrom: \"ComputeEngine\",\n lastUpdated: \"2025-10-31\",\n },\n },\n VanaTreasury: {\n addresses: {\n 14800: \"0x8B32Ef32f22e72cc25D53f6E858f57cAe7E198f9\",\n 1480: \"0x8B32Ef32f22e72cc25D53f6E858f57cAe7E198f9\",\n },\n _meta: {\n discoveredFrom: \"QueryEngine\",\n lastUpdated: \"2025-10-31\",\n },\n },\n DLPPerformance: {\n addresses: {\n 14800: \"0x847715C7DB37cF286611182Be0bD333cbfa29cc1\",\n 1480: \"0x847715C7DB37cF286611182Be0bD333cbfa29cc1\",\n },\n _meta: {\n discoveredFrom: \"VanaEpoch\",\n lastUpdated: \"2025-10-31\",\n },\n },\n DLPRegistryTreasury: {\n addresses: {\n 14800: \"0xb12ce1d27bEeFe39b6F0110b1AB77C21Aa0c9F9a\",\n 1480: \"0xb12ce1d27bEeFe39b6F0110b1AB77C21Aa0c9F9a\",\n },\n _meta: {\n discoveredFrom: \"DLPRegistry\",\n lastUpdated: \"2025-10-31\",\n },\n },\n DLPRewardDeployerTreasury: {\n addresses: {\n 14800: \"0xb547ca8Fe4990fe330FeAeb1C2EBb42F925Af5b8\",\n 1480: \"0xb547ca8Fe4990fe330FeAeb1C2EBb42F925Af5b8\",\n },\n _meta: {\n discoveredFrom: \"DLPRewardDeployer\",\n lastUpdated: \"2025-10-31\",\n },\n },\n DLPRewardSwap: {\n addresses: {\n 14800: \"0x7c6862C46830F0fc3bF3FF509EA1bD0EE7267fB0\",\n 1480: \"0x7c6862C46830F0fc3bF3FF509EA1bD0EE7267fB0\",\n },\n _meta: {\n discoveredFrom: \"DLPRewardDeployer\",\n lastUpdated: \"2025-10-31\",\n },\n },\n VanaPoolTreasury: {\n addresses: {\n 14800: \"0x143BE72CF2541604A7691933CAccd6D9cC17c003\",\n 1480: \"0x143BE72CF2541604A7691933CAccd6D9cC17c003\",\n },\n _meta: {\n discoveredFrom: \"VanaPoolStaking\",\n lastUpdated: \"2025-10-31\",\n },\n },\n VanaPoolEntity: {\n addresses: {\n 14800: \"0x44f20490A82e1f1F1cC25Dd3BA8647034eDdce30\",\n 1480: \"0x44f20490A82e1f1F1cC25Dd3BA8647034eDdce30\",\n },\n _meta: {\n discoveredFrom: \"VanaPoolStaking\",\n lastUpdated: \"2025-10-31\",\n },\n },\n SwapHelper: {\n addresses: {\n 14800: \"0x55D5e6F73326315bF2E091e97F04f0770e5C54e2\",\n 1480: \"0x55D5e6F73326315bF2E091e97F04f0770e5C54e2\",\n },\n _meta: {\n discoveredFrom: \"DLPRewardSwap\",\n lastUpdated: \"2025-10-31\",\n },\n },\n} as const;\n\n// Legacy/Deprecated Contracts (backwards compatibility)\nexport const LEGACY_CONTRACTS = {\n TeePool: {\n addresses: {\n 14800: \"0x3c92fD91639b41f13338CE62f19131e7d19eaa0D\",\n 1480: \"0x3c92fD91639b41f13338CE62f19131e7d19eaa0D\",\n },\n },\n DLPRootEpoch: {\n addresses: {\n 14800: \"0xc3d176cF6BccFCB9225b53B87a95147218e1537F\",\n 1480: \"0xc3d176cF6BccFCB9225b53B87a95147218e1537F\",\n },\n },\n DLPRootCore: {\n addresses: {\n 14800: \"0x0aBa5e28228c323A67712101d61a54d4ff5720FD\",\n 1480: \"0x0aBa5e28228c323A67712101d61a54d4ff5720FD\",\n },\n },\n DLPRoot: {\n addresses: {\n 14800: \"0xff14346dF2B8Fd0c95BF34f1c92e49417b508AD5\",\n 1480: \"0xff14346dF2B8Fd0c95BF34f1c92e49417b508AD5\",\n },\n },\n DLPRootMetrics: {\n addresses: {\n 14800: \"0xbb532917B6407c060Afd9Cb7d53527eCb91d6662\",\n 1480: \"0xbb532917B6407c060Afd9Cb7d53527eCb91d6662\",\n },\n },\n DLPRootStakesTreasury: {\n addresses: {\n 14800: \"0x52c3260ED5C235fcA43524CF508e29c897318775\",\n 1480: \"0x52c3260ED5C235fcA43524CF508e29c897318775\",\n },\n },\n DLPRootRewardsTreasury: {\n addresses: {\n 14800: \"0xDBFb6B8b9E2eCAEbdE64d665cD553dB81e524479\",\n 1480: \"0xDBFb6B8b9E2eCAEbdE64d665cD553dB81e524479\",\n },\n },\n} as const;\n\n// Transform for backwards compatibility\nexport const CONTRACT_ADDRESSES: Record<number, Record<string, string>> = {\n 14800: Object.fromEntries(\n Object.entries(CONTRACTS)\n .map(([name, info]) => [name, info.addresses[14800]])\n .filter(([, addr]) => addr),\n ),\n 1480: Object.fromEntries(\n Object.entries(CONTRACTS)\n .map(([name, info]) => [name, info.addresses[1480]])\n .filter(([, addr]) => addr),\n ),\n};\n\nexport const UTILITY_ADDRESSES = {\n 14800: {\n Multicall3: CONTRACTS.Multicall3.addresses[14800],\n Multisend: CONTRACTS.Multisend.addresses[14800],\n },\n 1480: {\n Multicall3: CONTRACTS.Multicall3.addresses[1480],\n Multisend: CONTRACTS.Multisend.addresses[1480],\n },\n} as const;\n\nexport const LEGACY_ADDRESSES = {\n 14800: Object.fromEntries(\n Object.entries(LEGACY_CONTRACTS)\n .map(([name, info]) => [name, info.addresses[14800]])\n .filter(([, addr]) => addr),\n ),\n 1480: Object.fromEntries(\n Object.entries(LEGACY_CONTRACTS)\n .map(([name, info]) => [name, info.addresses[1480]])\n .filter(([, addr]) => addr),\n ),\n} as const;\n\n/**\n * Retrieves the deployed contract address for a specific Vana protocol contract on a given chain.\n */\nexport const getContractAddress = (\n chainId: keyof typeof CONTRACT_ADDRESSES,\n contract: VanaContract,\n) => {\n const contractAddress = CONTRACT_ADDRESSES[chainId]?.[contract] as\n | `0x${string}`\n | undefined;\n if (!contractAddress) {\n throw new Error(\n `Contract address not found for ${contract} on chain ${chainId}`,\n );\n }\n return contractAddress;\n};\n\nexport const getUtilityAddress = (\n chainId: keyof typeof UTILITY_ADDRESSES,\n contract: keyof (typeof UTILITY_ADDRESSES)[keyof typeof UTILITY_ADDRESSES],\n) => {\n return UTILITY_ADDRESSES[chainId][contract] as `0x${string}`;\n};\n"],"mappings":"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","names":[]}