Skip to content

Commit

Permalink
Merge branch 'main' into dependabot/npm_and_yarn/tests/e2e/hardhat/un…
Browse files Browse the repository at this point in the history
…dici-5.28.4
  • Loading branch information
ryley-o authored Jun 4, 2024
2 parents 7a4271e + c3c64c2 commit b4d34ac
Show file tree
Hide file tree
Showing 22 changed files with 11,466 additions and 74 deletions.
578 changes: 578 additions & 0 deletions abis-supplemental/IGenArt721CoreContractV3_Base.json

Large diffs are not rendered by default.

834 changes: 834 additions & 0 deletions abis-supplemental/IGenArt721CoreContractV3_Engine.json

Large diffs are not rendered by default.

1,121 changes: 1,121 additions & 0 deletions abis-supplemental/IGenArt721CoreContractV3_Engine_Flex.json

Large diffs are not rendered by default.

722 changes: 722 additions & 0 deletions abis-supplemental/IGenArt721CoreContractV3_Engine_PreV3p2.json

Large diffs are not rendered by default.

87 changes: 87 additions & 0 deletions abis-supplemental/IGenArt721CoreContractV3_ProjectFinance.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
{
"_format": "hh-sol-artifact-1",
"contractName": "IGenArt721CoreContractV3_ProjectFinance",
"sourceName": "contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_ProjectFinance.sol",
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "_projectId",
"type": "uint256"
}
],
"name": "projectIdToFinancials",
"outputs": [
{
"components": [
{
"internalType": "address payable",
"name": "additionalPayeePrimarySales",
"type": "address"
},
{
"internalType": "uint8",
"name": "secondaryMarketRoyaltyPercentage",
"type": "uint8"
},
{
"internalType": "address payable",
"name": "additionalPayeeSecondarySales",
"type": "address"
},
{
"internalType": "uint8",
"name": "additionalPayeeSecondarySalesPercentage",
"type": "uint8"
},
{
"internalType": "address payable",
"name": "artistAddress",
"type": "address"
},
{
"internalType": "uint8",
"name": "additionalPayeePrimarySalesPercentage",
"type": "uint8"
},
{
"internalType": "address",
"name": "platformProviderSecondarySalesAddress",
"type": "address"
},
{
"internalType": "uint16",
"name": "platformProviderSecondarySalesBPS",
"type": "uint16"
},
{
"internalType": "address",
"name": "renderProviderSecondarySalesAddress",
"type": "address"
},
{
"internalType": "uint16",
"name": "renderProviderSecondarySalesBPS",
"type": "uint16"
},
{
"internalType": "address",
"name": "royaltySplitter",
"type": "address"
}
],
"internalType": "struct IGenArt721CoreContractV3_ProjectFinance.ProjectFinance",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x",
"deployedBytecode": "0x",
"linkReferences": {},
"deployedLinkReferences": {}
}
7 changes: 6 additions & 1 deletion config/sepolia-dev.json
Original file line number Diff line number Diff line change
Expand Up @@ -327,8 +327,13 @@
"ICoreRegistryContracts": [
{
"address": "0x985C11541ff1fe763822Dc8f71B581C688B979EE",
"name": "Sepolia staging engine registry contract",
"name": "Old Sepolia dev engine registry contract",
"startBlock": 4405396
},
{
"address": "0xfeA4f2f4E45c255ceE626a1A994BB214039c2B9A",
"name": "Current Sepolia dev core registry contract",
"startBlock": 5863293
}
],
"pbabContracts": [
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"test:e2e": "cd tests/e2e && GRAPH_NODE_BASE_IMAGE=graphprotocol/graph-node:latest docker compose -f docker-compose.yml -f docker-compose.test.yml up --exit-code-from runner",
"test:e2e:m1": "cd tests/e2e && GRAPH_NODE_BASE_IMAGE=graph-node:latest docker compose -f docker-compose.yml -f docker-compose.test.yml up --exit-code-from runner",
"test:e2e:ci": "cd tests/e2e && GRAPH_NODE_BASE_IMAGE=graphprotocol/graph-node:latest docker compose -f docker-compose.yml -f docker-compose.ci.yml up --exit-code-from runner",
"run:local": "cd tests/e2e && docker compose -f docker-compose.yml -f docker-compose.local.yml up",
"run:local": "cd tests/e2e && GRAPH_NODE_BASE_IMAGE=graph-node:latest docker compose -f docker-compose.yml -f docker-compose.local.yml up",
"coverage": "graph test -- -c",
"deploy:mainnet-hosted": "yarn prepare:mainnet && graph deploy --product hosted-service --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ artblocks/art-blocks",
"deploy:mainnet-with-secondary-hosted": "yarn prepare:mainnet-with-secondary && graph deploy --product hosted-service --ac --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ artblocks/art-blocks-with-secondary",
Expand Down
82 changes: 77 additions & 5 deletions schema.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,18 @@ type Project @entity {
"Percentage of artist's share of secondary sales that goes to additional payee"
additionalPayeeSecondarySalesPercentage: BigInt

"Address that receives secondary sales platform royalties (null for pre-V3 contracts, check Royalty Registry)"
enginePlatformProviderSecondarySalesAddress: Bytes

"Basis points of secondary sales allocated to the platform (null for pre-V3 contracts, check Royalty Registry)"
enginePlatformProviderSecondarySalesBPS: BigInt

"Address that receives secondary sales render provider royalties (null for pre-V3 contracts, check Royalty Registry)"
renderProviderSecondarySalesAddress: Bytes

"Basis points of secondary sales allocated to the render provider (null for pre-V3 contracts, check Royalty Registry)"
renderProviderSecondarySalesBPS: BigInt

"Artist that created the project"
artist: Account!

Expand Down Expand Up @@ -117,6 +129,12 @@ type Project @entity {
"Proposed Artist addresses and payment split percentages"
proposedArtistAddressesAndSplits: ProposedArtistAddressesAndSplit

"ERC-2981 royalty splitter address, used on v3.2 and-on"
erc2981SplitterAddress: Bytes

"The active royalty splitter contract, used on v3.2 and-on"
erc2981SplitterContract: RoyaltySplitterContract

"Accounts that own tokens of the project"
owners: [AccountProject!] @derivedFrom(field: "project")

Expand Down Expand Up @@ -218,16 +236,19 @@ type Contract @entity {
"Core contract type"
type: CoreType!

"Core contract version (populated on V3 and-on)"
coreVersion: String

"Address that receives primary sales platform fees"
renderProviderAddress: Bytes!

"Percentage of primary sales allocated to the platform"
renderProviderPercentage: BigInt!

"Address that receives secondary sales platform royalties (null for pre-V3 contracts, check Royalty Registry)"
"Deprecated field, will be removed and is not populated for v3.2+ - see Project.renderProviderSecondarySalesAddress"
renderProviderSecondarySalesAddress: Bytes

"Basis points of secondary sales allocated to the platform (null for pre-V3 contracts, check Royalty Registry)"
"Deprecated field, will be removed and is not populated for v3.2+ - see Project.renderProviderSecondarySalesBPS"
renderProviderSecondarySalesBPS: BigInt

"Address that receives primary sales platform fees, only for V3_Engine contracts"
Expand All @@ -236,12 +257,24 @@ type Contract @entity {
"Percentage of primary sales allocated to the platform, only for V3_Engine contracts"
enginePlatformProviderPercentage: BigInt

"Address that receives secondary sales platform royalties, only for V3_Engine contracts"
"Deprecated field, will be removed and is not populated for v3.2+ - see Project.enginePlatformProviderSecondarySalesAddress"
enginePlatformProviderSecondarySalesAddress: Bytes

"Basis points of secondary sales allocated to the platform, only for V3_Engine contracts"
"Deprecated field, will be removed and is not populated for v3.2+ - see Project.enginePlatformProviderSecondarySalesBPS"
enginePlatformProviderSecondarySalesBPS: BigInt

"Default address that receives secondary sales render provider royalties when adding new projects (null for pre-V3 contracts)"
defaultRenderProviderSecondarySalesAddress: Bytes

"Default basis points of secondary sales allocated to the render provider when adding new projects (null for pre-V3 contracts)"
defaultRenderProviderSecondarySalesBPS: BigInt

"Default address that receives secondary sales platform provider royalties when adding new projects (null for pre-V3 contracts)"
defaultEnginePlatformProviderSecondarySalesAddress: Bytes

"Default basis points of secondary sales allocated to the platform provider when adding new projects (null for pre-V3 contracts)"
defaultEnginePlatformProviderSecondarySalesBPS: BigInt

"List of contracts that are allowed to mint, equal to the single minterFilter address for V3 contracts"
mintWhitelisted: [Bytes!]!

Expand All @@ -254,6 +287,9 @@ type Contract @entity {
"Dependency registry contract address"
dependencyRegistry: DependencyRegistry

"Curent royalty split provider contract address, used on v3.2 and-on"
royaltySplitProvider: Bytes

nextProjectId: BigInt!

"List of projects on the contract"
Expand Down Expand Up @@ -607,6 +643,40 @@ type SplitAtomicSplit @entity {
basisPoints: BigInt!
}

type RoyaltySplitterContract @entity {
"unique identifier equal to royalty splitter's contract address"
id: ID!

"split provider contract address that was used to create this contract"
splitProviderCreator: Bytes!

"Core contract that this royalty splitter is associated with"
coreContract: Contract!

"Total allocation of all recipients on the contract"
totalAllocation: BigInt!

"List of split atomic contract splits"
royaltySplitRecipients: [RoyaltySplitRecipient!]!
@derivedFrom(field: "royaltySplitterContract")

createdAt: BigInt!
}

type RoyaltySplitRecipient @entity {
"unique identifier equal to {royalty splitter contract address}-{recipient address}"
id: ID!

"Royalty splitter contract that contains this split recipient"
royaltySplitterContract: RoyaltySplitterContract!

"Address of the recipient of this split"
recipientAddress: Bytes!

"Allocation of the recipient on the split. Recipient receives allocation / totalAllocation of all funds sent to the splitter"
allocation: BigInt!
}

enum SaleType {
Single
Bundle
Expand Down Expand Up @@ -818,6 +888,8 @@ enum ProjectExternalAssetDependencyType {
ARWEAVE
"Asset hosted on chain"
ONCHAIN
"Asset defined on the Art Blocks Dependency Registry"
ART_BLOCKS_DEPENDENCY_REGISTRY
}

type ProjectExternalAssetDependency @entity {
Expand All @@ -830,7 +902,7 @@ type ProjectExternalAssetDependency @entity {
"The dependency type"
dependencyType: ProjectExternalAssetDependencyType!

"The dependency cid. This will be an empty string assets of type ONCHAIN."
"The dependency cid. This will be the CID of the dependency if IPFS or ARWEAVE, empty string of ONCHAIN, or a string representation of the Art Blocks Dependency Registry's `dependencyNameAndVersion` if ART_BLOCKS_DEPENDENCY_REGISTRY."
cid: String!

"The dependency index"
Expand Down
3 changes: 2 additions & 1 deletion src/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,8 @@ export const ERC1155 = "ERC1155";
export const FLEX_CONTRACT_EXTERNAL_ASSET_DEP_TYPES = [
"IPFS",
"ARWEAVE",
"ONCHAIN"
"ONCHAIN",
"ART_BLOCKS_DEPENDENCY_REGISTRY"
];

// This is directly tied to the MinterFilterType enum defined in the subgraph schema
Expand Down
Loading

0 comments on commit b4d34ac

Please sign in to comment.