Skip to content

Commit 604dd31

Browse files
feat(ctp): deploy to kovan and OP kovan (#2758)
Deploys Drippie and related contracts to Kovan and OP kovan. Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
1 parent a96cbe7 commit 604dd31

21 files changed

Lines changed: 4191 additions & 2 deletions

.changeset/sour-hornets-vanish.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@eth-optimism/contracts-periphery': patch
3+
---
4+
5+
Deploy Drippie to kovan and OP kovan
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { DeployConfig } from '../../src'
2+
3+
const config: DeployConfig = {
4+
ddd: '0x9C6373dE60c2D3297b18A8f964618ac46E011B58',
5+
}
6+
7+
export default config
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { DeployConfig } from '../../src'
2+
3+
const config: DeployConfig = {
4+
ddd: '0x9C6373dE60c2D3297b18A8f964618ac46E011B58',
5+
}
6+
7+
export default config
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
import { ethers } from 'ethers'
2+
3+
import { DrippieConfig } from '../../src'
4+
5+
const config: DrippieConfig = {
6+
TeleportrWithdrawal: {
7+
interval: 60 * 10,
8+
dripcheck: 'CheckBalanceHigh',
9+
checkparams: {
10+
target: '0x4821975ca220601c153d02353300d6ad34adc362',
11+
threshold: ethers.utils.parseEther('1'),
12+
},
13+
actions: [
14+
{
15+
target: '0x78A25524D90E3D0596558fb43789bD800a5c3007',
16+
data: {
17+
fn: 'withdrawFromTeleportr',
18+
args: [],
19+
},
20+
},
21+
],
22+
},
23+
GelatoBalance: {
24+
interval: 60 * 60 * 24,
25+
dripcheck: 'CheckGelatoLow',
26+
checkparams: {
27+
treasury: '0x340759c8346A1E6Ed92035FB8B6ec57cE1D82c2c',
28+
recipient: '0xc37f6a6c4AB335E20d10F034B90386E2fb70bbF5',
29+
threshold: ethers.utils.parseEther('0.1'),
30+
},
31+
actions: [
32+
{
33+
target: '0x340759c8346A1E6Ed92035FB8B6ec57cE1D82c2c',
34+
value: ethers.utils.parseEther('1'),
35+
data: {
36+
fn: 'depositFunds',
37+
args: [
38+
// receiver
39+
'0xc37f6a6c4AB335E20d10F034B90386E2fb70bbF5',
40+
// token
41+
'0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
42+
// amount
43+
ethers.utils.parseEther('1'),
44+
],
45+
},
46+
},
47+
],
48+
},
49+
}
50+
51+
export default config
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
42
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
{
2+
"address": "0xd5F62980C9d1bAa2A983bF16F8874A92F0050C48",
3+
"abi": [
4+
{
5+
"anonymous": false,
6+
"inputs": [
7+
{
8+
"components": [
9+
{
10+
"internalType": "address",
11+
"name": "target",
12+
"type": "address"
13+
},
14+
{
15+
"internalType": "uint256",
16+
"name": "threshold",
17+
"type": "uint256"
18+
}
19+
],
20+
"indexed": false,
21+
"internalType": "struct CheckBalanceHigh.Params",
22+
"name": "params",
23+
"type": "tuple"
24+
}
25+
],
26+
"name": "_EventToExposeStructInABI__Params",
27+
"type": "event"
28+
},
29+
{
30+
"inputs": [
31+
{
32+
"internalType": "bytes",
33+
"name": "_params",
34+
"type": "bytes"
35+
}
36+
],
37+
"name": "check",
38+
"outputs": [
39+
{
40+
"internalType": "bool",
41+
"name": "",
42+
"type": "bool"
43+
}
44+
],
45+
"stateMutability": "view",
46+
"type": "function"
47+
}
48+
],
49+
"transactionHash": "0x86c08e8bbac24c72bdf198936bd6de15869f474af89d14f1289899af14d93a0d",
50+
"receipt": {
51+
"to": "0x4e59b44847b379578588920cA78FbF26c0B4956C",
52+
"from": "0x063bE0Af9711a170BE4b07028b320C90705fec7C",
53+
"contractAddress": null,
54+
"transactionIndex": 0,
55+
"gasUsed": "176628",
56+
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
57+
"blockHash": "0xa0cd3d5406fe543f6cef1fd2944027b9fa929a9a1911dfe6a412e70891c9c88c",
58+
"transactionHash": "0x86c08e8bbac24c72bdf198936bd6de15869f474af89d14f1289899af14d93a0d",
59+
"logs": [],
60+
"blockNumber": 32109444,
61+
"cumulativeGasUsed": "176628",
62+
"status": 1,
63+
"byzantium": true
64+
},
65+
"args": [],
66+
"numDeployments": 1,
67+
"solcInputHash": "abf923dacd3c5c38ad59533119756db7",
68+
"metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct CheckBalanceHigh.Params\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"_EventToExposeStructInABI__Params\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_params\",\"type\":\"bytes\"}],\"name\":\"check\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"CheckBalanceHigh\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"DripCheck for checking if an account's balance is above a given threshold.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/universal/drippie/dripchecks/CheckBalanceHigh.sol\":\"CheckBalanceHigh\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"contracts/universal/drippie/IDripCheck.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.9;\\n\\ninterface IDripCheck {\\n // DripCheck contracts that want to take parameters as inputs MUST expose a struct called\\n // Params and an event _EventForExposingParamsStructInABI(Params params). This makes it\\n // possible to easily encode parameters on the client side. Solidity does not support generics\\n // so it's not possible to do this with explicit typing.\\n\\n function check(bytes memory _params) external view returns (bool);\\n}\\n\",\"keccak256\":\"0x73db6ada63ed1f0eba24efd36099139e66908aa45c79c0d1defe2a59a9e9eb9d\",\"license\":\"MIT\"},\"contracts/universal/drippie/dripchecks/CheckBalanceHigh.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.9;\\n\\nimport { IDripCheck } from \\\"../IDripCheck.sol\\\";\\n\\n/**\\n * @title CheckBalanceHigh\\n * @notice DripCheck for checking if an account's balance is above a given threshold.\\n */\\ncontract CheckBalanceHigh is IDripCheck {\\n event _EventToExposeStructInABI__Params(Params params);\\n struct Params {\\n address target;\\n uint256 threshold;\\n }\\n\\n function check(bytes memory _params) external view returns (bool) {\\n Params memory params = abi.decode(_params, (Params));\\n\\n // Check target balance is above threshold.\\n return params.target.balance > params.threshold;\\n }\\n}\\n\",\"keccak256\":\"0x517f69b75b62b7b74d3d4fceb45ecacb9cf1d68b62a8517e2985a6e0da0a7575\",\"license\":\"MIT\"}},\"version\":1}",
69+
"bytecode": "0x608060405234801561001057600080fd5b50610239806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c64b3bb514610030575b600080fd5b61004361003e3660046100c3565b610057565b604051901515815260200160405180910390f35b6000808280602001905181019061006e9190610192565b6020810151905173ffffffffffffffffffffffffffffffffffffffff1631119392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156100d557600080fd5b813567ffffffffffffffff808211156100ed57600080fd5b818401915084601f83011261010157600080fd5b81358181111561011357610113610094565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561015957610159610094565b8160405282815287602084870101111561017257600080fd5b826020860160208301376000928101602001929092525095945050505050565b6000604082840312156101a457600080fd5b6040516040810181811067ffffffffffffffff821117156101c7576101c7610094565b604052825173ffffffffffffffffffffffffffffffffffffffff811681146101ee57600080fd5b8152602092830151928101929092525091905056fea2646970667358221220c3948eadf9cbb80bb928bc392291d583593cefbaff6536ec1485a7602e7f6b7f64736f6c63430008090033",
70+
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c64b3bb514610030575b600080fd5b61004361003e3660046100c3565b610057565b604051901515815260200160405180910390f35b6000808280602001905181019061006e9190610192565b6020810151905173ffffffffffffffffffffffffffffffffffffffff1631119392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156100d557600080fd5b813567ffffffffffffffff808211156100ed57600080fd5b818401915084601f83011261010157600080fd5b81358181111561011357610113610094565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561015957610159610094565b8160405282815287602084870101111561017257600080fd5b826020860160208301376000928101602001929092525095945050505050565b6000604082840312156101a457600080fd5b6040516040810181811067ffffffffffffffff821117156101c7576101c7610094565b604052825173ffffffffffffffffffffffffffffffffffffffff811681146101ee57600080fd5b8152602092830151928101929092525091905056fea2646970667358221220c3948eadf9cbb80bb928bc392291d583593cefbaff6536ec1485a7602e7f6b7f64736f6c63430008090033",
71+
"devdoc": {
72+
"kind": "dev",
73+
"methods": {},
74+
"title": "CheckBalanceHigh",
75+
"version": 1
76+
},
77+
"userdoc": {
78+
"kind": "user",
79+
"methods": {},
80+
"notice": "DripCheck for checking if an account's balance is above a given threshold.",
81+
"version": 1
82+
},
83+
"storageLayout": {
84+
"storage": [],
85+
"types": null
86+
}
87+
}
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
{
2+
"address": "0x00B1D6438A4E7E3733Bd9fCe4A068b07A0E47620",
3+
"abi": [
4+
{
5+
"anonymous": false,
6+
"inputs": [
7+
{
8+
"components": [
9+
{
10+
"internalType": "address",
11+
"name": "target",
12+
"type": "address"
13+
},
14+
{
15+
"internalType": "uint256",
16+
"name": "threshold",
17+
"type": "uint256"
18+
}
19+
],
20+
"indexed": false,
21+
"internalType": "struct CheckBalanceLow.Params",
22+
"name": "params",
23+
"type": "tuple"
24+
}
25+
],
26+
"name": "_EventToExposeStructInABI__Params",
27+
"type": "event"
28+
},
29+
{
30+
"inputs": [
31+
{
32+
"internalType": "bytes",
33+
"name": "_params",
34+
"type": "bytes"
35+
}
36+
],
37+
"name": "check",
38+
"outputs": [
39+
{
40+
"internalType": "bool",
41+
"name": "",
42+
"type": "bool"
43+
}
44+
],
45+
"stateMutability": "view",
46+
"type": "function"
47+
}
48+
],
49+
"transactionHash": "0x5e907dff5004eb4e17677f9c0dd6c5f571d938e787f0da5b9d85514af4c7f04c",
50+
"receipt": {
51+
"to": "0x4e59b44847b379578588920cA78FbF26c0B4956C",
52+
"from": "0x063bE0Af9711a170BE4b07028b320C90705fec7C",
53+
"contractAddress": null,
54+
"transactionIndex": 3,
55+
"gasUsed": "176640",
56+
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
57+
"blockHash": "0x919d2db8417e5ed49c954ea5fbc261e9ae07f43db257334a16334c0d45e1c115",
58+
"transactionHash": "0x5e907dff5004eb4e17677f9c0dd6c5f571d938e787f0da5b9d85514af4c7f04c",
59+
"logs": [],
60+
"blockNumber": 32109445,
61+
"cumulativeGasUsed": "524894",
62+
"status": 1,
63+
"byzantium": true
64+
},
65+
"args": [],
66+
"numDeployments": 1,
67+
"solcInputHash": "abf923dacd3c5c38ad59533119756db7",
68+
"metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct CheckBalanceLow.Params\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"_EventToExposeStructInABI__Params\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_params\",\"type\":\"bytes\"}],\"name\":\"check\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"CheckBalanceLow\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"DripCheck for checking if an account's balance is below a given threshold.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/universal/drippie/dripchecks/CheckBalanceLow.sol\":\"CheckBalanceLow\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"contracts/universal/drippie/IDripCheck.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.9;\\n\\ninterface IDripCheck {\\n // DripCheck contracts that want to take parameters as inputs MUST expose a struct called\\n // Params and an event _EventForExposingParamsStructInABI(Params params). This makes it\\n // possible to easily encode parameters on the client side. Solidity does not support generics\\n // so it's not possible to do this with explicit typing.\\n\\n function check(bytes memory _params) external view returns (bool);\\n}\\n\",\"keccak256\":\"0x73db6ada63ed1f0eba24efd36099139e66908aa45c79c0d1defe2a59a9e9eb9d\",\"license\":\"MIT\"},\"contracts/universal/drippie/dripchecks/CheckBalanceLow.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.9;\\n\\nimport { IDripCheck } from \\\"../IDripCheck.sol\\\";\\n\\n/**\\n * @title CheckBalanceLow\\n * @notice DripCheck for checking if an account's balance is below a given threshold.\\n */\\ncontract CheckBalanceLow is IDripCheck {\\n event _EventToExposeStructInABI__Params(Params params);\\n struct Params {\\n address target;\\n uint256 threshold;\\n }\\n\\n function check(bytes memory _params) external view returns (bool) {\\n Params memory params = abi.decode(_params, (Params));\\n\\n // Check target ETH balance is below threshold.\\n return params.target.balance < params.threshold;\\n }\\n}\\n\",\"keccak256\":\"0xd6d8e6abcc1428666132e9d8140243fff23c564b6474927e18f30fe078801842\",\"license\":\"MIT\"}},\"version\":1}",
69+
"bytecode": "0x608060405234801561001057600080fd5b50610239806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c64b3bb514610030575b600080fd5b61004361003e3660046100c3565b610057565b604051901515815260200160405180910390f35b6000808280602001905181019061006e9190610192565b6020810151905173ffffffffffffffffffffffffffffffffffffffff1631109392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156100d557600080fd5b813567ffffffffffffffff808211156100ed57600080fd5b818401915084601f83011261010157600080fd5b81358181111561011357610113610094565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561015957610159610094565b8160405282815287602084870101111561017257600080fd5b826020860160208301376000928101602001929092525095945050505050565b6000604082840312156101a457600080fd5b6040516040810181811067ffffffffffffffff821117156101c7576101c7610094565b604052825173ffffffffffffffffffffffffffffffffffffffff811681146101ee57600080fd5b8152602092830151928101929092525091905056fea264697066735822122075d8f6816a6709f5b54613834c7be6979cb3af4abf6a1d38244135be431d562b64736f6c63430008090033",
70+
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c64b3bb514610030575b600080fd5b61004361003e3660046100c3565b610057565b604051901515815260200160405180910390f35b6000808280602001905181019061006e9190610192565b6020810151905173ffffffffffffffffffffffffffffffffffffffff1631109392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156100d557600080fd5b813567ffffffffffffffff808211156100ed57600080fd5b818401915084601f83011261010157600080fd5b81358181111561011357610113610094565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561015957610159610094565b8160405282815287602084870101111561017257600080fd5b826020860160208301376000928101602001929092525095945050505050565b6000604082840312156101a457600080fd5b6040516040810181811067ffffffffffffffff821117156101c7576101c7610094565b604052825173ffffffffffffffffffffffffffffffffffffffff811681146101ee57600080fd5b8152602092830151928101929092525091905056fea264697066735822122075d8f6816a6709f5b54613834c7be6979cb3af4abf6a1d38244135be431d562b64736f6c63430008090033",
71+
"devdoc": {
72+
"kind": "dev",
73+
"methods": {},
74+
"title": "CheckBalanceLow",
75+
"version": 1
76+
},
77+
"userdoc": {
78+
"kind": "user",
79+
"methods": {},
80+
"notice": "DripCheck for checking if an account's balance is below a given threshold.",
81+
"version": 1
82+
},
83+
"storageLayout": {
84+
"storage": [],
85+
"types": null
86+
}
87+
}

0 commit comments

Comments
 (0)