@gnosis-guild/zodiac 4.2.1 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +107 -4
- package/dist/cjs/abis/bridge/1.0.0.js +385 -0
- package/dist/cjs/abis/circulatingSupplyERC20/1.0.0.js +248 -0
- package/dist/cjs/abis/circulatingSupplyERC20/1.1.0.js +248 -0
- package/dist/cjs/abis/circulatingSupplyERC20/1.2.0.js +248 -0
- package/dist/cjs/abis/circulatingSupplyERC721/1.1.0.js +248 -0
- package/dist/cjs/abis/circulatingSupplyERC721/1.2.0.js +248 -0
- package/dist/cjs/abis/connext/1.0.0.js +496 -0
- package/dist/cjs/abis/delay/1.0.0.js +731 -0
- package/dist/cjs/abis/delay/1.0.1.js +731 -0
- package/dist/cjs/abis/delay/1.1.0.js +941 -0
- package/dist/cjs/abis/delay/1.1.1.js +941 -0
- package/dist/cjs/abis/erc20Votes/1.0.0.js +800 -0
- package/dist/cjs/abis/erc721Votes/1.0.0.js +795 -0
- package/dist/cjs/abis/exit/1.0.0.js +403 -0
- package/dist/cjs/abis/exit/1.1.0.js +422 -0
- package/dist/cjs/abis/exit/1.2.0.js +422 -0
- package/dist/cjs/abis/exitERC721/1.1.0.js +422 -0
- package/dist/cjs/abis/exitERC721/1.2.0.js +422 -0
- package/dist/cjs/abis/factory/1.0.0.js +53 -0
- package/dist/cjs/abis/factory/1.1.0.js +80 -0
- package/dist/cjs/abis/factory/1.2.0.js +91 -0
- package/dist/cjs/abis/index.js +101 -0
- package/dist/cjs/abis/metaGuard/1.0.0.js +474 -0
- package/dist/cjs/abis/multisendEncoder/1.0.0.js +64 -0
- package/dist/cjs/abis/ozGovernor/1.0.0.js +1066 -0
- package/dist/cjs/abis/realityERC20/2.0.0.js +874 -0
- package/dist/cjs/abis/realityETH/2.0.0.js +874 -0
- package/dist/cjs/abis/roles/1.0.0.js +993 -0
- package/dist/cjs/abis/roles/1.1.0.js +993 -0
- package/dist/cjs/abis/roles/2.1.0.js +1411 -0
- package/dist/cjs/abis/roles/2.1.1.js +1411 -0
- package/dist/cjs/abis/scopeGuard/1.0.0.js +595 -0
- package/dist/cjs/contracts.js +145 -0
- package/dist/cjs/explorer.js +264 -0
- package/dist/cjs/extract.js +117 -0
- package/dist/cjs/index.js +16 -0
- package/dist/cjs/mastercopies.js +34 -0
- package/dist/cjs/networks.js +233 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/rpc.js +36 -0
- package/dist/cjs/singleton.js +42 -0
- package/dist/cjs/types.js +7 -0
- package/dist/cjs/ui.js +64 -0
- package/dist/cjs/zodiacModule.js +61 -0
- package/dist/esm/abis/bridge/1.0.0.d.ts +297 -0
- package/dist/esm/abis/bridge/1.0.0.js +382 -0
- package/dist/esm/abis/circulatingSupplyERC20/1.0.0.d.ts +188 -0
- package/dist/esm/abis/circulatingSupplyERC20/1.0.0.js +245 -0
- package/dist/esm/abis/circulatingSupplyERC20/1.1.0.d.ts +188 -0
- package/dist/esm/abis/circulatingSupplyERC20/1.1.0.js +245 -0
- package/dist/esm/abis/circulatingSupplyERC20/1.2.0.d.ts +188 -0
- package/dist/esm/abis/circulatingSupplyERC20/1.2.0.js +245 -0
- package/dist/esm/abis/circulatingSupplyERC721/1.1.0.d.ts +188 -0
- package/dist/esm/abis/circulatingSupplyERC721/1.1.0.js +245 -0
- package/dist/esm/abis/circulatingSupplyERC721/1.2.0.d.ts +188 -0
- package/dist/esm/abis/circulatingSupplyERC721/1.2.0.js +245 -0
- package/dist/esm/abis/connext/1.0.0.d.ts +383 -0
- package/dist/esm/abis/connext/1.0.0.js +493 -0
- package/dist/esm/abis/delay/1.0.0.d.ts +562 -0
- package/dist/esm/abis/delay/1.0.0.js +728 -0
- package/dist/esm/abis/delay/1.0.1.d.ts +562 -0
- package/dist/esm/abis/delay/1.0.1.js +728 -0
- package/dist/esm/abis/delay/1.1.0.d.ts +720 -0
- package/dist/esm/abis/delay/1.1.0.js +938 -0
- package/dist/esm/abis/delay/1.1.1.d.ts +720 -0
- package/dist/esm/abis/delay/1.1.1.js +938 -0
- package/dist/esm/abis/erc20Votes/1.0.0.d.ts +613 -0
- package/dist/esm/abis/erc20Votes/1.0.0.js +797 -0
- package/dist/esm/abis/erc721Votes/1.0.0.d.ts +610 -0
- package/dist/esm/abis/erc721Votes/1.0.0.js +792 -0
- package/dist/esm/abis/exit/1.0.0.d.ts +309 -0
- package/dist/esm/abis/exit/1.0.0.js +400 -0
- package/dist/esm/abis/exit/1.1.0.d.ts +323 -0
- package/dist/esm/abis/exit/1.1.0.js +419 -0
- package/dist/esm/abis/exit/1.2.0.d.ts +323 -0
- package/dist/esm/abis/exit/1.2.0.js +419 -0
- package/dist/esm/abis/exitERC721/1.1.0.d.ts +323 -0
- package/dist/esm/abis/exitERC721/1.1.0.js +419 -0
- package/dist/esm/abis/exitERC721/1.2.0.d.ts +323 -0
- package/dist/esm/abis/exitERC721/1.2.0.js +419 -0
- package/dist/esm/abis/factory/1.0.0.d.ts +38 -0
- package/dist/esm/abis/factory/1.0.0.js +50 -0
- package/dist/esm/abis/factory/1.1.0.d.ts +58 -0
- package/dist/esm/abis/factory/1.1.0.js +77 -0
- package/dist/esm/abis/factory/1.2.0.d.ts +66 -0
- package/dist/esm/abis/factory/1.2.0.js +88 -0
- package/dist/esm/abis/index.d.ts +13970 -0
- package/dist/esm/abis/index.js +98 -0
- package/dist/esm/abis/metaGuard/1.0.0.d.ts +363 -0
- package/dist/esm/abis/metaGuard/1.0.0.js +471 -0
- package/dist/esm/abis/multisendEncoder/1.0.0.d.ts +47 -0
- package/dist/esm/abis/multisendEncoder/1.0.0.js +61 -0
- package/dist/esm/abis/ozGovernor/1.0.0.d.ts +821 -0
- package/dist/esm/abis/ozGovernor/1.0.0.js +1063 -0
- package/dist/esm/abis/realityERC20/2.0.0.d.ts +674 -0
- package/dist/esm/abis/realityERC20/2.0.0.js +871 -0
- package/dist/esm/abis/realityETH/2.0.0.d.ts +674 -0
- package/dist/esm/abis/realityETH/2.0.0.js +871 -0
- package/dist/esm/abis/roles/1.0.0.d.ts +770 -0
- package/dist/esm/abis/roles/1.0.0.js +990 -0
- package/dist/esm/abis/roles/1.1.0.d.ts +770 -0
- package/dist/esm/abis/roles/1.1.0.js +990 -0
- package/dist/esm/abis/roles/2.1.0.d.ts +1094 -0
- package/dist/esm/abis/roles/2.1.0.js +1408 -0
- package/dist/esm/abis/roles/2.1.1.d.ts +1094 -0
- package/dist/esm/abis/roles/2.1.1.js +1408 -0
- package/dist/esm/abis/scopeGuard/1.0.0.d.ts +457 -0
- package/dist/esm/abis/scopeGuard/1.0.0.js +592 -0
- package/dist/esm/contracts.d.ts +66 -0
- package/dist/esm/contracts.js +142 -0
- package/dist/esm/explorer.d.ts +81 -0
- package/dist/esm/explorer.js +256 -0
- package/dist/esm/extract.d.ts +15 -0
- package/dist/esm/extract.js +114 -0
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/mastercopies.d.ts +21 -0
- package/dist/esm/mastercopies.js +27 -0
- package/dist/esm/networks.d.ts +37 -0
- package/dist/esm/networks.js +229 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/rpc.d.ts +6 -0
- package/dist/esm/rpc.js +33 -0
- package/dist/esm/singleton.d.ts +24 -0
- package/dist/esm/singleton.js +38 -0
- package/dist/esm/types.d.ts +43 -0
- package/dist/esm/types.js +6 -0
- package/dist/esm/ui.d.ts +16 -0
- package/dist/esm/ui.js +53 -0
- package/dist/esm/zodiacModule.d.ts +4 -0
- package/dist/esm/zodiacModule.js +56 -0
- package/package.json +29 -74
- package/contracts/core/GuardableModifier.sol +0 -96
- package/contracts/core/GuardableModule.sol +0 -95
- package/contracts/core/Modifier.sol +0 -204
- package/contracts/core/Module.sol +0 -73
- package/contracts/factory/FactoryFriendly.sol +0 -10
- package/contracts/factory/ModuleProxyFactory.sol +0 -51
- package/contracts/guard/BaseGuard.sol +0 -36
- package/contracts/guard/Guardable.sol +0 -32
- package/contracts/interfaces/IAvatar.sol +0 -71
- package/contracts/interfaces/IGuard.sol +0 -22
- package/contracts/signature/ExecutionTracker.sol +0 -17
- package/contracts/signature/IERC1271.sol +0 -19
- package/contracts/signature/SignatureChecker.sol +0 -154
- package/contracts/test/TestAvatar.sol +0 -64
- package/contracts/test/TestGuard.sol +0 -82
- package/contracts/test/TestGuardableModifier.sol +0 -82
- package/contracts/test/TestModifier.sol +0 -88
- package/contracts/test/TestModule.sol +0 -66
- package/contracts/test/TestSignature.sol +0 -71
- package/dist/index.d.mts +0 -16332
- package/dist/index.d.ts +0 -16332
- package/dist/index.js +0 -24880
- package/dist/index.js.map +0 -1
- package/dist/index.mjs +0 -24845
- package/dist/index.mjs.map +0 -1
package/README.md
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
# Zodiac: The expansion pack for DAOs
|
|
2
2
|
|
|
3
3
|
[](https://github.com/gnosisguild/zodiac/actions?branch=master)
|
|
4
|
-
[](https://coveralls.io/github/gnosisguild/zodiac?branch=master)
|
|
5
4
|
[](https://github.com/gnosisguild/CODE_OF_CONDUCT)
|
|
6
5
|
|
|
7
6
|
A composable design philosophy for DAOs, [Zodiac](https://gnosisguild.mirror.xyz/OuhG5s2X5uSVBx1EK4tKPhnUc91Wh9YM0fwSnC8UNcg) is a collection of tools built according to an open standard.
|
|
@@ -30,6 +29,10 @@ The Zodiac open standard consists of Avatars, Modules, Modifiers, and Guards arc
|
|
|
30
29
|
|
|
31
30
|
## Overview
|
|
32
31
|
|
|
32
|
+
This repository contains the Zodiac mastercopy tooling: a CLI and TypeScript SDK to extract deployed mastercopies (sources, ABI and bytecode) from block explorers into a versioned `mastercopies/` folder, plus a registry of known Zodiac contracts and their canonical addresses.
|
|
33
|
+
|
|
34
|
+
The Zodiac core contracts (`Module.sol`, `Modifier.sol`, `BaseGuard.sol`, `ModuleProxyFactory.sol`, etc.), along with their tests and audits, live in [zodiac-core](https://github.com/gnosisguild/zodiac-core). If you are building a module, modifier, or guard, use the `@gnosis-guild/zodiac-core` package.
|
|
35
|
+
|
|
33
36
|
### Installation
|
|
34
37
|
|
|
35
38
|
```bash
|
|
@@ -38,12 +41,12 @@ yarn add @gnosis-guild/zodiac
|
|
|
38
41
|
|
|
39
42
|
### Usage
|
|
40
43
|
|
|
41
|
-
|
|
44
|
+
To build your own contract based on the Zodiac core contracts, install [zodiac-core](https://github.com/gnosisguild/zodiac-core) and import from it:
|
|
42
45
|
|
|
43
46
|
```solidity
|
|
44
47
|
pragma solidity ^0.8.6;
|
|
45
48
|
|
|
46
|
-
import "@gnosis-guild/zodiac/contracts/core/Module.sol";
|
|
49
|
+
import "@gnosis-guild/zodiac-core/contracts/core/Module.sol";
|
|
47
50
|
|
|
48
51
|
contract MyModule is Module {
|
|
49
52
|
/// insert your code here
|
|
@@ -51,11 +54,111 @@ contract MyModule is Module {
|
|
|
51
54
|
|
|
52
55
|
```
|
|
53
56
|
|
|
57
|
+
### Mastercopies
|
|
58
|
+
|
|
59
|
+
The npm package publishes a small TypeScript SDK: the known-contract registry,
|
|
60
|
+
canonical mastercopy addresses, the supported-network list, and per-version
|
|
61
|
+
ABIs. The versioned `mastercopies/` folder (the extracted source, ABI and
|
|
62
|
+
bytecode artifacts) is repo-maintenance data and is **not** published to npm —
|
|
63
|
+
neither are the maintenance `commands/`.
|
|
64
|
+
|
|
65
|
+
```ts
|
|
66
|
+
import { Contract } from "ethers";
|
|
67
|
+
import {
|
|
68
|
+
getZodiacModuleAbi, // helper to get a specific ABI by name and version
|
|
69
|
+
getZodiacModuleAddress, // helper to get a specific mastercopy address by name and version
|
|
70
|
+
sanityCheckZodiacModuleAddress, // throw when an address is unknown or known faulty
|
|
71
|
+
KnownContracts, // enum of known Zodiac contract names
|
|
72
|
+
CanonicalAddresses, // canonical mastercopy addresses, by name@version
|
|
73
|
+
SupportedNetworks, // chain name -> chainId
|
|
74
|
+
} from "@gnosis-guild/zodiac";
|
|
75
|
+
|
|
76
|
+
// To interact with a specific version of a Zodiac module:
|
|
77
|
+
const delayModule = new Contract(
|
|
78
|
+
getZodiacModuleAddress(KnownContracts.DELAY, "1.1.1"),
|
|
79
|
+
getZodiacModuleAbi(KnownContracts.DELAY, "1.1.1"),
|
|
80
|
+
provider
|
|
81
|
+
);
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
The package also re-exports the modern encoding and prediction helpers from
|
|
85
|
+
[`@gnosis-guild/zodiac-core`](https://github.com/gnosisguild/zodiac-core). These
|
|
86
|
+
functions are the recommended way to handle deployments in the v5 paradigm,
|
|
87
|
+
replacing the legacy `deployAndSetUpModule` helper:
|
|
88
|
+
|
|
89
|
+
- `encodeDeployProxy`: generate payload for the Zodiac factory.
|
|
90
|
+
- `predictProxyAddress`: predict the address of a proxy before deployment.
|
|
91
|
+
- `encodeDeploySingleton`: generate payload for singleton factories.
|
|
92
|
+
- `predictSingletonAddress`: predict the address of a singleton.
|
|
93
|
+
|
|
94
|
+
#### Maintenance CLI
|
|
95
|
+
|
|
96
|
+
The `mastercopies/` artifacts are produced and managed with a CLI that runs the
|
|
97
|
+
TypeScript source locally via `tsx` (no build needed). Every command is driven
|
|
98
|
+
by the known-contract registry — you pass a name/version, not an address, and
|
|
99
|
+
unknown names/versions error out.
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
yarn extract [name] [version] [network] [--force] # explorer -> mastercopies/
|
|
103
|
+
yarn deploy <name> [version] # deploy missing artifacts on each network
|
|
104
|
+
yarn deploy:list <name> [version] # report per-network deployment status
|
|
105
|
+
yarn verify <name> [version] # verify deployed artifacts on each explorer
|
|
106
|
+
yarn verify:list <name> [version] # report per-network verification status
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
**`extract`** captures mastercopy artifacts into `mastercopies/`:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
yarn extract [name] [version] [network] [--force]
|
|
113
|
+
# (no args) every known contract + version
|
|
114
|
+
# <name> every version of that contract
|
|
115
|
+
# <name> <ver> just that one
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Existing folders are skipped unless `--force` is passed, which removes and
|
|
119
|
+
regenerates them. Source is read from `[network]` or, by default, the default
|
|
120
|
+
explorer set. It works entirely through the explorer: it fetches the verified
|
|
121
|
+
source and recovers the exact init code and salt from the deployment
|
|
122
|
+
transaction, so a contract can later reproduce at the same address on every
|
|
123
|
+
chain. Linked libraries are discovered from the compiler input and extracted
|
|
124
|
+
recursively. One folder is written per asset (the main contract and each linked
|
|
125
|
+
library):
|
|
126
|
+
|
|
127
|
+
```
|
|
128
|
+
mastercopies/<module>/<version>/<asset>/abi.json
|
|
129
|
+
mastercopies/<module>/<version>/<asset>/sourcecode.json # standard-JSON compiler input
|
|
130
|
+
mastercopies/<module>/<version>/<asset>/bytecode.json # address, factory, salt, creationBytecode
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
**`deploy`** redeploys those artifacts to their canonical addresses on each
|
|
134
|
+
configured network (via the ERC-2470 / Nick CREATE2 singleton factories),
|
|
135
|
+
skipping any that already exist; **`verify`** submits the bundled source to each
|
|
136
|
+
configured Etherscan V2 explorer. The `list` subcommands report status without
|
|
137
|
+
making changes.
|
|
138
|
+
|
|
139
|
+
#### Environment
|
|
140
|
+
|
|
141
|
+
Configure these in your env — see `.env.sample`:
|
|
142
|
+
|
|
143
|
+
- `ETHERSCAN_API_KEY` — Etherscan V2 key (works across all supported chains).
|
|
144
|
+
Override per network with `ETHERSCAN_API_KEY_<NETWORK>`. Used by `extract` and
|
|
145
|
+
`verify`.
|
|
146
|
+
- `ALCHEMY_KEY` / `INFURA_KEY` — used to build RPC endpoints.
|
|
147
|
+
- `MNEMONIC` — signer used by `deploy` (local signing, the default).
|
|
148
|
+
- `DEPLOY_VIA_FRAME` — set to a truthy value (`1`/`true`/`yes`/`on`) to sign
|
|
149
|
+
`deploy` transactions through a locally running [Frame](https://frame.sh)
|
|
150
|
+
wallet instead of `MNEMONIC` (e.g. to use a hardware wallet). When enabled,
|
|
151
|
+
Frame must be running and `MNEMONIC` is ignored.
|
|
152
|
+
|
|
153
|
+
> The legacy bundled-ABI SDK (`MasterCopyInitData`, `ContractFactories`,
|
|
154
|
+
> `deployAndSetUpModule`, …) was removed in v5; the known-contracts and
|
|
155
|
+
> canonical-address registry (`KnownContracts`, `CanonicalAddresses`) is kept.
|
|
156
|
+
|
|
54
157
|
### Zodiac compliant tools
|
|
55
158
|
|
|
56
159
|
#### Avatars
|
|
57
160
|
|
|
58
|
-
- **[Safe](https://safe.global)**: The most trusted platform for managing digital assets on Ethereum. Zodiac embraces Safe as a powerful, extensible and programmable account standard. Safe is the reference implementation of the [IAvatar.sol](contracts/interfaces/IAvatar.sol) interface specified in this library. However, all Zodiac tools are framework agnostic, and they can be plugged into any programmable account that implements the IAvatar interface.
|
|
161
|
+
- **[Safe](https://safe.global)**: The most trusted platform for managing digital assets on Ethereum. Zodiac embraces Safe as a powerful, extensible and programmable account standard. Safe is the reference implementation of the [IAvatar.sol](https://github.com/gnosisguild/zodiac-core/blob/main/contracts/interfaces/IAvatar.sol) interface specified in this library. However, all Zodiac tools are framework agnostic, and they can be plugged into any programmable account that implements the IAvatar interface.
|
|
59
162
|
|
|
60
163
|
#### Modules
|
|
61
164
|
|
|
@@ -0,0 +1,385 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.bridge_1_0_0_ABI = void 0;
|
|
4
|
+
exports.bridge_1_0_0_ABI = [
|
|
5
|
+
{
|
|
6
|
+
"inputs": [
|
|
7
|
+
{
|
|
8
|
+
"internalType": "address",
|
|
9
|
+
"name": "_owner",
|
|
10
|
+
"type": "address"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"internalType": "address",
|
|
14
|
+
"name": "_avatar",
|
|
15
|
+
"type": "address"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"internalType": "address",
|
|
19
|
+
"name": "_target",
|
|
20
|
+
"type": "address"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"internalType": "contract IAMB",
|
|
24
|
+
"name": "_amb",
|
|
25
|
+
"type": "address"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"internalType": "address",
|
|
29
|
+
"name": "_controller",
|
|
30
|
+
"type": "address"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"internalType": "bytes32",
|
|
34
|
+
"name": "_chainId",
|
|
35
|
+
"type": "bytes32"
|
|
36
|
+
}
|
|
37
|
+
],
|
|
38
|
+
"stateMutability": "nonpayable",
|
|
39
|
+
"type": "constructor"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"anonymous": false,
|
|
43
|
+
"inputs": [
|
|
44
|
+
{
|
|
45
|
+
"indexed": true,
|
|
46
|
+
"internalType": "address",
|
|
47
|
+
"name": "initiator",
|
|
48
|
+
"type": "address"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"indexed": true,
|
|
52
|
+
"internalType": "address",
|
|
53
|
+
"name": "owner",
|
|
54
|
+
"type": "address"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"indexed": true,
|
|
58
|
+
"internalType": "address",
|
|
59
|
+
"name": "avatar",
|
|
60
|
+
"type": "address"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"indexed": false,
|
|
64
|
+
"internalType": "address",
|
|
65
|
+
"name": "target",
|
|
66
|
+
"type": "address"
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
"name": "AmbModuleSetup",
|
|
70
|
+
"type": "event"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"anonymous": false,
|
|
74
|
+
"inputs": [
|
|
75
|
+
{
|
|
76
|
+
"indexed": true,
|
|
77
|
+
"internalType": "address",
|
|
78
|
+
"name": "previousAvatar",
|
|
79
|
+
"type": "address"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"indexed": true,
|
|
83
|
+
"internalType": "address",
|
|
84
|
+
"name": "newAvatar",
|
|
85
|
+
"type": "address"
|
|
86
|
+
}
|
|
87
|
+
],
|
|
88
|
+
"name": "AvatarSet",
|
|
89
|
+
"type": "event"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"anonymous": false,
|
|
93
|
+
"inputs": [
|
|
94
|
+
{
|
|
95
|
+
"indexed": false,
|
|
96
|
+
"internalType": "address",
|
|
97
|
+
"name": "guard",
|
|
98
|
+
"type": "address"
|
|
99
|
+
}
|
|
100
|
+
],
|
|
101
|
+
"name": "ChangedGuard",
|
|
102
|
+
"type": "event"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"anonymous": false,
|
|
106
|
+
"inputs": [
|
|
107
|
+
{
|
|
108
|
+
"indexed": true,
|
|
109
|
+
"internalType": "address",
|
|
110
|
+
"name": "previousOwner",
|
|
111
|
+
"type": "address"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"indexed": true,
|
|
115
|
+
"internalType": "address",
|
|
116
|
+
"name": "newOwner",
|
|
117
|
+
"type": "address"
|
|
118
|
+
}
|
|
119
|
+
],
|
|
120
|
+
"name": "OwnershipTransferred",
|
|
121
|
+
"type": "event"
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"anonymous": false,
|
|
125
|
+
"inputs": [
|
|
126
|
+
{
|
|
127
|
+
"indexed": true,
|
|
128
|
+
"internalType": "address",
|
|
129
|
+
"name": "previousTarget",
|
|
130
|
+
"type": "address"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"indexed": true,
|
|
134
|
+
"internalType": "address",
|
|
135
|
+
"name": "newTarget",
|
|
136
|
+
"type": "address"
|
|
137
|
+
}
|
|
138
|
+
],
|
|
139
|
+
"name": "TargetSet",
|
|
140
|
+
"type": "event"
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"inputs": [],
|
|
144
|
+
"name": "amb",
|
|
145
|
+
"outputs": [
|
|
146
|
+
{
|
|
147
|
+
"internalType": "contract IAMB",
|
|
148
|
+
"name": "",
|
|
149
|
+
"type": "address"
|
|
150
|
+
}
|
|
151
|
+
],
|
|
152
|
+
"stateMutability": "view",
|
|
153
|
+
"type": "function"
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"inputs": [],
|
|
157
|
+
"name": "avatar",
|
|
158
|
+
"outputs": [
|
|
159
|
+
{
|
|
160
|
+
"internalType": "address",
|
|
161
|
+
"name": "",
|
|
162
|
+
"type": "address"
|
|
163
|
+
}
|
|
164
|
+
],
|
|
165
|
+
"stateMutability": "view",
|
|
166
|
+
"type": "function"
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"inputs": [],
|
|
170
|
+
"name": "chainId",
|
|
171
|
+
"outputs": [
|
|
172
|
+
{
|
|
173
|
+
"internalType": "bytes32",
|
|
174
|
+
"name": "",
|
|
175
|
+
"type": "bytes32"
|
|
176
|
+
}
|
|
177
|
+
],
|
|
178
|
+
"stateMutability": "view",
|
|
179
|
+
"type": "function"
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"inputs": [],
|
|
183
|
+
"name": "controller",
|
|
184
|
+
"outputs": [
|
|
185
|
+
{
|
|
186
|
+
"internalType": "address",
|
|
187
|
+
"name": "",
|
|
188
|
+
"type": "address"
|
|
189
|
+
}
|
|
190
|
+
],
|
|
191
|
+
"stateMutability": "view",
|
|
192
|
+
"type": "function"
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"inputs": [
|
|
196
|
+
{
|
|
197
|
+
"internalType": "address",
|
|
198
|
+
"name": "to",
|
|
199
|
+
"type": "address"
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"internalType": "uint256",
|
|
203
|
+
"name": "value",
|
|
204
|
+
"type": "uint256"
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"internalType": "bytes",
|
|
208
|
+
"name": "data",
|
|
209
|
+
"type": "bytes"
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"internalType": "enum Enum.Operation",
|
|
213
|
+
"name": "operation",
|
|
214
|
+
"type": "uint8"
|
|
215
|
+
}
|
|
216
|
+
],
|
|
217
|
+
"name": "executeTransaction",
|
|
218
|
+
"outputs": [],
|
|
219
|
+
"stateMutability": "nonpayable",
|
|
220
|
+
"type": "function"
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"inputs": [],
|
|
224
|
+
"name": "getGuard",
|
|
225
|
+
"outputs": [
|
|
226
|
+
{
|
|
227
|
+
"internalType": "address",
|
|
228
|
+
"name": "_guard",
|
|
229
|
+
"type": "address"
|
|
230
|
+
}
|
|
231
|
+
],
|
|
232
|
+
"stateMutability": "view",
|
|
233
|
+
"type": "function"
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"inputs": [],
|
|
237
|
+
"name": "guard",
|
|
238
|
+
"outputs": [
|
|
239
|
+
{
|
|
240
|
+
"internalType": "address",
|
|
241
|
+
"name": "",
|
|
242
|
+
"type": "address"
|
|
243
|
+
}
|
|
244
|
+
],
|
|
245
|
+
"stateMutability": "view",
|
|
246
|
+
"type": "function"
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"inputs": [],
|
|
250
|
+
"name": "owner",
|
|
251
|
+
"outputs": [
|
|
252
|
+
{
|
|
253
|
+
"internalType": "address",
|
|
254
|
+
"name": "",
|
|
255
|
+
"type": "address"
|
|
256
|
+
}
|
|
257
|
+
],
|
|
258
|
+
"stateMutability": "view",
|
|
259
|
+
"type": "function"
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
"inputs": [],
|
|
263
|
+
"name": "renounceOwnership",
|
|
264
|
+
"outputs": [],
|
|
265
|
+
"stateMutability": "nonpayable",
|
|
266
|
+
"type": "function"
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
"inputs": [
|
|
270
|
+
{
|
|
271
|
+
"internalType": "address",
|
|
272
|
+
"name": "_amb",
|
|
273
|
+
"type": "address"
|
|
274
|
+
}
|
|
275
|
+
],
|
|
276
|
+
"name": "setAmb",
|
|
277
|
+
"outputs": [],
|
|
278
|
+
"stateMutability": "nonpayable",
|
|
279
|
+
"type": "function"
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
"inputs": [
|
|
283
|
+
{
|
|
284
|
+
"internalType": "address",
|
|
285
|
+
"name": "_avatar",
|
|
286
|
+
"type": "address"
|
|
287
|
+
}
|
|
288
|
+
],
|
|
289
|
+
"name": "setAvatar",
|
|
290
|
+
"outputs": [],
|
|
291
|
+
"stateMutability": "nonpayable",
|
|
292
|
+
"type": "function"
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"inputs": [
|
|
296
|
+
{
|
|
297
|
+
"internalType": "bytes32",
|
|
298
|
+
"name": "_chainId",
|
|
299
|
+
"type": "bytes32"
|
|
300
|
+
}
|
|
301
|
+
],
|
|
302
|
+
"name": "setChainId",
|
|
303
|
+
"outputs": [],
|
|
304
|
+
"stateMutability": "nonpayable",
|
|
305
|
+
"type": "function"
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
"inputs": [
|
|
309
|
+
{
|
|
310
|
+
"internalType": "address",
|
|
311
|
+
"name": "_controller",
|
|
312
|
+
"type": "address"
|
|
313
|
+
}
|
|
314
|
+
],
|
|
315
|
+
"name": "setController",
|
|
316
|
+
"outputs": [],
|
|
317
|
+
"stateMutability": "nonpayable",
|
|
318
|
+
"type": "function"
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
"inputs": [
|
|
322
|
+
{
|
|
323
|
+
"internalType": "address",
|
|
324
|
+
"name": "_guard",
|
|
325
|
+
"type": "address"
|
|
326
|
+
}
|
|
327
|
+
],
|
|
328
|
+
"name": "setGuard",
|
|
329
|
+
"outputs": [],
|
|
330
|
+
"stateMutability": "nonpayable",
|
|
331
|
+
"type": "function"
|
|
332
|
+
},
|
|
333
|
+
{
|
|
334
|
+
"inputs": [
|
|
335
|
+
{
|
|
336
|
+
"internalType": "address",
|
|
337
|
+
"name": "_target",
|
|
338
|
+
"type": "address"
|
|
339
|
+
}
|
|
340
|
+
],
|
|
341
|
+
"name": "setTarget",
|
|
342
|
+
"outputs": [],
|
|
343
|
+
"stateMutability": "nonpayable",
|
|
344
|
+
"type": "function"
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
"inputs": [
|
|
348
|
+
{
|
|
349
|
+
"internalType": "bytes",
|
|
350
|
+
"name": "initParams",
|
|
351
|
+
"type": "bytes"
|
|
352
|
+
}
|
|
353
|
+
],
|
|
354
|
+
"name": "setUp",
|
|
355
|
+
"outputs": [],
|
|
356
|
+
"stateMutability": "nonpayable",
|
|
357
|
+
"type": "function"
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
"inputs": [],
|
|
361
|
+
"name": "target",
|
|
362
|
+
"outputs": [
|
|
363
|
+
{
|
|
364
|
+
"internalType": "address",
|
|
365
|
+
"name": "",
|
|
366
|
+
"type": "address"
|
|
367
|
+
}
|
|
368
|
+
],
|
|
369
|
+
"stateMutability": "view",
|
|
370
|
+
"type": "function"
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
"inputs": [
|
|
374
|
+
{
|
|
375
|
+
"internalType": "address",
|
|
376
|
+
"name": "newOwner",
|
|
377
|
+
"type": "address"
|
|
378
|
+
}
|
|
379
|
+
],
|
|
380
|
+
"name": "transferOwnership",
|
|
381
|
+
"outputs": [],
|
|
382
|
+
"stateMutability": "nonpayable",
|
|
383
|
+
"type": "function"
|
|
384
|
+
}
|
|
385
|
+
];
|