Entities

NdaoEntity

An entity that is part of the Endaoment protocol

FieldTypeDescription
idBytes!Contract address of the entity
entityTypeEntityType!The type of the entity
einStringThe EIN of the entity. Only applicable to Org
entityManagerBytes!Manager of the entity
recognizedUsdcBalanceBigInt!USDC Balance that has been formally recognized by the entity
totalEthReceivedBigInt!Total amount of native ETH that was transferred to the entity
totalUsdcDonationsReceivedBigInt!Amount USDC that has been donated to this entity, after fees. Any recognized inbound asset transfer from addresses outside the Endaoment protocol is considered a Donation
totalUsdcDonationFeesBigInt!Amount of fees that have been collected from donations to this entity
totalUsdcGrantsReceivedBigInt!Amount of USDC that has been granted to this entity, after fees. Any Fund -> Org transfer is considered a grant
totalUsdcGrantInFeesBigInt!Amount of fees that have been paid by grantors for grants to this entity
totalUsdcContributionsReceivedBigInt!Amount of USDC that has been donated or granted to this entity, after fees
totalUsdcContributionFeesBigInt!Amount of fees that have been collected from donations or grants to this entity
totalUsdcTransfersReceivedBigInt!Amount of USDC that has been transferred to this entity. This includes only transfers that are not considered grants. Example: (Org -> Org, Fund -> Fund, Org -> Fund)
totalUsdcTransferInFeesBigInt!Amount of USDC that has been paid in fees for transfers to this entity
totalUsdcMigratedBigInt!Amount of USDC that has been migrated to this entity from Endaoment V1
totalUsdcReceivedBigInt!Amount of USDC that has been received by this entity using any Endaoment V2 Entity method, including V1 migration
totalUsdcReceivedFeesBigInt!Amount of USDC that has been paid in fee for all inbound USDC transactions to this entity
totalUsdcGrantedOutBigInt!Amount of USDC that has been granted out to other Endaoment entities by this entity, net of fees. Any Fund -> Org transfer is considered a grant.
totalUsdcGrantedOutFeesBigInt!Amount of fees that have been paid by this entity for grants to other Endaoment entities
totalUsdcTransferredOutBigInt!Amount of USDC that has been transferred out of this entity, net of fees. This includes only transfers that are not considered grants. Example: (Org -> Org, Fund -> Fund, Org -> Fund)
totalUsdcTransferredOutFeesBigInt!Amount of USDC that has been paid in fees for transfers out of this entity
totalUsdcPaidOutBigInt!Amount of USDC that has been paid out to accounts or wallets owned by the entity outside the Endaoment Protocol
totalUsdcPaidOutFeesBigInt!Amount of USDC that has been paid in fees for payouts from this entity
initializedBoolean!Flag indicating whether the entity has been fully initialized with V1 migration data. For this to occur, the entity must have emitted at least 1 event in 2 separate blocks. Entities that are not fully initialized will account for migrated funds in its balance but not include them in the following fields: > * totalUsdcMigrated > * totalUsdcReceived
investedUsdcBigInt!USDC Balance that the entity has invested in Portfolios belonging to the Endaoment protocol.> * This is the sum of all USDC invested in all portfolios and NOT the current USDC value of the portfolio shares. > * Fees are included in the amount, since it tracks the entire sum sent to portfolio contracts. > * Whenshares are redeemed, this amount is reduced proportionally to the amount of shares redeemed
positionsPortfolioPosition!Positions owned by the entity in various portfolios

PortfolioPosition

A position taken by an Endaoment entity in a portfolio approved by Endaoment

FieldTypeDescription
idID!Id of the position, which is a concatenation of the portfolio address and the entity address. Format: <0xPortfolio\_address> : <0xEntity\_address>
entityNdaoEntity!Address of the entity that owns this position
portfolioBytes!Address of the portfolio that invested by the entity
sharesBigInt!Shares of the portfolio that are owned by the entity
investedUsdcBigInt!Amount of USDC invested by the entity in the portfolio

Registry

Description: Entity representing the Endaoment Protocol Registry

FieldTypeDescription
idString!ID of the registry, which is the constant string ‘1’
addressBytes!Address of the Endaoment Registry contract
ownerBytes!Owner of the Endaoment Registry contract
entityFactories[Bytes!]!Address of the Entity Factories approved on the registry
swapWrappers[Bytes!]!Address of the swap wrappers approved on the registry
portfolios[Bytes!]!Address of the portfolios approved on the registry

AuthorityUser

Description: Address that has a special authority in the Endaoment protocol

FieldTypeDescription
idBytes!Address of the authority user
roles[RoleUser!]!Roles of the authority user

RoleUser

Role assigned to an authority user

FieldTypeDescription
idID!Address of the role user. Format: <user\_address>:<role\_id>
userAuthorityUser!User that has the role
roleRole!Role assigned to the user

Role

Role that can invoke capabilities

FieldTypeDescription
idString!ID of the role - String representation of the role’s integer id
users[RoleUser!]!Users associated with the role
capabilities[RoleCapability!]!Capabilities of the role

RoleCapability

Capability that can be invoked by a role

FieldTypeDescription
idID!ID of the role capability. Format: <role\_id>:<capability\_id>
roleRole!Role that can invoke the capability
capabilityCapability!Capability that can be invoked by the role

Capability

Capability that can be invoked publicly or via a role.

FieldTypeDescription
idID!ID of the capability. Format: <target>:<signature>
targetBytes!Target of the capability
signatureBytes!Signature that can be invoked on the target of the capability
isPublicBoolean!Indicates if the capability can be invoked by any address publicly
roles[RoleCapability!]!Roles that can invoke the capability

NdaoEntityFirstIndexedBlock

Helper metadata entity to track migration information of an NdaoEntity. Not meant to be queried directly, as the information here only useful for internal indexing logic. As soon as an entity is fully initialized, this entityis not longer updated

FieldTypeDescription
idBytes!Contract address of the entity
endOfBlockBalanceBigInt!Balance of the entity at the end of the first block it emitted and event
blockNumberBigInt!Number of the initial block that was processed
eventBalanceDeltaBigInt!Balance delta due to events emitted in the initial block