GithubHelp home page GithubHelp logo

defender-docs's People

Contributors

abcoathup avatar albertov19 avatar alexbehrens avatar aodhgan avatar asgeir-s avatar cairoeth avatar collins-w avatar covemb avatar dylankilkenny avatar emnul avatar ericglau avatar ernestognw avatar frangio avatar ggonzalez94 avatar jalex206 avatar luisurrutia avatar mcarlomagno avatar mok0230 avatar mverzilli avatar offgridauthor avatar omahs avatar pasevin avatar shahnami avatar spalladino avatar stevenlanders avatar tirumerla avatar tomterado avatar ylv-io avatar zanbel avatar zeljkox avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

defender-docs's Issues

Explain why Relay client sign returns different results for same message

We're seeing this question pop up multiple times (eg see here), which is expected since most libraries in the Ethereum ecosystem produce consistently the same signature for the same payload. Let's add this to the documentation of Relayer, as well as to the documentation of the sign function in the relayer package.

Guide on monitoring state changes using Forta Sentinels

Write a guide on how to detect state changes using Forta Sentinels. As an example for the guide, write an agent that detects when the balance of LINK for an account goes below 1e18. Use this example for inspiration.

We should include a link to how to publish a Forta agent, the sample code for the agent, and the step-by-step on how to ingrate it in Defendr via Sentinels. Bonus points for connecting it to an Autotask that re-fills the target account using a Relayer.

Misalignment for autotask notification metadata - Contract Sentinels

Background

When using autotask conditions with Contract Sentinels you can populate the metadata field and pass it to the autotask notification function. This is quite useful, but where to find that field is not correctly shown in the docs.

Issue

According to the docs, it shows that the metadata field should be inside the matchReasons of the event. But it is actually coming as a separate field in the event.
Here’s a gist showing the difference

Implement intuitive doc release process synced with app release

Currently, we release on every push to the main branch: https://github.com/OpenZeppelin/docs.openzeppelin.com/blob/ded24596d5b6ac3ae618e96d518906a177dc9f95/playbook.yml#L62

Since many documentation PRs pertain to new features/changes in the main Defender app or defender-client packages, this produces somewhat of a clunky process where we need to merge multiple docs PRs only after the app is released and can result in accidental releases (or non-releases).

Many of the other docs.openzeppelin.com feeder repos release based on a different branch than main such a v-* (pushed when a new version is released). We should do something similar in Defender. Ideally we would add minimal requirements to the existing release process.

Support to upgrade diamonds

Can not find in the documentation how to manage upgrades on Diamond contracts with a multisig. Is there a way to call the method diamondCut directly?

Guide on using Flashbots Protect RPC on Admin for private transactions

We've received requests for sending private txs (ie txs not visible on the mempool, so they cannot be frontrun) via Admin (also via Relayer, but that's a different story). Since txs in Admin are sent from the user's wallet, this can be done just by configuring the Flashbots Protect RPC endpoint on Metamask as described here.

Write a short guide explaining why private txs are useful, linking to Flashbots Protect guide on metamask setup, and showing an example of executing a multisig action using the Protect endpoint.

Unable to pass initializer arguments when using proposeUpgrade

I'm using defender and hardhat for my project that uses a Transparent proxy.

Currently, our multisig is the owner of our proxy therefore, a proposal must be made before upgrading the implementation contract.

When creating a proposal, I do not see an option to pass initializer arguments.

Here is my hardhat task :

task("propose-multisig-upgrade", "Propose a new updated contract to be upgraded via multisig")
  .addParam("proxy", "Address of the proxy")
  .addParam("name", "Name of the updated implementation contract (must be existant in artifacts)")
  .setAction(async (taskArgs, hre) => {
    try {
      const NewImplementation = await hre.ethers.getContractFactory(taskArgs.name);
      console.log("Preparing proposal...");
      const proposal = await hre.defender.proposeUpgrade(taskArgs.proxy, NewImplementation);
      console.log("Upgrade proposal created at:", proposal.url);
      return proposal.url;
    } catch (error) {
      console.log(error);
    }
  });

Is there a work around for this?

PS : I do not want to deploy the implementation before hand manually then propose the upgrade.

Thank you in advance.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.