Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ETHEREUM-CONTRACTS] CFA Hooks #1099

Merged
merged 12 commits into from Oct 4, 2022
Merged

[ETHEREUM-CONTRACTS] CFA Hooks #1099

merged 12 commits into from Oct 4, 2022

Conversation

0xdavinchee
Copy link
Contributor

Note: It is important that we add the actual hook contracts in the places where I've placed @note

* add immutable hook state variable
* add hook initialization to constructor
* add a `IConstantFlowAgreementHook.sol`
* Natspec comments added to IConstantFlowAgreementHook.sol
* Natspec added to mock contracts
* deploy mock contracts in `deploy-framework.js`
* Hook tests with mock
@github-actions
Copy link

📦 PR Packages

Install this PR (you need to setup Github packages):

yarn add @superfluid-finance/ethereum-contracts@PR1099
yarn add @superfluid-finance/sdk-core@PR1099
yarn add @superfluid-finance/sdk-redux@PR1099
:octocat: Click to learn how to use Github packages

To use the Github package registry, create a token with "read:packages" permission. See Creating a personal access token for help.

Next add these lines to your .npmrc file, replacing TOKEN with your personal access token. See Installing a package from Github if you get stuck.

@superfluid-finance:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=TOKEN

Copy link
Contributor

@ngmachado ngmachado left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm worry about the eventual additional cost of this hook. Users don't have any opt-out if they don't need/want this hook.

  • Hook is immutable. This can be a problem if we need to update constantFlowAgreementHook

    • 1 - redeploy a new CFA every time we need to upgrade constantFlowAgreementHook
    • 2 - Be upgradable by governance action.
    • 3 - Make explicit that constantFlowAgreementHook should implement a upgrade mechanism like proxy.

    More incline to solution 2 or 3.

@ngmachado ngmachado self-requested a review September 30, 2022 14:24
@hellwolf
Copy link
Contributor

I will give it a few more reviews.

@d10r

@d10r d10r self-requested a review October 3, 2022 07:56
@hellwolf hellwolf added this to Review in progress in PROTO Oct 3, 2022
@d10r
Copy link
Collaborator

d10r commented Oct 3, 2022

fyi: @ngmachado wants to keep this open for a bit more to make sure the hook includes all needed data

Copy link
Collaborator

@d10r d10r left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, 1 change proposal

Comment on lines 23 to 45
function onCreate(CFAHookParams memory newFlowData, ISuperfluidToken token)
external
returns (bool);

/// @notice A hook which executes on stream update if the hook contract is set in the CFA
/// @dev This should be implemented with an onlyCFA modifier, so that only the CFA can call the function
/// @param newFlowData the new flow data taken by the hook
/// @param token the streamed super token
/// @param oldFlowRate previous flowrate
/// @return bool
function onUpdate(
CFAHookParams memory newFlowData,
ISuperfluidToken token,
int96 oldFlowRate
) external returns (bool);

/// @notice A hook which executes on stream deletion if the hook contract is set in the CFA
/// @dev This should be implemented with an onlyCFA modifier, so that only the CFA can call the function
/// @param newFlowData the new flow data taken by the hook
/// @param token the streamed super token
/// @param oldFlowRate previous flowrate
/// @return bool
function onDelete(
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Methods of the IConstantFlowAgreementV1 interface have the token argument as first argument. Should imo be the same here.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I concur. An easy step to lower the entropy with relatively little instability tenancy.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

* change the order of the hook interface
* change implementation accordingly
@@ -447,6 +452,23 @@ contract ConstantFlowAgreementV1 is
}

_requireAvailableBalance(flowVars.token, flowVars.sender, currentContext);

// @note It is possible this silently fails due to out of gas reasons, and users should
// still be able to recreate the hook behavior. This logic should exist in the NFT contract though.
Copy link
Contributor

@hellwolf hellwolf Oct 3, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh no :) now you used the N word! It's supposed to be a surprise!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🐰🥚

PROTO automation moved this from Review in progress to Reviewer approved Oct 4, 2022
@hellwolf hellwolf merged commit bd8cae4 into dev Oct 4, 2022
PROTO automation moved this from Reviewer approved to Done Oct 4, 2022
@hellwolf hellwolf deleted the cfa-hooks branch October 4, 2022 07:59
@github-actions
Copy link

github-actions bot commented Oct 4, 2022

XKCD Comic Relif

Link: https://xkcd.com/1099
https://xkcd.com/1099

0xdavinchee added a commit that referenced this pull request Oct 14, 2022
0xdavinchee added a commit that referenced this pull request Oct 17, 2022
* [JS-SDK] 再见 JS-SDK (#1072)
* Don't wrap SubgraphClient's errors with SFError (#1075)
* [SDK-CORE] 0.5.6 Patch Fix (#1074)
* Get Nix Pilled (#1073)
* [SDK-CORE] 0.5.6 Patch Fix (#1074)
* The Great TypeScript Refactor (#1069)
* Bump terser in /packages/sdk-redux-examples/sdk-redux-react-typecript (#1078)
* [ETHEREUM-CONTRACTS] _isPatricianPeriod Patch (#1080)
* fix tests expect (#1082)
* [ETHEREUM-CONTRACTS] backport 1.4.1 fixes (#1084)
* [JS-SDK] Half undo deprecation (#1098)
* [ETHEREUM-CONTRACTS] CFAv1Forwarder Fixes (#1094)
* Fix links to the examples repo (#1100)
* [ETHEREUM-CONTRACTS] CFA Hooks (#1099)
* Fix subgraph testing: copy upstream docker compose file (#1109)
* [ETHEREUM-CONTRACTS] SuperfluidFrameworkDeployer Additions (#1104)
* Update of the nix flake tooling (#1108)
* [ETHEREUM-CONTRACTS/SDK-CORE/SUBGRAPH] Use more Typechain capabilities (#1113)
* [ETHEREUM-CONTRACTS/SDK-CORE] CFAv1 Forwarder Integration (#1118)
* [ETHEREUM-CONTRACTS/SDK-CORE] Ethereum-Contracts 1.4.2 / SDK-Core 0.5.7 (#1119)
* further refactoring cleanup (#1081)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Kaspar Kallas <kaspar@superfluid.finance>
Co-authored-by: Miao ZhiCheng <miao@superfluid.finance>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Didi <git@d10r.net>
Co-authored-by: sffn3va <114768934+sffn3va@users.noreply.github.com>
Co-authored-by: tokdaniel <7677603+tokdaniel@users.noreply.github.com>
0xdavinchee added a commit that referenced this pull request Oct 17, 2022
* Subgraph data integrity validation (#661)
* Update dependencies (#930)
* Disable public shaming during weekends and some more data to slack bot (#947)
* Minor command update (#948)
* ci.feature + ci.canary cleanup (#949)
* [SDK-redux] Update example project references and add back WalletConnect (#942)
* Create Hardhat Deployer (#950)
* Update ci.canary.yml (#952)
* Resolver Set + Workflow Modifications (#951)
* add SetEvent to getAllEvents query (#953)
* Subgraph 1.4.4 Release Bump | SDK-Core 0.4.5 Release Bump (#955)
* Initialize logic contracts on deployment (using "castrate") (#841)
* [SDK-core] Compile AJV validations (#954)
* SDK-Core Build Fix (#963)
* [EXAMPLES] Fix sdk initializations (#946)
* bump sdk-core version to 0.5.0 (#964)
* isNativeAssetSuperToken added to Token entity (#968)
* Adds a missing closing parenthesis to example test (#967)
* [SDK-core] Refactor SFError to follow more conventional Error object structure (#960)
* Addresses several shortcomings in current worflows (mainly mainnet related) (#911)
* Add back the serialized error to SFError's message (#978)
* SDK-Core - isNativeAssetSuperToken query support (#970)
* [SDK-core] Use `serialize-error` (#983)
* fix handler.publish-release-packages (#985)
* Add missing stringify (#988)
* create operation from framework (#984)
* Test Framework Created Operation + Remove isNativeAssetSuperToken from query (#989)
* SDK-Core `isNativeAssetSuperToken` support (#992)
* bump subgraph and sdk-core versions for dev (#998)
* [spec-haskell] agreement framework refactored (#987)
* Update ci.canary.yml (#1000)
* [SDK-Core] Call App Action Support Added/Fixed CallAppAction BatchCall (#995)
* SDK-Core 0.5.2 Patch Fix and Version Bump (#1001)
* Update cd.hardhat-deployer-stable.create-release-drafts.yml (#1006)
* Release hardhat deployer stable (#1009)
* Add resolver and loader to deployer, add tests (#1011)
* actions/setup-node cache property added (#1002)
* Remove redundant deployments (#1014)
* specify cache-dependency-path (#1018)
* Ethereum 1.3.1 - for hardhat deployer update (#1016)
* Fix release branch (#1024)
* add tokenDecimals option to deploy-test-token.js (#1025)
* Map indexId to IndexSubscription (#1026)
* bump contract version, add test for loader (#1028)
* New TestSuperApp: stream redirector wip (#1008)
* #899 App Credit Rule CFA-2 (#945)
* [Sk-core patch fix (#1035)
* Adding Constant Flow Distribution Agreement etc. (#1017)
* Remove pesky error messages that and update readme (#1037)
* kwik patch (#1040)
* Deprecate networks (#1032)
* [TOGA] Added missing awaits (#1044)
* [SDK-core] Don't wrap transaction errors with `SFError` & don't serialize a massive internal error into `SFError` message (#1046)
* [SUBGRAPH] Update addresses.template.ts (#1047)
* Remove examples folder (#1045)
* [SDK-core] Specify name property for `SFError` (#1048)
* [ETHEREUM-CONTRACTS] Add gnosisscan support (#1050)
* Update README to link to examples repo (#1051)
* Fix the precious slack bot message (#1053)
* Update CHANGELOG.md (#1055)
* [ETHEREUM-CONTRACTS] Gov: Convenience method for app registration keys and some cleanup (#1049)
* remove hardhat deployer (#1057)
* [ETHEREUM-CONTRACTS] CFA Agreement Forwarder (#982)
* Remove MaticBridgedToken from monorepo (#1060)
* [ETHEREUM-CONTRACTS] Add Custom Errors (#1043)
* [ETHEREUM-CONTRACTS] yAcademy Gas Savings Applied (#1062)
* bump solc to 0.8.16 (#1065)
* Updating dependencies & dedup dev packages (#1064)
* fix build (#1067)
* [ETHEREUM-CONTRACTS] 1.4.0 Release (#1070)
* [JS-SDK] 再见 JS-SDK (#1072)
* Don't wrap SubgraphClient's errors with SFError (#1075)
* [SDK-CORE] 0.5.6 Patch Fix (#1074)
* Get Nix Pilled (#1073)
* [SDK-CORE] 0.5.6 Patch Fix (#1074)
* The Great TypeScript Refactor (#1069)
* Bump terser in /packages/sdk-redux-examples/sdk-redux-react-typecript (#1078)
* [ETHEREUM-CONTRACTS] _isPatricianPeriod Patch (#1080)
* fix tests expect (#1082)
* [ETHEREUM-CONTRACTS] backport 1.4.1 fixes (#1084)
* [JS-SDK] Half undo deprecation (#1098)
* [ETHEREUM-CONTRACTS] CFAv1Forwarder Fixes (#1094)
* Fix links to the examples repo (#1100)
* [ETHEREUM-CONTRACTS] CFA Hooks (#1099)
* Fix subgraph testing: copy upstream docker compose file (#1109)
* [ETHEREUM-CONTRACTS] SuperfluidFrameworkDeployer Additions (#1104)
* Update of the nix flake tooling (#1108)
* [ETHEREUM-CONTRACTS/SDK-CORE/SUBGRAPH] Use more Typechain capabilities (#1113)
* [ETHEREUM-CONTRACTS/SDK-CORE] CFAv1 Forwarder Integration (#1118)
* [ETHEREUM-CONTRACTS/SDK-CORE] Ethereum-Contracts 1.4.2 / SDK-Core 0.5.7 (#1119)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: elvijsTDL <77115130+elvijsTDL@users.noreply.github.com>
Co-authored-by: David A. Divas <62566465+Daldiv@users.noreply.github.com>
Co-authored-by: Miao ZhiCheng <miao@superfluid.finance>
Co-authored-by: Kaspar Kallas <kaspar@superfluid.finance>
Co-authored-by: Joshua Trujillo <Jtriley15@gmail.com>
Co-authored-by: Didi <git@d10r.net>
Co-authored-by: saflamini <43142465+saflamini@users.noreply.github.com>
Co-authored-by: FlacoJones <93455288+FlacoJones@users.noreply.github.com>
Co-authored-by: Axe <ngmachado@users.noreply.github.com>
Co-authored-by: Jonathan Gustafsson <jonathan@gustafsson.work>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: sffn3va <114768934+sffn3va@users.noreply.github.com>
Co-authored-by: tokdaniel <7677603+tokdaniel@users.noreply.github.com>
0xdavinchee added a commit that referenced this pull request Nov 14, 2022
* [JS-SDK] 再见 JS-SDK (#1072)

* Don't wrap SubgraphClient's errors with SFError (#1075)

* [SDK-CORE] 0.5.6 Patch Fix (#1074)

* fix subgraphAPIEndpoint for sdk-core

* Update constants.ts

* third time is the charm

* Update 5_subgraph.test.ts

* proper env variable name

* Update yarn.lock

* address comments

* isArbGoerli

* Get Nix Pilled (#1073)

* use nix flake to lock build toolchains such as yarn, foundry, ghc, etc.

* added nodejs 16 to dependencies

* add flakes/whitehat

* add flakes/whitehat

* devShells

* remove haskell tools

* [SDK-CORE] 0.5.6 Patch Fix (#1074)

* fix subgraphAPIEndpoint for sdk-core

* Update constants.ts

* third time is the charm

* Update 5_subgraph.test.ts

* proper env variable name

* Update yarn.lock

* address comments

* isArbGoerli

* updated contributing

* typo

Co-authored-by: 0xdavinchee <0xdavinchee@gmail.com>

* The Great TypeScript Refactor (#1069)

* TS WIP - testsuites

* tsconfig revamp
* convert testsuites files into TS
* fix up test:contracts:hardhat accordingly

* TS WIP - Typechain

* add typechain for ethereum-contracts

* TS WIP - UUPS and CallUtils

* convert UUPS test and CallUtils test file to typescript

* TS WIP - Utility Contract Tests

* convert utility contract tests to TypeScript
* remove file extension in all-contracts.ts
* add some helpers to helpers.js

* TS WIP - CFAv1Forwarder Tests

* convert CFAv1Forwarder contract tests to TypeScript

* TS WIP - Library Tests

* convert CFAv1Library and IDAv1Library contract tests to TypeScript

* TS WIP - Scenarios Tests

* convert scenarios tests to typescript

* TS WIP - Scenarios Tests

* convert scenarios tests to typescript

* TS WIP - SuperfluidGoverannceII tests

* convert SuperfluidGovernanceII contract tests to TypeScript

* TS WIP - Custom Tokens Tests

* convert custom token contract tests to TypeScript

* TS WIP - Superfluid Core Tests

* convert superfluid core tests to typescript
* use import instead of require in testsuite files

* TS WIP - Clean up commit pollution

* undo some of the variable renaming

* TS WIP - Clean up commit pollution (cont.)

* undo use of ethers over web3

* TS WIP - Clean up commit pollution (cont.)

* TS WIP - Token behavior files

* some cleanup
* mainly converted token behavior files

* TS WIP - CFA/IDA behavior files

* converted behavior files for CFA and IDA

* TS WIP - Convert peripheries

* convert CFADataModel, MFASupport, AgreementHelper, helpers, expectRevert to typescript

* TS WIP - Convert TestEnvironment

* convert TestEnvironment to typescript
* fix MFASupport import
* fix TestEnvironment imports
* remove module.exports from AgreementHelper

* TS WIP - Deprecate JS-SDK

remove js-sdk from:
- pr-artifact creation
- canary tests + coverage
- publish-pr-packages
- publish-release-packages
- codecov flag
- root package.json
- check-changeset.sh

* TS WIP - Add JS-SDK tests

* add tests that exist in js-sdk to sdk-core as part of deprecation

* TS WIP - Packages

* bump hardhat version
* lower js-sdk version

* TS WIP - Refactor Cleanup

* remove most explicit any's + add actual type
* separation of types from actual files in certain places where it is bloated
* BN refactor (passing in BigNumber to almost all funcs)
* .eslintrc.ts.json added to lint typescript test files
* lint fix files
* general type fixes

* remove parallel flag

* bump js-sdk version

* cleanup

* fix naming
* bump solidity-coverage version
* fix dead links

* Split cfa and ida test files

* split CFA and IDA test files into: callback vs non callback and mfa for cfa

* consistent file naming

* Bump terser in /packages/sdk-redux-examples/sdk-redux-react-typecript (#1078)

Bumps [terser](https://github.com/terser/terser) from 4.8.0 to 4.8.1.
- [Release notes](https://github.com/terser/terser/releases)
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](terser/terser@v4.8.0...v4.8.1)

---
updated-dependencies:
- dependency-name: terser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* [ETHEREUM-CONTRACTS] _isPatricianPeriod Patch (#1080)

* fix tests expect (#1082)

* this test just needs to know something is undefined
* in the workflow it lets us know which property is undefined, but locally it gives the original message: "Cannot read properties of undefined"

* further refactoring cleanup (#1081)

* use BigNumber almost everywhere
* use expect more
* remove js-sdk usage as much as possible
* remove web3 usage as much as possible

* [ETHEREUM-CONTRACTS] backport 1.4.1 fixes (#1084)

* [ETHEREUM-CONTRACTS] backport 1.4.1 fixes

- deployment scripts improvements
- [SECURITY] CFA: check flow sender instead of msg sender in order to cover ACL use

Co-authored-by: 0xdavinchee <0xdavinchee@gmail.com>

* fix build

fix build and add in patch fix test

* remove js and js-sdk

* fix imports

* purge js-sdk from readme.md

* just remove codecov badge

Co-authored-by: Didi <git@d10r.net>
Co-authored-by: 0xdavinchee <0xdavinchee@gmail.com>

* [JS-SDK] Half undo deprecation (#1098)

* Undo js-sdk deprecation

* half deprecate js-sdk

* remove JS-SDK from .github/workflows
* remove js-sdk from root level files
* fix undefined variable errors
* add JS-SDK test parity back in for SDK-Core
* tidy up README's
* remove build-abi-js.sh from bash files

* Update ci.feature.yml

* build!

* [ETHEREUM-CONTRACTS] CFAv1Forwarder Fixes (#1094)

* CFAV1Forwarder Fixes

* make _host and _cfa state variables immutable - these should not
* fix `_deleteFlow` logic
* fix natspec
* return true from _forwardBatchCall
* add comment about EIP 2771
* add CFAv1Forwarder tests
* add CFAv1Forwarder to deploy-framework + resolver

* require artifacts from hardhat

* pain

* use truffle build not hh artifacts

* hard code fix for now

* 👎

* undo js-sdk revert

* add CFAv1Forwader to js-sdk

* CFAv1Forwarder to js-sdk

* do this in a separate branch

* remove `protocolReleaseVersion`

* Fix links to the examples repo (#1100)

* [ETHEREUM-CONTRACTS] CFA Hooks (#1099)

* Fix subgraph testing: copy upstream docker compose file (#1109)

* [ETHEREUM-CONTRACTS] SuperfluidFrameworkDeployer Additions (#1104)

* Now SDK-CORE are testing using this deployer instead the web3-version of the deployer

* Update of the nix flake tooling (#1108)

* [ETHEREUM-CONTRACTS/SDK-CORE/SUBGRAPH] Use more Typechain capabilities (#1113)

Provide end-consumer access to typechain files via ethereum-contracts as the origin source and also exported via sdk-core
no more abi file imports, using typechain generated factories all around
fix up lint scripts
add typechain build pipeline in ethereum-contracts
Co-authored-by: Daniel <tokdaniel4@gmail.com>

* [ETHEREUM-CONTRACTS/SDK-CORE] CFAv1 Forwarder Integration (#1118)

* Agreement Forwarder Integration WIP

* Split supertoken tests into separate files
* Add CFAv1Forwarder to SuperfluidFrameworkDeployer + set in resolver and enable as trusted forwarder
* Integrate CFAv1Forwarder in SDK-Core
* tests to ensure that forwarder is being used and works as expected
* validateOperationShouldUseCallAgreement checks that we are using agreement forwarder

* Update CHANGELOG.md

* SDK-Core cleanup

Co-Authored-By: tokdaniel <7677603+tokdaniel@users.noreply.github.com>

* Fix them hardcoded addresses!

* two step fix

* Subgraph test setup cleanup

* delete test-subgraph.template, it is a duplicate
* rename prepare-local: prepare-manifest-local
* update ganache.json
* create runDeployContractsAndToken.ts to deploy framework and tokens and create new ganache.json dynamically
* no more hardcoded addresses in addresses.template.ts!
* helpers.ts modified to read ganache.json file to retrieve resolver address to setup framework

* must build sdk-core

* Fixes

* Make it properly dynamic by deploying and preparing local files prior to actual subgraph deployment
* fix up package.json given the above
* fix up readme

* build sdk-core before deploy contracts

* do not redeploy

* missed the other reusable workflow

* chainId unddefined?

* sender is not needed here

Co-authored-by: tokdaniel <7677603+tokdaniel@users.noreply.github.com>

* [ETHEREUM-CONTRACTS/SDK-CORE] Ethereum-Contracts 1.4.2 / SDK-Core 0.5.7 (#1119)

* bump sdk-core version

* update metadata for satsuma endpoint

* bump eth-contracts + changelog

* [SUBGRAPH] graph-node issue resolved by The Graph team (#1130)

pinned to 0.28.1: graphprotocol/graph-node#4034

* [SUBGRAPH] Revert Changes + Cleanup (#1131)

* Update Codeowners (#1132)

* Update Codeowners
- adding 0xdavinchee as co-codeowner of /packages/ethereum-contracts/
- adding @kasparkallas to js-sdk too as SDK co-owners.

* [SDK-CORE] Gas Multiplier (#1128)

* gas multiplier
* fix where we handle the gasLimit
* handle the gas limit modification one level deeper to not break other SDK-Core functionality
* address review comments

* [CI/SUBGRAPH] Workflow + Script for deploying to Satsuma endpoint (#1125)

* modify deploy-subgraph.yml
- modify workflow for deploy-subgraph to support new deploy-to-satsuma.sh bash script
* ci workflow cleanup
* Update handler.deploy-subgraph.yml
* address review comments

* [ETHEREUM-CONTRACTS] Hardcoded Hook Gas Limit (#1129)

* add option for CFA hook to deploy script
* hardcode `CFA_HOOK_GAS_LIMIT`
* test case added
* fix deployment test
* handle the magical 1/64 case
* blow up in catch
* fix deployment script
* simplification: make hook gas limit a constant
* fix flakey foundry invariant test
* the clipped deposits need to be bounded appropriately
* no mentions
* comment cleanup

Co-authored-by: didi <git@d10r.net>

* [SDK-CORE] Load w/ metadata (#1127)

* sdk-core load w/ metadata
* install graphql
* changelog + ethers mentioned
* address comments
* no more EMPTY_NETWORK_DATA

* Yellowpaper 1 - Denotational Semantics of General Payment Primitives, and Its Payment System (#1105)

* [CI] Changelog reminder handler (#1133)

* create changelog reminder handler
* changlog reminder handler
* cleanup of check-changeset.sh
* forgot to checkout monorepo
* bad syntax

Co-authored-by: Miao ZhiCheng <miao@superfluid.finance>

* CFA forwarder deployment related changes (#1117)

* improved tooling for same-address deployment of CFA forwarder

* ISSUE #1089 - Create2 Hybrid SuperTokenFactory (#1115)

* Contracts WIP

* `createCanonicalERC20Wrapper` and `computeWrapperSuperTokenAddress` implemented
* both functions added to `ISuperTokenFactory`

* canonical creation tests

* tests that compute works as expected
* tests create2 works as expected
* tests that we can only create canonical token once
* tests that we can create canonical erc20 wrappers for multiple tokens

* initialize list

* implementation for list initialization added
* tests added for list initialization

* fix flakey foundry invariant test

* the clipped deposits need to be bounded appropriately

* address review comments

* rename computeWrapperSuperTokenAddress to computeCanonicalERC20WrapperAddress
* fix up comments
* add new custom error code
* add getCanonicalERC20Wrapper function

* Address Review Comments

* Add warning about reordering storage layouts in all contracts which have upgradability
* Add note comments about adding tests to validateStorageLayout if proxy contract storage layout is touched
* Fix up tests given review comment logic changes

* typo fix

* address review comments

* add to readme
* remove "our" from vocabulary when referring to canonical erc20 wrapper list
* use ownable over SueprfluidGovernanceII

* remove InitializeData from ISuperTokenFactory.sol

* Remove SuperfluidErrors Library (#1142)

* Localize custom errors to individual contracts
* Modify tests accordingly
* Retain the name so that it is easy to debug which contract is throwing the error
* No more use of error codes as this is redundant given the above
* Comments with the hashed custom error name for quick debugging

* [SUBGRAPH] Event Entity Base Property Initialization Refactor (#1143)

* simple refactoring

* utilize entity.set in initializeEventEntity to cut down on code and duplication

* no upcast - must pass entity

* bad copy paste

* set non null account entity!

* review comments addressed!

* [ETHEREUM-CONTRACTS/JS-SDK] Contracts scripts typings + JS-SDK cleanup (#1144)

* Map deposit from Subgraph to Stream (#1145)

Co-authored-by: Miao ZhiCheng <miao@superfluid.finance>

* Yellowpaper v1.0: errata and grammatic fixes after reviews (#1148)

* [SDK-CORE/SDK-REDUX] Fix reference docs Cloudfront bucket ID & use single "@dev" for latest dev-build (#1146)

* Use new cloudfront distribution ID
* Use single dev-version instead of many specific dev-versions for ref docs

* Update sdk-redux dependencies and bump version (#1147)

* Bump apollo-server-core from 3.10.0 to 3.11.0 (#1149)

Bumps [apollo-server-core](https://github.com/apollographql/apollo-server/tree/HEAD/packages/apollo-server-core) from 3.10.0 to 3.11.0.
- [Release notes](https://github.com/apollographql/apollo-server/releases)
- [Changelog](https://github.com/apollographql/apollo-server/blob/apollo-server-core@3.11.0/CHANGELOG.md)
- [Commits](https://github.com/apollographql/apollo-server/commits/apollo-server-core@3.11.0/packages/apollo-server-core)

---
updated-dependencies:
- dependency-name: apollo-server-core
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* [SDK-CORE] Mainnet Support | TODO: Reinstall @superfluid-finance/metadata (#1139)

* add mainnet to relevant workflow files (#1141)

Co-authored-by: Didi <git@d10r.net>

* [SUBGRAPH] Mainnet Support (#1140)

Co-authored-by: Didi <github@d10r.net>

* TOGAv3: use transfer and eliminate custodian - signed (#1150)

* minor cleanups

* remove .ts script file which broke the build

* undo yarn.lock

* fix tests

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Kaspar Kallas <kaspar@superfluid.finance>
Co-authored-by: Miao ZhiCheng <miao@superfluid.finance>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Didi <git@d10r.net>
Co-authored-by: sffn3va <114768934+sffn3va@users.noreply.github.com>
Co-authored-by: tokdaniel <7677603+tokdaniel@users.noreply.github.com>
Co-authored-by: Didi <github@d10r.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
PROTO
  
Done
Development

Successfully merging this pull request may close these issues.

None yet

4 participants