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]

Published by github-actions[bot] over 2 years ago

Changes & Additions

  • Rename mutations and queries for better ordering in source/file explorers:
    • For example, "CreateFlow" renamed to "FlowCreateMutation" to go along with "FlowUpdateMutation" and "FlowDeleteMutation" etc
  • "MonitorForEventsToInvalidateCache" moved to Subgraph API slice because it uses Subgraph, not an RPC
  • Removed sfApi completely which combined Subgraph & RPC endpoints. Replaced by leaving just subgraphApi (only Subgraph as data source) & rpcApi (only RPC as data source)
  • Redux slices are required to be set up using *slice*.reducerPath syntax
  • Tracked transactions can now contain user defined extra data (see *tracked transactin*.extraData) which can be specified through the invoked mutation
  • userData can now be specified through flow mutations
  • Tracked transactions now have titles to identify the intent by
  • Make it possible to initiate transaction tracking for old pending transactions (see initiateOldPendingTransactionsTrackingThunk)
  • Transaction tracking invalidates RPC slice and Subgraph slice separately
    • RPC is invalidated in its entirety for now
    • Subgraph is polled for the block events of the successful transaction to invalidate the slice normally (based on the event type and its data)
  • Save timestamp on the tracked transaction of when tracking started
  • Simplify caching logic to just "GENERAL" & "SPECIFIC" tags (NOTE: cache tagging mechanism and the invalidation mechanism need more work)
    • The idea behind the simplified chaching logic is that sometimes we need to force invalidate the whole chain or the whole token cache. That's then we use the general tag for invalidation. As a rule of thumb, all queries should provide general cache tags. Other times, when we're listening to the blockchain and only want to invalidate specific parts and not over invalidate the cache, then we use the specific cache tags.
protocol-monorepo - SDK-Core v0.4.1 - Snowpiercer

Published by github-actions[bot] over 2 years ago

When the blockchain is frozen, only a few survivors of the 2020-2021 bull market are left and they ape into the next L1 blockchain aiming to solve the blockspace problem. Wojak leads a group of NPCs wanting to control the blockchain and the coins.

Changed

  • constants.ts: Canonical network names based off truffle.config.js in packages/ethereum-contracts

Added

  • Network support for Avalanche C-Chain
protocol-monorepo - [email protected] - Avalanche C-Chain Support

Published by github-actions[bot] over 2 years ago

Added

  • Avalanche C-Chain support
protocol-monorepo - Subgraph v1.3.4 - Avalanche

Published by github-actions[bot] over 2 years ago

Crypto tourists of 2022 are forced to fight for their gains when an avalanche (c-chain) of liquidations interrupts their portfolios.

Added

  • Avalanche C-Chain network support
protocol-monorepo - Subgraph v1.3.3 - Interstellar

Published by github-actions[bot] over 2 years ago

When Ethereum becomes uninhabitable in the future, a frog and ex-crypto trader, Pepe, is tasked to bridge assets, along with a team of researchers, to find a new network for degens.

Changed

  • Removed tests as they were not catching the issue

Fixes

  • Removed (immutable: true) from FlowOperatorUpdated entity - No operators should
protocol-monorepo - Subgraph v1.3.2 - The Time Machine

Published by github-actions[bot] over 2 years ago

Scientist Pepe's intention to prove his theory of blockchain immutability turns into an obsession when he decides to go back in time to save his subgraph from bricking.

Changed

  • Zero address Account and AccountTokenSnapshot entities are not filtered out

Fixes

  • Global events query fixed: global events query was breaking due to the FlowUpdatedEvent entity implementing the Event interface, but not having the immutable property like the other events
  • AccountTokenSnapshot query with account { id } fixed. Was breaking due to faulty logic of creating an AccountTokenSnapshot without creating an Account entity
  • Tests added to ensure this will be caught
protocol-monorepo - [email protected] - Maintenance Branch

Published by github-actions[bot] over 2 years ago

NOTE: This is the maintenance branch of js-sdk, you should move onto using sdk-core instead.

Changed

  • Added coverage report of js-sdk to codecov (#802)
protocol-monorepo - [email protected]

Published by github-actions[bot] over 2 years ago

Changes in this ethereum-contracts stable release

[v1.2.2] - 2022-05-09

Breaking

  • SuperfluidFrameworkDeployer.getFramework to return a Framework struct. (#789)

Fixes

  • Fixed a natspec typo (#773)
  • Reapply OpenEthereum provider hack (#771)

Added

  • ERC1820RegistryCompiled for testing frameworks: foundry, etc. (#789)
  • Add few more CFA and IDA cases (#781)
  • Test some CFA properties (#777)

Changed

  • App registration keys with expiration date instead of one-time use.
protocol-monorepo - SDK-Core v0.4.0

Published by github-actions[bot] over 2 years ago

Changed

  • Renamed Token to ERC20Token
  • Exported ERC20Token
  • Renamed PagedResult.data to PagedResult.items
  • Moved listAllResults into separate function from Query object
  • Removed SubgraphClient.batchRequests because Subgraph Node didn't support it

Added

  • Added option to specify block details when querying through a SubgraphQueryHandler
  • Added Subgraph's _meta table query
  • Added tokenSymbol for SubgraphQueryHandler entity queries where token (token ID) was previously included
  • Added PageNumberPaging for UI development friendly pagination API
  • Added AllPaging to recursively query all results from Subgraph
  • Added support for TypedDocumentNode for SubgraphClient
  • Expose underlying ethers.js contracts for each class: CFAv1, Host, IDAv1 and contracts property in Framework class
  • Added new ACL function support: authorizing flow operator permissions and create/update/delete flow by operator
  • Added nativeTokenSymbol property to constants.ts
  • Split SuperToken class into: WrapperSuperToken, PureSuperToken and NativeAssetSuperToken classes
  • Added loadWrapperSuperToken, loadNativeAssetSuperToken, and loadPureSuperToken super token initialization functions
  • Support upgrade, upgradeTo and downgrade functions via NativeAssetSuperToken
  • Added upgradeTo to WrapperSuperToken class as this was missing as well

Breaking

  • The SuperToken class is now an abstract base class and no longer contains the functions upgrade and downgrade.
  • underlyingToken is possibly undefined on SuperToken: WrapperSuperToken has underlyingToken, but PureSuperToken and NativeAssetSuperToken do not.

NOTE: These changes are due to the split of SuperToken into WrapperSuperToken, PureSuperToken and NativeAssetSuperToken classes.

  • Migration:
    • if you are unsure of the type of the super token, you can use: await framework.loadSuperToken("0x...");
    • if you want to load a wrapper super token, use: await framework.loadWrapperSuperToken("DAIx");
    • if you want to load a native asset super token, use: await framework.loadNativeAssetSuperToken("ETHx");
    • if you want to load a pure super token, use: await framework.loadPureSuperToken("0x...");
protocol-monorepo - Subgraph v1.3.1 - Groundhog Day

Published by github-actions[bot] over 2 years ago

Pepe, a self-centered frog, hops to the different blockchains available for indexing by The Graph for an assignment. He is later shocked when he wakes up the next morning and realises that he is reindexing the same blockchains over and over.

Changed

  • Most event entities are immutable (except FlowUpdated)

Added

  • New Access Control List (ACL) entities and properties added
    • FlowOperator entity
    • flowOperator property
    • deposit and totalDeposit properties added to entities

Fixes

  • Properly handle zero address throughout
protocol-monorepo - [email protected]

Published by github-actions[bot] over 2 years ago

Changes in this ethereum-contracts stable release

Breaking

  • Contracts/Test layout refactoring + Shared Deployer + Foundry Test Integration (#754)
    • interfaces/misc/IMultiSigWallet -> interfaces/utils/IMultiSigWallet
    • interfaces/ux/IRelayRecipient-> interfaces/utils/IRelayRecipient
    • interfaces/ux/IResolver-> interfaces/utils/IRelayRecipient
    • ux/BaseRelayRecipient -> libs/BaseReplayRecipient
    • ux/Resolver -> utils/Resolver
    • ux/SuperUpgrader-> utils/SuperUpgrader
    • ux/SuperfluidLoader -> utils/SuperfluidLoader
    • tokens/FullUpgradableSuperToken -> superfluid/FullUpgradableSuperToken
  • ACL redundant sender param cleanup (#763)
protocol-monorepo - [email protected] - ACL

Published by github-actions[bot] over 2 years ago

Changes in this ethereum-contracts stable release

[v1.2.0] - 2022-04-28

Added

  • Added HALBORN report (#759)
  • MAJOR FEATURE: Access Control List (#720)
    • ACL base API functions
      • FlowOperatorDefinitions library
      • new functions in IConstantFlowAgreementV1
    • Other changes:
      • emit FlowUpdatedExtension event

Fixes

  • Fix ERC1820 artifact issue (#759)
  • Fix an issue with output dir (#748)
  • [SECURITY] InstantDistributionAgreement.claim should be guarded by ctx check.
  • Interface renaming fix re patrician periods (#747)

Changed

  • Remove Strings.sol again
  • Disable zero address subscription for IDA (#751)
  • Update dev dependencies (#694)
  • Use hardhat for ethereum-contracts tests (#727)
  • Update to solc 0.8.13 (#721)

Improvements

  • Reduce trust assumptions host <-> agreements (#749)
  • Additional IDA test cases (#722)
protocol-monorepo - [email protected]

Published by github-actions[bot] over 2 years ago

Changes in this js-sdk stable release

Changed

  • Update dev dependencies (#694)

Added

  • Added gasOptions parameter to IDA and CFA methods (#756)
protocol-monorepo - [email protected]

Published by github-actions[bot] over 2 years ago

Changes in this ethereum-contracts stable release

Fixes

  • Add Strings.sol back to repository (#715)
protocol-monorepo - [email protected]

Published by github-actions[bot] over 2 years ago

Changes in this ethereum-contracts stable release

Changed

  • Use host.getNow to fully abstract time (#703)
  • Use Solidity v0.8.0 (#687)
  • Informative revertFromReturnedData (#693)

Added

  • IDAv1Library (#696)
  • Added single-file Dapp for deploying SuperToken wrappers (#692)
  • Print contract sizes (#690)
  • Workflow Improvements (cloc and faster pre-commit) (#688)

Fixes

  • Info-show-protocol fix for PPP and cleanup (#684)

Breaking

  • Monogamous SETH, L2 config improvements (#707).
  • All interface contracts are requiring you to use solc >= 0.8.0.
  • Removed ERC777 callbacks from ERC20.transfer (#698).
  • [SECURITY] isValidAppAction added, this prevents SuperApp callbacks being mistakenly called by callAppActions. Kudos to @JoshuaTrujillo15
protocol-monorepo - [email protected]

Published by github-actions[bot] over 2 years ago

Changes in this sdk-redux stable release

[0.2.2] - 2022-03-16

Added

  • Bump sdk-core version to include "optimism-mainnet" and "arbitrum-one" support.
  • Change sdk-core peer dependency to allow patched updates.

[0.2.1] - 2022-02-16

Added

protocol-monorepo - [email protected]

Published by github-actions[bot] over 2 years ago

Changes in this sdk-core stable release

[0.3.2] - 2022-03-16

Added

  • Added "optimism-mainnet" and "arbitrum-one" support.

[0.3.1] - 2022-02-16

Added

  • Added indexValueCurrent to IndexSubscription query to optimize calculating "total amount distributed" in consuming applications ([#629])
  • Added indexTotalUnits to IndexSubscription query to optimize calculating "pool percentage" in consuming applications ([#630])

Fixed

  • Typo for networkName: "arbitrum-rinkeby" fixed (was expecting "arbitrium-rinkeby") in Framework.create ([#637])

Breaking

  • Using "xdai" as the networkName will no longer work. Updated to "gnosis"
    • Migration: change networkName from "xdai" to "gnosis"
protocol-monorepo - [email protected]

Published by github-actions[bot] over 2 years ago

Changes in this js-sdk stable release

Added

  • Added "optimism-mainnet" and "arbitrum-one" support.
protocol-monorepo - Subgraph v1.3.0 - Back to the Future

Published by github-actions[bot] over 2 years ago

Vinny travels back in time on-chain using The Graph's Subgraph indexer. However, he must index all the relevant events and create the relevant entities in order to return to the present.

Changed

  • Package updates (#550, #604)
  • Subgraph tests use sdk-core instead of js-sdk and general refactoring (#594, #621)

Added

  • Subgraph supports new entities: PPPConfigurationChangedEvent, AgreementLiquidatedV2Event (#558)
  • Added complementary liquidation tests

Fixed

  • +1 to getRandomFlowRate so flowRate is never 0 (#538)
  • getLiquidations script null case fix (#557)
  • handle updating of total supply for native super token (#584)
protocol-monorepo - [email protected] - 3Ps + Out of RC

Published by hellwolf over 2 years ago

Changes in this ethereum-contracts stable release

Changed

  • Upgrade truffle-plugin-verify and use its proxy verification feature (#623)

Added

  • 3Ps (#558)
  • Add SuperApp factory registration script (#657)
  • CFALibraryV1: added flow() and flowWithCtx() functions (#595)
  • Self approve transfer (#598)
  • External set/clear config added to governance (#624)

Fixes

  • Add missing event emits (#656)
  • CFALibraryV1: Change solidity pragma in cfa lib to support versions 0.8 & later (#642)
  • Multiple scripts fixes re: do not engage with unitialized super token proxies (#603)

Security

  • Call agreement calldata exploit (#628)
  • Internal code audit iteration one (#646)

Technical Debt Cleanups

  • Techdebt cleanups (#673)
  • UUPS review (#632)