diff --git a/holaplex.graphql b/holaplex.graphql index 86566c4..179d335 100644 --- a/holaplex.graphql +++ b/holaplex.graphql @@ -66,28 +66,11 @@ enum AssetType { """Ethereum Mainnet""" ETH - """ - Note: Holaplex uses `ETH_TEST` for provisioning wallets on its staging environment but still submits transactions to mainnet. - """ - ETH_TEST - """Mainnet Polygon""" MATIC - """ - Ploygon Mumbai Testnet - Note: Holaplex uses `MATIC_TEST` for provisioning wallets on its staging environment but still submits transactions to mainnet. - """ - MATIC_TEST - """Mainnet Solana""" SOL - - """ - Devnet Solana - Note: Holaplex uses `SOL_TEST` for provisioning wallets on its staging environment but still submits transactions to mainnet. - """ - SOL_TEST } enum Blockchain { @@ -112,6 +95,8 @@ type BlockchainCost { type Collection { """ The blockchain address of the collection used to view it in blockchain explorers. + On Solana this is the mint address. + On EVM chains it is the concatenation of the contract address and the token id `{contractAddress}:{tokenId}`. """ address: String @@ -191,8 +176,12 @@ input CollectionCreatorInput { """Represents a single NFT minted from a collection.""" type CollectionMint { - """The wallet address of the NFT.""" - address: String! + """ + The address of the NFT + On Solana this is the mint address. + On EVM chains it is the concatenation of the contract address and the token id `{contractAddress}:{tokenId}`. + """ + address: String """The collection the NFT was minted from.""" collection: Collection @@ -637,6 +626,9 @@ enum FilterType { """Event triggered when a new drop is minted""" DROP_MINTED + """Event triggered when a mint has been successfully transfered""" + MINT_TRANSFERED + """Event triggered when a new project is created""" PROJECT_CREATED @@ -653,7 +645,7 @@ type Holder { collectionId: UUID! """The specific mints from the collection that the holder owns.""" - mints: [String!]! + mints: [UUID!]! """The number of NFTs that the holder owns in the collection.""" owns: Int! @@ -664,7 +656,7 @@ type Invite { """ The datetime, in UTC, when the invitation to join the organization was created. """ - createdAt: NaiveDateTime! + createdAt: DateTime! """The ID of the user who created the invitation.""" createdBy: UUID! @@ -692,7 +684,7 @@ type Invite { status: InviteStatus! """The datetime, in UTC, when the invitation status was updated.""" - updatedAt: NaiveDateTime + updatedAt: DateTime } """Input required for inviting a member to the organization.""" @@ -726,12 +718,12 @@ A member of a Holaplex organization, representing an individual who has been gra """ type Member { """The datetime, in UTC, when the member joined the organization.""" - createdAt: NaiveDateTime! + createdAt: DateTime! """ The datetime, in UTC, when the member was deactivated from the organization. """ - deactivatedAt: NaiveDateTime + deactivatedAt: DateTime """The unique identifier of the member.""" id: UUID! @@ -759,7 +751,7 @@ type Member { """ The datetime, in UTC, when the member was revoked from the organization. """ - revokedAt: NaiveDateTime + revokedAt: DateTime """The user identity who is a member of the organization.""" user: User @@ -1061,7 +1053,7 @@ type Organization { """ The datetime, in UTC, when the Holaplex organization was created by its owner. """ - createdAt: NaiveDateTime! + createdAt: DateTime! """ Get a single API credential by client ID. @@ -1103,7 +1095,7 @@ type Organization { """ The datetime, in UTC, when the Holaplex organization was deactivated by its owner. """ - deactivatedAt: NaiveDateTime + deactivatedAt: DateTime """ Define an asynchronous function to load the total credits deducted for each action @@ -1137,11 +1129,12 @@ type Organization { The owner of the Holaplex organization, who has created the organization and has full control over its settings and members. """ owner: Owner + profileImageUrl: String """ The optional profile image associated with the Holaplex organization, which can be used to visually represent the organization. """ - profileImageUrl: String + profileImageUrlOriginal: String """ The projects that have been created and are currently associated with the Holaplex organization, which are used to organize NFT campaigns or initiatives within the organization. @@ -1189,7 +1182,7 @@ The owner of the Holaplex organization, who is the individual that created the o """ type Owner { """The datetime, in UTC, when the organization was created.""" - createdAt: NaiveDateTime! + createdAt: DateTime! """ The unique identifier assigned to the record of the user who created the Holaplex organization and serves as its owner, which is used to distinguish their record from other records within the Holaplex ecosystem. @@ -1259,7 +1252,7 @@ A Holaplex project that belongs to an organization. Projects are used to group u """ type Project { """The datetime, in UTC, when the project was created.""" - createdAt: NaiveDateTime! + createdAt: DateTime! """Retrieve a customer record associated with the project, using its ID.""" customer(id: UUID!): Customer @@ -1270,7 +1263,7 @@ type Project { """ The date and time in Coordinated Universal Time (UTC) when the Holaplex project was created. Once a project is deactivated, objects that were assigned to the project can no longer be interacted with. """ - deactivatedAt: NaiveDateTime + deactivatedAt: DateTime """Look up a drop associated with the project by its ID.""" drop(id: UUID!): Drop @@ -1289,11 +1282,12 @@ type Project { """The ID of the Holaplex organization to which the project belongs.""" organizationId: UUID! + profileImageUrl: String """ The optional profile image associated with the project, which can be used to visually represent the project. """ - profileImageUrl: String + profileImageUrlOriginal: String """ The treasury assigned to the project, which contains the project's wallets. @@ -1434,8 +1428,8 @@ type TransferAssetPayload { A collection of wallets assigned to different entities in the Holaplex ecosystem. """ type Treasury { - """The creation datetime of the vault.""" - createdAt: NaiveDateTime! + """The creation DateTimeWithTimeZone of the vault.""" + createdAt: DateTime! """The unique identifier for the treasury.""" id: UUID! @@ -1502,20 +1496,20 @@ A blockchain wallet is a digital wallet that allows users to securely store, man """ type Wallet { """The wallet address.""" - address: String! + address: String """The wallet's associated blockchain.""" assetId: AssetType! - createdAt: NaiveDateTime! + createdAt: DateTime! createdBy: UUID! - legacyAddress: String! + deductionId: UUID + id: UUID! """ The NFTs that were minted from Holaplex and are owned by the wallet's address. """ mints: [CollectionMint!] - removedAt: NaiveDateTime - tag: String! + removedAt: DateTime treasuryId: UUID! } diff --git a/scripts/airdrop.ts b/scripts/airdrop.ts index 81435e2..bbde8e7 100644 --- a/scripts/airdrop.ts +++ b/scripts/airdrop.ts @@ -76,7 +76,7 @@ export const start = async () => { project: process.env.HOLAPLEX_PROJECT_ID as string } }); - + console.log('result', result); result.data.project.drops?.map(async (drop: Drop) => { console.log(drop); const airdrop = await db.airdrop.findFirst({ diff --git a/src/graphql.types.ts b/src/graphql.types.ts index ab3f93a..9a03c57 100644 --- a/src/graphql.types.ts +++ b/src/graphql.types.ts @@ -98,22 +98,10 @@ export type Airdrop = { export enum AssetType { /** Ethereum Mainnet */ Eth = 'ETH', - /** Note: Holaplex uses `ETH_TEST` for provisioning wallets on its staging environment but still submits transactions to mainnet. */ - EthTest = 'ETH_TEST', /** Mainnet Polygon */ Matic = 'MATIC', - /** - * Ploygon Mumbai Testnet - * Note: Holaplex uses `MATIC_TEST` for provisioning wallets on its staging environment but still submits transactions to mainnet. - */ - MaticTest = 'MATIC_TEST', /** Mainnet Solana */ - Sol = 'SOL', - /** - * Devnet Solana - * Note: Holaplex uses `SOL_TEST` for provisioning wallets on its staging environment but still submits transactions to mainnet. - */ - SolTest = 'SOL_TEST' + Sol = 'SOL' } export enum Blockchain { @@ -133,7 +121,11 @@ export type BlockchainCost = { export type Collection = { __typename?: 'Collection'; - /** The blockchain address of the collection used to view it in blockchain explorers. */ + /** + * The blockchain address of the collection used to view it in blockchain explorers. + * On Solana this is the mint address. + * On EVM chains it is the concatenation of the contract address and the token id `{contractAddress}:{tokenId}`. + */ address?: Maybe; /** The blockchain of the collection. */ blockchain: Blockchain; @@ -190,8 +182,12 @@ export type CollectionCreatorInput = { /** Represents a single NFT minted from a collection. */ export type CollectionMint = { __typename?: 'CollectionMint'; - /** The wallet address of the NFT. */ - address: Scalars['String']; + /** + * The address of the NFT + * On Solana this is the mint address. + * On EVM chains it is the concatenation of the contract address and the token id `{contractAddress}:{tokenId}`. + */ + address?: Maybe; /** The collection the NFT was minted from. */ collection?: Maybe; /** The ID of the collection the NFT was minted from. */ @@ -566,6 +562,8 @@ export enum FilterType { DropCreated = 'DROP_CREATED', /** Event triggered when a new drop is minted */ DropMinted = 'DROP_MINTED', + /** Event triggered when a mint has been successfully transfered */ + MintTransfered = 'MINT_TRANSFERED', /** Event triggered when a new project is created */ ProjectCreated = 'PROJECT_CREATED', /** Event triggered when a new wallet is created for a project */ @@ -580,7 +578,7 @@ export type Holder = { /** The collection ID that the holder owns. */ collectionId: Scalars['UUID']; /** The specific mints from the collection that the holder owns. */ - mints: Array; + mints: Array; /** The number of NFTs that the holder owns in the collection. */ owns: Scalars['Int']; }; @@ -589,7 +587,7 @@ export type Holder = { export type Invite = { __typename?: 'Invite'; /** The datetime, in UTC, when the invitation to join the organization was created. */ - createdAt: Scalars['NaiveDateTime']; + createdAt: Scalars['DateTime']; /** The ID of the user who created the invitation. */ createdBy: Scalars['UUID']; /** The email address of the user being invited to become a member of the organization. */ @@ -605,7 +603,7 @@ export type Invite = { /** The status of the invitation. */ status: InviteStatus; /** The datetime, in UTC, when the invitation status was updated. */ - updatedAt?: Maybe; + updatedAt?: Maybe; }; /** Input required for inviting a member to the organization. */ @@ -630,9 +628,9 @@ export enum InviteStatus { export type Member = { __typename?: 'Member'; /** The datetime, in UTC, when the member joined the organization. */ - createdAt: Scalars['NaiveDateTime']; + createdAt: Scalars['DateTime']; /** The datetime, in UTC, when the member was deactivated from the organization. */ - deactivatedAt?: Maybe; + deactivatedAt?: Maybe; /** The unique identifier of the member. */ id: Scalars['UUID']; /** The invitation to join the Holaplex organization that the member accepted in order to gain access to the organization. */ @@ -644,7 +642,7 @@ export type Member = { /** The ID of the Holaplex organization to which the user has been granted access. */ organizationId: Scalars['UUID']; /** The datetime, in UTC, when the member was revoked from the organization. */ - revokedAt?: Maybe; + revokedAt?: Maybe; /** The user identity who is a member of the organization. */ user?: Maybe; /** The ID of the user who has been granted access to the Holaplex organization as a member. */ @@ -1015,7 +1013,7 @@ export type MutationTransferAssetArgs = { export type Organization = { __typename?: 'Organization'; /** The datetime, in UTC, when the Holaplex organization was created by its owner. */ - createdAt: Scalars['NaiveDateTime']; + createdAt: Scalars['DateTime']; /** * Get a single API credential by client ID. * @@ -1051,7 +1049,7 @@ export type Organization = { */ credits?: Maybe; /** The datetime, in UTC, when the Holaplex organization was deactivated by its owner. */ - deactivatedAt?: Maybe; + deactivatedAt?: Maybe; /** * Define an asynchronous function to load the total credits deducted for each action * Returns `DeductionTotals` object @@ -1069,8 +1067,9 @@ export type Organization = { name: Scalars['String']; /** The owner of the Holaplex organization, who has created the organization and has full control over its settings and members. */ owner?: Maybe; - /** The optional profile image associated with the Holaplex organization, which can be used to visually represent the organization. */ profileImageUrl?: Maybe; + /** The optional profile image associated with the Holaplex organization, which can be used to visually represent the organization. */ + profileImageUrlOriginal?: Maybe; /** The projects that have been created and are currently associated with the Holaplex organization, which are used to organize NFT campaigns or initiatives within the organization. */ projects: Array; /** @@ -1137,7 +1136,7 @@ export type OrganizationWebhookArgs = { export type Owner = { __typename?: 'Owner'; /** The datetime, in UTC, when the organization was created. */ - createdAt: Scalars['NaiveDateTime']; + createdAt: Scalars['DateTime']; /** The unique identifier assigned to the record of the user who created the Holaplex organization and serves as its owner, which is used to distinguish their record from other records within the Holaplex ecosystem. */ id: Scalars['UUID']; /** The Holaplex organization owned by the user. */ @@ -1191,13 +1190,13 @@ export type PauseDropPayload = { export type Project = { __typename?: 'Project'; /** The datetime, in UTC, when the project was created. */ - createdAt: Scalars['NaiveDateTime']; + createdAt: Scalars['DateTime']; /** Retrieve a customer record associated with the project, using its ID. */ customer?: Maybe; /** Retrieve all customer records associated with a given project. */ customers?: Maybe>; /** The date and time in Coordinated Universal Time (UTC) when the Holaplex project was created. Once a project is deactivated, objects that were assigned to the project can no longer be interacted with. */ - deactivatedAt?: Maybe; + deactivatedAt?: Maybe; /** Look up a drop associated with the project by its ID. */ drop?: Maybe; /** The drops associated with the project. */ @@ -1209,8 +1208,9 @@ export type Project = { organization?: Maybe; /** The ID of the Holaplex organization to which the project belongs. */ organizationId: Scalars['UUID']; - /** The optional profile image associated with the project, which can be used to visually represent the project. */ profileImageUrl?: Maybe; + /** The optional profile image associated with the project, which can be used to visually represent the project. */ + profileImageUrlOriginal?: Maybe; /** The treasury assigned to the project, which contains the project's wallets. */ treasury?: Maybe; }; @@ -1367,8 +1367,8 @@ export type TransferAssetPayload = { /** A collection of wallets assigned to different entities in the Holaplex ecosystem. */ export type Treasury = { __typename?: 'Treasury'; - /** The creation datetime of the vault. */ - createdAt: Scalars['NaiveDateTime']; + /** The creation DateTimeWithTimeZone of the vault. */ + createdAt: Scalars['DateTime']; /** The unique identifier for the treasury. */ id: Scalars['UUID']; /** @@ -1416,16 +1416,16 @@ export type User = { export type Wallet = { __typename?: 'Wallet'; /** The wallet address. */ - address: Scalars['String']; + address?: Maybe; /** The wallet's associated blockchain. */ assetId: AssetType; - createdAt: Scalars['NaiveDateTime']; + createdAt: Scalars['DateTime']; createdBy: Scalars['UUID']; - legacyAddress: Scalars['String']; + deductionId?: Maybe; + id: Scalars['UUID']; /** The NFTs that were minted from Holaplex and are owned by the wallet's address. */ mints?: Maybe>; - removedAt?: Maybe; - tag: Scalars['String']; + removedAt?: Maybe; treasuryId: Scalars['UUID']; }; @@ -1796,7 +1796,7 @@ export type CollectionCreatorResolvers = { - address?: Resolver; + address?: Resolver, ParentType, ContextType>; collection?: Resolver, ParentType, ContextType>; collectionId?: Resolver; createdAt?: Resolver; @@ -1960,13 +1960,13 @@ export type EventTypeResolvers = { address?: Resolver; collectionId?: Resolver; - mints?: Resolver, ParentType, ContextType>; + mints?: Resolver, ParentType, ContextType>; owns?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; export type InviteResolvers = { - createdAt?: Resolver; + createdAt?: Resolver; createdBy?: Resolver; email?: Resolver; id?: Resolver; @@ -1974,7 +1974,7 @@ export type InviteResolvers, ParentType, ContextType>; organizationId?: Resolver; status?: Resolver; - updatedAt?: Resolver, ParentType, ContextType>; + updatedAt?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; @@ -1983,14 +1983,14 @@ export interface JsonScalarConfig extends GraphQLScalarTypeConfig = { - createdAt?: Resolver; - deactivatedAt?: Resolver, ParentType, ContextType>; + createdAt?: Resolver; + deactivatedAt?: Resolver, ParentType, ContextType>; id?: Resolver; invite?: Resolver, ParentType, ContextType>; inviteId?: Resolver; organization?: Resolver, ParentType, ContextType>; organizationId?: Resolver; - revokedAt?: Resolver, ParentType, ContextType>; + revokedAt?: Resolver, ParentType, ContextType>; user?: Resolver, ParentType, ContextType>; userId?: Resolver; __isTypeOf?: IsTypeOfResolverFn; @@ -2060,11 +2060,11 @@ export interface NaiveDateTimeScalarConfig extends GraphQLScalarTypeConfig = { - createdAt?: Resolver; + createdAt?: Resolver; credential?: Resolver>; credentials?: Resolver, ParentType, ContextType, Partial>; credits?: Resolver, ParentType, ContextType>; - deactivatedAt?: Resolver, ParentType, ContextType>; + deactivatedAt?: Resolver, ParentType, ContextType>; deductionTotals?: Resolver>, ParentType, ContextType>; id?: Resolver; invites?: Resolver, ParentType, ContextType, Partial>; @@ -2072,6 +2072,7 @@ export type OrganizationResolvers; owner?: Resolver, ParentType, ContextType>; profileImageUrl?: Resolver, ParentType, ContextType>; + profileImageUrlOriginal?: Resolver, ParentType, ContextType>; projects?: Resolver, ParentType, ContextType>; webhook?: Resolver, ParentType, ContextType, RequireFields>; webhooks?: Resolver>, ParentType, ContextType>; @@ -2079,7 +2080,7 @@ export type OrganizationResolvers = { - createdAt?: Resolver; + createdAt?: Resolver; id?: Resolver; organization?: Resolver, ParentType, ContextType>; organizationId?: Resolver; @@ -2099,10 +2100,10 @@ export type PauseDropPayloadResolvers = { - createdAt?: Resolver; + createdAt?: Resolver; customer?: Resolver, ParentType, ContextType, RequireFields>; customers?: Resolver>, ParentType, ContextType>; - deactivatedAt?: Resolver, ParentType, ContextType>; + deactivatedAt?: Resolver, ParentType, ContextType>; drop?: Resolver, ParentType, ContextType, RequireFields>; drops?: Resolver>, ParentType, ContextType>; id?: Resolver; @@ -2110,6 +2111,7 @@ export type ProjectResolvers, ParentType, ContextType>; organizationId?: Resolver; profileImageUrl?: Resolver, ParentType, ContextType>; + profileImageUrlOriginal?: Resolver, ParentType, ContextType>; treasury?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; @@ -2167,7 +2169,7 @@ export type TransferAssetPayloadResolvers = { - createdAt?: Resolver; + createdAt?: Resolver; id?: Resolver; vaultId?: Resolver; wallet?: Resolver, ParentType, ContextType, RequireFields>; @@ -2195,14 +2197,14 @@ export type UserResolvers = { - address?: Resolver; + address?: Resolver, ParentType, ContextType>; assetId?: Resolver; - createdAt?: Resolver; + createdAt?: Resolver; createdBy?: Resolver; - legacyAddress?: Resolver; + deductionId?: Resolver, ParentType, ContextType>; + id?: Resolver; mints?: Resolver>, ParentType, ContextType>; - removedAt?: Resolver, ParentType, ContextType>; - tag?: Resolver; + removedAt?: Resolver, ParentType, ContextType>; treasuryId?: Resolver; __isTypeOf?: IsTypeOfResolverFn; };