Abstract

Below, you’ll find a table that shows all function calls (methods) available on Endaoment’s suite of smart contracts that underpin our ecosystem.

Category: Defines which types of Endaoment smart contacts contains the specific method.

Privileged Wallet: Defines which permissions are required (if any) in order for a method to be called. Any indicates that the function is callable in a permissionless fashion.

Description and Transaction Action: Together, these fields explain the use of the function and describe its syntax.

Example Transaction: Contains a link that shows a completed transaction of that particular method type. Please note that all transactions linked to are either on Ethereum Mainnet or Optimism.

Table

Method NameMethodIDCategoryPrivileged WalletDescriptionTransaction ActionExample Transaction
callAsEntity0x6a681541EntityAdminAllows an admin to interact with an external smart contract acting as the entity
donate0xf14faf6fEntityAnyA donation of USDC to an organization.Donate ${tokenAmount} USDC to org on Endaoment V2Transaction
donateWithAdminOverrides0xa8e405b0EntityAdminA donation of USDC that uses input admin override amounts as fees
donateWithOverrides0xf7044a5fEntityAdminA donation of USDC that uses a lower custom donation fee, if it set
initializeMultipleEntityAdminAn initialization function for Endaoment Entities. Can only be called on an Entity’s factory deployment.
payout0x117de2fdEntityAdminA payout of USDC to an organization’s wallet or bank account.Payout ${tokenAmount}` USDC to org on Endaoment V2Transaction
payoutWithAdminOverrides0x2c482f19EntityAdminA payout of USDC to an organization’s wallet or bank account that uses input admin override amounts as feesPayout ${tokenAmount} USDC to org on Endaoment V2
payoutWithOverrides0x0cb6ee6fEntityAdminA payout of USDC to an organization’s wallet or bank account that uses preset admin override amounts as feesPayout ${tokenAmount} USDC to org on Endaoment V2
portfolioDeposit0xc422c5bdEntityAnyDeposits USDC from an Entity into an Endaoment portfolio contractDeposit ${tokenAmount} USDC into portfolio on Endaoment V2Transaction
portfolioRedeem0x24c67842EntityAnyWithdraws USDC from an Endaoment portfolio contract and deposits it at the original entityWithdraw ${tokenAmount} USDC from portfolio on Endaoment V2Transaction
receiveTransfer0x49d55d9dEntityAdminUpdates the receiving entity balance on a transfer. Entities can only receive transfers from other Endaoment entities.N/A
reconcileBalance0x0b2ec672EntityAnyReconciles an entity’s balance, so its USDC balance matches its internal balance. Charges donation fees if there’s an outstanding balanceDonate ${tokenAmount} USDC to org on Endaoment V2Transaction
setManager0xd0ebdbe7EntityManagerSets the administrative manager wallet address for the organization entity.Transaction
swapAndDonate0xa2f48b9fEntityAnyA donation of a token to an org entity that is swapped into USDC immediately upon receipt.Donate {tokenAmount} {token}, swap into ${outputAmount} USDC to org on Endaoment V2Transaction
swapAndDonateWithOverrides0xab3c14feEntityAdminA donation of a token to an entity that is swapped into USDC immediately upon receipt and uses preset admin fee overrides
swapAndReconcileBalance0xdf3d067eEntityManagerDonate a token and reconcile any latent balance on a contract address for an organization.Donate {tokenAmount} {token}, swap into ${outputAmount} to org on Endaoment V2Transaction
transferToEntity0xb100169bEntityManagerTransfer USDC from one entity to anotherGrant ${tokenAmount} USDC to entity on Endaoment V2Transaction
transferToEntityWithAdminOverrides0xe6f5f033EntityAdminTransfer USDC from one entity to another that uses input admin override amounts as fees
transferToEntityWithOverrides0x6c184885EntityManagerTransfer USDC from one entity to another that uses input preset override amounts as fees
setOrgId0x95f32d21OrgAdminSets the administrative organization ID value, typically an EIN for US 501(c)(3)s
deployFund0x2a4004b8OrgFundFactoryAnyDeployment of a new entity contract on Endaoment for a fundDeploy contract for fund on Endaoment V2Transaction
deployFundAndDonate0xe6bee99fcOrgFundFactoryAnyDeployment of a new entity contract on Endaoment for a fund followed by a donation of USDCDeploy contract for fund on Endaoment V2, donation of USDCTransaction
deployFundSwapAndDonate0xab438d6bOrgFundFactoryAnyDeployment of a new entity contract on Endaoment for a fund followed by a donation and swap of a tokenDeploy contract for fund on Endaoment V2, donation of token, swap to USDCTransaction
deployOrg0xa60fe71dOrgFundFactoryAnyDeployment of a new entity contract on Endaoment for a nonprofit organizationDeploy contract for an organization on Endaoment V2Transaction
deployOrgAndDonate0xdb9e30ccOrgFundFactoryAnyDeployment of a new entity contract on Endaoment for an organization followed by a donation of USDCDeploy contract for an organization on Endaoment V2, donation of USDCTransaction
deployOrgSwapAndDonate0xbf37a670OrgFundFactoryAnyDeployment of a new entity contract on Endaoment for an organization followed by a donation and swap of a tokenDeploy contract for an organization on Endaoment V2, donation of token, swap to USDCTransaction
claimOwnership0x4e71e0c8RegistryAdminVerify the transfer of ownership of the registry following a call of transferOwnership by the current registry owner
setAuthority0x7a9e5e4bRegistryAdminUpdates the auth system’s authority
setDefaultDonationFee0x1e357405RegistryAdminEstablish the default donation fee for an entity type
setDefaultPayoutFee0x21ceeb17RegistryAdminEstablish the default payout fee for an entity type
setDefaultTransferFee0xa916c02eRegistryAdminEstablish the default transfer fee for an entity type
setDonationFeeReceiverOverride0x0d00819eRegistryAdminSets the custom donation fee for a specific entity.
setEntityActive0x0160a6e2RegistryAdminEnables an entity in the Endaoment ecosystem
setEntityStatus0x83f5b1d3RegistryAdminEnables or disables an entity in the Endaoment ecosystem
setFactoryApproval0xefa892c3RegistryAdminEnables or disables an entity factory in the Endaoment ecosystem
setPayoutFeeOverride0x7d18f2caRegistryAdminSets the payout fee override for a specific entity.
setPortfolioStatus0x952ecc82RegistryAdminEnable or disable a portfolio contractEnable/Disable portfolio on Endaoment V2Transaction
setPublicCapability0xc6b0263eRegistryAdminEnables or disables a given function for a specific target to be called by anyone.
setRoleCapability0x7d40583dRegistryAdminEnable or disable a specific permissioned role to call a certain method in the Endaoment ecosystem
setSwapWrapperStatus0xe5e8c306RegistryAdminEnable or disable a swap wrapper for use in swap related method calls
setTransferFeeReceiverOverride0x1c4af798RegistryAdminSets the transfer fee override for transfers from entities of a given type to a specific entity.
setTransferFeeSenderOverride0x3921c459RegistryAdminSets the transfer fee override for transfers from one specific entity to entities of a given type.
setTreasury0xf0f44260RegistryAdminEstablish the treasury address - all core contract fees are sent to the selected address.
setUserRole0x67aff484RegistryAdminGrant a specific permissioned role to a specific address
transferOwnership0xf2fde38bRegistryAdminTransfer ownership of the registry to a different address, must be followed by claimOwnership to fully complete