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"`
js-sdkv0.5.12
Changes in this js-sdk stable release
Added
- Added "optimism-mainnet" and "arbitrum-one" support.
ethereum-contractsv1.0.0
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)
subgraphv1.3.0
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)
sdk-reduxv0.2.0
Added
- Introduce new Redux slice `sfSubgraph` (571)
- Support improved querying functionality
- Query all the Subgraph entities with all the possible filters and ordering capabilities
sdk-corev0.3.0
Three friends, Vincent, Kaspar and Miao, are tired of the problems in their lives and decide to visit a crypto resort. Their lives change when they are mysteriously teleported to the year 1420.
Changed
- `_ethers` is not exported for UMD build anymore. Use `window._ethers` instead.
- `SFError` and `ErrorType` are now exported
- Generated Subgraph types are now exported (`*_Filter` and `*_OrderBy` types)
- There are a lot of Subgraph types, so it does make the namespace crowded. We'll alleviate it in a later release.
Added
- New query handlers (experimental) to cover full spectrum of Subgraph querying capabilities
- Used by the new release of SDK-redux
- Lacks an easy-to-use API for average SDK-core user
js-sdkv0.5.10
Changes in this ethereum-contracts release
Changed
- Update dependencies for ethereum-contracts/js-sdk & cleaned up prettier usage (593)
ethereum-contractsv1.0.0-rc.11
Changes in this ethereum-contracts release
Changed
- Update dependencies for ethereum-contracts/js-sdk & cleaned up prettier usage (593)
sdk-corev0.2.1
Changes in this sdk-core release
Added
- Load `SuperToken` by token symbol as long as the token is listed on the resolver (588)
js-sdkv0.5.9
Changes in this js-sdk release
Fixed
- Enable EIP-155 transactions always (582)
ethereum-contractsv1.0.0-rc.9
Changes in this ethereum-contracts release
Added
- CFAv1Library (542)
- For 3P feature: makeLiquidationPayoutsV2 (574)
Fixed
- TOGAv2: bond withdrawal in separate tx fallback (544)
- Scripts improvements for L2 network deployments
Experimental features
- CFA minimal deposit (568, 576)
ethereum-contractsv1.0.0-rc.10
Changes in this ethereum-contracts release
Fixes
* Fix loadContracts usage (587)
sdk-corev0.2.0
"The Protagonist"
Changes in this sdk-core release
Changed
- package.json cleanup and subgraph schema updated (522)
- Simpler provider logic for Framework creation (537)
- Use V1 instead of devSubgraph endpoints (550)
- `superTokenFactoryAddress` removed from `IConfig` interface (556)
Added
- Support for new testnets: Optimism Kovan, Avalanche Fuji, and Arbitrum Rinkeby (526)
- Working UMD build added to package and removed duplicated .d.ts typing files from package (535)
- ethers.js overrides object support added to all `Operation` creation functions (540)
Fixed
- Outdated README.md cleanup and updates (520, 524, 526, 530, 537, 549, 556)
- `BatchCall` for callAgreement functions fixed, flow rate calculation utils logic fixed (526)
- Improper base 18 number for flow rate calculation utils (545)
- single network deploy implemented (506)
- eslint errors and .json imports fixed (535)
Breaking
- Breaking change: Framework.create interface breaking change:`web3Ethers` and `hardhatEthers` properties removed (537)
- Migration: if you were using one of these two properties, change the property `web3Ethers` and `hardhatEthers` to `provider`
- Breaking change: non Framework initialized `batchCall` constructor arguments interface change: `config` property removed (556)
- Migration: if you instantiated a `BatchCall` without using Framework, you need to remove the config property and replace it with the property: `hostAddress`
subgraphv1.2.0
After discovering new blockchains in the Cryptoverse, Superfluid and its revolutionary money streaming technology set out to bring magical streams to everyone in crypto.
Added
- Support for new test networks: `arbitrum-rinkeby`, `optimism-kovan` and `avalanche-fuji`.
js-sdkv0.5.8
Changes in this js-sdk release
New
- Added support of new testnets: arbitrum-rinkeby, optimism-kovan, avalanche-
ethereum-contractsv1.0.0-rc.8
Changes in this ethereum-contracts release
New
- Batch super token upgrade (448)
- Native Super Token mintable by Matic POS bridge (459)
- Added CLOWNS/TOGA contract (414)
- Batch liquidator contract (394)
- Upgradable governance (405)
- Added support of new testnets: arbitrum-rinkeby, optimism-kovan, avalanche-fuji
Changes
- Refactor TestEnvironments (436)
Fixes
- Native coin contract verification fix (521)
- (Security) Ida slotsbitmap fix & additional IDA changes (460)
- Improve Admin Scripts (400, 488)
- Print loader address in scripts/print-addresses.js
- Updated dependencies
sdk-reduxv0.1.0
SDK-Redux is an application framework for building front-end applications that interact with the Superfluid Protocol.
More specifically, SDK-Redux is a wrapper library around superfluid-fincance/sdk-core which adds state management to Superfluid related queries and operations. Under the hood, SDK-Redux leverages popular Redux libraries Redux Toolkit & RTK Query.
!!IMPORTANT DISCLAIMER!!
SDK-Redux is in early active development and can have breaking releases without warning and without consideration for semantic versioning.
Added
- Initial preview version of SDK-Redux
- Features:
- Wrap SDK-Core with Redux's RTK-Query to enable cache'ing of queries
- Auto-generate React Hooks
- Tracking loading state in order to show UI spinners
- Tracking broadcasted transactions for UI notifications and data updates
- Managing cache lifetimes
- Avoiding duplicate requests for the same data
- Monitoring blockchain events for data updates (including re-orgs)
- Handle errors and offer user opportunity to retry
sdk-corev0.1.0
Intellectual degeneers Vincent and Kaspar build and sell much wow NFT technology with the help of their friends Miao and Vitalik. But when Vincent and Kaspar accidentally invent what they think is a money streaming machine, Kaspar builds a version capable of streaming a human and puts the device to the test. As the two friends obsess over their creation, they discover the dark consequences of their actions.
This is the first release build and for preview only. Breaking changes can be expected for all `0.x.y` releases.
subgraphv1.1.1
"I'll be back."
Added
- `from` property onto SentEvent (493)
- Subgraph sfmeta entity (491)
Changed
- Subgraph test added to canary build (512)
- using js-sdk0.5.7
- update subgraph dependency versions (target minor) (509)
Fixed
- ci cd cleanup (500)
- single network deploy implemented (506)
Breaking Changes!!!
Due to subgraph schema version upgrades, `isSet` is now also a reserved keyword in the schema. Superfluid events
that had `isSet` argument are all changed to using `isKeySet` instead.
This change will take effect when the superfluid endpoints are updated, it might introduce some period of incompatibility
during the upgrade process.
js-sdkv0.5.7
Added
- add skipTokens option to `Framework.loadToken` (510)
js-sdkv0.5.6
Changes in this Release
Fixes
* Add networks property into Truffle contract init json object to reduce network calls by msoni89 in https://github.com/superfluid-finance/protocol-monorepo/pull/476
What's Changed
* Update dependencies and reviewed new testnet supports by hellwolf in https://github.com/superfluid-finance/protocol-monorepo/pull/499
**Full Changelog**: https://github.com/superfluid-finance/protocol-monorepo/compare/js-sdkv0.5.5...js-sdkv0.5.6
subgraphv1.1.0
Vincent (0xdavinchee), crypto's only hope of stopping the maximalist wars and saving ser Doge, attempts to broker peace between the degens and nocoiners. However, he must first confront his arch nemesis, the rogue agent Bogdanoff.
New
- Add stream period entity (461)
- Name and addresses properties added to event entities (481)
Changes
- Subgraph v1 underlying token added to Token entity (482)
* Decimals and underlying token added to Token entity
* Tests added for new entity and properties: `StreamPeriod` entity, `name` and `addresses` properties on events, `decimal` and `underlyingToken` properties on `Token`
subgraphv1.0.0
Crypto fighters Vincent, Trinity and Morpheus continue to lead the revolt against the Maximalists, unleashing their arsenal of very blockchain and much wow against the systematic forces of so scared and stonks.
Key Features
- Complete set of Superfluid event entities (niiiiice).
- HOL (Higher order level) entities (oh yeeehhh).
- Aggregate entities (whaaaa).
- System testing suite for all entities (first of its kind!).
- Shiny new docs coming to you soon (boom!)...
js-sdkv0.5.5
Changes in this Release
Changed
- Refactor TestEnvironments (436)
Fixes
- Fix SETHx Loading (449)
- Fix up user object (427)
- add some docs
- add some tests
- we check if the flowRate property is empty instead of !flowRate
- we also check if the type of flowRate is not a string, we throw an error if this is the case otherwise the code may behave strangely
- Type information fixes (444, JoshuaTrujillo15 )
* fixed suggestions in js-sdk, fixed related import issues, moved tsconfig.json
* fixed import issue in loadContracts
* updated tsconfig, removed unnecessary any types, fixed import issue
* added optional type for FrameworkOptions
* pdated package and tsconfig typescript issues
* updated CFAv1 interfaces
* replaced EthersWithSigner in Framework, loadContracts
* updated type entry point for ease of import
* updated IDAv1 interfaces (more to come)
* updated CFAv1 interfaces
* fixed CFAHelper optional types
* added User options interfaces
* fixed user option issue
js-sdkv0.5.4
Changes in this Release
Changed
- Remove the lint-staged step
- Print loader address
- Various improve Admin Scripts (400)
- Adjust LoadToken logic when dealign with unlisted token (411)
Added
- added externals to webpack (407)
- Added superTokenCustomType into superTokenObject (428)
Fixes
- Fix SDK browser support + add hardhat network (390, thanks to trozler)
- Small improvements noticed when doing code review to js-dsk (398)
- js-sdk fix node syntax issue (397)
- Fix typescript typing issues (423)
Breaking
None.
js-sdkv0.5.3
Changes in this Release
Fixes
- Fix SDK browser support + add hardhat network (390)
ethereum-contractsv1.0.0-rc.7
Changes in this Release
Changed
- Update dependencies (381)
* update dependencies of packages
* update yarn version
- remove the damn lint-staged
- selfMint requireReceptionAck=false
Added
- add upgrade-super-token-logic.js script
Fixes
- Ignore strings sol in coverage (377)
- Various fix in protocol scripts
Breaking
- make CustomSuperTokenProxyBase more abstract (382)
* rename to CustomSuperTokenBase to avoid silent breaking change
js-sdkv0.5.2
Changes in this Release
Fixes
Typescript Bug Fixes (375)
ethereum-contractsv1.0.0-rc.6
Changes in this Release
Added
- Framework loader and load token by address (366)
Fixes
- solidity interfaces should not require exact version (363)
- ignore contracts/utils/Strings.sol in coverage test (374)
- make utils.rl close readline properly (361)
- Deployment fixes (359)
js-sdkv0.5.1
Patched js-sdk0.5.1
* add .d.ts and .md files to the files list
js-sdkv0.5.0
Changes in this Release
Added
- Framework loader and load token by address (366)
- Typescript type information for SDK (364). Thanks to the contributors JoshuaTrujillo15, manav2401 and Drewsapple
Fixes
- Deployment fixes (359)
js-sdkv0.4.4
Added
- [js-sdk] batchCall ∑ (332)
Changes
- Updadte dependencies (328)
Fixes
- disable double loading (357)
ethereum-contractsv1.0.0-rc.5
Added
- Update create-new-app-registration-key.js (352)
- separate ISETH and INativeSuperToken interfaces (356)
- more protocol scripts (329)
Changes
SuperTokenLogic changes (SuperToken upgrade needed):
- Make selfMint requireReceptionAck=false (353)
- Split IDA into a library and main contract (343)
Fixes
- (Critical) Should not have deposit allowance for different token (344)
- duplicate param description of account in realtimeBalanceOf (349)
- Fix IDA etherscan source verification (346)
ethereum-contractsv1.0.0-rc.4
Changes in this Release
Changed
Updadte dependencies (328)
- truffle/hdwallet-provider, to fix eip155 bugs
- update truffle-plugin-verify
- use --forceConstructorArgs
- turn off a solhint check for compiler-version due to an issue.
* fix lint issue and build
* bump version of superfluid-finance/ethereum-contracts for new release
Added
- Subraph initial setup (303)
Fixes
- truffle/hdwallet-provider, to fix eip155 bugs
Breaking
None.
js-sdkv0.4.3
Changes in this Release
Changed
- loadToken of superTokenKey can load underlyingToken too (311)
Added
- added isSuprTokenListed (311)
Fixes
n/a
Breaking
n/a
ethereum-contractsv1.0.0-rc.3
Changes in this Release
Changed
- make createERC20Wrapper returns the superToken (313)
Added
- Minimal native SuperToken with deploy script (306)
- add custom super token created event (310)
Fixes
- fix upgradeTo for TokenUpgraded event and added tests (312)
Breaking
none.
js-sdkv0.4.2
Changes in this Release
Changed
* use node-jq package and improve error handling of tasks/build-abi-js (308)
* further parallel loading of Framework.initialize (309)
Added
* SDK to be able to load native super token (309)
* make doc clear about tokenKey vs tokenSymbol/superTokenSymbol
Fixes
none
Breaking
none
ethereum-contractsv1.0.0-rc.2
Changes in this Release
Changed
- Additional improvements to the scripts
- cleanup getConfigs (301)
Added
- Added AgreementLiquidatedBy event to CFA (305)
- Add more CFA SuperApp test case (290)
Fixes
- Improved examples daily build stability, update dependencies (301)
- Fixed a CFA bug when superapp manipulating the same flow in the callbacks (290)
Breaking
None.
js-sdkv0.4.1
Changes in this Release
Changed
- Peer dependency of truffle/contract version requirement lowered to ^4.0.0
Added
- Added xdai resolver address
- Added matic resolver address
- Framework.createERC20Wrapper to support overriding superTokenName and superTokenSymbol
Fixes
n/a
Breaking
n/a
ethereum-contractsv1.0.0-rc.1
Changes in this Release
Ethereum-contracts
Changed
- print super tokens in scripts/show-protocol-info.js
- scripts/show-protocol-info.js to print code address of host
- print underlying token address in scripts/show-protocol-info.js
- more docs to scripts/deploy-super-token.js
Added
- added scripts/scan-deployments.js
- added scripts/deploy-unlisted-super-token
Fixes
n/a
Breaking
n/a
js-sdkv0.4.0
Changes in this Release
Changed
- updated IDAHelper class (285)
Added
- Feature/ida testsuite (280)
- Feature - js sdk helpers to support autobind (279)
Fixes
- prettier all js (278)
Breaking
- IDAHelper is now with a revamped interface and its own code documentations.
ethereum-contractsv1.0.0-rc.0
Changes in this Release
Changed
- deployment scripts improvements (291)
Added
- added new network type arbitrum testnet (277)
- Complete CI Coverage integration (281)
- Feature 249 trusted forwarder integration (256)
- add: option weth to SETH proxy deployment (293)
- Superfluid Governance (294)
- add support of app whitelisting (297)
- added PeckShield-Audit-Report-Superfluid-v1.0
Fixes
- prettier all js (278)
Breaking
- use same upgrade/downgrade functions for SETH (296)
js-sdkv0.3.5
Changes in this Release
Changed
n/a
Added
n/a
Fixes
* loadToken should use correct ABI for SETH (271)
Breaking
n/a
js-sdkv0.3.4
Changes in this Release
Changed
n/a
Added
* biconomy forwarder fast track (269)
Fixes
n/a
Breaking
n/a
ethereum-contractsv0.2.8
Changes in this Release
Changed
n/a
Added
* biconomy forwarder fast track (269)
Fixes
n/a
Breaking
n/a
js-sdkv0.3.3
Changes in this Release
Changed
n/a
Added
- support contractLoader in loadContracts (used by ethereum-contracts)
Fixes
n/a
Breaking
n/a
js-sdkv0.3.2
Changes in this Release
Changed
* Updated README (261)
Added
n/a
Fixes
* [js-sdk] Ethers API provider issue with getSigner() (258)
Breaking
n/a
ethereum-contractsv0.2.7
Changes in this Release
Changed
n/a
Added
n/a
Fixes
- use builtTruffleContractLoader for deployment scripts
Breaking
n/a
ethereum-contractsv0.2.6
Changes in this Release
Changed
* Ethereum contracts should include artifacts folder. (261)
* Updated README (261)
Added
n/a
Fixes
n/a
Breaking
n/a
js-sdkv0.3.1
Changes in this Release
Just some minor docs (249) and dependency updates (252) , nothing to see here
ethereum-contractsv0.2.5
Changes in this Release
Changed
n/a
Added
* ship full version of Int96SafeMath 250 (254)
* add TokenUpgraded and TokenDowngraded events to SETH (253)
Fixes
* a bug in agreement library causing non super app callbacks in IDA case (246)
Breaking
n/a
js-sdkv0.3.0
Changes in this Release
👯 The day has come to add `Ethers.js` support! Here is a handy guide to use the SDK with ethers: https://docs.superfluid.finance/superfluid/protocol-tutorials/getting-started/frontend-+-nodejs#installation
Happy hacking!
Changed
- Instantiation has changed (see "Breaking" section)
Added
- New peer dependencies for `truffle/contract` and `ethersproject/contracts`. You must install one, depending on which web3 library you are using. (238)
- Add `ethers.js` support (238)
js
yarn install superfluid-finance/js-sdk ethersproject/contracts
...
const SuperfluidSDK = require("superfluid-finance/js-sdk");
const { Web3Provider } = require("ethersproject/providers");
const sf = new SuperfluidSDK.Framework({
ethers: new Web3Provider(window.ethereum)
});
await sf.initialize()
- New function to load tokens `loadTokens`, which is similar to `options.loadTokens`, but you can call this at any time, rather than only during instantiation. (245)
- Support for Super ETH, which allows you to upgrade the native protocol token to a Super Token. (234)
Fixes
- n/a
Breaking
- For `web3.js` users, we renamed `web3Provider` to `web3`. You must also create the web3.js object first, rather than relying on the sdk to create it. For example:
js
yarn install superfluid-finance/js-sdk truffle/contract
...
const SuperfluidSDK = require("superfluid-finance/js-sdk");
const Web3 = require("web3");
const sf = new SuperfluidSDK.Framework({
web3: new Web3(window.ethereum),
});
await sf.initialize()
ethereum-contractsv0.2.4
Changes in this Release
Changed
- Update to `superfluid-finance/js-sdk^0.3.0`
Added
- Support `ETHx` (Super ETH) in the test environment
Fixes
- Use `safeERC20` in `SuperUpgrader`
Breaking
- n/a
js-sdkv0.2.4
Changes in this Release
Changed
n/a
Added
n/a
Fixes
- Dependency bug in 231
Breaking
n/a
js-sdkv0.2.3
Minor improvements as we continue to separate the sdk from Truffle. Support for ethers.js is planned.
bash
Compare changes
git diff superfluid-finance/ethereum-contracts0.2.2 packages/js-sdk
Changed
- Removes `ethereum-contracts` dependency for the `loadContracts.js` script (219)
Added
n/a
Fixes
n/a
Breaking
n/a
ethereum-contractsv0.2.3
Changes in this Release
Changed
- Build process: workflow for pr branches, canary branch, master branch revamped
Added
- Additional Superfluid host contracts testings (220)
- Build process: etherscan support (223)
Fixes
- PVE001 fix - use SafeERC20 SafeTrasfer(From) (214)
- PVE003 use actual amount when using underlying tokens (217)
- PVE005 support APP_RULE_NO_REGISTRATION_FOR_EOA (216)
- PVE007 rewardAmount in AgreementLiquidated and other minor fixes (218)
- fix deploy-super-token.js script
- corrected licence reference in ethereum-contracts to AGPLv3
Breaking
- fix typo of operationType in batchCall (225)