Skip to content

Commit efc921a

Browse files
committed
𒀭 Dagon Beta: v1.0.0
1 parent b2989fe commit efc921a

File tree

6 files changed

+17
-13
lines changed

6 files changed

+17
-13
lines changed

Dagon.pdf

-4.36 KB
Binary file not shown.

README.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,17 @@ Built with *[Foundry](https://github.com/foundry-rs/forge-std)* and *[Solady](ht
1010
1111
Chain | Address |
1212
----------------|-----------------------------------------|
13-
Ethereum, Arbitrum, Optimism, Base, Polygon (& testnets) | [0x0000000000001ADDcB933DD5028159dc965b5b7f](https://etherscan.io/address/0x0000000000001ADDcB933DD5028159dc965b5b7f#code) |
13+
Ethereum, Arbitrum, Optimism, Base, Blast, Zora, Polygon (& testnets) | [0x0000000000001ADDcB933DD5028159dc965b5b7f](https://etherscan.io/address/0x0000000000001ADDcB933DD5028159dc965b5b7f#code) |
1414

1515
## Premise
1616

17-
Dagon is a contract singleton system that allows any smart contract account to give any token a threshold right to sign for it. This means you can add "more owners" to your smart account. It also means you can give these different owners different "weights" to simulate a DAO voting engine or captable. Equal weights are equivalent to a multi-sig or coop. These weights can be associated with existing tokens or created within Dagon itself.
17+
Dagon is a contract singleton system that allows any smart contract account to give any token a threshold right to sign for it. This means you can add "more owners" to your smart account. It also means you can give these different owners different "weights" to simulate a DAO voting engine or company captable. Equal weights are equivalent to a multi-sig or coop. These weights can be associated with existing tokens or created within Dagon itself. The sky is the limit as long as [`ERC-173`](https://eips.ethereum.org/EIPS/eip-173) and [`ERC-1271`](https://eips.ethereum.org/EIPS/eip-1271) are followed.
1818

19-
Dagon thus supports existing token communities and DAO deployments out-of-the-gate. This voting format is optimized especially for most off-chain voting methods, like snapshot proposals, as well, initially offers a platform-agnostic upgrade path into smart account-based governance abstraction following, *e.g.*, [ERC-4337](https://eips.ethereum.org/EIPS/eip-4337).
19+
Dagon thus supports existing token communities and DAO deployments out-of-the-gate. This voting format is optimized especially for most off-chain voting methods, like snapshot proposals, as well, initially offers a platform-agnostic upgrade path into smart account-based governance abstraction following, *e.g.*, [`ERC-4337`](https://eips.ethereum.org/EIPS/eip-4337).
2020

21-
By just validating contract signatures remotely for accounts following [ERC-1271](https://eips.ethereum.org/EIPS/eip-1271), and not dealing with execution or more opinionated proposal logic, Dagon can complement more organizations today, as well as serve as a source of record for the greater DAO ecosystem, which are all free to implement their own custom hooks and checks to Dagon validation. In `V1`, which is focused as a voting engine, the Dagon pattern can be used for offchain polling for any token, including `ERC-20`, `ERC-721`, `ERC-1155`, `ERC-6909`, and includes a native token mint and burn function to allow tokens to upgrade (or new tokens to be issued) under `DAGON` (itself [`ERC-6909`](https://eips.ethereum.org/EIPS/eip-6909)), but can also validate onchain user operations (`userOp`s) that submit ownership to Dagon validation using the [`ERC-173`](https://eips.ethereum.org/EIPS/eip-173) `transferOwnership` flow.
21+
## More specifically
22+
23+
By just validating contract signatures remotely for accounts following `ERC-1271`, and not dealing with execution or more opinionated proposal logic, Dagon can complement more organizations today, as well as serve as a source of record for the greater DAO ecosystem, which are all free to implement their own custom hooks and checks to Dagon validation. In `V1`, which is focused as a voting engine, the Dagon pattern can be used for offchain polling for any token, including `ERC-20`, `ERC-721`, `ERC-1155`, `ERC-6909`, and includes a native token mint and burn function to allow tokens to upgrade (or new tokens to be issued) under `DAGON` (itself [`ERC-6909`](https://eips.ethereum.org/EIPS/eip-6909)), but can also validate onchain user operations (`userOp`s) that submit ownership to Dagon validation using the `ERC-173` `transferOwnership` flow.
2224

2325
For example, DAOs might use Dagon singletons in small ways to start as an extension to their ordinary operating system and governor contracts, such as to prove the results of group polls and for simple dapp display purposes, but if Dagon is also registered as the owner of a group smart account (which could be earmarked or the full treasury), Dagon can then work as the DAO's proposal engine, validating userOps and letting them be posted onchain. In this mode, Dagon supports both token-weighted and m/n signature schemes. Collection of Dagon signatures is gasless, and can be posted in a single transaction through the Dagon `isValidSignature` function in response to a typical `ERC-4337` userOp flow.
2426

docs/src/README.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,22 @@
55

66
Built with *[Foundry](https://github.com/foundry-rs/forge-std)* and *[Solady](https://github.com/vectorized/solady)*.
77

8-
## Alpha Deployment
8+
## Beta Deployment
99
> *Signature Validation Limit: ~1774 signatures*
1010
1111
Chain | Address |
1212
----------------|-----------------------------------------|
13-
Ethereum, Optimism, Sepolia (testnet) | [0x0000000000001D4B1320bB3c47380a3D1C3A1A0C](https://etherscan.io/address/0x0000000000001D4B1320bB3c47380a3D1C3A1A0C#code) |
14-
15-
🕯️ Summoner: [0xDDc31C0272a3c4696124C8df1bCf096090a168B4](https://optimistic.etherscan.io/address/0xddc31c0272a3c4696124c8df1bcf096090a168b4#code)
13+
Ethereum, Arbitrum, Optimism, Base, Blast, Zora, Polygon (& testnets) | [0x0000000000001ADDcB933DD5028159dc965b5b7f](https://etherscan.io/address/0x0000000000001ADDcB933DD5028159dc965b5b7f#code) |
1614

1715
## Premise
1816

19-
Dagon is a contract singleton system that allows any account to give any token a threshold right to sign for it. It thus supports existing token communities and DAO deployments out-of-the-gate. Dagon is optimized especially for most off-chain voting methods, such as multisig and weighted snapshot proposals, as well, initially offers a platform-agnostic upgrade path into smart account-based governance abstraction following, *e.g.*, [ERC-4337](https://eips.ethereum.org/EIPS/eip-4337).
17+
Dagon is a contract singleton system that allows any smart contract account to give any token a threshold right to sign for it. This means you can add "more owners" to your smart account. It also means you can give these different owners different "weights" to simulate a DAO voting engine or company captable. Equal weights are equivalent to a multi-sig or coop. These weights can be associated with existing tokens or created within Dagon itself. The sky is the limit as long as [`ERC-173`](https://eips.ethereum.org/EIPS/eip-173) and [`ERC-1271`](https://eips.ethereum.org/EIPS/eip-1271) are followed.
18+
19+
Dagon thus supports existing token communities and DAO deployments out-of-the-gate. This voting format is optimized especially for most off-chain voting methods, like snapshot proposals, as well, initially offers a platform-agnostic upgrade path into smart account-based governance abstraction following, *e.g.*, [`ERC-4337`](https://eips.ethereum.org/EIPS/eip-4337).
20+
21+
## More specifically
2022

21-
By just validating contract signatures remotely for accounts following [ERC-1271](https://eips.ethereum.org/EIPS/eip-1271), and not dealing with execution or more opinionated proposal logic, Dagon can complement more organizations today, as well as serve as a source of record for the greater DAO ecosystem, which are all free to implement their own custom hooks and checks to Dagon validation. In `V0`, which is focused as a voting engine, the Dagon pattern can be used for offchain polling for any token, including `ERC-20`, `ERC-721`, `ERC-1155`, `ERC-6909`, and includes a native token mint and burn function to allow tokens to upgrade (or new tokens to be issued) under `DAGON` (itself [`ERC-6909`](https://eips.ethereum.org/EIPS/eip-6909)), but can also validate onchain user operations (`userOp`s) that submit ownership to Dagon validation using the [`ERC-173`](https://eips.ethereum.org/EIPS/eip-173) `transferOwnership` flow.
23+
By just validating contract signatures remotely for accounts following `ERC-1271`, and not dealing with execution or more opinionated proposal logic, Dagon can complement more organizations today, as well as serve as a source of record for the greater DAO ecosystem, which are all free to implement their own custom hooks and checks to Dagon validation. In `V1`, which is focused as a voting engine, the Dagon pattern can be used for offchain polling for any token, including `ERC-20`, `ERC-721`, `ERC-1155`, `ERC-6909`, and includes a native token mint and burn function to allow tokens to upgrade (or new tokens to be issued) under `DAGON` (itself [`ERC-6909`](https://eips.ethereum.org/EIPS/eip-6909)), but can also validate onchain user operations (`userOp`s) that submit ownership to Dagon validation using the `ERC-173` `transferOwnership` flow.
2224

2325
For example, DAOs might use Dagon singletons in small ways to start as an extension to their ordinary operating system and governor contracts, such as to prove the results of group polls and for simple dapp display purposes, but if Dagon is also registered as the owner of a group smart account (which could be earmarked or the full treasury), Dagon can then work as the DAO's proposal engine, validating userOps and letting them be posted onchain. In this mode, Dagon supports both token-weighted and m/n signature schemes. Collection of Dagon signatures is gasless, and can be posted in a single transaction through the Dagon `isValidSignature` function in response to a typical `ERC-4337` userOp flow.
2426

docs/src/src/Dagon.sol/contract.Dagon.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Dagon
2-
[Git Source](https://github.com/Moloch-Mystics/dagon/blob/d1a46b5b5c5a2b934862fab00dc866a8f0b25f91/src/Dagon.sol)
2+
[Git Source](https://github.com/Moloch-Mystics/dagon/blob/b2989fed9dbd3d5acc65a68f3f1f2d0fe58b892b/src/Dagon.sol)
33

44
**Inherits:**
55
ERC6909

docs/src/src/Dagon.sol/interface.IAuth.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# IAuth
2-
[Git Source](https://github.com/Moloch-Mystics/dagon/blob/d1a46b5b5c5a2b934862fab00dc866a8f0b25f91/src/Dagon.sol)
2+
[Git Source](https://github.com/Moloch-Mystics/dagon/blob/b2989fed9dbd3d5acc65a68f3f1f2d0fe58b892b/src/Dagon.sol)
33

44
Simple authority interface for contracts.
55

docs/src/src/Dagon.sol/interface.IOwnable.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# IOwnable
2-
[Git Source](https://github.com/Moloch-Mystics/dagon/blob/d1a46b5b5c5a2b934862fab00dc866a8f0b25f91/src/Dagon.sol)
2+
[Git Source](https://github.com/Moloch-Mystics/dagon/blob/b2989fed9dbd3d5acc65a68f3f1f2d0fe58b892b/src/Dagon.sol)
33

44
Simple ownership interface for handover requests.
55

0 commit comments

Comments
 (0)