+
{(item.opts && item.opts.upgradeable && item.opts.upgradeable === 'uupds') && Upgradeable-UUPS}
{(item.opts && item.opts.mintable) && mintable}
{(item.opts && item.opts.burnable) && burnable}
diff --git a/apps/remix-ide/src/app/plugins/templates-selection/templates.ts b/apps/remix-ide/src/app/plugins/templates-selection/templates.ts
index 5bde8d57efd..2a6ae5fc15d 100644
--- a/apps/remix-ide/src/app/plugins/templates-selection/templates.ts
+++ b/apps/remix-ide/src/app/plugins/templates-selection/templates.ts
@@ -267,18 +267,53 @@ export const templates = (intl, plugin) => {
onClickLabel: 'Open Cookbook Plugin',
description: 'Discover more templates!',
items: [
- { value: "token-sale", displayName: 'Token Sale' },
- { value: "simple-nft-sale", displayName: 'Simple Nft Sale' },
- { value: "Azuki-ERC721A-NFT-Sale-basic", displayName: 'Azuki ERC721A NFT Sale basic' },
- { value: "Azuki-ERC721A-ERC721A", displayName: 'Azuki ERC721A' },
- { value: "token-staking-with-infinite-rewards", displayName: 'Token Staking with infinite rewards' },
- { value: "nft-staking-with-infinite-rewards", displayName: 'Nft Staking with infinite rewards' },
- { value: "basic-dao", displayName: 'Basic DAO' },
- { value: "soulbound-nft", displayName: 'Soulbound Nft' },
- { value: "multi-collection-nft-with-burnable-nfts-and-pausable-transfers", displayName: 'Multi collection NFT', description: "Multi collection NFT with:", opts: {
- burnable: true,
- pausable: true
- }, },
+ {
+ value: "token-sale",
+ displayName: 'Token Sale',
+ description: "ERC20 token sale contact. Sell tokens for ETH"
+ },
+ {
+ value: "simple-nft-sale",
+ displayName: 'Simple Nft Sale',
+ description: "ERC721 NFT with an adjustable price & to mint free NFTs"
+ },
+ {
+ value: "Azuki-ERC721A-NFT-Sale-basic",
+ displayName: 'Azuki ERC721A NFT Sale basic',
+ description: "An implementation of the ERC721A standard"
+ },
+ {
+ value: "Azuki-ERC721A-NFT-Sale",
+ displayName: 'Azuki ERC721A NFT Sale',
+ description: "An extension of the ERC721A standard with wallet limit"
+ },
+ {
+ value: "token-staking-with-infinite-rewards",
+ displayName: 'Token Staking with infinite rewards',
+ description: "Token staking contract to reward ERC20 tokens for every token staked"
+ },
+ {
+ value: "nft-staking-with-infinite-rewards",
+ displayName: 'NFT Staking with infinite rewards',
+ description: "NFT staking contract to reward exact number of ERC20 tokens per day"
+ },
+ {
+ value: "basic-dao",
+ displayName: 'Basic DAO',
+ description: "A very simple implementation of a DAO"
+ },
+ {
+ value: "soulbound-nft",
+ displayName: 'Soulbound NFT',
+ description: "ERC721 Soulbound NFT with no transfer capability"
+ },
+ { value: "multi-collection-nft-with-burnable-nfts-and-pausable-transfers",
+ displayName: 'Multi collection NFT',
+ description: "Multi collection NFT with:",
+ opts: {
+ burnable: true,
+ pausable: true
+ }, },
]
},
{
diff --git a/apps/remix-ide/src/remixAppManager.js b/apps/remix-ide/src/remixAppManager.js
index f8230695857..dc370bd5d52 100644
--- a/apps/remix-ide/src/remixAppManager.js
+++ b/apps/remix-ide/src/remixAppManager.js
@@ -93,6 +93,8 @@ const dependentModules = ['foundry', 'hardhat', 'truffle', 'slither']
const loadLocalPlugins = ['doc-gen', 'doc-viewer', 'etherscan', 'vyper', 'solhint', 'walletconnect', 'circuit-compiler', 'learneth', 'quick-dapp']
+const partnerPlugins = ['cookbookdev']
+
const sensitiveCalls = {
fileManager: ['writeFile', 'copyFile', 'rename', 'copyDir'],
contentImport: ['resolveAndSave'],
@@ -206,6 +208,11 @@ export class RemixAppManager extends PluginManager {
return true
}
+ // skipping partner plugins' requests
+ if (partnerPlugins[from]) {
+ return true
+ }
+
// ask the user for permission
return await this.call('permissionhandler', 'askPermission', this.profiles[from], this.profiles[to], method, message, isSensitiveCall)
}
diff --git a/libs/remix-ui/workspace/src/lib/utils/constants.ts b/libs/remix-ui/workspace/src/lib/utils/constants.ts
index f0d150afb16..1d28b8d40a0 100644
--- a/libs/remix-ui/workspace/src/lib/utils/constants.ts
+++ b/libs/remix-ui/workspace/src/lib/utils/constants.ts
@@ -88,6 +88,36 @@ export const TEMPLATE_METADATA: Record = {
name: 'cookbookdev',
endpoint: 'openContract',
params: ['multi-collection-nft-with-burnable-nfts-and-pausable-transfers']
+ },
+ 'OpenSea-Seaport': {
+ type: 'plugin',
+ name: 'cookbookdev',
+ endpoint: 'openProtocol',
+ params: ['OpenSea-Seaport']
+ },
+ 'Ethereum-Name-Service': {
+ type: 'plugin',
+ name: 'cookbookdev',
+ endpoint: 'openProtocol',
+ params: ['Ethereum-Name-Service']
+ },
+ 'Umbra-Cash': {
+ type: 'plugin',
+ name: 'cookbookdev',
+ endpoint: 'openProtocol',
+ params: ['Umbra-Cash']
+ },
+ 'Aave-V3': {
+ type: 'plugin',
+ name: 'cookbookdev',
+ endpoint: 'openProtocol',
+ params: ['Aave-V3']
+ },
+ 'ChainLink': {
+ type: 'plugin',
+ name: 'cookbookdev',
+ endpoint: 'openProtocol',
+ params: ['ChainLink']
}
}