create-web3-dapp-dev
Version:
<p align="center"> <br /> <a href="https://createweb3dapp.alchemy.com"> <img src=".github/images/cw3d-logo.png" width="200" alt=""/></a> <br /> </p>
127 lines (123 loc) • 2.82 kB
text/typescript
export const getAvailableLibrariesForStandard = (standard) => {
return libraries[standard];
};
export const selectLibrariesForStandard = (
standard: string,
selectedLibraries: [string]
) => {
if (selectedLibraries && selectedLibraries.length) {
for (const library of libraries[standard]) {
if (selectedLibraries.includes(library.value)) {
library.selected = true;
} else {
library.selected = false;
}
}
}
};
const libraries = {
ERC721: [
{
title: "Burnable",
value: "isBurnable",
description: "ERC721 Token that can be burned (destroyed).",
},
{
title: "Pausable",
value: "isPausable",
description: "Adds pausable token transfers, minting and burning.",
},
{
title: "Votes",
value: "isVotes",
description: "Support voting and delegation",
},
{
title: "Auto Increment",
value: "isAutoIncrement",
description: "Adds auto incremint token IDs",
},
{
title: "Enumerable",
value: "isEnumerable",
description:
"Adds enumerability of all the token ids in the contract",
},
{
title: "URIStorage",
value: "isURIStorage",
description: "Adds storage based token URI management.",
},
{
title: "Ownable",
value: "isOwnable",
description: "Provides a basic access control mechanism",
},
{
title: "Roles",
value: "isRoles",
description: "Implements role-based access control ",
},
],
ERC20: [
{
title: "Burnable",
value: "isBurnable",
description: "ERC721 Token that can be burned (destroyed).",
},
{
title: "Pausable",
value: "isPausable",
description: "Adds pausable token transfers, minting and burning.",
},
{
title: "Votes",
value: "isVotes",
description: "Support voting and delegation",
},
{
title: "Flash Mint",
value: "isFlashMint",
description:
"Token level support for flash loans through minting and burning of ephemeral tokens",
},
{
title: "Snapshot",
value: "isEnumerable",
description:
"When a snapshot is created, the balances and total supply at the time are recorded for later access.",
},
{
title: "Ownable",
value: "isOwnable",
description: "Provides a basic access control mechanism",
},
{
title: "Roles",
value: "isRoles",
description: "Implements role-based access control ",
},
],
ERC1155: [
{
title: "Burnable",
value: "isBurnable",
description: "ERC721 Token that can be burned (destroyed).",
},
{
title: "Pausable",
value: "isPausable",
description: "Adds pausable token transfers, minting and burning.",
},
{
title: "Ownable",
value: "isOwnable",
description: "Provides a basic access control mechanism",
},
{
title: "Roles",
value: "isRoles",
description: "Implements role-based access control ",
},
],
};