UNPKG

@samudai_xyz/web3-sdk

Version:

## All in one web3 integrations for Samudai

93 lines (92 loc) 2.85 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getERC1155TokenGating = exports.getERC721TokenGating = exports.getERC20TokenGating = void 0; /** * For ERC20 token gating * @param tokenAddress The address of the token to be used in the condition. * @param chain The chain of the token to be used in the condition. * @returns */ const getERC20TokenGating = (tokenAddress, chain) => { const accessControlConditions = [ { contractAddress: tokenAddress, standardContractType: 'ERC20', chain, method: 'balanceOf', parameters: [':userAddress'], returnValueTest: { comparator: '>', value: '0', }, }, ]; return accessControlConditions; }; exports.getERC20TokenGating = getERC20TokenGating; const getERC721TokenGating = (tokenAddress, chain, tokenId) => { if (tokenId) { const accessControlConditions = [ { contractAddress: tokenAddress, standardContractType: 'ERC721', chain, method: 'ownerOf', parameters: [tokenId], returnValueTest: { comparator: '=', value: ':userAddress', }, }, ]; return accessControlConditions; } const accessControlConditions = [ { contractAddress: tokenAddress, standardContractType: 'ERC721', chain, method: 'balanceOf', parameters: [':userAddress'], returnValueTest: { comparator: '>', value: '0', }, }, ]; return accessControlConditions; }; exports.getERC721TokenGating = getERC721TokenGating; const getERC1155TokenGating = (tokenAddress, chain, tokenId) => { if (tokenId) { const accessControlConditions = [ { contractAddress: tokenAddress, standardContractType: 'ERC1155', chain, method: 'balanceOf', parameters: [':userAddress', tokenId], returnValueTest: { comparator: '>', value: '0', }, }, ]; return accessControlConditions; } const accessControlConditions = [ { contractAddress: tokenAddress, standardContractType: 'ERC1155', chain, method: 'balanceOf', parameters: [':userAddress'], returnValueTest: { comparator: '>', value: '0', }, }, ]; return accessControlConditions; }; exports.getERC1155TokenGating = getERC1155TokenGating;