UNPKG

@renft/sdk

Version:

**ReNFT** is a multi-chain highly gas-optimised NFT rental protocol and platform that can be whitelabel integrated into any project to enable collateral-free in-house renting, lending, and reward share (scholarship automation).

83 lines (79 loc) 2.9 kB
import { AzraelVersion, RenftContractType, ResolverVersion, SylvesterVersion, WhoopiVersion, } from '../types'; import { DEPLOYMENT_AZRAEL_ETHEREUM_MAINNET_V0 } from './azrael.v0'; import { DEPLOYMENT_RESOLVER_AVALANCHE_FUJI_TESTNET_V0, DEPLOYMENT_RESOLVER_AVALANCHE_MAINNET_V0, DEPLOYMENT_RESOLVER_ETHEREUM_GOERLI_TESTNET_V0, DEPLOYMENT_RESOLVER_ETHEREUM_MAINNET_V0, DEPLOYMENT_RESOLVER_POLYGON_MAINNET_V0, } from './resolver.v0'; import { DEPLOYMENT_RESOLVER_POLYGON_MAINNET_V1 } from './resolver.v1'; import { DEPLOYMENT_SYLVESTER_ETHEREUM_GOERLI_TESTNET_V0, DEPLOYMENT_SYLVESTER_ETHEREUM_MAINNET_V0, DEPLOYMENT_SYLVESTER_POLYGON_MAINNET_V0, } from './sylvester.v0'; import { DEPLOYMENT_SYLVESTER_POLYGON_MAINNET_V1 } from './sylvester.v1'; import { DEPLOYMENT_WHOOPI_AVALANCHE_FUJI_TESTNET_V0, DEPLOYMENT_WHOOPI_AVALANCHE_MAINNET_V0, } from './whoopi.v0'; export { DEPLOYMENT_AZRAEL_ETHEREUM_MAINNET_V0, DEPLOYMENT_RESOLVER_AVALANCHE_FUJI_TESTNET_V0, DEPLOYMENT_RESOLVER_AVALANCHE_MAINNET_V0, DEPLOYMENT_RESOLVER_ETHEREUM_GOERLI_TESTNET_V0, DEPLOYMENT_RESOLVER_ETHEREUM_MAINNET_V0, DEPLOYMENT_RESOLVER_POLYGON_MAINNET_V0, DEPLOYMENT_RESOLVER_POLYGON_MAINNET_V1, DEPLOYMENT_SYLVESTER_ETHEREUM_GOERLI_TESTNET_V0, DEPLOYMENT_SYLVESTER_ETHEREUM_MAINNET_V0, DEPLOYMENT_SYLVESTER_POLYGON_MAINNET_V0, DEPLOYMENT_SYLVESTER_POLYGON_MAINNET_V1, DEPLOYMENT_WHOOPI_AVALANCHE_FUJI_TESTNET_V0, DEPLOYMENT_WHOOPI_AVALANCHE_MAINNET_V0, }; export type Deployments = | typeof DEPLOYMENT_AZRAEL_ETHEREUM_MAINNET_V0 | typeof DEPLOYMENT_SYLVESTER_ETHEREUM_MAINNET_V0 | typeof DEPLOYMENT_SYLVESTER_ETHEREUM_GOERLI_TESTNET_V0 | typeof DEPLOYMENT_SYLVESTER_POLYGON_MAINNET_V0 | typeof DEPLOYMENT_SYLVESTER_POLYGON_MAINNET_V1 | typeof DEPLOYMENT_WHOOPI_AVALANCHE_FUJI_TESTNET_V0 | typeof DEPLOYMENT_WHOOPI_AVALANCHE_MAINNET_V0 | typeof DEPLOYMENT_RESOLVER_ETHEREUM_MAINNET_V0 | typeof DEPLOYMENT_RESOLVER_ETHEREUM_GOERLI_TESTNET_V0 | typeof DEPLOYMENT_RESOLVER_POLYGON_MAINNET_V0 | typeof DEPLOYMENT_RESOLVER_POLYGON_MAINNET_V1 | typeof DEPLOYMENT_RESOLVER_AVALANCHE_FUJI_TESTNET_V0 | typeof DEPLOYMENT_RESOLVER_AVALANCHE_MAINNET_V0; export function isValidContractVersion({ contractType, version, }: { contractType: RenftContractType; version: string; }): boolean { switch (contractType) { case RenftContractType.RESOLVER: return Object.values(ResolverVersion).includes( version as ResolverVersion ); case RenftContractType.WHOOPI: return Object.values(WhoopiVersion).includes(version as WhoopiVersion); case RenftContractType.AZRAEL: return Object.values(AzraelVersion).includes(version as AzraelVersion); case RenftContractType.SYLVESTER: return Object.values(SylvesterVersion).includes( version as SylvesterVersion ); default: return false; } }