protocol-monorepo

Superfluid Protocol Monorepo: the specification, implementations, peripherals and development kits.

OTHER License

Downloads
30.6K
Stars
868
Committers
34

Bot releases are visible (Hide)

protocol-monorepo - [email protected] Latest Release

Published by github-actions[bot] 7 months ago

Please refer to the CHANGELOG.md file in metadata package for more details on the changeset.

protocol-monorepo - [email protected]

Published by github-actions[bot] 7 months ago

Changes in this stable release

Breaking

  • The abstract base contractSuperAppBaseFlow was renamed to CFASuperAppBase and doesn't self-register in the constructor anymore.
    This allows the contract to be used with a SuperApp factory pattern and by logic contracts in the context of the proxy pattern.
    Note: this will NOT break any deployed contracts, only affects undeployed Super Apps in case the ethereum-contracts dependency is updated.
  • UniversalIndexData, PoolMemberData and FlowDistributionData structs moved from IGeneralDistributionAgreementV1.sol to GeneralDistributionAgreementV1.sol
  • PoolIndexData, MemberData structs moved from ISuperfluidPool.sol to SuperfluidPool.sol

Added

  • New utility: MacroForwarder - a trusted forwarder extensible with permission-less macro contracts.
  • New protocol contract view functions:
    • gdaV1.getFlow
    • gdaV1.getAccountFlowInfo
    • pool.poolOperatorGetIndex
    • pool.getTotalAmountReceivedByMember
  • New SuperTokenV1Library functions:
    • getGDAFlowInfo
    • getGDANetFlowInfo
    • getPoolAdjustmentFlowRate
    • getTotalAmountReceivedByMember

Changed

  • bump solc to 0.8.23
  • superTokenV1Library.getNetFlowInfo sums CFA and GDA net flow info

Fixes

  • FlowNFT hooks can't revert with outofgas anymore
protocol-monorepo - [email protected]

Published by github-actions[bot] 8 months ago

Please refer to the CHANGELOG.md file in metadata package for more details on the changeset.

protocol-monorepo - [email protected]

Published by github-actions[bot] 9 months ago

Changes in this stable release

Breaking

  • TokenInfo and ERC20WithTokenInfo interface/abstract contract are removed from the codebase, including the bundled ABI contracts
    • Migration: Use IERC20Metadata instead, as this replaces the previous contracts
  • build/typechain-ethers-v5 is removed from the npm package
    • Migration: Consume the ABIs and utilize whatever tool you'd like to generate types from them

Added

  • New agreement: GeneralDistributionAgreement added which enables 1-to-N flowing distributions in addition to 1-to-N instant distributions via the SuperfluidPool contract
  • Added 'test-slither' yarn sub-task.
  • Expose SuperToken._underlyingDecimals with SuperToken.getUnderlyingDecimals()
  • Expose _toUnderlyingAmount(uint256 amount) with toUnderlyingAmount(uint256 amount)
  • batchCall supports payable OPERATION_TYPE_SUPERFLUID_CALL_APP_ACTION: only the first OPERATION_TYPE_SUPERFLUID_CALL_APP_ACTION will be payable
  • Added two new functions to SuperfluidGovernanceBase.sol: changeSuperTokenAdmin and batchChangeSuperTokenAdmin
  • Superfluid.changeSuperTokenAdmin() function added to be called via governance for tokens with no admin address
  • Added an overloaded initialize to SuperToken.sol, which additionally takes address admin if you want to initialize the token with an admin address
  • SuperToken.changeAdmin(address newAdmin) added which is only callable by the current admin, the "admin" of a SuperToken can change the admin and update the proxy contract's pointer to a logic contract

    Note that the default admin (when address(0)) is the host contract as is currently the case

  • Note that the admin is stored in the EIP-1967 admin storage slot (0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103)
  • SuperToken.getAdmin() added to retrieve the admin address
  • SuperTokenFactory.createERC20Wrapper() overloads added to create a SuperToken AND explicitly initialize a SuperToken with an admin
  • New explicit functions: deployTestFrameworkWithEthersV5 and deployTestFrameworkWithEthersV6 in deploy-test-framework.js
    • deployTestFramework is still there, but it is considered deprecated now

Changed

  • Reuse config keys from SuperfluidGovernanceConfigs instead of duplicating them in ConstantFlowAgreementV1.
  • Deprecating registerAppWithKey and registerAppByFactory: DO NOT USE for new deployments
    • Simplification of Super App registration: use registerApp in all cases going forward.
    • Use registerApp(uint256 configWord) to be called by the super app in the constructor or registerApp(ISuperApp app, uint256 configWord) to be called by any address with a valid app registration config key

Fixes

protocol-monorepo - [email protected]

Published by github-actions[bot] 9 months ago

Changes in this stable release

Added

  • NFT specific event entities
  • GDA event entities
  • GDA HOL entities
  • New properties on aggregate entities to distinguish between CFA and GDA data where applicable
  • scripts/buildNetworkConfig.ts added for building network config from metadata in place of hardcoded config json files
  • getHostedServiceNetworks.ts added for getting the list of networks in place of hardcoded networks.json, improves maintenance + adding
protocol-monorepo - [email protected]

Published by github-actions[bot] 9 months ago

Please refer to the CHANGELOG.md file in metadata package for more details on the changeset.

protocol-monorepo - [email protected]

Published by github-actions[bot] 9 months ago

Please refer to the CHANGELOG.md file in metadata package for more details on the changeset.

protocol-monorepo - [email protected]

Published by github-actions[bot] 9 months ago

Please refer to the CHANGELOG.md file in metadata package for more details on the changeset.

protocol-monorepo - [email protected]

Published by github-actions[bot] 9 months ago

Please refer to the CHANGELOG.md file in metadata package for more details on the changeset.

protocol-monorepo - [email protected]

Published by github-actions[bot] 9 months ago

Please refer to the CHANGELOG.md file in metadata package for more details on the changeset.

protocol-monorepo - [email protected]

Published by github-actions[bot] 10 months ago

Please refer to the CHANGELOG.md file in metadata package for more details on the changeset.

protocol-monorepo - [email protected]

Published by github-actions[bot] 11 months ago

Please refer to the CHANGELOG.md file in metadata package for more details on the changeset.

protocol-monorepo - [email protected]

Published by github-actions[bot] 11 months ago

Please refer to the CHANGELOG.md file in metadata package for more details on the changeset.

protocol-monorepo - [email protected]

Published by github-actions[bot] 11 months ago

Please refer to the CHANGELOG.md file in metadata package for more details on the changeset.

protocol-monorepo - [email protected]

Published by github-actions[bot] 12 months ago

Fixed

  • Support for CustomSuperToken contracts without CONSTANT_OUTFLOW_NFT() and CONSTANT_INFLOW_NFT() function implemented
protocol-monorepo - [email protected]

Published by github-actions[bot] almost 1 year ago

Fixed

  • Handle the case when networkData.addresses.governance is null. This was due to a removal of the governance address from the metadata for test networks in [email protected].
protocol-monorepo - [email protected]

Published by github-actions[bot] almost 1 year ago

Please refer to the CHANGELOG.md file in metadata package for more details on the changeset.

protocol-monorepo - [email protected]

Published by github-actions[bot] about 1 year ago

Added

  • Support for ConstantOutflowNFT and ConstantInflowNFT functions

Fixed

  • Support for CustomSuperToken contracts without getUnderlyingToken() function implemented
protocol-monorepo - [email protected]

Published by github-actions[bot] about 1 year ago

Please refer to the CHANGELOG.md file in metadata package for more details on the changeset.

protocol-monorepo - [email protected]

Published by github-actions[bot] about 1 year ago

Please refer to the CHANGELOG.md file in metadata package for more details on the changeset.