Skip to content

v5.5.0 - Deal sponsoring

Latest
Compare
Choose a tag to compare
@jeremyjams jeremyjams released this 07 Oct 16:11
· 0 commits to v5 since this release
4821374

What's new?

  • Added the ability to sponsor a deal for a requester via the new sponsorMatchOrders(..) function.
    • contracts implementation ✍️
    • deployment on iExec Bellecour network 🚀
  • Initialized « boost » mode to improve deal throughput
    • contracts implementation ✍️

More details

  • Include IexecOrderManagement module in Poco sponsoring upgrade. (#132)
  • Update function visibilities to external in IexecPoco and IexecOrderManagement modules. (#131)
  • Fix configs native and token. (#129)
  • Bump dependencies: (#127)
    • @openzeppelin/hardhat-upgrades, hardhat-dependency-compiler, web3,
      prettier, zx, and others [minor/patch version bump]
    • prettier-plugin-organize-imports@4
  • Clean some TODOs and harmonize unit tests. (#123)
  • Add set-callback-gas.ts script. (#121)
  • Accept any signature format in SignatureVerifier.v8 when the account is a smart contract. (#120)
  • Update UML class diagrams. (#112)
  • Generate Solidity documentation. (#111)
  • Migrate unit test files to Typescript & Hardhat:
  • Wait for transactions occurring during deployment. (#95)
  • Deploy and configure ENS with hardhat. (#93)
  • Fix contribute & finalize with callbacks. (#92)
  • Deploy Poco sponsoring on local fork of Bellecour. (#91)
  • Create slither smart contract entry point and run slither analysis on new contracts. (#87)
  • Upgrade to @openzeppelin/[email protected] and upgrade other dependencies. (#86)
  • Deploy IexecPocoAccessorsDelegate module. (#85)
  • Create _computeDealVolume and expose ComputeDealVolume functions (#82)
  • Upgrade Order Management to solidity ^0.8.0. (#84)
  • Resolve naming conflict in accessors. (#81)
  • Refund sponsor on claimBoost. (#80)
  • Seize sponsor on success task. (#79)
  • Refund sponsor on claim. (#77)
  • Sponsor match orders boost. (#67, #78)
  • Migrate to hardhat tests related to:
  • Upgrade Poco2 to solidity v0.8 . (#63)
  • Use common helpers in Poco Boost integration tests. (#62)
  • Upload coverage reports to Codecov. (#61)
  • Deploy contracts in tests explicitly with hardhat or truffle fixture. (#59)
  • Add the ability to deploy without truffle fixture. (#58)
  • Sponsor match orders. (#57, #60)
  • Upgrade Poco1 to solidity ^0.8.0 (#55):
    • Migrate to openzeppelin@v5
    • Migrate to SignatureVerifier.v8
  • Change MNEMONIC var name for production & clean Hardhat file. (#53)
  • Format files & update copyright notices:
    • DelegateBase, IexecERC20Core (#64)
    • PoCo2 contracts (#54)
    • PoCo1 contracts (#52)
    • Order Management contract (#83)
  • Remove enterprise mode. (#51, #56)
  • Add PoCo Boost modules to a timelock controlled proxy.
  • Add IexecEscrow.v8 tests and developer notices.
  • Add tests around callback feature verifying interests of actors are guaranteed.
  • Reformat JS files.
  • Create a hardhat network close to the iExec Bellecour blockchain.
  • Merge settings and v8Settings using object spread.
  • Remove useless files.
  • Add Slither config. Run single contract Slither analysis on CI.
  • Make Poco Boost ITs runnable with "native" mode.
  • Migrate puml2links.sh to zx.
  • Update copyright and license notices.
  • Introduce zx for task scripting.
  • Compile latest contracts with 0.8.21.
  • Use a single 0.8.19 solidity version to compile latest contracts.
  • Fix prettier solidity plugin resolution.
  • Remove patched test helpers.
  • Clean poco-chain files.
  • Bump dependencies.
  • Check balance in transfer operation.
  • Reformat tests.
  • Reformat contracts.
  • Add mocha to use test explorer.
  • Refactor tests.
  • Add dedicated Poco Boost accessors.
  • Implement claimBoost:
    • Refund requester.
    • Seize workerpool and reward kitty.
  • Implement pushResultBoost:
    • Verify task exists.
    • Push result before deadline.
    • Require enclave challenge when TEE bit of tag set.
    • Verify signatures
      • scheduler
      • enclave
      • tee broker
    • Reward worker.
    • Reward app provider.
    • Reward dataset provider.
    • Unlock scheduler stake.
    • Reward scheduler.
    • Handle callback.
  • Implement matchOrdersBoost:
    • Verify compatibility of orders
      • trust
      • category
      • price
      • tag
      • restrictions
        • Assets or requester belong to groups in ERC734 identity contract.
    • Verify entries are registered & category exists.
    • Verify signatures or presignatures of orders.
      - ERC1271 contracts can be signers of orders.
    • Compute volume & consume orders.
    • Lock requester deal value.
    • Store deal.
    • Emit events.
    • Lock scheduler stake.
    • Return dealId.
    • Reduce gas footprint:
      • Remove beneficiary from deal storage.
      • Reduce Boost deal storage from 6 to 5 slots.
      • Reduce gas consumption on lock() calls.
      • Cache addresses of assets and requester from arguments.
      • Init local vars and cache order category.
      • Optimize deal storing by slot.
      • Change local structure for local variables.
      • Store in variable if read multiple times.
      • Group hasDataset block.
    • Remove useless variable.
  • Update prettier rules and reformat.
  • Migrate IexecPocoBoost linking to hardhat deploy script.
  • Clean files related to docker build of a test blockchain.
  • Run automatically before commit a prettier on .ts and .sol staged files.
  • Upgrade eth_signTypedData function to use ethers. Remove now useless eth-sig-util.
  • Init Boost deal structure.
  • Publish coverage report on CI/CD. Refactor Jenkinsfile.
  • Deploy Nominal and Boost modules with Hardhat.
  • Upgrade hashStruct function to use ethers.
  • Add Boost module.
    • Add interfaces.
  • Add Store contract compatible with solidity ^0.8.0.
  • Update documentation:
    • Generate class diagrams from solidity contracts.
    • Add task and contribution state diagrams.
    • Add boost workflow sequence diagram. Update nominal workflow sequence diagram.
    • Update TEE workflow sequence diagram.
    • Update actors diagram.
    • Rename UMLs.md file to standard README.md.
    • Add inline solidity documentation.
    • Update class diagrams.
    • Create folder docs that contains all documentation material.
  • Migrate to Hardhat:
    • Init Hardhat project.
    • Migrate unit tests with @nomiclabs/hardhat-truffle5.
    • Fetch @iexec/[email protected] from default public registry.
    • Migrate tests coverage with solidity-coverage of @nomicfoundation/hardhat-toolbox.