@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.
- package/dist/config/contracts.config.cjs +352 -0
- package/dist/config/contracts.config.cjs.map +1 -0
- package/dist/config/contracts.config.d.ts +90 -0
- package/dist/config/contracts.config.js +327 -0
- package/dist/config/contracts.config.js.map +1 -0
- package/dist/contracts/contractController.cjs +1 -1
- package/dist/contracts/contractController.cjs.map +1 -1
- package/dist/contracts/contractController.js +1 -1
- package/dist/contracts/contractController.js.map +1 -1
- package/dist/controllers/data.cjs +1 -1
- package/dist/controllers/data.cjs.map +1 -1
- package/dist/controllers/data.js +1 -1
- package/dist/controllers/data.js.map +1 -1
- package/dist/controllers/permissions.cjs +1 -1
- package/dist/controllers/permissions.cjs.map +1 -1
- package/dist/controllers/permissions.js +1 -1
- package/dist/controllers/permissions.js.map +1 -1
- package/dist/controllers/schemas.cjs +1 -1
- package/dist/controllers/schemas.cjs.map +1 -1
- package/dist/controllers/schemas.js +1 -1
- package/dist/controllers/schemas.js.map +1 -1
- package/dist/crypto/ecies/__tests__/interface.test.d.ts +1 -0
- package/dist/crypto/ecies/__tests__/utils.test.d.ts +1 -0
- package/dist/generated/abi/ComputeEngineImplementation.cjs.map +1 -1
- package/dist/generated/abi/ComputeEngineImplementation.js.map +1 -1
- package/dist/generated/abi/ComputeEngineTreasuryImplementation.cjs +536 -0
- package/dist/generated/abi/ComputeEngineTreasuryImplementation.cjs.map +1 -0
- package/dist/generated/abi/ComputeEngineTreasuryImplementation.d.ts +393 -0
- package/dist/generated/abi/ComputeEngineTreasuryImplementation.js +512 -0
- package/dist/generated/abi/ComputeEngineTreasuryImplementation.js.map +1 -0
- package/dist/generated/abi/ComputeInstructionRegistryImplementation.cjs.map +1 -1
- package/dist/generated/abi/ComputeInstructionRegistryImplementation.js.map +1 -1
- package/dist/generated/abi/DATFactoryImplementation.cjs.map +1 -1
- package/dist/generated/abi/DATFactoryImplementation.js.map +1 -1
- package/dist/generated/abi/DATImplementation.cjs.map +1 -1
- package/dist/generated/abi/DATImplementation.js.map +1 -1
- package/dist/generated/abi/DATPausableImplementation.cjs.map +1 -1
- package/dist/generated/abi/DATPausableImplementation.js.map +1 -1
- package/dist/generated/abi/DATVotesImplementation.cjs.map +1 -1
- package/dist/generated/abi/DATVotesImplementation.js.map +1 -1
- package/dist/generated/abi/DLPPerformanceImplementation.cjs.map +1 -1
- package/dist/generated/abi/DLPPerformanceImplementation.js.map +1 -1
- package/dist/generated/abi/DLPRegistryImplementation.cjs.map +1 -1
- package/dist/generated/abi/DLPRegistryImplementation.js.map +1 -1
- package/dist/generated/abi/DLPRegistryTreasuryImplementation.cjs.map +1 -1
- package/dist/generated/abi/DLPRegistryTreasuryImplementation.js.map +1 -1
- package/dist/generated/abi/DLPRewardDeployerImplementation.cjs.map +1 -1
- package/dist/generated/abi/DLPRewardDeployerImplementation.js.map +1 -1
- package/dist/generated/abi/DLPRewardSwapImplementation.cjs.map +1 -1
- package/dist/generated/abi/DLPRewardSwapImplementation.js.map +1 -1
- package/dist/generated/abi/DataPortabilityGranteesImplementation.cjs.map +1 -1
- package/dist/generated/abi/DataPortabilityGranteesImplementation.js.map +1 -1
- package/dist/generated/abi/DataPortabilityPermissionsImplementation.cjs.map +1 -1
- package/dist/generated/abi/DataPortabilityPermissionsImplementation.js.map +1 -1
- package/dist/generated/abi/DataPortabilityServersImplementation.cjs.map +1 -1
- package/dist/generated/abi/DataPortabilityServersImplementation.js.map +1 -1
- package/dist/generated/abi/DataRefinerRegistryImplementation.cjs.map +1 -1
- package/dist/generated/abi/DataRefinerRegistryImplementation.js.map +1 -1
- package/dist/generated/abi/DataRegistryImplementation.cjs.map +1 -1
- package/dist/generated/abi/DataRegistryImplementation.js.map +1 -1
- package/dist/generated/abi/QueryEngineImplementation.cjs.map +1 -1
- package/dist/generated/abi/QueryEngineImplementation.js.map +1 -1
- package/dist/generated/abi/SwapHelperImplementation.cjs.map +1 -1
- package/dist/generated/abi/SwapHelperImplementation.js.map +1 -1
- package/dist/generated/abi/TeePoolDedicatedGpuImplementation.cjs.map +1 -1
- package/dist/generated/abi/TeePoolDedicatedGpuImplementation.js.map +1 -1
- package/dist/generated/abi/TeePoolDedicatedStandardImplementation.cjs.map +1 -1
- package/dist/generated/abi/TeePoolDedicatedStandardImplementation.js.map +1 -1
- package/dist/generated/abi/TeePoolEphemeralStandardImplementation.cjs.map +1 -1
- package/dist/generated/abi/TeePoolEphemeralStandardImplementation.js.map +1 -1
- package/dist/generated/abi/TeePoolPersistentGpuImplementation.cjs.map +1 -1
- package/dist/generated/abi/TeePoolPersistentGpuImplementation.js.map +1 -1
- package/dist/generated/abi/TeePoolPersistentStandardImplementation.cjs.map +1 -1
- package/dist/generated/abi/TeePoolPersistentStandardImplementation.js.map +1 -1
- package/dist/generated/abi/TeePoolPhalaImplementation.cjs.map +1 -1
- package/dist/generated/abi/TeePoolPhalaImplementation.js.map +1 -1
- package/dist/generated/abi/UniswapV3QuoterV2Implementation.cjs +297 -0
- package/dist/generated/abi/UniswapV3QuoterV2Implementation.cjs.map +1 -0
- package/dist/generated/abi/UniswapV3QuoterV2Implementation.d.ts +206 -0
- package/dist/generated/abi/UniswapV3QuoterV2Implementation.js +273 -0
- package/dist/generated/abi/UniswapV3QuoterV2Implementation.js.map +1 -0
- package/dist/generated/abi/VanaEpochImplementation.cjs.map +1 -1
- package/dist/generated/abi/VanaEpochImplementation.js.map +1 -1
- package/dist/generated/abi/VanaPoolEntityImplementation.cjs.map +1 -1
- package/dist/generated/abi/VanaPoolEntityImplementation.js.map +1 -1
- package/dist/generated/abi/VanaPoolStakingImplementation.cjs.map +1 -1
- package/dist/generated/abi/VanaPoolStakingImplementation.js.map +1 -1
- package/dist/generated/abi/VanaPoolTreasuryImplementation.cjs.map +1 -1
- package/dist/generated/abi/VanaPoolTreasuryImplementation.js.map +1 -1
- package/dist/generated/abi/VanaTreasuryImplementation.cjs +536 -0
- package/dist/generated/abi/VanaTreasuryImplementation.cjs.map +1 -0
- package/dist/generated/abi/VanaTreasuryImplementation.d.ts +393 -0
- package/dist/generated/abi/VanaTreasuryImplementation.js +512 -0
- package/dist/generated/abi/VanaTreasuryImplementation.js.map +1 -0
- package/dist/generated/abi/WVANAImplementation.cjs +339 -0
- package/dist/generated/abi/WVANAImplementation.cjs.map +1 -0
- package/dist/generated/abi/WVANAImplementation.d.ts +244 -0
- package/dist/generated/abi/WVANAImplementation.js +315 -0
- package/dist/generated/abi/WVANAImplementation.js.map +1 -0
- package/dist/generated/abi/index.cjs +2 -0
- package/dist/generated/abi/index.cjs.map +1 -1
- package/dist/generated/abi/index.d.ts +392 -0
- package/dist/generated/abi/index.js +2 -0
- package/dist/generated/abi/index.js.map +1 -1
- package/dist/{config → generated}/addresses.cjs +126 -69
- package/dist/generated/addresses.cjs.map +1 -0
- package/dist/{config → generated}/addresses.d.ts +127 -160
- package/dist/{config → generated}/addresses.js +126 -69
- package/dist/generated/addresses.js.map +1 -0
- package/dist/generated/event-types.cjs.map +1 -1
- package/dist/generated/event-types.d.ts +338 -389
- package/dist/generated/eventRegistry.cjs +1666 -571
- package/dist/generated/eventRegistry.cjs.map +1 -1
- package/dist/generated/eventRegistry.d.ts +2 -2
- package/dist/generated/eventRegistry.js +1666 -571
- package/dist/generated/eventRegistry.js.map +1 -1
- package/dist/index.browser.d.ts +1 -1
- package/dist/index.browser.js +2 -1
- package/dist/index.browser.js.map +1 -1
- package/dist/index.node.cjs +3 -1
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.d.ts +1 -1
- package/dist/index.node.js +2 -1
- package/dist/index.node.js.map +1 -1
- package/dist/utils/blockchain/registry.cjs +1 -1
- package/dist/utils/blockchain/registry.cjs.map +1 -1
- package/dist/utils/blockchain/registry.js +1 -1
- package/dist/utils/blockchain/registry.js.map +1 -1
- package/dist/utils/multicall.cjs +1 -1
- package/dist/utils/multicall.cjs.map +1 -1
- package/dist/utils/multicall.js +1 -1
- package/dist/utils/multicall.js.map +1 -1
- package/package.json +3 -2
- package/dist/config/addresses.cjs.map +0 -1
- package/dist/config/addresses.js.map +0 -1
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
const CONTRACTS = {
|
|
2
|
+
// ========================================
|
|
3
|
+
// DATA PORTABILITY CONTRACTS
|
|
4
|
+
// ========================================
|
|
5
|
+
DataPortabilityPermissions: {
|
|
6
|
+
addresses: {
|
|
7
|
+
14800: "0xD54523048AdD05b4d734aFaE7C68324Ebb7373eF",
|
|
8
|
+
1480: "0xD54523048AdD05b4d734aFaE7C68324Ebb7373eF"
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
DataPortabilityServers: {
|
|
12
|
+
addresses: {
|
|
13
|
+
14800: "0x1483B1F634DBA75AeaE60da7f01A679aabd5ee2c",
|
|
14
|
+
1480: "0x1483B1F634DBA75AeaE60da7f01A679aabd5ee2c"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
DataPortabilityGrantees: {
|
|
18
|
+
addresses: {
|
|
19
|
+
14800: "0x8325C0A0948483EdA023A1A2Fd895e62C5131234",
|
|
20
|
+
1480: "0x8325C0A0948483EdA023A1A2Fd895e62C5131234"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
DataRegistry: {
|
|
24
|
+
addresses: {
|
|
25
|
+
14800: "0x8C8788f98385F6ba1adD4234e551ABba0f82Cb7C",
|
|
26
|
+
1480: "0x8C8788f98385F6ba1adD4234e551ABba0f82Cb7C"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
// ========================================
|
|
30
|
+
// COMPUTING INFRASTRUCTURE
|
|
31
|
+
// ========================================
|
|
32
|
+
ComputeEngine: {
|
|
33
|
+
addresses: {
|
|
34
|
+
14800: "0xb2BFe33FA420c45F1Cf1287542ad81ae935447bd",
|
|
35
|
+
1480: "0xb2BFe33FA420c45F1Cf1287542ad81ae935447bd"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
ComputeEngineTreasury: {
|
|
39
|
+
addresses: {
|
|
40
|
+
14800: "0xceB33C501B624D984bD1Ed3298f6D1d8F7CE03d1",
|
|
41
|
+
1480: "0xceB33C501B624D984bD1Ed3298f6D1d8F7CE03d1"
|
|
42
|
+
},
|
|
43
|
+
discovery: {
|
|
44
|
+
parent: "ComputeEngine",
|
|
45
|
+
getter: "computeEngineTreasury"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
QueryEngine: {
|
|
49
|
+
addresses: {
|
|
50
|
+
14800: "0xd25Eb66EA2452cf3238A2eC6C1FD1B7F5B320490",
|
|
51
|
+
1480: "0xd25Eb66EA2452cf3238A2eC6C1FD1B7F5B320490"
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
VanaTreasury: {
|
|
55
|
+
addresses: {
|
|
56
|
+
14800: "0x8B32Ef32f22e72cc25D53f6E858f57cAe7E198f9",
|
|
57
|
+
1480: "0x8B32Ef32f22e72cc25D53f6E858f57cAe7E198f9"
|
|
58
|
+
},
|
|
59
|
+
discovery: {
|
|
60
|
+
parent: "QueryEngine",
|
|
61
|
+
getter: "queryEngineTreasury"
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
DataRefinerRegistry: {
|
|
65
|
+
addresses: {
|
|
66
|
+
14800: "0x93c3EF89369fDcf08Be159D9DeF0F18AB6Be008c",
|
|
67
|
+
1480: "0x93c3EF89369fDcf08Be159D9DeF0F18AB6Be008c"
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
ComputeInstructionRegistry: {
|
|
71
|
+
addresses: {
|
|
72
|
+
14800: "0x5786B12b4c6Ba2bFAF0e77Ed30Bf6d32805563A5",
|
|
73
|
+
1480: "0x5786B12b4c6Ba2bFAF0e77Ed30Bf6d32805563A5"
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
// ========================================
|
|
77
|
+
// TEE POOLS (Canonical Deployments)
|
|
78
|
+
// ========================================
|
|
79
|
+
TeePoolPhala: {
|
|
80
|
+
addresses: {
|
|
81
|
+
14800: "0xE8EC6BD73b23Ad40E6B9a6f4bD343FAc411bD99A",
|
|
82
|
+
1480: "0xE8EC6BD73b23Ad40E6B9a6f4bD343FAc411bD99A"
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
TeePoolEphemeralStandard: {
|
|
86
|
+
addresses: {
|
|
87
|
+
14800: "0xe124bae846D5ec157f75Bd9e68ca87C4d2AB835A",
|
|
88
|
+
1480: "0xe124bae846D5ec157f75Bd9e68ca87C4d2AB835A"
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
TeePoolPersistentStandard: {
|
|
92
|
+
addresses: {
|
|
93
|
+
14800: "0xe8bB8d0629651Cf33e0845d743976Dc1f0971d76",
|
|
94
|
+
1480: "0xe8bB8d0629651Cf33e0845d743976Dc1f0971d76"
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
TeePoolPersistentGpu: {
|
|
98
|
+
addresses: {
|
|
99
|
+
14800: "0x1c346Cd74f8551f8fa13f3F4b6b8dAE22338E6a9",
|
|
100
|
+
1480: "0x1c346Cd74f8551f8fa13f3F4b6b8dAE22338E6a9"
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
TeePoolDedicatedStandard: {
|
|
104
|
+
addresses: {
|
|
105
|
+
14800: "0xf024b7ac5E8417416f53B41ecfa58C8e9396687d",
|
|
106
|
+
1480: "0xf024b7ac5E8417416f53B41ecfa58C8e9396687d"
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
TeePoolDedicatedGpu: {
|
|
110
|
+
addresses: {
|
|
111
|
+
14800: "0xB1686FA9620bBf851714d1cB47b8a4Bf4664644E",
|
|
112
|
+
1480: "0xB1686FA9620bBf851714d1cB47b8a4Bf4664644E"
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
// ========================================
|
|
116
|
+
// DLP REWARD SYSTEM
|
|
117
|
+
// ========================================
|
|
118
|
+
VanaEpoch: {
|
|
119
|
+
addresses: {
|
|
120
|
+
14800: "0x2063cFF0609D59bCCc196E20Eb58A8696a6b15A0",
|
|
121
|
+
1480: "0x2063cFF0609D59bCCc196E20Eb58A8696a6b15A0"
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
DLPPerformance: {
|
|
125
|
+
addresses: {
|
|
126
|
+
14800: "0x847715C7DB37cF286611182Be0bD333cbfa29cc1",
|
|
127
|
+
1480: "0x847715C7DB37cF286611182Be0bD333cbfa29cc1"
|
|
128
|
+
},
|
|
129
|
+
discovery: {
|
|
130
|
+
parent: "VanaEpoch",
|
|
131
|
+
getter: "dlpPerformance"
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
DLPRegistry: {
|
|
135
|
+
addresses: {
|
|
136
|
+
14800: "0x4D59880a924526d1dD33260552Ff4328b1E18a43",
|
|
137
|
+
1480: "0x4D59880a924526d1dD33260552Ff4328b1E18a43"
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
DLPRegistryTreasury: {
|
|
141
|
+
addresses: {
|
|
142
|
+
14800: "0xb12ce1d27bEeFe39b6F0110b1AB77C21Aa0c9F9a",
|
|
143
|
+
1480: "0xb12ce1d27bEeFe39b6F0110b1AB77C21Aa0c9F9a"
|
|
144
|
+
},
|
|
145
|
+
discovery: {
|
|
146
|
+
parent: "DLPRegistry",
|
|
147
|
+
getter: "treasury"
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
DLPRewardDeployer: {
|
|
151
|
+
addresses: {
|
|
152
|
+
14800: "0xEFD0F9Ba9De70586b7c4189971cF754adC923B04",
|
|
153
|
+
1480: "0xEFD0F9Ba9De70586b7c4189971cF754adC923B04"
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
DLPRewardDeployerTreasury: {
|
|
157
|
+
addresses: {
|
|
158
|
+
14800: "0xb547ca8Fe4990fe330FeAeb1C2EBb42F925Af5b8",
|
|
159
|
+
1480: "0xb547ca8Fe4990fe330FeAeb1C2EBb42F925Af5b8"
|
|
160
|
+
},
|
|
161
|
+
discovery: {
|
|
162
|
+
parent: "DLPRewardDeployer",
|
|
163
|
+
getter: "treasury"
|
|
164
|
+
}
|
|
165
|
+
},
|
|
166
|
+
DLPRewardSwap: {
|
|
167
|
+
addresses: {
|
|
168
|
+
14800: "0x7c6862C46830F0fc3bF3FF509EA1bD0EE7267fB0",
|
|
169
|
+
1480: "0x7c6862C46830F0fc3bF3FF509EA1bD0EE7267fB0"
|
|
170
|
+
},
|
|
171
|
+
discovery: {
|
|
172
|
+
parent: "DLPRewardDeployer",
|
|
173
|
+
getter: "dlpRewardSwap"
|
|
174
|
+
}
|
|
175
|
+
},
|
|
176
|
+
SwapHelper: {
|
|
177
|
+
addresses: {
|
|
178
|
+
14800: "0x55D5e6F73326315bF2E091e97F04f0770e5C54e2",
|
|
179
|
+
1480: "0x55D5e6F73326315bF2E091e97F04f0770e5C54e2"
|
|
180
|
+
},
|
|
181
|
+
discovery: {
|
|
182
|
+
parent: "DLPRewardSwap",
|
|
183
|
+
getter: "swapHelper"
|
|
184
|
+
}
|
|
185
|
+
},
|
|
186
|
+
// ========================================
|
|
187
|
+
// VANA POOL (STAKING)
|
|
188
|
+
// ========================================
|
|
189
|
+
VanaPoolStaking: {
|
|
190
|
+
addresses: {
|
|
191
|
+
14800: "0x641C18E2F286c86f96CE95C8ec1EB9fC0415Ca0e",
|
|
192
|
+
1480: "0x641C18E2F286c86f96CE95C8ec1EB9fC0415Ca0e"
|
|
193
|
+
}
|
|
194
|
+
},
|
|
195
|
+
VanaPoolTreasury: {
|
|
196
|
+
addresses: {
|
|
197
|
+
14800: "0x143BE72CF2541604A7691933CAccd6D9cC17c003",
|
|
198
|
+
1480: "0x143BE72CF2541604A7691933CAccd6D9cC17c003"
|
|
199
|
+
},
|
|
200
|
+
discovery: {
|
|
201
|
+
parent: "VanaPoolStaking",
|
|
202
|
+
getter: "vanaPoolTreasury"
|
|
203
|
+
}
|
|
204
|
+
},
|
|
205
|
+
VanaPoolEntity: {
|
|
206
|
+
addresses: {
|
|
207
|
+
14800: "0x44f20490A82e1f1F1cC25Dd3BA8647034eDdce30",
|
|
208
|
+
1480: "0x44f20490A82e1f1F1cC25Dd3BA8647034eDdce30"
|
|
209
|
+
},
|
|
210
|
+
discovery: {
|
|
211
|
+
parent: "VanaPoolStaking",
|
|
212
|
+
getter: "vanaPoolEntity"
|
|
213
|
+
}
|
|
214
|
+
},
|
|
215
|
+
// ========================================
|
|
216
|
+
// DLP DEPLOYMENT & TOKEN SYSTEM
|
|
217
|
+
// ========================================
|
|
218
|
+
DATFactory: {
|
|
219
|
+
addresses: {
|
|
220
|
+
14800: "0x40f8bccF35a75ecef63BC3B1B3E06ffEB9220644",
|
|
221
|
+
1480: "0x40f8bccF35a75ecef63BC3B1B3E06ffEB9220644"
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
DAT: {
|
|
225
|
+
addresses: {
|
|
226
|
+
14800: "0xA706b93ccED89f13340673889e29F0a5cd84212d",
|
|
227
|
+
1480: "0xA706b93ccED89f13340673889e29F0a5cd84212d"
|
|
228
|
+
}
|
|
229
|
+
},
|
|
230
|
+
DATPausable: {
|
|
231
|
+
addresses: {
|
|
232
|
+
14800: "0xe69FE86f0B95cC2f8416Fe22815c85DC8887e76e",
|
|
233
|
+
1480: "0xe69FE86f0B95cC2f8416Fe22815c85DC8887e76e"
|
|
234
|
+
}
|
|
235
|
+
},
|
|
236
|
+
DATVotes: {
|
|
237
|
+
addresses: {
|
|
238
|
+
14800: "0xaE04c8A77E9B27869eb563720524A9aE0baf1831",
|
|
239
|
+
1480: "0xaE04c8A77E9B27869eb563720524A9aE0baf1831"
|
|
240
|
+
}
|
|
241
|
+
},
|
|
242
|
+
// ========================================
|
|
243
|
+
// EXTERNAL DEPENDENCIES (DeFi)
|
|
244
|
+
// ========================================
|
|
245
|
+
WVANA: {
|
|
246
|
+
addresses: {
|
|
247
|
+
14800: "0xbccc4b4c6530F82FE309c5E845E50b5E9C89f2AD",
|
|
248
|
+
1480: "0x00EDdD9621Fb08436d0331c149D1690909a5906d"
|
|
249
|
+
}
|
|
250
|
+
},
|
|
251
|
+
UniswapV3NonfungiblePositionManager: {
|
|
252
|
+
addresses: {
|
|
253
|
+
14800: "0x48Bd633f4B9128a38Ebb4a48b6975EB3Eaf1931b",
|
|
254
|
+
1480: "0x45a2992e1bFdCF9b9AcE0a84A238f2E56F481816"
|
|
255
|
+
}
|
|
256
|
+
},
|
|
257
|
+
UniswapV3QuoterV2: {
|
|
258
|
+
addresses: {
|
|
259
|
+
14800: "0x3152246f3CD4dD465292Dd4Ffd792E2Cf602e332",
|
|
260
|
+
1480: "0x1b13728ea3C90863990aC0e05987CfeC1888908c"
|
|
261
|
+
}
|
|
262
|
+
},
|
|
263
|
+
// ========================================
|
|
264
|
+
// UTILITY CONTRACTS
|
|
265
|
+
// ========================================
|
|
266
|
+
Multicall3: {
|
|
267
|
+
addresses: {
|
|
268
|
+
14800: "0xD8d2dFca27E8797fd779F8547166A2d3B29d360E",
|
|
269
|
+
1480: "0xD8d2dFca27E8797fd779F8547166A2d3B29d360E"
|
|
270
|
+
}
|
|
271
|
+
},
|
|
272
|
+
Multisend: {
|
|
273
|
+
addresses: {
|
|
274
|
+
14800: "0x8807e8BCDFbaA8c2761760f3FBA37F6f7F2C5b2d",
|
|
275
|
+
1480: "0x8807e8BCDFbaA8c2761760f3FBA37F6f7F2C5b2d"
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
};
|
|
279
|
+
const LEGACY_CONTRACTS = {
|
|
280
|
+
TeePool: {
|
|
281
|
+
addresses: {
|
|
282
|
+
14800: "0x3c92fD91639b41f13338CE62f19131e7d19eaa0D",
|
|
283
|
+
1480: "0x3c92fD91639b41f13338CE62f19131e7d19eaa0D"
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
DLPRootEpoch: {
|
|
287
|
+
addresses: {
|
|
288
|
+
14800: "0xc3d176cF6BccFCB9225b53B87a95147218e1537F",
|
|
289
|
+
1480: "0xc3d176cF6BccFCB9225b53B87a95147218e1537F"
|
|
290
|
+
}
|
|
291
|
+
},
|
|
292
|
+
DLPRootCore: {
|
|
293
|
+
addresses: {
|
|
294
|
+
14800: "0x0aBa5e28228c323A67712101d61a54d4ff5720FD",
|
|
295
|
+
1480: "0x0aBa5e28228c323A67712101d61a54d4ff5720FD"
|
|
296
|
+
}
|
|
297
|
+
},
|
|
298
|
+
DLPRoot: {
|
|
299
|
+
addresses: {
|
|
300
|
+
14800: "0xff14346dF2B8Fd0c95BF34f1c92e49417b508AD5",
|
|
301
|
+
1480: "0xff14346dF2B8Fd0c95BF34f1c92e49417b508AD5"
|
|
302
|
+
}
|
|
303
|
+
},
|
|
304
|
+
DLPRootMetrics: {
|
|
305
|
+
addresses: {
|
|
306
|
+
14800: "0xbb532917B6407c060Afd9Cb7d53527eCb91d6662",
|
|
307
|
+
1480: "0xbb532917B6407c060Afd9Cb7d53527eCb91d6662"
|
|
308
|
+
}
|
|
309
|
+
},
|
|
310
|
+
DLPRootStakesTreasury: {
|
|
311
|
+
addresses: {
|
|
312
|
+
14800: "0x52c3260ED5C235fcA43524CF508e29c897318775",
|
|
313
|
+
1480: "0x52c3260ED5C235fcA43524CF508e29c897318775"
|
|
314
|
+
}
|
|
315
|
+
},
|
|
316
|
+
DLPRootRewardsTreasury: {
|
|
317
|
+
addresses: {
|
|
318
|
+
14800: "0xDBFb6B8b9E2eCAEbdE64d665cD553dB81e524479",
|
|
319
|
+
1480: "0xDBFb6B8b9E2eCAEbdE64d665cD553dB81e524479"
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
};
|
|
323
|
+
export {
|
|
324
|
+
CONTRACTS,
|
|
325
|
+
LEGACY_CONTRACTS
|
|
326
|
+
};
|
|
327
|
+
//# sourceMappingURL=contracts.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/config/contracts.config.ts"],"sourcesContent":["// SOURCE CONFIGURATION - Complete contract registry\n// Generated output: src/generated/addresses.ts\n\n/**\n * Complete contract configuration for the Vana protocol.\n *\n * ⚠️ THIS IS A SOURCE FILE - EDIT THIS TO ADD/UPDATE CONTRACTS\n *\n * @remarks\n * This file contains all contract addresses and discovery metadata in one place.\n *\n * **Contract Types:**\n * - Entry Points: Contracts without `discovery` field (must be known externally)\n * - Discoverable: Contracts with `discovery` field (auto-discovered from parent)\n *\n * **Build Process:**\n * 1. Edit this file to add/update contracts\n * 2. Run `npm run discover-addresses` to validate and generate complete registry\n * 3. Run `npm run fetch-abis` to fetch ABIs for all contracts\n *\n * @category Configuration\n * @internal This is a source file - apps should import from src/generated/addresses.ts\n */\n\ninterface DiscoveryMetadata {\n /** Parent contract to discover this from */\n parent: string;\n /** Getter function name on parent contract */\n getter: string;\n}\n\ninterface ContractConfig {\n addresses: {\n 14800: string;\n 1480: string;\n };\n /** If present, this contract can be auto-discovered from parent */\n discovery?: DiscoveryMetadata;\n}\n\nexport const CONTRACTS: Record<string, ContractConfig> = {\n // ========================================\n // DATA PORTABILITY CONTRACTS\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\n // ========================================\n // COMPUTING INFRASTRUCTURE\n // ========================================\n ComputeEngine: {\n addresses: {\n 14800: \"0xb2BFe33FA420c45F1Cf1287542ad81ae935447bd\",\n 1480: \"0xb2BFe33FA420c45F1Cf1287542ad81ae935447bd\",\n },\n },\n ComputeEngineTreasury: {\n addresses: {\n 14800: \"0xceB33C501B624D984bD1Ed3298f6D1d8F7CE03d1\",\n 1480: \"0xceB33C501B624D984bD1Ed3298f6D1d8F7CE03d1\",\n },\n discovery: {\n parent: \"ComputeEngine\",\n getter: \"computeEngineTreasury\",\n },\n },\n QueryEngine: {\n addresses: {\n 14800: \"0xd25Eb66EA2452cf3238A2eC6C1FD1B7F5B320490\",\n 1480: \"0xd25Eb66EA2452cf3238A2eC6C1FD1B7F5B320490\",\n },\n },\n VanaTreasury: {\n addresses: {\n 14800: \"0x8B32Ef32f22e72cc25D53f6E858f57cAe7E198f9\",\n 1480: \"0x8B32Ef32f22e72cc25D53f6E858f57cAe7E198f9\",\n },\n discovery: {\n parent: \"QueryEngine\",\n getter: \"queryEngineTreasury\",\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\n // ========================================\n // TEE POOLS (Canonical Deployments)\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\n // ========================================\n // DLP REWARD SYSTEM\n // ========================================\n VanaEpoch: {\n addresses: {\n 14800: \"0x2063cFF0609D59bCCc196E20Eb58A8696a6b15A0\",\n 1480: \"0x2063cFF0609D59bCCc196E20Eb58A8696a6b15A0\",\n },\n },\n DLPPerformance: {\n addresses: {\n 14800: \"0x847715C7DB37cF286611182Be0bD333cbfa29cc1\",\n 1480: \"0x847715C7DB37cF286611182Be0bD333cbfa29cc1\",\n },\n discovery: {\n parent: \"VanaEpoch\",\n getter: \"dlpPerformance\",\n },\n },\n DLPRegistry: {\n addresses: {\n 14800: \"0x4D59880a924526d1dD33260552Ff4328b1E18a43\",\n 1480: \"0x4D59880a924526d1dD33260552Ff4328b1E18a43\",\n },\n },\n DLPRegistryTreasury: {\n addresses: {\n 14800: \"0xb12ce1d27bEeFe39b6F0110b1AB77C21Aa0c9F9a\",\n 1480: \"0xb12ce1d27bEeFe39b6F0110b1AB77C21Aa0c9F9a\",\n },\n discovery: {\n parent: \"DLPRegistry\",\n getter: \"treasury\",\n },\n },\n DLPRewardDeployer: {\n addresses: {\n 14800: \"0xEFD0F9Ba9De70586b7c4189971cF754adC923B04\",\n 1480: \"0xEFD0F9Ba9De70586b7c4189971cF754adC923B04\",\n },\n },\n DLPRewardDeployerTreasury: {\n addresses: {\n 14800: \"0xb547ca8Fe4990fe330FeAeb1C2EBb42F925Af5b8\",\n 1480: \"0xb547ca8Fe4990fe330FeAeb1C2EBb42F925Af5b8\",\n },\n discovery: {\n parent: \"DLPRewardDeployer\",\n getter: \"treasury\",\n },\n },\n DLPRewardSwap: {\n addresses: {\n 14800: \"0x7c6862C46830F0fc3bF3FF509EA1bD0EE7267fB0\",\n 1480: \"0x7c6862C46830F0fc3bF3FF509EA1bD0EE7267fB0\",\n },\n discovery: {\n parent: \"DLPRewardDeployer\",\n getter: \"dlpRewardSwap\",\n },\n },\n SwapHelper: {\n addresses: {\n 14800: \"0x55D5e6F73326315bF2E091e97F04f0770e5C54e2\",\n 1480: \"0x55D5e6F73326315bF2E091e97F04f0770e5C54e2\",\n },\n discovery: {\n parent: \"DLPRewardSwap\",\n getter: \"swapHelper\",\n },\n },\n\n // ========================================\n // VANA POOL (STAKING)\n // ========================================\n VanaPoolStaking: {\n addresses: {\n 14800: \"0x641C18E2F286c86f96CE95C8ec1EB9fC0415Ca0e\",\n 1480: \"0x641C18E2F286c86f96CE95C8ec1EB9fC0415Ca0e\",\n },\n },\n VanaPoolTreasury: {\n addresses: {\n 14800: \"0x143BE72CF2541604A7691933CAccd6D9cC17c003\",\n 1480: \"0x143BE72CF2541604A7691933CAccd6D9cC17c003\",\n },\n discovery: {\n parent: \"VanaPoolStaking\",\n getter: \"vanaPoolTreasury\",\n },\n },\n VanaPoolEntity: {\n addresses: {\n 14800: \"0x44f20490A82e1f1F1cC25Dd3BA8647034eDdce30\",\n 1480: \"0x44f20490A82e1f1F1cC25Dd3BA8647034eDdce30\",\n },\n discovery: {\n parent: \"VanaPoolStaking\",\n getter: \"vanaPoolEntity\",\n },\n },\n\n // ========================================\n // DLP DEPLOYMENT & TOKEN SYSTEM\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\n // ========================================\n // EXTERNAL DEPENDENCIES (DeFi)\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\n // ========================================\n // UTILITY CONTRACTS\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} as const;\n\n// Legacy/Deprecated Contracts\n/**\n * Registry of deprecated Vana protocol contracts maintained for backwards compatibility.\n *\n * @remarks\n * These contracts have been superseded by newer implementations but are maintained\n * for backwards compatibility with existing applications.\n *\n * @deprecated Use the main CONTRACTS registry for new development\n * @category Configuration\n */\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"],"mappings":"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","names":[]}
|
|
@@ -27,7 +27,7 @@ __export(contractController_exports, {
|
|
|
27
27
|
module.exports = __toCommonJS(contractController_exports);
|
|
28
28
|
var import_viem = require("viem");
|
|
29
29
|
var import_abi = require("../generated/abi");
|
|
30
|
-
var import_addresses = require("../
|
|
30
|
+
var import_addresses = require("../generated/addresses");
|
|
31
31
|
var import_client = require("../core/client");
|
|
32
32
|
var import_chains = require("../config/chains");
|
|
33
33
|
const contractCache = /* @__PURE__ */ new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/contracts/contractController.ts"],"sourcesContent":["/**\n * Provides type-safe contract interaction utilities for the Vana protocol.\n *\n * @remarks\n * This module enables strongly-typed smart contract interactions with automatic\n * ABI loading, address resolution, and instance caching. It follows viem's patterns\n * for contract typing while providing Vana-specific conveniences.\n *\n * @category Contracts\n * @module contractController\n */\n\nimport type { Abi } from \"abitype\";\nimport {\n getContract,\n type GetContractReturnType,\n type PublicClient,\n type WalletClient,\n} from \"viem\";\nimport { type ContractAbis, getAbi, type VanaContract } from \"../generated/abi\";\nimport type { VanaChainId, ContractInfo } from \"../types/index\";\nimport { getContractAddress, CONTRACT_ADDRESSES } from \"../
|
|
1
|
+
{"version":3,"sources":["../../src/contracts/contractController.ts"],"sourcesContent":["/**\n * Provides type-safe contract interaction utilities for the Vana protocol.\n *\n * @remarks\n * This module enables strongly-typed smart contract interactions with automatic\n * ABI loading, address resolution, and instance caching. It follows viem's patterns\n * for contract typing while providing Vana-specific conveniences.\n *\n * @category Contracts\n * @module contractController\n */\n\nimport type { Abi } from \"abitype\";\nimport {\n getContract,\n type GetContractReturnType,\n type PublicClient,\n type WalletClient,\n} from \"viem\";\nimport { type ContractAbis, getAbi, type VanaContract } from \"../generated/abi\";\nimport type { VanaChainId, ContractInfo } from \"../types/index\";\nimport { getContractAddress, CONTRACT_ADDRESSES } from \"../generated/addresses\";\nimport { createClient } from \"../core/client\";\nimport { vanaMainnet } from \"../config/chains\";\n\n// Cache for contract instances - keyed by contract name and chain ID\nconst contractCache = new Map<string, GetContractReturnType<Abi>>();\n\n// Export cache for testing\nexport const contractCacheForTesting = contractCache;\n\n/**\n * Creates a cache key for contract instances.\n *\n * @remarks\n * Generates unique keys for caching contract instances per chain to prevent\n * cross-chain contamination and improve performance.\n *\n * @param contract - The contract name to create a cache key for\n * @param chainId - The chain ID to include in the cache key\n * @returns A string cache key combining contract name and chain ID\n *\n * @internal\n */\nfunction createCacheKey(contract: VanaContract, chainId: number): string {\n return `${contract}:${chainId}`;\n}\n\n/**\n * Gets a typed contract instance for the specified contract name.\n *\n * @remarks\n * Provides complete type safety following viem's patterns with automatic\n * ABI loading and address resolution. Contract instances are cached per\n * chain for performance. Use const assertion for full type inference.\n *\n * @param contract - Name of the contract to instantiate.\n * Use const assertion for full typing: `\"DataRegistry\" as const`\n * @param client - Optional viem client instance.\n * Defaults to auto-configured client. Obtain via `createClient()` or viem.\n * @returns A fully typed contract instance with methods corresponding to the contract's ABI\n *\n * @example\n * ```typescript\n * // Full type inference with const assertion\n * const dataRegistry = getContractController(\"DataRegistry\" as const, client);\n *\n * // Now dataRegistry has full type inference for all methods\n * const result = await dataRegistry.read.getFileCount(); // Type: bigint\n * await dataRegistry.write.addFile([url, proof]); // Typed parameters\n *\n * // Auto-configured client\n * const permissions = getContractController(\"DataPortabilityPermissions\" as const);\n * const granted = await permissions.read.hasPermission([grantor, grantee]);\n * ```\n *\n * @category Contracts\n */\nexport function getContractController<T extends VanaContract>(\n contract: T,\n client:\n | PublicClient\n | WalletClient\n | ReturnType<typeof createClient> = createClient(),\n): GetContractReturnType<ContractAbis[T]> {\n const chainId = client.chain?.id ?? vanaMainnet.id;\n const cacheKey = createCacheKey(contract, chainId);\n\n let controller = contractCache.get(cacheKey);\n\n if (!controller) {\n controller = getContract({\n address: getContractAddress(chainId, contract),\n abi: getAbi(contract),\n client,\n }) as GetContractReturnType<ContractAbis[T]>;\n\n contractCache.set(cacheKey, controller);\n }\n\n return controller as GetContractReturnType<ContractAbis[T]>;\n}\n\n/**\n * Gets contract information without creating a contract instance.\n *\n * @remarks\n * Returns contract address and ABI for manual contract interaction or\n * custom client configuration. Useful when you need contract details\n * but don't want to create a client connection.\n *\n * @param contract - Name of the contract.\n * Use const assertion for typed ABI.\n * @param chainId - Chain ID to get contract info for.\n * Defaults to Vana mainnet (1480).\n * @returns Contract information with typed ABI\n *\n * @example\n * ```typescript\n * const info = getContractInfo(\"DataRegistry\" as const, 14800);\n * console.log(info.address); // Typed as Address\n * console.log(info.abi); // Fully typed ABI\n *\n * // Use with custom viem client\n * const contract = getContract({\n * ...info,\n * client: customClient\n * });\n * ```\n *\n * @category Contracts\n */\nexport function getContractInfo<T extends VanaContract>(\n contract: T,\n chainId: VanaChainId = vanaMainnet.id as VanaChainId,\n): ContractInfo<ContractAbis[T]> {\n return {\n address: getContractAddress(chainId, contract),\n abi: getAbi(contract),\n };\n}\n\n/**\n * Provides type-safe contract factory for creating multiple contract instances.\n *\n * @remarks\n * Alternative API for applications that need to create multiple contracts\n * with the same client. The factory pattern reduces boilerplate and ensures\n * consistent client configuration across contracts.\n *\n * @example\n * ```typescript\n * const factory = new ContractFactory(client);\n *\n * const dataRegistry = factory.create(\"DataRegistry\" as const);\n * const permissions = factory.create(\"DataPortabilityPermissions\" as const);\n *\n * // List available contracts\n * const contracts = factory.getAvailableContracts();\n * ```\n *\n * @category Contracts\n */\nexport class ContractFactory {\n private readonly client:\n | PublicClient\n | WalletClient\n | ReturnType<typeof createClient>;\n private readonly chainId: number;\n\n constructor(\n client: PublicClient | WalletClient | ReturnType<typeof createClient>,\n ) {\n this.client = client;\n try {\n this.chainId = client.chain?.id ?? vanaMainnet.id;\n } catch {\n this.chainId = vanaMainnet.id;\n }\n }\n\n /**\n * Creates a typed contract instance\n *\n * @param contract - Contract name (use const assertion for full typing)\n * @returns Fully typed contract instance\n */\n create<T extends VanaContract>(\n contract: T,\n ): GetContractReturnType<ContractAbis[T]> {\n return getContractController(contract, this.client);\n }\n\n /**\n * Gets contract information without creating an instance\n *\n * @param contract - Contract name\n * @returns Contract information with typed ABI\n */\n getInfo<T extends VanaContract>(contract: T): ContractInfo<ContractAbis[T]> {\n return getContractInfo(contract, this.chainId as VanaChainId);\n }\n\n /**\n * Lists all available contracts for the current chain\n *\n * @returns Array of contract names available on this chain\n */\n getAvailableContracts(): VanaContract[] {\n // Return all contract names that have addresses on this chain\n const chainAddresses = CONTRACT_ADDRESSES[this.chainId];\n if (!chainAddresses) return [];\n\n return Object.keys(chainAddresses) as VanaContract[];\n }\n}\n\n/**\n * Clears the contract cache. Useful for testing or when chain configurations change.\n *\n * @param contract - Optional specific contract to clear, or clear all if not provided\n * @param chainId - Optional specific chain to clear, or clear all if not provided\n */\nexport function clearContractCache(\n contract?: VanaContract,\n chainId?: number,\n): void {\n if (contract && chainId) {\n const cacheKey = createCacheKey(contract, chainId);\n contractCache.delete(cacheKey);\n } else if (contract) {\n // Clear all instances of this contract across all chains\n for (const key of contractCache.keys()) {\n if (key.startsWith(`${contract}:`)) {\n contractCache.delete(key);\n }\n }\n } else if (chainId) {\n // Clear all contracts for this chain\n for (const key of contractCache.keys()) {\n if (key.endsWith(`:${chainId}`)) {\n contractCache.delete(key);\n }\n }\n } else {\n // Clear entire cache\n contractCache.clear();\n }\n}\n\n// Function is already exported above, no need for redundant export\n\n// Type-only exports for enhanced type safety\nexport type { GetContractReturnType } from \"viem\";\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaA,kBAKO;AACP,iBAA6D;AAE7D,uBAAuD;AACvD,oBAA6B;AAC7B,oBAA4B;AAG5B,MAAM,gBAAgB,oBAAI,IAAwC;AAG3D,MAAM,0BAA0B;AAevC,SAAS,eAAe,UAAwB,SAAyB;AACvE,SAAO,GAAG,QAAQ,IAAI,OAAO;AAC/B;AAgCO,SAAS,sBACd,UACA,aAGsC,4BAAa,GACX;AACxC,QAAM,UAAU,OAAO,OAAO,MAAM,0BAAY;AAChD,QAAM,WAAW,eAAe,UAAU,OAAO;AAEjD,MAAI,aAAa,cAAc,IAAI,QAAQ;AAE3C,MAAI,CAAC,YAAY;AACf,qBAAa,yBAAY;AAAA,MACvB,aAAS,qCAAmB,SAAS,QAAQ;AAAA,MAC7C,SAAK,mBAAO,QAAQ;AAAA,MACpB;AAAA,IACF,CAAC;AAED,kBAAc,IAAI,UAAU,UAAU;AAAA,EACxC;AAEA,SAAO;AACT;AA+BO,SAAS,gBACd,UACA,UAAuB,0BAAY,IACJ;AAC/B,SAAO;AAAA,IACL,aAAS,qCAAmB,SAAS,QAAQ;AAAA,IAC7C,SAAK,mBAAO,QAAQ;AAAA,EACtB;AACF;AAuBO,MAAM,gBAAgB;AAAA,EACV;AAAA,EAIA;AAAA,EAEjB,YACE,QACA;AACA,SAAK,SAAS;AACd,QAAI;AACF,WAAK,UAAU,OAAO,OAAO,MAAM,0BAAY;AAAA,IACjD,QAAQ;AACN,WAAK,UAAU,0BAAY;AAAA,IAC7B;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,OACE,UACwC;AACxC,WAAO,sBAAsB,UAAU,KAAK,MAAM;AAAA,EACpD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,QAAgC,UAA4C;AAC1E,WAAO,gBAAgB,UAAU,KAAK,OAAsB;AAAA,EAC9D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,wBAAwC;AAEtC,UAAM,iBAAiB,oCAAmB,KAAK,OAAO;AACtD,QAAI,CAAC,eAAgB,QAAO,CAAC;AAE7B,WAAO,OAAO,KAAK,cAAc;AAAA,EACnC;AACF;AAQO,SAAS,mBACd,UACA,SACM;AACN,MAAI,YAAY,SAAS;AACvB,UAAM,WAAW,eAAe,UAAU,OAAO;AACjD,kBAAc,OAAO,QAAQ;AAAA,EAC/B,WAAW,UAAU;AAEnB,eAAW,OAAO,cAAc,KAAK,GAAG;AACtC,UAAI,IAAI,WAAW,GAAG,QAAQ,GAAG,GAAG;AAClC,sBAAc,OAAO,GAAG;AAAA,MAC1B;AAAA,IACF;AAAA,EACF,WAAW,SAAS;AAElB,eAAW,OAAO,cAAc,KAAK,GAAG;AACtC,UAAI,IAAI,SAAS,IAAI,OAAO,EAAE,GAAG;AAC/B,sBAAc,OAAO,GAAG;AAAA,MAC1B;AAAA,IACF;AAAA,EACF,OAAO;AAEL,kBAAc,MAAM;AAAA,EACtB;AACF;","names":[]}
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
getContract
|
|
3
3
|
} from "viem";
|
|
4
4
|
import { getAbi } from "../generated/abi";
|
|
5
|
-
import { getContractAddress, CONTRACT_ADDRESSES } from "../
|
|
5
|
+
import { getContractAddress, CONTRACT_ADDRESSES } from "../generated/addresses";
|
|
6
6
|
import { createClient } from "../core/client";
|
|
7
7
|
import { vanaMainnet } from "../config/chains";
|
|
8
8
|
const contractCache = /* @__PURE__ */ new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/contracts/contractController.ts"],"sourcesContent":["/**\n * Provides type-safe contract interaction utilities for the Vana protocol.\n *\n * @remarks\n * This module enables strongly-typed smart contract interactions with automatic\n * ABI loading, address resolution, and instance caching. It follows viem's patterns\n * for contract typing while providing Vana-specific conveniences.\n *\n * @category Contracts\n * @module contractController\n */\n\nimport type { Abi } from \"abitype\";\nimport {\n getContract,\n type GetContractReturnType,\n type PublicClient,\n type WalletClient,\n} from \"viem\";\nimport { type ContractAbis, getAbi, type VanaContract } from \"../generated/abi\";\nimport type { VanaChainId, ContractInfo } from \"../types/index\";\nimport { getContractAddress, CONTRACT_ADDRESSES } from \"../
|
|
1
|
+
{"version":3,"sources":["../../src/contracts/contractController.ts"],"sourcesContent":["/**\n * Provides type-safe contract interaction utilities for the Vana protocol.\n *\n * @remarks\n * This module enables strongly-typed smart contract interactions with automatic\n * ABI loading, address resolution, and instance caching. It follows viem's patterns\n * for contract typing while providing Vana-specific conveniences.\n *\n * @category Contracts\n * @module contractController\n */\n\nimport type { Abi } from \"abitype\";\nimport {\n getContract,\n type GetContractReturnType,\n type PublicClient,\n type WalletClient,\n} from \"viem\";\nimport { type ContractAbis, getAbi, type VanaContract } from \"../generated/abi\";\nimport type { VanaChainId, ContractInfo } from \"../types/index\";\nimport { getContractAddress, CONTRACT_ADDRESSES } from \"../generated/addresses\";\nimport { createClient } from \"../core/client\";\nimport { vanaMainnet } from \"../config/chains\";\n\n// Cache for contract instances - keyed by contract name and chain ID\nconst contractCache = new Map<string, GetContractReturnType<Abi>>();\n\n// Export cache for testing\nexport const contractCacheForTesting = contractCache;\n\n/**\n * Creates a cache key for contract instances.\n *\n * @remarks\n * Generates unique keys for caching contract instances per chain to prevent\n * cross-chain contamination and improve performance.\n *\n * @param contract - The contract name to create a cache key for\n * @param chainId - The chain ID to include in the cache key\n * @returns A string cache key combining contract name and chain ID\n *\n * @internal\n */\nfunction createCacheKey(contract: VanaContract, chainId: number): string {\n return `${contract}:${chainId}`;\n}\n\n/**\n * Gets a typed contract instance for the specified contract name.\n *\n * @remarks\n * Provides complete type safety following viem's patterns with automatic\n * ABI loading and address resolution. Contract instances are cached per\n * chain for performance. Use const assertion for full type inference.\n *\n * @param contract - Name of the contract to instantiate.\n * Use const assertion for full typing: `\"DataRegistry\" as const`\n * @param client - Optional viem client instance.\n * Defaults to auto-configured client. Obtain via `createClient()` or viem.\n * @returns A fully typed contract instance with methods corresponding to the contract's ABI\n *\n * @example\n * ```typescript\n * // Full type inference with const assertion\n * const dataRegistry = getContractController(\"DataRegistry\" as const, client);\n *\n * // Now dataRegistry has full type inference for all methods\n * const result = await dataRegistry.read.getFileCount(); // Type: bigint\n * await dataRegistry.write.addFile([url, proof]); // Typed parameters\n *\n * // Auto-configured client\n * const permissions = getContractController(\"DataPortabilityPermissions\" as const);\n * const granted = await permissions.read.hasPermission([grantor, grantee]);\n * ```\n *\n * @category Contracts\n */\nexport function getContractController<T extends VanaContract>(\n contract: T,\n client:\n | PublicClient\n | WalletClient\n | ReturnType<typeof createClient> = createClient(),\n): GetContractReturnType<ContractAbis[T]> {\n const chainId = client.chain?.id ?? vanaMainnet.id;\n const cacheKey = createCacheKey(contract, chainId);\n\n let controller = contractCache.get(cacheKey);\n\n if (!controller) {\n controller = getContract({\n address: getContractAddress(chainId, contract),\n abi: getAbi(contract),\n client,\n }) as GetContractReturnType<ContractAbis[T]>;\n\n contractCache.set(cacheKey, controller);\n }\n\n return controller as GetContractReturnType<ContractAbis[T]>;\n}\n\n/**\n * Gets contract information without creating a contract instance.\n *\n * @remarks\n * Returns contract address and ABI for manual contract interaction or\n * custom client configuration. Useful when you need contract details\n * but don't want to create a client connection.\n *\n * @param contract - Name of the contract.\n * Use const assertion for typed ABI.\n * @param chainId - Chain ID to get contract info for.\n * Defaults to Vana mainnet (1480).\n * @returns Contract information with typed ABI\n *\n * @example\n * ```typescript\n * const info = getContractInfo(\"DataRegistry\" as const, 14800);\n * console.log(info.address); // Typed as Address\n * console.log(info.abi); // Fully typed ABI\n *\n * // Use with custom viem client\n * const contract = getContract({\n * ...info,\n * client: customClient\n * });\n * ```\n *\n * @category Contracts\n */\nexport function getContractInfo<T extends VanaContract>(\n contract: T,\n chainId: VanaChainId = vanaMainnet.id as VanaChainId,\n): ContractInfo<ContractAbis[T]> {\n return {\n address: getContractAddress(chainId, contract),\n abi: getAbi(contract),\n };\n}\n\n/**\n * Provides type-safe contract factory for creating multiple contract instances.\n *\n * @remarks\n * Alternative API for applications that need to create multiple contracts\n * with the same client. The factory pattern reduces boilerplate and ensures\n * consistent client configuration across contracts.\n *\n * @example\n * ```typescript\n * const factory = new ContractFactory(client);\n *\n * const dataRegistry = factory.create(\"DataRegistry\" as const);\n * const permissions = factory.create(\"DataPortabilityPermissions\" as const);\n *\n * // List available contracts\n * const contracts = factory.getAvailableContracts();\n * ```\n *\n * @category Contracts\n */\nexport class ContractFactory {\n private readonly client:\n | PublicClient\n | WalletClient\n | ReturnType<typeof createClient>;\n private readonly chainId: number;\n\n constructor(\n client: PublicClient | WalletClient | ReturnType<typeof createClient>,\n ) {\n this.client = client;\n try {\n this.chainId = client.chain?.id ?? vanaMainnet.id;\n } catch {\n this.chainId = vanaMainnet.id;\n }\n }\n\n /**\n * Creates a typed contract instance\n *\n * @param contract - Contract name (use const assertion for full typing)\n * @returns Fully typed contract instance\n */\n create<T extends VanaContract>(\n contract: T,\n ): GetContractReturnType<ContractAbis[T]> {\n return getContractController(contract, this.client);\n }\n\n /**\n * Gets contract information without creating an instance\n *\n * @param contract - Contract name\n * @returns Contract information with typed ABI\n */\n getInfo<T extends VanaContract>(contract: T): ContractInfo<ContractAbis[T]> {\n return getContractInfo(contract, this.chainId as VanaChainId);\n }\n\n /**\n * Lists all available contracts for the current chain\n *\n * @returns Array of contract names available on this chain\n */\n getAvailableContracts(): VanaContract[] {\n // Return all contract names that have addresses on this chain\n const chainAddresses = CONTRACT_ADDRESSES[this.chainId];\n if (!chainAddresses) return [];\n\n return Object.keys(chainAddresses) as VanaContract[];\n }\n}\n\n/**\n * Clears the contract cache. Useful for testing or when chain configurations change.\n *\n * @param contract - Optional specific contract to clear, or clear all if not provided\n * @param chainId - Optional specific chain to clear, or clear all if not provided\n */\nexport function clearContractCache(\n contract?: VanaContract,\n chainId?: number,\n): void {\n if (contract && chainId) {\n const cacheKey = createCacheKey(contract, chainId);\n contractCache.delete(cacheKey);\n } else if (contract) {\n // Clear all instances of this contract across all chains\n for (const key of contractCache.keys()) {\n if (key.startsWith(`${contract}:`)) {\n contractCache.delete(key);\n }\n }\n } else if (chainId) {\n // Clear all contracts for this chain\n for (const key of contractCache.keys()) {\n if (key.endsWith(`:${chainId}`)) {\n contractCache.delete(key);\n }\n }\n } else {\n // Clear entire cache\n contractCache.clear();\n }\n}\n\n// Function is already exported above, no need for redundant export\n\n// Type-only exports for enhanced type safety\nexport type { GetContractReturnType } from \"viem\";\n"],"mappings":"AAaA;AAAA,EACE;AAAA,OAIK;AACP,SAA4B,cAAiC;AAE7D,SAAS,oBAAoB,0BAA0B;AACvD,SAAS,oBAAoB;AAC7B,SAAS,mBAAmB;AAG5B,MAAM,gBAAgB,oBAAI,IAAwC;AAG3D,MAAM,0BAA0B;AAevC,SAAS,eAAe,UAAwB,SAAyB;AACvE,SAAO,GAAG,QAAQ,IAAI,OAAO;AAC/B;AAgCO,SAAS,sBACd,UACA,SAGsC,aAAa,GACX;AACxC,QAAM,UAAU,OAAO,OAAO,MAAM,YAAY;AAChD,QAAM,WAAW,eAAe,UAAU,OAAO;AAEjD,MAAI,aAAa,cAAc,IAAI,QAAQ;AAE3C,MAAI,CAAC,YAAY;AACf,iBAAa,YAAY;AAAA,MACvB,SAAS,mBAAmB,SAAS,QAAQ;AAAA,MAC7C,KAAK,OAAO,QAAQ;AAAA,MACpB;AAAA,IACF,CAAC;AAED,kBAAc,IAAI,UAAU,UAAU;AAAA,EACxC;AAEA,SAAO;AACT;AA+BO,SAAS,gBACd,UACA,UAAuB,YAAY,IACJ;AAC/B,SAAO;AAAA,IACL,SAAS,mBAAmB,SAAS,QAAQ;AAAA,IAC7C,KAAK,OAAO,QAAQ;AAAA,EACtB;AACF;AAuBO,MAAM,gBAAgB;AAAA,EACV;AAAA,EAIA;AAAA,EAEjB,YACE,QACA;AACA,SAAK,SAAS;AACd,QAAI;AACF,WAAK,UAAU,OAAO,OAAO,MAAM,YAAY;AAAA,IACjD,QAAQ;AACN,WAAK,UAAU,YAAY;AAAA,IAC7B;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,OACE,UACwC;AACxC,WAAO,sBAAsB,UAAU,KAAK,MAAM;AAAA,EACpD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,QAAgC,UAA4C;AAC1E,WAAO,gBAAgB,UAAU,KAAK,OAAsB;AAAA,EAC9D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,wBAAwC;AAEtC,UAAM,iBAAiB,mBAAmB,KAAK,OAAO;AACtD,QAAI,CAAC,eAAgB,QAAO,CAAC;AAE7B,WAAO,OAAO,KAAK,cAAc;AAAA,EACnC;AACF;AAQO,SAAS,mBACd,UACA,SACM;AACN,MAAI,YAAY,SAAS;AACvB,UAAM,WAAW,eAAe,UAAU,OAAO;AACjD,kBAAc,OAAO,QAAQ;AAAA,EAC/B,WAAW,UAAU;AAEnB,eAAW,OAAO,cAAc,KAAK,GAAG;AACtC,UAAI,IAAI,WAAW,GAAG,QAAQ,GAAG,GAAG;AAClC,sBAAc,OAAO,GAAG;AAAA,MAC1B;AAAA,IACF;AAAA,EACF,WAAW,SAAS;AAElB,eAAW,OAAO,cAAc,KAAK,GAAG;AACtC,UAAI,IAAI,SAAS,IAAI,OAAO,EAAE,GAAG;AAC/B,sBAAc,OAAO,GAAG;AAAA,MAC1B;AAAA,IACF;AAAA,EACF,OAAO;AAEL,kBAAc,MAAM;AAAA,EACtB;AACF;","names":[]}
|
|
@@ -34,7 +34,7 @@ module.exports = __toCommonJS(data_exports);
|
|
|
34
34
|
var import_viem = require("viem");
|
|
35
35
|
var import_pollingManager = require("../core/pollingManager");
|
|
36
36
|
var import_base = require("./base");
|
|
37
|
-
var import_addresses = require("../
|
|
37
|
+
var import_addresses = require("../generated/addresses");
|
|
38
38
|
var import_abi = require("../generated/abi");
|
|
39
39
|
var import_errors = require("../errors");
|
|
40
40
|
var import_subgraph = require("../generated/subgraph");
|