@samudai_xyz/web3-sdk
Version:
## All in one web3 integrations for Samudai
93 lines (92 loc) • 2.85 kB
JavaScript
;
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;