Skip to content

Commit

Permalink
added nft721 access template
Browse files Browse the repository at this point in the history
  • Loading branch information
H34D committed Jul 9, 2021
1 parent c5e4bd2 commit fccaffb
Show file tree
Hide file tree
Showing 3 changed files with 96 additions and 143 deletions.
1 change: 1 addition & 0 deletions contracts.json
Expand Up @@ -20,6 +20,7 @@
"ComputeExecutionCondition",
"AccessTemplate",
"NFTAccessTemplate",
"NFTAccessTemplate:NFT721AccessTemplate",
"DIDSalesTemplate",
"NFTSalesTemplate",
"NFTSalesTemplate:NFT721SalesTemplate",
Expand Down
18 changes: 18 additions & 0 deletions scripts/deploy/truffle-wrapper/deploy/initializeContracts.js
Expand Up @@ -360,6 +360,24 @@ async function initializeContracts({
}
}

if (getAddress('AgreementStoreManager') &&
getAddress('NFTAccessCondition') &&
getAddress('NFT721HolderCondition')) {
if (contracts.indexOf('NFT721AccessTemplate') > -1) {
addressBook.NFT721AccessTemplate = zosCreate({
contract: 'NFT721AccessTemplate',
network,
args: [
roles.ownerWallet,
getAddress('AgreementStoreManager'),
getAddress('NFT721HolderCondition'),
getAddress('NFTAccessCondition')
],
verbose
})
}
}

if (getAddress('AgreementStoreManager') &&
getAddress('LockPaymentCondition') &&
getAddress('TransferNFTCondition') &&
Expand Down
220 changes: 77 additions & 143 deletions scripts/deploy/truffle-wrapper/deploy/setupContracts.js
Expand Up @@ -20,6 +20,34 @@ async function approveTemplate({
}
}

async function setupTemplate({ verbose, TemplateStoreManagerInstance, templateName, addressBook, roles } = {}) {
const templateAddress = addressBook[templateName]
if (templateAddress) {
if (verbose) {
console.log(
`Proposing template ${templateName}: ${templateAddress} from ${roles.deployer}`
)
}

await TemplateStoreManagerInstance.proposeTemplate(
templateAddress,
{ from: roles.deployer }
)

if (verbose) {
console.log(
`Approving template ${templateName}: ${templateAddress} from ${roles.deployer}`
)
}

await approveTemplate({
TemplateStoreManagerInstance,
roles,
templateAddress
})
}
}

async function transferOwnership({
ContractInstance,
name,
Expand Down Expand Up @@ -77,155 +105,61 @@ async function setupContracts({
const TemplateStoreManagerInstance =
await TemplateStoreManager.at(addressBook.TemplateStoreManager)

if (addressBook.AccessTemplate) {
if (verbose) {
console.log(
`Proposing template ${addressBook.AccessTemplate} from ${roles.deployer}`
)
}

await TemplateStoreManagerInstance.proposeTemplate(
addressBook.AccessTemplate,
{ from: roles.deployer }
)

if (verbose) {
console.log(
`Approving template ${addressBook.AccessTemplate} from ${roles.deployer}`
)
}

await approveTemplate({
TemplateStoreManagerInstance,
roles,
templateAddress: addressBook.AccessTemplate
})
}

if (addressBook.EscrowComputeExecutionTemplate) {
if (verbose) {
console.log(
`Proposing template ${addressBook.EscrowComputeExecutionTemplate} from ${roles.deployer}`
)
}

await TemplateStoreManagerInstance.proposeTemplate(
addressBook.EscrowComputeExecutionTemplate,
{ from: roles.deployer }
)

if (verbose) {
console.log(
`Approving template ${addressBook.EscrowComputeExecutionTemplate} from ${roles.deployer}`
)
}

await approveTemplate({
TemplateStoreManagerInstance,
roles,
templateAddress: addressBook.EscrowComputeExecutionTemplate
})
}

if (addressBook.NFTAccessTemplate) {
if (verbose) {
console.log(
`Proposing template ${addressBook.NFTAccessTemplate} from ${roles.deployer}`
)
}

await TemplateStoreManagerInstance.proposeTemplate(
addressBook.NFTAccessTemplate,
{ from: roles.deployer }
)

if (verbose) {
console.log(
`Approving template ${addressBook.NFTAccessTemplate} from ${roles.deployer}`
)
}

await approveTemplate({
TemplateStoreManagerInstance,
roles,
templateAddress: addressBook.NFTAccessTemplate
})
}

if (addressBook.DIDSalesTemplate) {
if (verbose) {
console.log(
`Proposing template ${addressBook.DIDSalesTemplate} from ${roles.deployer}`
)
}

await TemplateStoreManagerInstance.proposeTemplate(
addressBook.DIDSalesTemplate,
{ from: roles.deployer }
)

if (verbose) {
console.log(
`Approving template ${addressBook.DIDSalesTemplate} from ${roles.deployer}`
)
}

await approveTemplate({
TemplateStoreManagerInstance,
roles,
templateAddress: addressBook.DIDSalesTemplate
})
}

if (addressBook.NFTSalesTemplate) {
if (verbose) {
console.log(
`Proposing template ${addressBook.NFTSalesTemplate} from ${roles.deployer}`
)
}

await TemplateStoreManagerInstance.proposeTemplate(
addressBook.NFTSalesTemplate,
{ from: roles.deployer }
)
await setupTemplate({
verbose,
TemplateStoreManagerInstance,
templateName: 'AccessTemplate',
addressBook,
roles
})

if (verbose) {
console.log(
`Approving template ${addressBook.NFTSalesTemplate} from ${roles.deployer}`
)
}
await setupTemplate({
verbose,
TemplateStoreManagerInstance,
templateName: 'EscrowComputeExecutionTemplate',
addressBook,
roles
})

await approveTemplate({
TemplateStoreManagerInstance,
roles,
templateAddress: addressBook.NFTSalesTemplate
})
}
await setupTemplate({
verbose,
TemplateStoreManagerInstance,
templateName: 'NFTAccessTemplate',
addressBook,
roles
})

if (addressBook.NFT721SalesTemplate) {
if (verbose) {
console.log(
`Proposing template ${addressBook.NFT721SalesTemplate} from ${roles.deployer}`
)
}
await setupTemplate({
verbose,
TemplateStoreManagerInstance,
templateName: 'NFT721AccessTemplate',
addressBook,
roles
})

await TemplateStoreManagerInstance.proposeTemplate(
addressBook.NFT721SalesTemplate,
{ from: roles.deployer }
)
await setupTemplate({
verbose,
TemplateStoreManagerInstance,
templateName: 'NFTSalesTemplate',
addressBook,
roles
})

if (verbose) {
console.log(
`Approving template ${addressBook.NFT721SalesTemplate} from ${roles.deployer}`
)
}
await setupTemplate({
verbose,
TemplateStoreManagerInstance,
templateName: 'NFT721SalesTemplate',
addressBook,
roles
})

await approveTemplate({
TemplateStoreManagerInstance,
roles,
templateAddress: addressBook.NFT721SalesTemplate
})
}
await setupTemplate({
verbose,
TemplateStoreManagerInstance,
templateName: 'DIDSalesTemplate',
addressBook,
roles
})

await transferOwnership({
ContractInstance: TemplateStoreManagerInstance,
Expand Down

0 comments on commit fccaffb

Please sign in to comment.