You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/defender/dac.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,7 +34,7 @@ There are a few ways you can set up the `serverless.yml` configuration:
34
34
35
35
* Create it from scratch;
36
36
* Use Defender’s 2.0 Serverless export capability;
37
-
* Leverage the example [template, window=_blank](https://github.com/OpenZeppelin/defender-as-code/blob/main/template/serverless.yml) provided in the `defender-as-code` repository.
37
+
* Leverage the example [template](https://github.com/OpenZeppelin/defender-as-code/blob/main/template/serverless.yml) provided in the `defender-as-code` repository.
38
38
39
39
If you already have resources such as contracts, notifications, relayers, actions, etc. in Defender, you can export a `serverless.yml` configuration file containing these resources from the manage → advanced page.
Copy file name to clipboardExpand all lines: content/defender/faq.mdx
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,28 +8,28 @@ OpenZeppelin Defender is the evolution of Defender, with an improved user experi
8
8
9
9
New sign-ups were disabled on June 30, 2025. Until the final shutdown on July 1, 2026, Defender will remain fully operational while we focus on the open source versions of tools like Relayers and Monitor. Detailed migration guides are coming soon to help you transition seamlessly to open source.
## Once I migrate to Defender, can I continue using Defender legacy?
14
14
15
15
No, once you migrate to Defender, you will no longer have access to Defender 1.0 UI and API.
16
16
17
17
## Are there any breaking changes when migrating?
18
18
19
-
Yes, there are multiple changes to the API endpoints that will require you to update your integrations. You can find the API docs [here, window=_blank](https://www.api-docs.defender.openzeppelin.com/#defender-sdk).
19
+
Yes, there are multiple changes to the API endpoints that will require you to update your integrations. You can find the API docs [here](https://www.api-docs.defender.openzeppelin.com/#defender-sdk).
20
20
21
21
## What are the pricing options for Defender?
22
22
23
-
You can find the pricing for Defender [here, window=_blank](https://www.openzeppelin.com/pricing).
23
+
You can find the pricing for Defender [here](https://www.openzeppelin.com/pricing).
24
24
25
25
## Does Defender offer support?
26
26
27
27
We offer a Service Level and Support Agreement (SLA) for paid subscriptions. Learn more [here](index#sla).
28
28
29
29
## How can I get an upgrade my tenant account?
30
30
31
-
You can use the billing page to upgrade your tenant account to a higher tier [here, window=_blank](https://defender.openzeppelin.com/v2/#/billing/).
31
+
You can use the billing page to upgrade your tenant account to a higher tier [here](https://defender.openzeppelin.com/v2/#/billing/).
32
32
33
33
## Where can I see my tier quota usage?
34
34
35
-
You can see your tier quota usage in the billing page [here, window=_blank](https://defender.openzeppelin.com/v2/#/billing/usage).
35
+
You can see your tier quota usage in the billing page [here](https://defender.openzeppelin.com/v2/#/billing/usage).
Copy file name to clipboardExpand all lines: content/defender/guide/factory-monitor.mdx
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,24 +7,24 @@ The factory-clone pattern can be advantageous for minimizing gas costs. However,
7
7
This guide shows how to use Defender to monitor a factory contract as well as the clone contracts created by it. Monitor automation is achieved through the following structure of Defender modules:
8
8
9
9
* A Monitor watches for successful event emitted by the factory contract that creates a clone. If detected, it triggers an [Action](module/actions) and [passes along information](module/actions#monitor_invocations) about the transaction.
10
-
* The Action makes use of the [`defender-sdk`, window=_blank](https://www.npmjs.com/package/@openzeppelin/defender-sdk) to add the address of the newly created contract to the [address book](module/address-book) for easier monitoring.
11
-
* Aditionally, the Action uses the [`defender-sdk`, window=_blank](https://www.npmjs.com/package/@openzeppelin/defender-sdk) to add the clone address to the list of addresses watched by a Monitor.
10
+
* The Action makes use of the [`defender-sdk`](https://www.npmjs.com/package/@openzeppelin/defender-sdk) to add the address of the newly created contract to the [address book](module/address-book) for easier monitoring.
11
+
* Aditionally, the Action uses the [`defender-sdk`](https://www.npmjs.com/package/@openzeppelin/defender-sdk) to add the clone address to the list of addresses watched by a Monitor.
12
12
13
-
In this case, the contract ABI can be pre-supplied since clone contracts will have identical ABIs. Alternatively, you may be able to dynamically retrieve the ABI from a verified contract at a given address using [Etherscan’s API, window=_blank](https://docs.etherscan.io/api-endpoints/contracts).
13
+
In this case, the contract ABI can be pre-supplied since clone contracts will have identical ABIs. Alternatively, you may be able to dynamically retrieve the ABI from a verified contract at a given address using [Etherscan’s API](https://docs.etherscan.io/api-endpoints/contracts).
14
14
15
15
## Generate API Key
16
16
17
-
To programmatically add a contract to the address book, the [`sdk`, window=_blank](https://www.npmjs.com/package/@openzeppelin/defender-sdk) requires credentials in the form of an API key and secret. Create and copy the credentials in the [API keys page, window=_blank](https://defender.openzeppelin.com/v2/#/settings/api-keys/new).
17
+
To programmatically add a contract to the address book, the [`sdk`](https://www.npmjs.com/package/@openzeppelin/defender-sdk) requires credentials in the form of an API key and secret. Create and copy the credentials in the [API keys page](https://defender.openzeppelin.com/v2/#/settings/api-keys/new).
18
18
19
19

20
20
21
-
Now, navigate to the [Secrets, window=_blank](https://defender.openzeppelin.com/v2/#/settings/secrets) page in Defender and create a new secret with the name `API_KEY` and paste in the API key. Create another secret with the name `API_SECRET` and paste in the API secret. These secrets will be used by the Action securely.
21
+
Now, navigate to the [Secrets](https://defender.openzeppelin.com/v2/#/settings/secrets) page in Defender and create a new secret with the name `API_KEY` and paste in the API key. Create another secret with the name `API_SECRET` and paste in the API secret. These secrets will be used by the Action securely.
22
22
23
23

24
24
25
25
## Create the Action
26
26
27
-
Navigate to the [Action creation page, window=_blank](https://defender.openzeppelin.com/v2/#/actions/automatic/new?), enter a name, and select `Webhook` as trigger. Then, paste the following Action code and save it:
27
+
Navigate to the [Action creation page](https://defender.openzeppelin.com/v2/#/actions/automatic/new?), enter a name, and select `Webhook` as trigger. Then, paste the following Action code and save it:
@@ -113,7 +113,7 @@ Manually triggering this Action will be raise an error, since the Action relies
113
113
114
114
## Create the Monitor
115
115
116
-
This Monitor will watch for an event emitted by the factory contract signaling that a newclone has been created. Navigate to the [Monitor creation page, window=_blank](https://defender.openzeppelin.com/v2/#/monitor/new/custom), choose a name, risk category, and select the Factory contract (add the factory if it’s not already added).
116
+
This Monitor will watch for an event emitted by the factory contract signaling that a newclone has been created. Navigate to the [Monitor creation page](https://defender.openzeppelin.com/v2/#/monitor/new/custom), choose a name, risk category, and select the Factory contract (add the factory if it’s not already added).
117
117
118
118

119
119
@@ -129,7 +129,7 @@ As with any action, the triggering of this Monitor will be recorded in the [Logs
129
129
130
130
## Test run
131
131
132
-
To test the set up, navigate to [Transaction Proposals, window=_blank](https://defender.openzeppelin.com/v2/#/transaction-proposals/new?) to manually create a clone through the factory. Select the factory contract, and call the function that creates a clone with any parameters needed.
132
+
To test the set up, navigate to [Transaction Proposals](https://defender.openzeppelin.com/v2/#/transaction-proposals/new?) to manually create a clone through the factory. Select the factory contract, and call the function that creates a clone with any parameters needed.
133
133
134
134

135
135
@@ -139,7 +139,7 @@ Then, execute this this transaction with your preferred approval process, like a
139
139
140
140
## Create Monitor for clones
141
141
142
-
Now that you have a clone contract to serve as a template for all future clone contracts, it’s time to create a Monitor forthem. Navigate to the [Monitor creation page, window=_blank](https://defender.openzeppelin.com/v2/#/monitor/new/custom), choose a name, risk category, and select the clone contract.
142
+
Now that you have a clone contract to serve as a template for all future clone contracts, it’s time to create a Monitor forthem. Navigate to the [Monitor creation page](https://defender.openzeppelin.com/v2/#/monitor/new/custom), choose a name, risk category, and select the clone contract.
143
143
144
144
Aditionally, feel free to add any other filters for transactions, events, and functions, or notifications. Save the Monitor and observe the logs/notifications to verify that the Monitor is working as expected.
Copy file name to clipboardExpand all lines: content/defender/guide/forked-network.mdx
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,16 +10,16 @@ Defender empowers you to harness your customized network forks for deploying and
10
10
11
11
## 1. Configure your forked network
12
12
13
-
You will setup a forked network on [Phalcon, window=_blank](https://phalcon.xyz) and add this network to Defender. To configure a forked network, follow these steps:
13
+
You will setup a forked network on [Phalcon](https://phalcon.xyz) and add this network to Defender. To configure a forked network, follow these steps:
14
14
15
-
1. Register an account on [Phalcon, window=_blank](https://phalcon.xyz) and create a new fork using Ethereum mainnet as the source network.
15
+
1. Register an account on [Phalcon](https://phalcon.xyz) and create a new fork using Ethereum mainnet as the source network.
16
16
2. Ensure anti-replay protection is activated to use a distinct chain ID for your fork, preventing conflicts with public chain IDs.
17
17
18
18

19
19
3. Copy the RPC URL and Explorer URL (this can be found under 'Scan') of your forked network. You will need it to add the network to Defender.
You may use any provider to fork a network, such as [Conduit, window=_blank](https://conduit.xyz). However, we recommend using Phalcon as it is free and easy to use.
32
+
You may use any provider to fork a network, such as [Conduit](https://conduit.xyz). However, we recommend using Phalcon as it is free and easy to use.
33
33
</Callout>
34
34
35
35
## 2. Configure the deploy environment
36
36
37
37
You will setup a deploy environment for the forked network you just added to Defender. To configure a deploy environment, follow these steps:
38
38
39
-
1. Open [Defender Deploy, window=_blank](https://defender.openzeppelin.com/v2/#/deploy) in a web browser.
39
+
1. Open [Defender Deploy](https://defender.openzeppelin.com/v2/#/deploy) in a web browser.
40
40
2. Click on **Setup** for your production environment (or setup a test environment if your network is forked from a testnet).
@@ -63,7 +63,7 @@ You should fund the relayer account with enough ETH to cover the gas costs of yo
63
63
64
64
You will deploy a smart contract on the forked network you just added to Defender. To deploy a smart contract, follow these steps:
65
65
66
-
1. Setup a JavaScript project and install the [defender-sdk-deploy-client, window=_blank](https://www.npmjs.com/package/@openzeppelin/defender-sdk-deploy-client) NPM package. Alternatively, you can use the [defender-sdk delpoy example script, window=_blank](https://github.com/OpenZeppelin/defender-sdk/blob/main/examples/deploy-contract/index.js) provided in the OpenZeppelin Defender SDK repository.
66
+
1. Setup a JavaScript project and install the [defender-sdk-deploy-client](https://www.npmjs.com/package/@openzeppelin/defender-sdk-deploy-client) NPM package. Alternatively, you can use the [defender-sdk delpoy example script](https://github.com/OpenZeppelin/defender-sdk/blob/main/examples/deploy-contract/index.js) provided in the OpenZeppelin Defender SDK repository.
67
67
2. The deployment code will look something like this:
. Run the script to deploy the contract. **Note** that providing a `salt` will deploy the contract using `CREATE2`. Otherwise, the contract will be deployed using the `CREATE` opcode. Visit the documentation for more information on the [caveats of deployment](https://docs.openzeppelin.com/defender/tutorial/deploy#deploy-caveat).
88
-
. Once deployed, you can track the deployment status on the [Defender Deploy dashboard, window=_blank](https://defender.openzeppelin.com/v2/#/deploy/environment/production).
88
+
. Once deployed, you can track the deployment status on the [Defender Deploy dashboard](https://defender.openzeppelin.com/v2/#/deploy/environment/production).
89
89
90
90
## Next steps
91
91
@@ -100,5 +100,5 @@ After deploying a contract, we recommend creating a Monitor and setting up Actio
0 commit comments