@opendatalabs/vana-sdk
Version:
A TypeScript library for interacting with Vana Network smart contracts.
252 lines • 7.02 kB
JavaScript
const CONTRACTS = {
// ========================================
// ENTRY POINTS (from contracts.config.ts)
// ========================================
DataPortabilityPermissions: {
addresses: {
14800: "0xD54523048AdD05b4d734aFaE7C68324Ebb7373eF",
1480: "0xD54523048AdD05b4d734aFaE7C68324Ebb7373eF"
}
},
DataPortabilityServers: {
addresses: {
14800: "0x1483B1F634DBA75AeaE60da7f01A679aabd5ee2c",
1480: "0x1483B1F634DBA75AeaE60da7f01A679aabd5ee2c"
}
},
DataPortabilityGrantees: {
addresses: {
14800: "0x8325C0A0948483EdA023A1A2Fd895e62C5131234",
1480: "0x8325C0A0948483EdA023A1A2Fd895e62C5131234"
}
},
DataRegistry: {
addresses: {
14800: "0x8C8788f98385F6ba1adD4234e551ABba0f82Cb7C",
1480: "0x8C8788f98385F6ba1adD4234e551ABba0f82Cb7C"
}
},
ComputeEngine: {
addresses: {
14800: "0xb2BFe33FA420c45F1Cf1287542ad81ae935447bd",
1480: "0xb2BFe33FA420c45F1Cf1287542ad81ae935447bd"
}
},
QueryEngine: {
addresses: {
14800: "0xd25Eb66EA2452cf3238A2eC6C1FD1B7F5B320490",
1480: "0xd25Eb66EA2452cf3238A2eC6C1FD1B7F5B320490"
}
},
DataRefinerRegistry: {
addresses: {
14800: "0x93c3EF89369fDcf08Be159D9DeF0F18AB6Be008c",
1480: "0x93c3EF89369fDcf08Be159D9DeF0F18AB6Be008c"
}
},
ComputeInstructionRegistry: {
addresses: {
14800: "0x5786B12b4c6Ba2bFAF0e77Ed30Bf6d32805563A5",
1480: "0x5786B12b4c6Ba2bFAF0e77Ed30Bf6d32805563A5"
}
},
TeePoolPhala: {
addresses: {
14800: "0xE8EC6BD73b23Ad40E6B9a6f4bD343FAc411bD99A",
1480: "0xE8EC6BD73b23Ad40E6B9a6f4bD343FAc411bD99A"
}
},
TeePoolEphemeralStandard: {
addresses: {
14800: "0xe124bae846D5ec157f75Bd9e68ca87C4d2AB835A",
1480: "0xe124bae846D5ec157f75Bd9e68ca87C4d2AB835A"
}
},
TeePoolPersistentStandard: {
addresses: {
14800: "0xe8bB8d0629651Cf33e0845d743976Dc1f0971d76",
1480: "0xe8bB8d0629651Cf33e0845d743976Dc1f0971d76"
}
},
TeePoolPersistentGpu: {
addresses: {
14800: "0x1c346Cd74f8551f8fa13f3F4b6b8dAE22338E6a9",
1480: "0x1c346Cd74f8551f8fa13f3F4b6b8dAE22338E6a9"
}
},
TeePoolDedicatedStandard: {
addresses: {
14800: "0xf024b7ac5E8417416f53B41ecfa58C8e9396687d",
1480: "0xf024b7ac5E8417416f53B41ecfa58C8e9396687d"
}
},
TeePoolDedicatedGpu: {
addresses: {
14800: "0xB1686FA9620bBf851714d1cB47b8a4Bf4664644E",
1480: "0xB1686FA9620bBf851714d1cB47b8a4Bf4664644E"
}
},
VanaEpoch: {
addresses: {
14800: "0x2063cFF0609D59bCCc196E20Eb58A8696a6b15A0",
1480: "0x2063cFF0609D59bCCc196E20Eb58A8696a6b15A0"
}
},
DLPRegistry: {
addresses: {
14800: "0x4D59880a924526d1dD33260552Ff4328b1E18a43",
1480: "0x4D59880a924526d1dD33260552Ff4328b1E18a43"
}
},
VanaPoolStaking: {
addresses: {
14800: "0x641C18E2F286c86f96CE95C8ec1EB9fC0415Ca0e",
1480: "0x641C18E2F286c86f96CE95C8ec1EB9fC0415Ca0e"
}
},
DATFactory: {
addresses: {
14800: "0x40f8bccF35a75ecef63BC3B1B3E06ffEB9220644",
1480: "0x40f8bccF35a75ecef63BC3B1B3E06ffEB9220644"
}
},
DAT: {
addresses: {
14800: "0xA706b93ccED89f13340673889e29F0a5cd84212d",
1480: "0xA706b93ccED89f13340673889e29F0a5cd84212d"
}
},
DATPausable: {
addresses: {
14800: "0xe69FE86f0B95cC2f8416Fe22815c85DC8887e76e",
1480: "0xe69FE86f0B95cC2f8416Fe22815c85DC8887e76e"
}
},
DATVotes: {
addresses: {
14800: "0xaE04c8A77E9B27869eb563720524A9aE0baf1831",
1480: "0xaE04c8A77E9B27869eb563720524A9aE0baf1831"
}
},
WVANA: {
addresses: {
14800: "0xbccc4b4c6530F82FE309c5E845E50b5E9C89f2AD",
1480: "0x00EDdD9621Fb08436d0331c149D1690909a5906d"
}
},
UniswapV3NonfungiblePositionManager: {
addresses: {
14800: "0x48Bd633f4B9128a38Ebb4a48b6975EB3Eaf1931b",
1480: "0x45a2992e1bFdCF9b9AcE0a84A238f2E56F481816"
}
},
UniswapV3QuoterV2: {
addresses: {
14800: "0x3152246f3CD4dD465292Dd4Ffd792E2Cf602e332",
1480: "0x1b13728ea3C90863990aC0e05987CfeC1888908c"
}
},
Multicall3: {
addresses: {
14800: "0xD8d2dFca27E8797fd779F8547166A2d3B29d360E",
1480: "0xD8d2dFca27E8797fd779F8547166A2d3B29d360E"
}
},
Multisend: {
addresses: {
14800: "0x8807e8BCDFbaA8c2761760f3FBA37F6f7F2C5b2d",
1480: "0x8807e8BCDFbaA8c2761760f3FBA37F6f7F2C5b2d"
}
},
// ========================================
// AUTO-DISCOVERED (via on-chain queries)
// ========================================
ComputeEngineTreasury: {
addresses: {
14800: "0xceB33C501B624D984bD1Ed3298f6D1d8F7CE03d1",
1480: "0xceB33C501B624D984bD1Ed3298f6D1d8F7CE03d1"
},
_meta: {
discoveredFrom: "ComputeEngine",
lastUpdated: "2026-04-30"
}
},
VanaTreasury: {
addresses: {
14800: "0x8B32Ef32f22e72cc25D53f6E858f57cAe7E198f9",
1480: "0x8B32Ef32f22e72cc25D53f6E858f57cAe7E198f9"
},
_meta: {
discoveredFrom: "QueryEngine",
lastUpdated: "2026-04-30"
}
},
DLPRegistryTreasury: {
addresses: {
14800: "0xb12ce1d27bEeFe39b6F0110b1AB77C21Aa0c9F9a",
1480: "0xb12ce1d27bEeFe39b6F0110b1AB77C21Aa0c9F9a"
},
_meta: {
discoveredFrom: "DLPRegistry",
lastUpdated: "2026-04-30"
}
},
VanaPoolTreasury: {
addresses: {
14800: "0x143BE72CF2541604A7691933CAccd6D9cC17c003",
1480: "0x143BE72CF2541604A7691933CAccd6D9cC17c003"
},
_meta: {
discoveredFrom: "VanaPoolStaking",
lastUpdated: "2026-04-30"
}
},
VanaPoolEntity: {
addresses: {
14800: "0x44f20490A82e1f1F1cC25Dd3BA8647034eDdce30",
1480: "0x44f20490A82e1f1F1cC25Dd3BA8647034eDdce30"
},
_meta: {
discoveredFrom: "VanaPoolStaking",
lastUpdated: "2026-04-30"
}
}
};
const CONTRACT_ADDRESSES = {
14800: Object.fromEntries(
Object.entries(CONTRACTS).map(([name, info]) => [name, info.addresses[14800]]).filter(([, addr]) => addr)
),
1480: Object.fromEntries(
Object.entries(CONTRACTS).map(([name, info]) => [name, info.addresses[1480]]).filter(([, addr]) => addr)
)
};
const UTILITY_ADDRESSES = {
14800: {
Multicall3: CONTRACTS.Multicall3.addresses[14800],
Multisend: CONTRACTS.Multisend.addresses[14800]
},
1480: {
Multicall3: CONTRACTS.Multicall3.addresses[1480],
Multisend: CONTRACTS.Multisend.addresses[1480]
}
};
const getContractAddress = (chainId, contract) => {
const contractAddress = CONTRACT_ADDRESSES[chainId]?.[contract];
if (!contractAddress) {
throw new Error(
`Contract address not found for ${contract} on chain ${chainId}`
);
}
return contractAddress;
};
const getUtilityAddress = (chainId, contract) => {
return UTILITY_ADDRESSES[chainId][contract];
};
export {
CONTRACTS,
CONTRACT_ADDRESSES,
UTILITY_ADDRESSES,
getContractAddress,
getUtilityAddress
};
//# sourceMappingURL=addresses.js.map