Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@
[submodule "lib/WAVS"]
path = lib/WAVS
url = https://github.com/Lay3rLabs/WAVS
branch = 58b1d93fef05b056cbd02e7c6be3ba76c39eed89
25 changes: 19 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,12 +74,24 @@ make start-all
### Upload your WAVS Service Manager

```bash
# Deploy (override: FOUNDRY_ANVIL_PRIVATE_KEY)
forge script ./script/WavsServiceManager.s.sol --rpc-url http://localhost:8545 --broadcast
# Deploy
export FOUNDRY_ANVIL_PRIVATE_KEY=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
forge script ./script/WavsSubmit.s.sol --rpc-url http://localhost:8545 --broadcast

# Grab deployed service manager from script file output
export SERVICE_MANAGER_ADDRESS=`jq -r '.service_manager' "./.docker/cli/script_deploy.json"`
echo "Service Manager Address: $SERVICE_MANAGER_ADDRESS"
export SERVICE_HANDLER_ADDR=`jq -r '.service_handler' "./.docker/cli/script_deploy.json"`
echo "Service Handler Addr: $SERVICE_HANDLER_ADDR"

export TRIGGER_ADDR=`jq -r '.trigger' "./.docker/cli/script_deploy.json"`; echo "Trigger Addr: $TRIGGER_ADDR"

wavs-cli deploy-eigen-service-manager --data ./.docker/cli --service-handler ${SERVICE_HANDLER_ADDR}
export SERVICE_MANAGER=0x0e801d84fa97b50751dbf25036d067dcf18858bf

# Set the service manager in the service handler
# - handleAddPayload can only be called by onlyServiceManager
# - add-task requires to getServiceManager() from the contract to deploy
cast send ${SERVICE_HANDLER_ADDR} "setServiceManager(address)" ${SERVICE_MANAGER} --rpc-url http://localhost:8545 --private-key $FOUNDRY_ANVIL_PRIVATE_KEY
# cast call ${SERVICE_HANDLER_ADDR} "getServiceManager()(address)" --rpc-url http://localhost:8545
```

### Build WASI components
Expand All @@ -106,7 +118,8 @@ trigger_event=$(cast sig-event "NewTrigger(bytes)"); echo "Trigger Event: $trigg
service_info=`wavs-cli deploy-service --log-level=error --data ./.docker/cli --component $(pwd)/compiled/eth_trigger_weather.wasm \
--trigger-event-name ${trigger_event:2} \
--trigger eth-contract-event \
--submit-address ${SERVICE_MANAGER_ADDRESS} \
--trigger-address ${TRIGGER_ADDR} \
--submit-address ${SERVICE_MANAGER} \
--service-config '{"fuelLimit":100000000,"maxGas":5000000,"hostEnvs":["WAVS_ENV_OPEN_WEATHER_API_KEY"],"kv":[],"workflowId":"default","componentId":"default"}'`

echo "Service info: $service_info"
Expand All @@ -116,6 +129,6 @@ SERVICE_ID=`echo $service_info | jq -r .service[0]`; echo "Service ID: $SERVICE_
wavs-cli add-task --input "Nashville,TN" --data ./.docker/cli --service-id ${SERVICE_ID}

# Grab data from the contract directly
hex_bytes=$(cast decode-abi "getData(uint64)(bytes)" `cast call ${SERVICE_MANAGER_ADDRESS} "getData(uint64)" 1`)
hex_bytes=$(cast decode-abi "getData(uint64)(bytes)" `cast call ${SERVICE_HANDLER_ADDR} "getData(uint64)" 1`)
echo `cast --to-ascii $hex_bytes`
```
8 changes: 4 additions & 4 deletions crates/bindings/src/addressupgradeable.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,22 +22,22 @@ pub mod AddressUpgradeable {
/// The creation / init bytecode of the contract.
///
/// ```text
///0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea26469706673582212206f0fc9d8c12fdb89aaf558daf659b837a6f1b639d9046085b0d8a28c2ca1905264736f6c634300081a0033
///0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220d8164faad3769fbec54201994879a2201f48000cde6b747dafc7f9d2bae0777b64736f6c634300081c0033
/// ```
#[rustfmt::skip]
#[allow(clippy::all)]
pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
b"`\x80\x80`@R4`\x17W`9\x90\x81`\x1C\x8290\x81PP\xF3[_\x80\xFD\xFE_\x80\xFD\xFE\xA2dipfsX\"\x12 o\x0F\xC9\xD8\xC1/\xDB\x89\xAA\xF5X\xDA\xF6Y\xB87\xA6\xF1\xB69\xD9\x04`\x85\xB0\xD8\xA2\x8C,\xA1\x90RdsolcC\0\x08\x1A\x003",
b"`\x80\x80`@R4`\x17W`9\x90\x81`\x1C\x8290\x81PP\xF3[_\x80\xFD\xFE_\x80\xFD\xFE\xA2dipfsX\"\x12 \xD8\x16O\xAA\xD3v\x9F\xBE\xC5B\x01\x99Hy\xA2 \x1FH\0\x0C\xDEkt}\xAF\xC7\xF9\xD2\xBA\xE0w{dsolcC\0\x08\x1C\x003",
);
/// The runtime bytecode of the contract, as deployed on the network.
///
/// ```text
///0x5f80fdfea26469706673582212206f0fc9d8c12fdb89aaf558daf659b837a6f1b639d9046085b0d8a28c2ca1905264736f6c634300081a0033
///0x5f80fdfea2646970667358221220d8164faad3769fbec54201994879a2201f48000cde6b747dafc7f9d2bae0777b64736f6c634300081c0033
/// ```
#[rustfmt::skip]
#[allow(clippy::all)]
pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
b"_\x80\xFD\xFE\xA2dipfsX\"\x12 o\x0F\xC9\xD8\xC1/\xDB\x89\xAA\xF5X\xDA\xF6Y\xB87\xA6\xF1\xB69\xD9\x04`\x85\xB0\xD8\xA2\x8C,\xA1\x90RdsolcC\0\x08\x1A\x003",
b"_\x80\xFD\xFE\xA2dipfsX\"\x12 \xD8\x16O\xAA\xD3v\x9F\xBE\xC5B\x01\x99Hy\xA2 \x1FH\0\x0C\xDEkt}\xAF\xC7\xF9\xD2\xBA\xE0w{dsolcC\0\x08\x1C\x003",
);
use alloy::contract as alloy_contract;
/**Creates a new wrapper around an on-chain [`AddressUpgradeable`](self) contract instance.
Expand Down
8 changes: 4 additions & 4 deletions crates/bindings/src/checkpointsupgradeable.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,22 +22,22 @@ pub mod CheckpointsUpgradeable {
/// The creation / init bytecode of the contract.
///
/// ```text
///0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea264697066735822122031bcd1780b52ccc37391f08b5096cb7b0cb0cdf457d47f49ea47b9a065e29a7264736f6c634300081a0033
///0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220e0775b3bb8799e6baeab470d5f74316b85a24b4ed68026efab3cbfd3d4feb7c664736f6c634300081c0033
/// ```
#[rustfmt::skip]
#[allow(clippy::all)]
pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
b"`\x80\x80`@R4`\x17W`9\x90\x81`\x1C\x8290\x81PP\xF3[_\x80\xFD\xFE_\x80\xFD\xFE\xA2dipfsX\"\x12 1\xBC\xD1x\x0BR\xCC\xC3s\x91\xF0\x8BP\x96\xCB{\x0C\xB0\xCD\xF4W\xD4\x7FI\xEAG\xB9\xA0e\xE2\x9ArdsolcC\0\x08\x1A\x003",
b"`\x80\x80`@R4`\x17W`9\x90\x81`\x1C\x8290\x81PP\xF3[_\x80\xFD\xFE_\x80\xFD\xFE\xA2dipfsX\"\x12 \xE0w[;\xB8y\x9Ek\xAE\xABG\r_t1k\x85\xA2KN\xD6\x80&\xEF\xAB<\xBF\xD3\xD4\xFE\xB7\xC6dsolcC\0\x08\x1C\x003",
);
/// The runtime bytecode of the contract, as deployed on the network.
///
/// ```text
///0x5f80fdfea264697066735822122031bcd1780b52ccc37391f08b5096cb7b0cb0cdf457d47f49ea47b9a065e29a7264736f6c634300081a0033
///0x5f80fdfea2646970667358221220e0775b3bb8799e6baeab470d5f74316b85a24b4ed68026efab3cbfd3d4feb7c664736f6c634300081c0033
/// ```
#[rustfmt::skip]
#[allow(clippy::all)]
pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
b"_\x80\xFD\xFE\xA2dipfsX\"\x12 1\xBC\xD1x\x0BR\xCC\xC3s\x91\xF0\x8BP\x96\xCB{\x0C\xB0\xCD\xF4W\xD4\x7FI\xEAG\xB9\xA0e\xE2\x9ArdsolcC\0\x08\x1A\x003",
b"_\x80\xFD\xFE\xA2dipfsX\"\x12 \xE0w[;\xB8y\x9Ek\xAE\xABG\r_t1k\x85\xA2KN\xD6\x80&\xEF\xAB<\xBF\xD3\xD4\xFE\xB7\xC6dsolcC\0\x08\x1C\x003",
);
use alloy::contract as alloy_contract;
/**Creates a new wrapper around an on-chain [`CheckpointsUpgradeable`](self) contract instance.
Expand Down
8 changes: 4 additions & 4 deletions crates/bindings/src/ecdsastakeregistry.rs

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions crates/bindings/src/ecdsaupgradeable.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,22 +22,22 @@ pub mod ECDSAUpgradeable {
/// The creation / init bytecode of the contract.
///
/// ```text
///0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea264697066735822122042c3761187f4993cb9086815e8fb7e3f21a5e806922b7003116ef10ed394cb4664736f6c634300081a0033
///0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea26469706673582212208bdd623334d76678a96e5c8762ef91c7ecbe39f74ff1f9b3a557dabecdfc8ee764736f6c634300081c0033
/// ```
#[rustfmt::skip]
#[allow(clippy::all)]
pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
b"`\x80\x80`@R4`\x17W`9\x90\x81`\x1C\x8290\x81PP\xF3[_\x80\xFD\xFE_\x80\xFD\xFE\xA2dipfsX\"\x12 B\xC3v\x11\x87\xF4\x99<\xB9\x08h\x15\xE8\xFB~?!\xA5\xE8\x06\x92+p\x03\x11n\xF1\x0E\xD3\x94\xCBFdsolcC\0\x08\x1A\x003",
b"`\x80\x80`@R4`\x17W`9\x90\x81`\x1C\x8290\x81PP\xF3[_\x80\xFD\xFE_\x80\xFD\xFE\xA2dipfsX\"\x12 \x8B\xDDb34\xD7fx\xA9n\\\x87b\xEF\x91\xC7\xEC\xBE9\xF7O\xF1\xF9\xB3\xA5W\xDA\xBE\xCD\xFC\x8E\xE7dsolcC\0\x08\x1C\x003",
);
/// The runtime bytecode of the contract, as deployed on the network.
///
/// ```text
///0x5f80fdfea264697066735822122042c3761187f4993cb9086815e8fb7e3f21a5e806922b7003116ef10ed394cb4664736f6c634300081a0033
///0x5f80fdfea26469706673582212208bdd623334d76678a96e5c8762ef91c7ecbe39f74ff1f9b3a557dabecdfc8ee764736f6c634300081c0033
/// ```
#[rustfmt::skip]
#[allow(clippy::all)]
pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
b"_\x80\xFD\xFE\xA2dipfsX\"\x12 B\xC3v\x11\x87\xF4\x99<\xB9\x08h\x15\xE8\xFB~?!\xA5\xE8\x06\x92+p\x03\x11n\xF1\x0E\xD3\x94\xCBFdsolcC\0\x08\x1A\x003",
b"_\x80\xFD\xFE\xA2dipfsX\"\x12 \x8B\xDDb34\xD7fx\xA9n\\\x87b\xEF\x91\xC7\xEC\xBE9\xF7O\xF1\xF9\xB3\xA5W\xDA\xBE\xCD\xFC\x8E\xE7dsolcC\0\x08\x1C\x003",
);
use alloy::contract as alloy_contract;
/**Creates a new wrapper around an on-chain [`ECDSAUpgradeable`](self) contract instance.
Expand Down
Loading