Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/0xfourzerofour/deployer-of-worlds
repeatable EVM based deployment and execution runner for smart contracts and its dependencies
https://github.com/0xfourzerofour/deployer-of-worlds
abi bytecode ethereum evm rust smart-contracts
Last synced: about 2 months ago
JSON representation
repeatable EVM based deployment and execution runner for smart contracts and its dependencies
- Host: GitHub
- URL: https://github.com/0xfourzerofour/deployer-of-worlds
- Owner: 0xfourzerofour
- Created: 2024-05-17T01:56:17.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2024-08-23T01:45:02.000Z (6 months ago)
- Last Synced: 2024-08-23T02:49:34.013Z (6 months ago)
- Topics: abi, bytecode, ethereum, evm, rust, smart-contracts
- Language: Rust
- Homepage:
- Size: 155 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
![banner](./data/banner.png)
A config driven smart contract deployment and execution framework for repeatable to deterministic actions.
## Example Config
```yml
variables:
proxy_address:
ty: address
value: "0x4f84a207A80c39E9e8BaE717c1F25bA7AD1fB08F"entry_point:
ty: address
value: "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789"min_value:
ty: uint256
value: "1000000000000000000"actions:
- id: "read_entrypoint_deposit_info"
action_data:
type: "read"
content:
address: !var entry_point
abi_item: "function balanceOf(address owner) view returns (uint256 balance)"
args:
- !var proxy_address- id: "send_deposit"
action_data:
type: "write"
content:
address: !var entry_point
abi_item: "function deposit(address owner) payable"
args:
- !var proxy_address
value: !output read_entrypoint_deposit_info.balance
```## TODO
- Input validation based on id's and output schema based on jq queries
- Generate init code based on input abi and constructor args
- Conditional Execution logic based on on-chain read funcitonality
- CREATE2 Deployer implementation for contract deployment
- CLI tool to allow for arbitrary json inputs to be executed
- Use Create2 deployer factory and bind rust types to it (here)[https://github.com/pcaversaccio/createx]