@fractional-company/common
Version:
Tessera constants
81 lines (80 loc) • 3.87 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getBasketNFTEvents = exports.getLatestBasketItem = exports.getBasketFactoryBlockNumber = exports.getBasketFactoryABI = exports.getBasketABI = exports.getBasketItem = exports.BASKET_FACTORY_CONTRACT_MAPPER = exports.NFT_EVENTS_V2 = exports.NFT_EVENTS_V1 = exports.TYPE_BASKET_FACTORY = exports.TYPE_BASKET = exports.BASKET_FACTORY_MAINNET_V2 = exports.BASKET_FACTORY_MAINNET_V1 = void 0;
const chains_1 = require("../common/chains");
const NFTBasket_json_1 = __importDefault(require("./abis/NFTBasket.json"));
const NFTBasketV2_json_1 = __importDefault(require("./abis/NFTBasketV2.json"));
const indexFactory_json_1 = __importDefault(require("./abis/indexFactory.json"));
const indexFactoryV2_json_1 = __importDefault(require("./abis/indexFactoryV2.json"));
const common_1 = require("./common");
exports.BASKET_FACTORY_MAINNET_V1 = '0xde771104c0c44123d22d39bb716339cd0c3333a1';
exports.BASKET_FACTORY_MAINNET_V2 = '0xa5e8172cdfb69c08b32ca64705fd88f0d0427331';
exports.TYPE_BASKET = 'BASKET';
exports.TYPE_BASKET_FACTORY = 'BASKET_FACTORY';
exports.NFT_EVENTS_V1 = ['Deposit', 'Withdraw'];
exports.NFT_EVENTS_V2 = ['DepositERC1155', 'DepositERC721', 'WithdrawERC1155', 'WithdrawERC721', 'DepositERC1155Bulk'];
// ==============================================
// Basket
// ==============================================
exports.BASKET_FACTORY_CONTRACT_MAPPER = {
[chains_1.CHAINS.MAINNET]: [
{
contractAddress: exports.BASKET_FACTORY_MAINNET_V1,
abi: indexFactory_json_1.default,
blockNumber: 12748697,
basket: {
abi: NFTBasket_json_1.default
},
nftEvents: exports.NFT_EVENTS_V1
},
{
contractAddress: exports.BASKET_FACTORY_MAINNET_V2,
abi: indexFactoryV2_json_1.default,
blockNumber: 13271063,
basket: {
abi: NFTBasketV2_json_1.default
},
nftEvents: exports.NFT_EVENTS_V2
},
],
[chains_1.CHAINS.GÖRLI]: [
{
contractAddress: "0x421010913e9E5a0f0699977Cd70132a304cEF3a7",
abi: indexFactoryV2_json_1.default,
blockNumber: 7730789,
basket: {
abi: NFTBasketV2_json_1.default
},
nftEvents: exports.NFT_EVENTS_V2
},
]
};
function getBasketItem(chainId, contractAddress) {
return (0, common_1.getItemFromArrayByContractAddress)(exports.BASKET_FACTORY_CONTRACT_MAPPER[chainId || chains_1.CHAINS.MAINNET], contractAddress);
}
exports.getBasketItem = getBasketItem;
function getBasketABI(chainId, contractAddress) {
// eslint-disable-next-line prettier/prettier
return getBasketItem(chainId, contractAddress)?.basket?.abi;
}
exports.getBasketABI = getBasketABI;
function getBasketFactoryABI(chainId, contractAddress) {
return getBasketItem(chainId, contractAddress)?.abi;
}
exports.getBasketFactoryABI = getBasketFactoryABI;
function getBasketFactoryBlockNumber(chainId, contractAddress) {
return getBasketItem(chainId, contractAddress)?.blockNumber;
}
exports.getBasketFactoryBlockNumber = getBasketFactoryBlockNumber;
function getLatestBasketItem(chainId) {
const basketArray = exports.BASKET_FACTORY_CONTRACT_MAPPER[chainId || chains_1.CHAINS.MAINNET];
return basketArray[basketArray.length - 1];
}
exports.getLatestBasketItem = getLatestBasketItem;
function getBasketNFTEvents(chainId, contractAddress) {
return getBasketItem(chainId, contractAddress)?.nftEvents;
}
exports.getBasketNFTEvents = getBasketNFTEvents;