Releases: superfluid-org/protocol-monorepo
ethereum-contracts@v1.9.1
Changes in this stable release
Breaking
- The abstract base contract
SuperAppBaseFlow
was renamed toCFASuperAppBase
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
andFlowDistributionData
structs moved fromIGeneralDistributionAgreementV1.sol
toGeneralDistributionAgreementV1.sol
PoolIndexData
,MemberData
structs moved fromISuperfluidPool.sol
toSuperfluidPool.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
metadata@v1.1.28
Please refer to the CHANGELOG.md file in metadata package for more details on the changeset.
ethereum-contracts@v1.9.0
Changes in this stable release
Breaking
TokenInfo
andERC20WithTokenInfo
interface/abstract contract are removed from the codebase, including the bundled ABI contracts- Migration: Use
IERC20Metadata
instead, as this replaces the previous contracts
- Migration: Use
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 theSuperfluidPool
contract - Added 'test-slither' yarn sub-task.
- Expose
SuperToken._underlyingDecimals
withSuperToken.getUnderlyingDecimals()
- Expose
_toUnderlyingAmount(uint256 amount)
withtoUnderlyingAmount(uint256 amount)
batchCall
supports payableOPERATION_TYPE_SUPERFLUID_CALL_APP_ACTION
: only the firstOPERATION_TYPE_SUPERFLUID_CALL_APP_ACTION
will be payable- Added two new functions to
SuperfluidGovernanceBase.sol
:changeSuperTokenAdmin
andbatchChangeSuperTokenAdmin
Superfluid.changeSuperTokenAdmin()
function added to be called via governance for tokens with no admin address- Added an overloaded
initialize
toSuperToken.sol
, which additionally takesaddress 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 contractNote 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 addressSuperTokenFactory.createERC20Wrapper()
overloads added to create a SuperToken AND explicitly initialize a SuperToken with an admin- New explicit functions:
deployTestFrameworkWithEthersV5
anddeployTestFrameworkWithEthersV6
indeploy-test-framework.js
deployTestFramework
is still there, but it is considered deprecated now
Changed
- Reuse config keys from
SuperfluidGovernanceConfigs
instead of duplicating them inConstantFlowAgreementV1
. - Deprecating
registerAppWithKey
andregisterAppByFactory
: 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 orregisterApp(ISuperApp app, uint256 configWord)
to be called by any address with a valid app registration config key
- Simplification of Super App registration: use
Fixes
dev-scripts/deploy-test-framework.js
compatible with both ethers-v5 and ethers-v6 now
subgraph@v1.7.0
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 filesgetHostedServiceNetworks.ts
added for getting the list of networks in place of hardcodednetworks.json
, improves maintenance + adding
metadata@v1.1.27
Please refer to the CHANGELOG.md file in metadata package for more details on the changeset.
metadata@v1.1.26
Please refer to the CHANGELOG.md file in metadata package for more details on the changeset.
metadata@v1.1.25
Please refer to the CHANGELOG.md file in metadata package for more details on the changeset.
metadata@v1.1.24
Please refer to the CHANGELOG.md file in metadata package for more details on the changeset.
metadata@v1.1.23
Please refer to the CHANGELOG.md file in metadata package for more details on the changeset.
metadata@v1.1.22
Please refer to the CHANGELOG.md file in metadata package for more details on the changeset.