From f94e5a1945000f566a404706d0a8fe5f68813414 Mon Sep 17 00:00:00 2001 From: huangzhiran <30522704+huangzhiran@users.noreply.github.com> Date: Fri, 17 Jan 2025 13:59:21 +0800 Subject: [PATCH] deploy mainnet contarct and add mainnet config (#812) --- e2e/init.go | 1 - service/apinode/config/config.go | 18 +- service/prover/config/config.go | 15 + service/sequencer/config/config.go | 15 + .../.openzeppelin/unknown-4689.json | 1387 +++++++++++++++++ smartcontracts/README.md | 29 +- 6 files changed, 1461 insertions(+), 4 deletions(-) create mode 100644 smartcontracts/.openzeppelin/unknown-4689.json diff --git a/e2e/init.go b/e2e/init.go index 46c341ee..84bee926 100644 --- a/e2e/init.go +++ b/e2e/init.go @@ -47,7 +47,6 @@ func apiNodeInit(chDSN, dbFile, chainEndpoint string, contractDeployments *servi TaskAggregatorIntervalSecond: 1, ProverServiceEndpoint: "localhost:9002", DatabaseDSN: chDSN, - PrvKey: "", ChainEndpoint: chainEndpoint, BeginningBlockNumber: 0, ProjectContractAddr: contractDeployments.WSProject, diff --git a/service/apinode/config/config.go b/service/apinode/config/config.go index 39d81cb8..17ab9087 100644 --- a/service/apinode/config/config.go +++ b/service/apinode/config/config.go @@ -14,7 +14,6 @@ type Config struct { TaskAggregatorIntervalSecond uint64 `env:"TASK_AGGREGATOR_INTERVAL_SECOND,optional"` ProverServiceEndpoint string `env:"PROVER_SERVICE_ENDPOINT"` DatabaseDSN string `env:"DATABASE_DSN"` - PrvKey string `env:"PRIVATE_KEY,optional"` ChainEndpoint string `env:"CHAIN_ENDPOINT,optional"` BeginningBlockNumber uint64 `env:"BEGINNING_BLOCK_NUMBER,optional"` ProjectContractAddr string `env:"PROJECT_CONTRACT_ADDRESS,optional"` @@ -30,7 +29,6 @@ var defaultTestnetConfig = &Config{ SequencerServiceEndpoint: "localhost:9001", TaskAggregatorIntervalSecond: 1, ProverServiceEndpoint: "localhost:9002", - PrvKey: "dbfe03b0406549232b8dccc04be8224fcc0afa300a33d4f335dcfdfead861c85", ChainEndpoint: "https://babel-api.testnet.iotex.io", BeginningBlockNumber: 28685000, TaskManagerContractAddr: "0xF0714400a4C0C72007A9F910C5E3007614958636", @@ -39,6 +37,20 @@ var defaultTestnetConfig = &Config{ env: "TESTNET", } +var defaultMainnetConfig = &Config{ + LogLevel: slog.LevelInfo, + ServiceEndpoint: ":9000", + SequencerServiceEndpoint: "localhost:9001", + TaskAggregatorIntervalSecond: 300, + ProverServiceEndpoint: "localhost:9002", + ChainEndpoint: "https://babel-api.mainnet.iotex.io", + BeginningBlockNumber: 31780000, + TaskManagerContractAddr: "0x0A422759A8c6b22Ae8B9C4364763b614d5c0CD29", + IoIDContractAddr: "0x1FCB980eD0287777ab05ADc93012332e11300e54", + LocalDBDir: "./local_db", + env: "MAINNET", +} + func (c *Config) init() error { if err := env.ParseEnv(c); err != nil { return err @@ -54,6 +66,8 @@ func Get() (*Config, error) { switch env { case "TESTNET": conf = defaultTestnetConfig + case "MAINNET": + conf = defaultMainnetConfig default: env = "TESTNET" conf = defaultTestnetConfig diff --git a/service/prover/config/config.go b/service/prover/config/config.go index f4fce5c7..facdbb57 100644 --- a/service/prover/config/config.go +++ b/service/prover/config/config.go @@ -36,6 +36,19 @@ var ( LocalDBDir: "./local_db", env: "TESTNET", } + defaultMainnetConfig = &Config{ + LogLevel: slog.LevelInfo, + ServiceEndpoint: ":9002", + VMEndpoints: `{"1":"localhost:4001","2":"localhost:4002","3":"zkwasm:4001","4":"wasm:4001"}`, + ChainEndpoint: "https://babel-api.mainnet.iotex.io", + ProjectContractAddr: "0x6EF4559f2023C93F78d27E0151deF083638478d2", + RouterContractAddr: "0x580D9686A7A188746B9f4a06fb5ec9e14E937fde", + TaskManagerContractAddr: "0x0A422759A8c6b22Ae8B9C4364763b614d5c0CD29", + ProverPrvKey: "a5f4e99aa80342d5451e8f8fd0dc357ccddb70d3827428fb1fc366f70833497f", + BeginningBlockNumber: 31780000, + LocalDBDir: "./local_db", + env: "MAINNET", + } ) func (c *Config) init() error { @@ -53,6 +66,8 @@ func Get() (*Config, error) { switch env { case "TESTNET": conf = defaultTestnetConfig + case "MAINNET": + conf = defaultMainnetConfig default: env = "TESTNET" conf = defaultTestnetConfig diff --git a/service/sequencer/config/config.go b/service/sequencer/config/config.go index 1313eb2f..d74d9468 100644 --- a/service/sequencer/config/config.go +++ b/service/sequencer/config/config.go @@ -36,6 +36,19 @@ var ( BeginningBlockNumber: 28685000, env: "TESTNET", } + defaultMainnetConfig = &Config{ + LogLevel: slog.LevelInfo, + ServiceEndpoint: ":9001", + TaskProcessingBandwidth: 20, + ChainEndpoint: "https://babel-api.mainnet.iotex.io", + OperatorPrvKey: "33e6ba3e033131026903f34dfa208feb88c284880530cf76280b68d38041c67b", + ProverContractAddr: "0x73aE62021517685c4b8Db4422968BCEc80F84063", + MinterContractAddr: "0x270bF4c2d0269f8Bf1c2187c20177DCc2f15C3C9", + TaskManagerContractAddr: "0x0A422759A8c6b22Ae8B9C4364763b614d5c0CD29", + LocalDBDir: "./local_db", + BeginningBlockNumber: 31780000, + env: "MAINNET", + } ) func (c *Config) init() error { @@ -53,6 +66,8 @@ func Get() (*Config, error) { switch env { case "TESTNET": conf = defaultTestnetConfig + case "MAINNET": + conf = defaultMainnetConfig default: env = "TESTNET" conf = defaultTestnetConfig diff --git a/smartcontracts/.openzeppelin/unknown-4689.json b/smartcontracts/.openzeppelin/unknown-4689.json new file mode 100644 index 00000000..54b44090 --- /dev/null +++ b/smartcontracts/.openzeppelin/unknown-4689.json @@ -0,0 +1,1387 @@ +{ + "manifestVersion": "3.2", + "proxies": [ + { + "address": "0x6EF4559f2023C93F78d27E0151deF083638478d2", + "txHash": "0x649568b889a658c8ebd35909a8813328b63560f3e75a4b419e8133453071336e", + "kind": "transparent" + }, + { + "address": "0x425D3FD5e8e0d0d7c73599adeb9B395505581ec7", + "txHash": "0x93fa16a1a4eb59eb640db2b80f9c51bf334e67b92b34059ba4422624105b0856", + "kind": "transparent" + }, + { + "address": "0x73aE62021517685c4b8Db4422968BCEc80F84063", + "txHash": "0x2cc92e8618ab421f3d4e85bd35c0679f41e0bf71fbfc8dc140b2cb39ad2e8793", + "kind": "transparent" + }, + { + "address": "0xb85FB431Ca3f03fbE556B3DA23ebF21031D48837", + "txHash": "0x930cd1646d912f1b3d369ffabf26b7d4c60ec93d6f0aa114025cfda5369258f8", + "kind": "transparent" + }, + { + "address": "0x8eaBA35CCf7D379ca163698998f9B6d6714946c5", + "txHash": "0x419173d98cf6eb0bb3d39838ae9bdb2dd1d732390eca0761ae969c6a4be8bcf3", + "kind": "transparent" + }, + { + "address": "0xdfbcAbdB75e17EF2dfCb2bEcf5b67312EA2696F1", + "txHash": "0xae3324eeaeafd0fd172f925bb9f0b6ddb00f4a5aeb2ccbab05d846d34b766bd4", + "kind": "transparent" + }, + { + "address": "0x0A422759A8c6b22Ae8B9C4364763b614d5c0CD29", + "txHash": "0x07cadc561a3ca71ba9636ae30c65793dc6483ac032051b125c3771273155c6dd", + "kind": "transparent" + }, + { + "address": "0x580D9686A7A188746B9f4a06fb5ec9e14E937fde", + "txHash": "0x0bb2b7eff6f6d93670c5ce05dbe18cb1d17a307d4e28dd6320f61f2b0be54b82", + "kind": "transparent" + }, + { + "address": "0x565b7d55e3bb27D07F31937D8Ac043d5Fce44296", + "txHash": "0x95dac1d329eec91ba6665781074a1e518ac1c319d8589a30035cc5d896ab8fb0", + "kind": "transparent" + }, + { + "address": "0x270bF4c2d0269f8Bf1c2187c20177DCc2f15C3C9", + "txHash": "0xfbe93c0ddcd6d7573cdb0f5e65d4cd0a211b023b5df4fb83eafe913aed0fb6e9", + "kind": "transparent" + } + ], + "impls": { + "6a4e240988d2942c661f5c3748ed6791529f3c1350c4b89a46cc7d5d61c5aca8": { + "address": "0xf0880535E5A15d367098263bD653108Fbfca2578", + "txHash": "0x799713b29b7c47c519b6dc6bb2a689757105a2dca6b2030e2aabc2cfd207ee7d", + "layout": { + "solcVersion": "0.8.19", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" + }, + { + "label": "_owner", + "offset": 0, + "slot": "51", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "projects", + "offset": 0, + "slot": "101", + "type": "t_mapping(t_uint256,t_bool)", + "contract": "W3bstreamProject", + "src": "contracts/W3bstreamProject.sol:22" + }, + { + "label": "projectConfigs", + "offset": 0, + "slot": "102", + "type": "t_mapping(t_uint256,t_struct(ProjectConfig)11816_storage)", + "contract": "W3bstreamProject", + "src": "contracts/W3bstreamProject.sol:23" + }, + { + "label": "paused", + "offset": 0, + "slot": "103", + "type": "t_mapping(t_uint256,t_bool)", + "contract": "W3bstreamProject", + "src": "contracts/W3bstreamProject.sol:24" + }, + { + "label": "attributes", + "offset": 0, + "slot": "104", + "type": "t_mapping(t_uint256,t_mapping(t_bytes32,t_bytes_storage))", + "contract": "W3bstreamProject", + "src": "contracts/W3bstreamProject.sol:25" + }, + { + "label": "project", + "offset": 0, + "slot": "105", + "type": "t_contract(IERC721)4786", + "contract": "W3bstreamProject", + "src": "contracts/W3bstreamProject.sol:27" + }, + { + "label": "binder", + "offset": 0, + "slot": "106", + "type": "t_address", + "contract": "W3bstreamProject", + "src": "contracts/W3bstreamProject.sol:28" + }, + { + "label": "count", + "offset": 0, + "slot": "107", + "type": "t_uint256", + "contract": "W3bstreamProject", + "src": "contracts/W3bstreamProject.sol:29" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_bytes_storage": { + "label": "bytes", + "numberOfBytes": "32" + }, + "t_contract(IERC721)4786": { + "label": "contract IERC721", + "numberOfBytes": "20" + }, + "t_mapping(t_bytes32,t_bytes_storage)": { + "label": "mapping(bytes32 => bytes)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_bool)": { + "label": "mapping(uint256 => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_mapping(t_bytes32,t_bytes_storage))": { + "label": "mapping(uint256 => mapping(bytes32 => bytes))", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(ProjectConfig)11816_storage)": { + "label": "mapping(uint256 => struct W3bstreamProject.ProjectConfig)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(ProjectConfig)11816_storage": { + "label": "struct W3bstreamProject.ProjectConfig", + "members": [ + { + "label": "uri", + "type": "t_string_storage", + "offset": 0, + "slot": "0" + }, + { + "label": "hash", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } + }, + "24b1eb59f026808634281557e224dc41bc05cf028204a2977e18d9f0e46c5cfe": { + "address": "0x929EdA540b86290C49672aF2E5a4DEBF9d8F4eb7", + "txHash": "0xb2765c56dde5844d8c9cc3b41f645745e4ed33be840706e1c90263f8e977585d", + "layout": { + "solcVersion": "0.8.19", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" + }, + { + "label": "_owner", + "offset": 0, + "slot": "51", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "registrationFee", + "offset": 0, + "slot": "101", + "type": "t_uint256", + "contract": "ProjectRegistrar", + "src": "contracts/ProjectRegistrar.sol:15" + }, + { + "label": "projectStore", + "offset": 0, + "slot": "102", + "type": "t_contract(IProjectStore)11085", + "contract": "ProjectRegistrar", + "src": "contracts/ProjectRegistrar.sol:16" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_contract(IProjectStore)11085": { + "label": "contract IProjectStore", + "numberOfBytes": "20" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } + }, + "ec8942e1c890b65d9abb7ea9196635a7c9cb19c1fdd56af7602708e6e80b3d56": { + "address": "0x3a534d40C02C2A9258704227B6F24A1Dfac858D9", + "txHash": "0xc48f1abc2ece8329ce41341ff0031afde56c241c90b9f95d497c1074a8c06d86", + "layout": { + "solcVersion": "0.8.19", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" + }, + { + "label": "_owner", + "offset": 0, + "slot": "51", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "vmTypes", + "offset": 0, + "slot": "101", + "type": "t_mapping(t_address,t_mapping(t_uint256,t_bool))", + "contract": "W3bstreamProver", + "src": "contracts/W3bstreamProver.sol:14" + }, + { + "label": "rebateRatios", + "offset": 0, + "slot": "102", + "type": "t_mapping(t_address,t_uint16)", + "contract": "W3bstreamProver", + "src": "contracts/W3bstreamProver.sol:15" + }, + { + "label": "beneficiaries", + "offset": 0, + "slot": "103", + "type": "t_mapping(t_address,t_address)", + "contract": "W3bstreamProver", + "src": "contracts/W3bstreamProver.sol:16" + }, + { + "label": "paused", + "offset": 0, + "slot": "104", + "type": "t_mapping(t_address,t_bool)", + "contract": "W3bstreamProver", + "src": "contracts/W3bstreamProver.sol:17" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_address)": { + "label": "mapping(address => address)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_uint256,t_bool))": { + "label": "mapping(address => mapping(uint256 => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint16)": { + "label": "mapping(address => uint16)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_bool)": { + "label": "mapping(uint256 => bool)", + "numberOfBytes": "32" + }, + "t_uint16": { + "label": "uint16", + "numberOfBytes": "2" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } + }, + "d68357da25e4667438c1c206f3ab6d35c8c8d1e0cb1e60afdef899a952abd1a4": { + "address": "0x3333eE3FC93278B11EddF1B340b51Bf67783a5F6", + "txHash": "0x89c020ee9621bf7e7b1e67a0adb137f6b96005a68735d615883c3f37ae325c01", + "layout": { + "solcVersion": "0.8.19", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" + }, + { + "label": "_owner", + "offset": 0, + "slot": "51", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "__gap", + "offset": 0, + "slot": "101", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_name", + "offset": 0, + "slot": "151", + "type": "t_string_storage", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:25" + }, + { + "label": "_symbol", + "offset": 0, + "slot": "152", + "type": "t_string_storage", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:28" + }, + { + "label": "_owners", + "offset": 0, + "slot": "153", + "type": "t_mapping(t_uint256,t_address)", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:31" + }, + { + "label": "_balances", + "offset": 0, + "slot": "154", + "type": "t_mapping(t_address,t_uint256)", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:34" + }, + { + "label": "_tokenApprovals", + "offset": 0, + "slot": "155", + "type": "t_mapping(t_uint256,t_address)", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:37" + }, + { + "label": "_operatorApprovals", + "offset": 0, + "slot": "156", + "type": "t_mapping(t_address,t_mapping(t_address,t_bool))", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:40" + }, + { + "label": "__gap", + "offset": 0, + "slot": "157", + "type": "t_array(t_uint256)44_storage", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:477" + }, + { + "label": "nextTypeId", + "offset": 0, + "slot": "201", + "type": "t_uint256", + "contract": "W3bstreamVMType", + "src": "contracts/W3bstreamVMType.sol:12" + }, + { + "label": "_types", + "offset": 0, + "slot": "202", + "type": "t_mapping(t_uint256,t_string_storage)", + "contract": "W3bstreamVMType", + "src": "contracts/W3bstreamVMType.sol:14" + }, + { + "label": "_paused", + "offset": 0, + "slot": "203", + "type": "t_mapping(t_uint256,t_bool)", + "contract": "W3bstreamVMType", + "src": "contracts/W3bstreamVMType.sol:15" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)44_storage": { + "label": "uint256[44]", + "numberOfBytes": "1408" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_address,t_bool))": { + "label": "mapping(address => mapping(address => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_address)": { + "label": "mapping(uint256 => address)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_bool)": { + "label": "mapping(uint256 => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_string_storage)": { + "label": "mapping(uint256 => string)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } + }, + "f183996731a8c24a265d15b0846549c012ebde502af0deaafc0e348c012ccec9": { + "address": "0x244b1E85dA5202aB11b9a1F30cbACB92b3fc9A3b", + "txHash": "0x48ce0573fddd81b0db5a7bff9dde1517aa506f3cb75765c53dd2bec6fa520c6e", + "layout": { + "solcVersion": "0.8.19", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" + }, + { + "label": "_owner", + "offset": 0, + "slot": "51", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "operator", + "offset": 0, + "slot": "101", + "type": "t_address", + "contract": "W3bstreamDebits", + "src": "contracts/W3bstreamDebits.sol:15" + }, + { + "label": "balances", + "offset": 0, + "slot": "102", + "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))", + "contract": "W3bstreamDebits", + "src": "contracts/W3bstreamDebits.sol:17" + }, + { + "label": "withholdings", + "offset": 0, + "slot": "103", + "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))", + "contract": "W3bstreamDebits", + "src": "contracts/W3bstreamDebits.sol:18" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_mapping(t_address,t_uint256))": { + "label": "mapping(address => mapping(address => uint256))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } + }, + "185f85914766a4009698fd0aa26e62368e9c8625b2df77fd27e47830348e710d": { + "address": "0x6328988570249034E16e12b8621935549a045095", + "txHash": "0x74aaeb4520114d3590c2cea4ba4a7a939dfecac33a0da68bb39d9f44b09ca1b1", + "layout": { + "solcVersion": "0.8.19", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" + }, + { + "label": "_owner", + "offset": 0, + "slot": "51", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "operator", + "offset": 0, + "slot": "101", + "type": "t_address", + "contract": "W3bstreamProjectReward", + "src": "contracts/W3bstreamProjectReward.sol:18" + }, + { + "label": "project", + "offset": 0, + "slot": "102", + "type": "t_address", + "contract": "W3bstreamProjectReward", + "src": "contracts/W3bstreamProjectReward.sol:19" + }, + { + "label": "_rewardTokens", + "offset": 0, + "slot": "103", + "type": "t_mapping(t_uint256,t_address)", + "contract": "W3bstreamProjectReward", + "src": "contracts/W3bstreamProjectReward.sol:21" + }, + { + "label": "_rewardAmounts", + "offset": 0, + "slot": "104", + "type": "t_mapping(t_address,t_mapping(t_uint256,t_uint256))", + "contract": "W3bstreamProjectReward", + "src": "contracts/W3bstreamProjectReward.sol:22" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_mapping(t_uint256,t_uint256))": { + "label": "mapping(address => mapping(uint256 => uint256))", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_address)": { + "label": "mapping(uint256 => address)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_uint256)": { + "label": "mapping(uint256 => uint256)", + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } + }, + "fbb31f8870d72db3c6a88f659431b5855145bb83e51df0564bca51ae988038b4": { + "address": "0x6ea394e32878EAeA7507345bC0f8C3Cc6dECAFfE", + "txHash": "0x2236bca6919d4e4279a2dfa9c673980572b581c1833b02923acef07b46d9cde8", + "layout": { + "solcVersion": "0.8.19", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" + }, + { + "label": "_owner", + "offset": 0, + "slot": "51", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "records", + "offset": 0, + "slot": "101", + "type": "t_mapping(t_uint256,t_mapping(t_bytes32,t_struct(Record)13218_storage))", + "contract": "W3bstreamTaskManager", + "src": "contracts/W3bstreamTaskManager.sol:54" + }, + { + "label": "operators", + "offset": 0, + "slot": "102", + "type": "t_mapping(t_address,t_bool)", + "contract": "W3bstreamTaskManager", + "src": "contracts/W3bstreamTaskManager.sol:55" + }, + { + "label": "debits", + "offset": 0, + "slot": "103", + "type": "t_contract(IDebits)13250", + "contract": "W3bstreamTaskManager", + "src": "contracts/W3bstreamTaskManager.sol:56" + }, + { + "label": "projectReward", + "offset": 0, + "slot": "104", + "type": "t_contract(IProjectReward)13274", + "contract": "W3bstreamTaskManager", + "src": "contracts/W3bstreamTaskManager.sol:57" + }, + { + "label": "proverStore", + "offset": 0, + "slot": "105", + "type": "t_contract(IProverStore)13296", + "contract": "W3bstreamTaskManager", + "src": "contracts/W3bstreamTaskManager.sol:58" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_contract(IDebits)13250": { + "label": "contract IDebits", + "numberOfBytes": "20" + }, + "t_contract(IProjectReward)13274": { + "label": "contract IProjectReward", + "numberOfBytes": "20" + }, + "t_contract(IProverStore)13296": { + "label": "contract IProverStore", + "numberOfBytes": "20" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(Record)13218_storage)": { + "label": "mapping(bytes32 => struct Record)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_mapping(t_bytes32,t_struct(Record)13218_storage))": { + "label": "mapping(uint256 => mapping(bytes32 => struct Record))", + "numberOfBytes": "32" + }, + "t_struct(Record)13218_storage": { + "label": "struct Record", + "members": [ + { + "label": "hash", + "type": "t_bytes32", + "offset": 0, + "slot": "0" + }, + { + "label": "owner", + "type": "t_address", + "offset": 0, + "slot": "1" + }, + { + "label": "sequencer", + "type": "t_address", + "offset": 0, + "slot": "2" + }, + { + "label": "prover", + "type": "t_address", + "offset": 0, + "slot": "3" + }, + { + "label": "rewardForProver", + "type": "t_uint256", + "offset": 0, + "slot": "4" + }, + { + "label": "rewardForSequencer", + "type": "t_uint256", + "offset": 0, + "slot": "5" + }, + { + "label": "deadline", + "type": "t_uint256", + "offset": 0, + "slot": "6" + }, + { + "label": "settled", + "type": "t_bool", + "offset": 0, + "slot": "7" + } + ], + "numberOfBytes": "256" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } + }, + "a6c1f29bac17ac6f7ece5346deebc63bd7c738c2393bebe5b5d2407fd036e5ba": { + "address": "0x0c3c865C7D7ee3028Fe5C66B05e1D7329200bF4e", + "txHash": "0xce9769687e76c6ea79f34320d79044317ec70cacb1aad0d8c97912c9b530d13c", + "layout": { + "solcVersion": "0.8.19", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" + }, + { + "label": "taskManager", + "offset": 2, + "slot": "0", + "type": "t_contract(ITaskManager)14199", + "contract": "W3bstreamRouter", + "src": "contracts/W3bstreamRouter.sol:21" + }, + { + "label": "proverStore", + "offset": 0, + "slot": "1", + "type": "t_contract(IProverStore)13001", + "contract": "W3bstreamRouter", + "src": "contracts/W3bstreamRouter.sol:22" + }, + { + "label": "projectStore", + "offset": 0, + "slot": "2", + "type": "t_address", + "contract": "W3bstreamRouter", + "src": "contracts/W3bstreamRouter.sol:23" + }, + { + "label": "dapp", + "offset": 0, + "slot": "3", + "type": "t_mapping(t_uint256,t_address)", + "contract": "W3bstreamRouter", + "src": "contracts/W3bstreamRouter.sol:25" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_contract(IProverStore)13001": { + "label": "contract IProverStore", + "numberOfBytes": "20" + }, + "t_contract(ITaskManager)14199": { + "label": "contract ITaskManager", + "numberOfBytes": "20" + }, + "t_mapping(t_uint256,t_address)": { + "label": "mapping(uint256 => address)", + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } + }, + "c18363a0182ec7eeba6c1a8434135de933ca026103166e420ca33a91be83f664": { + "address": "0x4e68130bafec6577B48410684eF9d148B04E0B21", + "txHash": "0x35036f70880a0f24fb4cfdb05ab52bdd0f5bd4e5b8f2904c29c71bcb0221ced4", + "layout": { + "solcVersion": "0.8.19", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" + }, + { + "label": "_owner", + "offset": 0, + "slot": "51", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "operator", + "offset": 0, + "slot": "101", + "type": "t_address", + "contract": "W3bstreamRewardDistributor", + "src": "contracts/W3bstreamRewardDistributor.sol:11" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } + }, + "f3b7b8bbeeb2293275d6b791f6bc2d33c71950e5bf9a73cc9b432924bdca49eb": { + "address": "0xBe382e3d08473B79e67dE4e4866d17E3056b9d91", + "txHash": "0x5eb67dd2aa11b069319f72b0d64f31e5bb3e23b618e644e974cf4c64ac1f8e70", + "layout": { + "solcVersion": "0.8.19", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" + }, + { + "label": "_owner", + "offset": 0, + "slot": "51", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "taskManager", + "offset": 0, + "slot": "101", + "type": "t_contract(ITaskManager)14199", + "contract": "W3bstreamMinter", + "src": "contracts/W3bstreamMinter.sol:22" + }, + { + "label": "distributor", + "offset": 0, + "slot": "102", + "type": "t_contract(IRewardDistributor)11647", + "contract": "W3bstreamMinter", + "src": "contracts/W3bstreamMinter.sol:23" + }, + { + "label": "reward", + "offset": 0, + "slot": "103", + "type": "t_uint256", + "contract": "W3bstreamMinter", + "src": "contracts/W3bstreamMinter.sol:25" + }, + { + "label": "taskAllowance", + "offset": 0, + "slot": "104", + "type": "t_uint256", + "contract": "W3bstreamMinter", + "src": "contracts/W3bstreamMinter.sol:26" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_contract(IRewardDistributor)11647": { + "label": "contract IRewardDistributor", + "numberOfBytes": "20" + }, + "t_contract(ITaskManager)14199": { + "label": "contract ITaskManager", + "numberOfBytes": "20" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } + } + } +} diff --git a/smartcontracts/README.md b/smartcontracts/README.md index 99bbd849..60c0488b 100644 --- a/smartcontracts/README.md +++ b/smartcontracts/README.md @@ -37,4 +37,31 @@ W3bstreamTaskManager add operator to 0x7cE64E8a918C9B8b6172043Bb50E99A9AFf72cd1 W3bstreamTaskManager add operator to 0x19dD7163Ad80fE550C97Affef49E1995B24941B1 W3bstreamRewardDistributor set operator to 0x7cE64E8a918C9B8b6172043Bb50E99A9AFf72cd1 W3bstreamDebits set operator to 0xEe96E984E6e746aAbe4a5ef687Ad8bb2aA98bDf3 -W3bstreamMinter set reward to 0 \ No newline at end of file +W3bstreamMinter set reward to 0 + +#### Mainnet + +LivenessVerifier deployed to 0x08aB4BBd1D29A6a0Df7511472dbD9B07547651ce +MovementVerifier deployed to 0xE98F9A6a1CDaE7256d34F521801bc93695516dfD +MockDapp deployed to 0xdcAe412fC108eab83a5A5A2A32488696A73543f3 +MockDappLiveness deployed to 0x3215c737e88b54Ce4281a4304FEAF9B0b98B307D +MockDappMovement deployed to 0x11E7477eF561c659c4BcEB29e4b3357F61e214e0 +W3bstreamProject deployed to 0x6EF4559f2023C93F78d27E0151deF083638478d2 +ProjectRegistrar deployed to 0x425D3FD5e8e0d0d7c73599adeb9B395505581ec7 +W3bstreamProject binder set to ProjectRegistrar 0x425D3FD5e8e0d0d7c73599adeb9B395505581ec7 +ProjectRegistrar registration fee set to 0.0 +W3bstreamProver deployed to 0x73aE62021517685c4b8Db4422968BCEc80F84063 +W3bstreamVMType deployed to 0xb85FB431Ca3f03fbE556B3DA23ebF21031D48837 +W3bstreamDebits deployed to 0x8eaBA35CCf7D379ca163698998f9B6d6714946c5 +W3bstreamProjectReward deployed to 0xdfbcAbdB75e17EF2dfCb2bEcf5b67312EA2696F1 +W3bstreamTaskManager deployed to 0x0A422759A8c6b22Ae8B9C4364763b614d5c0CD29 +W3bstreamRouter deployed to 0x580D9686A7A188746B9f4a06fb5ec9e14E937fde +W3bstreamRewardDistributor deployed to 0x565b7d55e3bb27D07F31937D8Ac043d5Fce44296 +W3bstreamMinter deployed to 0x270bF4c2d0269f8Bf1c2187c20177DCc2f15C3C9 +MockIoID deployed to 0xd571b981fAd18Dc84D2073eA4772cA2e35628242 +W3bstreamRewardDistributor add operator to 0x270bF4c2d0269f8Bf1c2187c20177DCc2f15C3C9 +W3bstreamTaskManager add operator to 0x270bF4c2d0269f8Bf1c2187c20177DCc2f15C3C9 +W3bstreamTaskManager add operator to 0x580D9686A7A188746B9f4a06fb5ec9e14E937fde +W3bstreamRewardDistributor set operator to 0x270bF4c2d0269f8Bf1c2187c20177DCc2f15C3C9 +W3bstreamDebits set operator to 0x0A422759A8c6b22Ae8B9C4364763b614d5c0CD29 +W3bstreamMinter set reward to 0 \ No newline at end of file