diff --git a/contracts/impls/apps/WitnetPriceFeedsUpgradable.sol b/contracts/impls/apps/WitnetPriceFeedsUpgradable.sol index 7293aaa91..515a640c9 100644 --- a/contracts/impls/apps/WitnetPriceFeedsUpgradable.sol +++ b/contracts/impls/apps/WitnetPriceFeedsUpgradable.sol @@ -337,9 +337,9 @@ contract WitnetPriceFeedsUpgradable } __feed.latestValidQueryId = _latestId; } else { - // Otherwise, delete latest query, as it was faulty + // Otherwise, try to delete latest query, as it was faulty // and we are about to post a new update request: - witnet.deleteQuery(_latestId); + try witnet.deleteQuery(_latestId) {} catch {} } // Post update request to the WRB: _latestId = witnet.postRequest{value: _usedFunds}(__feed.radHash, _slaHash); diff --git a/contracts/impls/core/WitnetBytecodesDefault.sol b/contracts/impls/core/WitnetBytecodesDefault.sol index aa106d93f..7fff27482 100644 --- a/contracts/impls/core/WitnetBytecodesDefault.sol +++ b/contracts/impls/core/WitnetBytecodesDefault.sol @@ -575,7 +575,7 @@ contract WitnetBytecodesDefault } // Calculate radhash and add request metadata and rad bytecode to storage: - _radHash = _bytecode.hash(); + _radHash = _witnetHash(_bytecode); __database().rads[hash] = _radHash; __database().radsBytecode[_radHash] = _bytecode; __database().requests[_radHash] = RadonRequest({ @@ -603,7 +603,7 @@ contract WitnetBytecodesDefault bytes memory _bytecode = _sla.encode(); // Calculate hash and add to storage if new: - _slaHash = _bytecode.hash(); + _slaHash = _witnetHash(_bytecode); if (__database().slas[_slaHash].numWitnesses == 0) { __database().slas[_slaHash] = _sla; __database().slasBytecode[_slaHash] = _bytecode; @@ -660,4 +660,8 @@ contract WitnetBytecodesDefault } } + function _witnetHash(bytes memory chunk) virtual internal pure returns (bytes32) { + return sha256(chunk); + } + } \ No newline at end of file diff --git a/contracts/impls/core/customs/WitnetBytecodesNoSha256.sol b/contracts/impls/core/customs/WitnetBytecodesNoSha256.sol new file mode 100644 index 000000000..0d50f2621 --- /dev/null +++ b/contracts/impls/core/customs/WitnetBytecodesNoSha256.sol @@ -0,0 +1,20 @@ +// SPDX-License-Identifier: MIT + +pragma solidity >=0.7.0 <0.9.0; +pragma experimental ABIEncoderV2; + +import "../WitnetBytecodesDefault.sol"; + +contract WitnetBytecodesNoSha256 is WitnetBytecodesDefault { + + constructor( + bool _upgradable, + bytes32 _versionTag + ) + WitnetBytecodesDefault(_upgradable, _versionTag) + {} + + function _witnetHash(bytes memory chunk) virtual override internal pure returns (bytes32) { + return keccak256(chunk); + } +} \ No newline at end of file diff --git a/contracts/impls/core/customs/WitnetRequestFactoryCfxCore.sol b/contracts/impls/core/customs/WitnetRequestFactoryCfxCore.sol new file mode 100644 index 000000000..87090fb62 --- /dev/null +++ b/contracts/impls/core/customs/WitnetRequestFactoryCfxCore.sol @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: MIT + +pragma solidity >=0.7.0 <0.9.0; +pragma experimental ABIEncoderV2; + +import "../WitnetRequestFactoryDefault.sol"; + +contract WitnetRequestFactoryCfxCore is WitnetRequestFactoryDefault { + constructor( + WitnetBytecodes _registry, + bool _upgradable, + bytes32 _versionTag + ) + WitnetRequestFactoryDefault(_registry, _upgradable, _versionTag) + {} + + function _cloneDeterministic(bytes32 _salt) + override internal + returns (address _instance) + { + bytes memory ptr = _cloneBytecodePtr(); + assembly { + // CREATE2 new instance: + _instance := create2(0, ptr, 0x37, _salt) + } + emit Cloned(msg.sender, self(), _instance); + } +} \ No newline at end of file diff --git a/contracts/libs/Witnet.sol b/contracts/libs/Witnet.sol index 159adffa7..9bf916689 100644 --- a/contracts/libs/Witnet.sol +++ b/contracts/libs/Witnet.sol @@ -355,7 +355,7 @@ library Witnet { ) { return sha256(_bytecode); } else { - return 0x0; + return keccak256(_bytecode); } } diff --git a/contracts/patterns/Clonable.sol b/contracts/patterns/Clonable.sol index 5a30e9fd8..8296c9db8 100644 --- a/contracts/patterns/Clonable.sol +++ b/contracts/patterns/Clonable.sol @@ -97,7 +97,7 @@ abstract contract Clonable /// @dev See https://eips.ethereum.org/EIPS/eip-1167. /// @dev See https://blog.openzeppelin.com/deep-dive-into-the-minimal-proxy-contract/. function _cloneDeterministic(bytes32 _salt) - internal + virtual internal returns (address _instance) { bytes memory ptr = _cloneBytecodePtr(); diff --git a/migrations/witnet.addresses.json b/migrations/witnet.addresses.json index 70e4938da..7aafd0524 100644 --- a/migrations/witnet.addresses.json +++ b/migrations/witnet.addresses.json @@ -1,16 +1,22 @@ { "default": { "ethereum.goerli": { - "WitnetLib": "0xd80ffbc599ad5f2Bb6b33AEaAC5E4Fac3cfaf0D1", + "WitnetProxy": "0xB5447342cA17A40e59d410b340ba412E22e36201", + "Create2Factory": "0xDe312a6f7fA35320E8DD109c8ea42e82806DC45b", + "WitnetBytecodes": "0x0000000e3a3d22d7510B36BdC88994dab11eadc8", + "WitnetPriceFeeds": "0x9999999d139bdBFbF25923ba39F63bBFc7593400", "WitnetPriceRouter": "0x1cF3Aa9DBF4880d797945726B94B9d29164211BE", "WitnetRandomness": "0x6Eb87EcCe6218Cd0e97299331D2aa5d2e53da5cD", - "WitnetRequestBoard": "0xb58D05247d16b3F1BD6B59c52f7f61fFef02BeC8" - }, - "ethereum.rinkeby": { - "WitnetLib": "0xF4fE7fA5c5e6CCa213377F10fD98b6b0DC00cd70", - "WitnetPriceRouter": "0xa50b17C2fc373c247C3b603f83df6A7800cB0DC9", - "WitnetRandomness": "0x50F742Fbf9a445AE6B2136F5987414A4c5aeE921", - "WitnetRequestBoard": "0x6cE42a35C61ccfb42907EEE57eDF14Bb69C7fEF4" + "WitnetRequestBoard": "0xb58D05247d16b3F1BD6B59c52f7f61fFef02BeC8", + "WitnetRequestFactory": "0x1111111FDE7dC956E3d7922Bc779D9E2349Afb63", + "WitnetErrorsLib": "0xc71A87657b13A370594967A04b4301a3AcEAF007", + "WitnetEncodingLib": "0x705E076F3387cFd59708D8D8508CECe3e1C65C87", + "WitnetPriceFeedsLib": "0x7A6C2Aad6b4b08De09477D0F663b8f90b0db9662", + "WitnetBytecodesImplementation": "0xB772f86004330738C1529cC1b0327D24aeF8c370", + "WitnetPriceFeedsImplementation": "0xBfFA2ec6225390C517A1bEB83b27a171C6734294", + "WitnetRequestBoardImplementation": "0x60768ce66aF2f3957e7280c6CfC4ab9c575a7FCF", + "WitnetRequestFactoryImplementation": "0xeDA4f244FEe1D6a3EA0fB2c0Fc6b7D1c49fEF01D", + "WitnetRequestRandomness": "0x65772461641A4A6E8B10c81bae1a132E04e77262" }, "ethereum.mainnet": { "WitnetBytecodes": "0xB8CdB2577dA632a77D6b90526aB53Eb5694Ed2D1", @@ -26,10 +32,22 @@ }, "arbitrum": { "arbitrum.goerli": { - "WitnetParserLib": "0x7d0a71D7D797b7b2637F682e4cB47f66602e59F3", + "WitnetProxy": "0x1b91eAB33362f10A5F803Fe3f0d181F42caFaac3", + "Create2Factory": "0xDe312a6f7fA35320E8DD109c8ea42e82806DC45b", + "WitnetBytecodes": "0x0000000e3a3d22d7510B36BdC88994dab11eadc8", + "WitnetPriceFeeds": "0x9999999d139bdBFbF25923ba39F63bBFc7593400", "WitnetPriceRouter": "0xAafb2D27E2E0f83dcE501a2879aaD710ec377403", "WitnetRandomness": "0xB0C5d40A7658b2ab28360aFa6eB5bAeb2fFe86c3", - "WitnetRequestBoard": "0xa6a6b2cBE9Ce5B8fF94729F1eC402efc5042AbBF" + "WitnetRequestBoard": "0xa6a6b2cBE9Ce5B8fF94729F1eC402efc5042AbBF", + "WitnetRequestFactory": "0x1111111FDE7dC956E3d7922Bc779D9E2349Afb63", + "WitnetErrorsLib": "0xf6d52770453166de85B6B6260Cf22196bC460E88", + "WitnetEncodingLib": "0xB5447342cA17A40e59d410b340ba412E22e36201", + "WitnetBytecodesImplementation": "0x50AA08187D2F648Dd428784AF6489c3F12e942CC", + "WitnetPriceFeedsImplementation": "0x620e20d91C9b0e11ecAE439E7b85138DA2a1003F", + "WitnetRequestBoardImplementation": "0x6dc0E2AC80550F901cd4d5F5a4C48333A0ca97Ee", + "WitnetRequestFactoryImplementation": "0xb5F3c9Dc6Ca7C1078cE5c51c1cE030D6BEEd57E2", + "WitnetRequestRandomness": "0x7A6C2Aad6b4b08De09477D0F663b8f90b0db9662", + "WitnetPriceFeedsLib": "0x4874cb1732eE1167A006E0Ab047D940ACF04D771" }, "arbitrum.one": { "WitnetProxy": "0x0Dd81412825b9C3960195ab47F14dFa9Fd70e36e", @@ -52,10 +70,22 @@ }, "avalanche": { "avalanche.testnet": { - "WitnetLib": "0x62B1BB81E57E9c0E22A0dc6FdeE456146a7D7083", + "WitnetProxy": "0x1b91eAB33362f10A5F803Fe3f0d181F42caFaac3", + "Create2Factory": "0xDe312a6f7fA35320E8DD109c8ea42e82806DC45b", + "WitnetBytecodes": "0x0000000e3a3d22d7510B36BdC88994dab11eadc8", + "WitnetPriceFeeds": "0x9999999d139bdBFbF25923ba39F63bBFc7593400", "WitnetPriceRouter": "0x99Af0CF37d1C6b9Bdfe33cc0A89C00D97D3c42F4", "WitnetRandomness": "0xD47fc24C99fD94f33bD2f33FE373b1447bB10724", - "WitnetRequestBoard": "0xD9465D38f50f364b3263Cb219e58d4dB2D584530" + "WitnetRequestBoard": "0xD9465D38f50f364b3263Cb219e58d4dB2D584530", + "WitnetRequestFactory": "0x1111111FDE7dC956E3d7922Bc779D9E2349Afb63", + "WitnetRequestRandomness": "0x6dc0E2AC80550F901cd4d5F5a4C48333A0ca97Ee", + "WitnetErrorsLib": "0xf6d52770453166de85B6B6260Cf22196bC460E88", + "WitnetEncodingLib": "0xB5447342cA17A40e59d410b340ba412E22e36201", + "WitnetPriceFeedsLib": "0xBfFA2ec6225390C517A1bEB83b27a171C6734294", + "WitnetBytecodesImplementation": "0x20f4B1793bb81FFa357E1705AD954BdC232Edc00", + "WitnetPriceFeedsImplementation": "0x8762508A67e71Df04212B256E19faB1771F9a2F4", + "WitnetRequestBoardImplementation": "0xb5F3c9Dc6Ca7C1078cE5c51c1cE030D6BEEd57E2", + "WitnetRequestFactoryImplementation": "0x364E2b91a4C7563288C3ccF7256BA172935CC550" }, "avalanche.mainnet": { "WitnetLib": "0xD39D4d972C7E166856c4eb29E54D3548B4597F53", @@ -72,16 +102,16 @@ "WitnetRandomness": "0x88888885966F8F77cC6E797aE263C4d091e44A55", "WitnetRequestBoard": "0x777777772C24e6CD34B464D1d71616C444254537", "WitnetRequestFactory": "0x1111111FDE7dC956E3d7922Bc779D9E2349Afb63", - "WitnetErrorsLib": "", - "WitnetEncodingLib": "", - "WitnetPriceFeedsLib": "0x8684d396366C21AA01B120F69df2070f840aC134", + "WitnetErrorsLib": "0x2F0912fa566B5B3215e746Dc108d85fDd4A8113A", + "WitnetEncodingLib": "0x1aaD03ECfb062A0Af5FAc0276791621740b1CE56", + "WitnetPriceFeedsLib": "0x5c1dD29563203883A5D5C3136783D3119B2C4e57", "Create2Factory": "0xDe312a6f7fA35320E8DD109c8ea42e82806DC45b", "WitnetProxy": "0xc71A87657b13A370594967A04b4301a3AcEAF007", - "WitnetBytecodesImplementation": "", - "WitnetPriceFeedsImplementation": "0xef978B8CdA6464D0fBaCE5FBC8Ed7A7A8976E094", + "WitnetBytecodesImplementation": "0x2Ce7843C1c2fce51DE54a06dB3516103fbde0F6D", + "WitnetPriceFeedsImplementation": "0xd0f725Bf11bA75D291506d396FbcbeCAb5384e95", "WitnetRandomnessImplementation": "0xB4f1f8E27799256ec95C5b5A8d2A5722Bd542E69", - "WitnetRequestBoardImplementation": "", - "WitnetRequestFactoryImplementation": "0x2163DBCBdbBeC066EF8d8Adab75Af8b0B9A5cfAA", + "WitnetRequestBoardImplementation": "0x3f189fAc162d3CC6d84EF72c8177afAd8f3DBeE1", + "WitnetRequestFactoryImplementation": "0xce66333c9D7BE37D61d3c5b57D6D41ff082Ca92f", "WitnetRequestRandomness": "0x620e20d91C9b0e11ecAE439E7b85138DA2a1003F" }, "boba.bnb.mainnet": { @@ -103,23 +133,23 @@ "WitnetRequestFactoryImplementation": "0x4756097b9184327713D07b3ac4C2a898468220B1", "WitnetRequestRandomness": "0xA99B485363DBAe90D17B10F988C4e1Ae895048e0" }, - "boba.moonbeam.bobabase": { - "WitnetLib": "0x02Cd4089679EAA9431a88170fd784e7dE78A2425", - "WitnetPriceRouter": "0xD9465D38f50f364b3263Cb219e58d4dB2D584530", - "WitnetRandomness": "0xB4B2E2e00e9d6E5490d55623E4F403EC84c6D33f", - "WitnetRequestBoard": "0x0985FDe9f424fe4f5AC516F66bAf5591e18aCBEb" - }, "boba.ethereum.goerli": { - "WitnetLib": "0x7D8A488BACB56dA2De17628e26a21fFd97792b81", + "WitnetProxy": "0x1b91eAB33362f10A5F803Fe3f0d181F42caFaac3", + "Create2Factory": "0xDe312a6f7fA35320E8DD109c8ea42e82806DC45b", + "WitnetBytecodes": "0x0000000e3a3d22d7510B36BdC88994dab11eadc8", + "WitnetPriceFeeds": "0x9999999d139bdBFbF25923ba39F63bBFc7593400", "WitnetPriceRouter": "0xB4B2E2e00e9d6E5490d55623E4F403EC84c6D33f", "WitnetRandomness": "0xeD074DA2A76FD2Ca90C1508930b4FB4420e413B0", - "WitnetRequestBoard": "0x58D8ECe142c60f5707594a7C1D90e46eAE5AF431" - }, - "boba.ethereum.rinkeby": { - "WitnetLib": "0x7D8A488BACB56dA2De17628e26a21fFd97792b81", - "WitnetPriceRouter": "0x36928Aeedaaf7D85bcA39aDfB2A39ec529ce221a", - "WitnetRandomness": "0xeAcAcC48eDD5221EC7182E1789d8bFa9dF801dFF", - "WitnetRequestBoard": "0x58D8ECe142c60f5707594a7C1D90e46eAE5AF431" + "WitnetRequestBoard": "0x58D8ECe142c60f5707594a7C1D90e46eAE5AF431", + "WitnetRequestFactory": "0x1111111FDE7dC956E3d7922Bc779D9E2349Afb63", + "WitnetErrorsLib": "0xf6d52770453166de85B6B6260Cf22196bC460E88", + "WitnetEncodingLib": "0xB5447342cA17A40e59d410b340ba412E22e36201", + "WitnetPriceFeedsLib": "0x6dc0E2AC80550F901cd4d5F5a4C48333A0ca97Ee", + "WitnetBytecodesImplementation": "0x7538f6Bff94B0F7F0A0802376238Aab0D2528521", + "WitnetPriceFeedsImplementation": "0x4874cb1732eE1167A006E0Ab047D940ACF04D771", + "WitnetRequestBoardImplementation": "0xb5F3c9Dc6Ca7C1078cE5c51c1cE030D6BEEd57E2", + "WitnetRequestFactoryImplementation": "0x364E2b91a4C7563288C3ccF7256BA172935CC550", + "WitnetRequestRandomness": "0x60768ce66aF2f3957e7280c6CfC4ab9c575a7FCF" }, "boba.ethereum.mainnet": { "WitnetLib": "0x6473063EBEabC0606A4159b7d9F79BB306ED0D2A", @@ -130,10 +160,22 @@ }, "celo": { "celo.alfajores": { - "WitnetLib": "0x1A58F1dAD4592814733913Dd59CcEbf55c45C6e1", + "WitnetProxy": "0x4743325168af9195Aa5b25e491E9bE87d87E7F93", + "Create2Factory": "0xDe312a6f7fA35320E8DD109c8ea42e82806DC45b", + "WitnetBytecodes": "0x0000000e3a3d22d7510B36BdC88994dab11eadc8", + "WitnetPriceFeeds": "0x9999999d139bdBFbF25923ba39F63bBFc7593400", "WitnetPriceRouter": "0x6f8A7E2bBc1eDb8782145cD1089251f6e2C738AE", + "WitnetRandomness": "0xbD804467270bCD832b4948242453CA66972860F5", "WitnetRequestBoard": "0x99a0B5eb260Fe3BfcF9d658850e3dD6d6B69183A", - "WitnetRandomness": "0xbD804467270bCD832b4948242453CA66972860F5" + "WitnetRequestFactory": "0x1111111FDE7dC956E3d7922Bc779D9E2349Afb63", + "WitnetRequestRandomness": "0xdC101573cB42EB7006Ad6C7E08ce8C91fEAcB62C", + "WitnetErrorsLib": "0x364E2b91a4C7563288C3ccF7256BA172935CC550", + "WitnetEncodingLib": "0x4374a050f808d1FF18bCcf73270daE3EdF8D0865", + "WitnetPriceFeedsLib": "0x50AA08187D2F648Dd428784AF6489c3F12e942CC", + "WitnetBytecodesImplementation": "0x2163DBCBdbBeC066EF8d8Adab75Af8b0B9A5cfAA", + "WitnetPriceFeedsImplementation": "0x654B79823f244c2476907F21EBD20cFebC04D0A5", + "WitnetRequestBoardImplementation": "0x6bF6F65Ad0859e9Ee869DAD252a29c9daAa27449", + "WitnetRequestFactoryImplementation": "0x4874cb1732eE1167A006E0Ab047D940ACF04D771" }, "celo.mainnet": { "WitnetLib": "0x46FF6e05fd0a5fb4D794B99eCAE41c43f4D62d15", @@ -144,10 +186,22 @@ }, "conflux": { "conflux.core.testnet": { - "WitnetLib": "0x88E443F2CB310B24dd505AeBECA23e7aBA562326", + "WitnetProxy": "0x8E077eBf150a5f09e26805F1CB1d14671834b63A", + "Create2Factory": "0x8644e9b7306cD4e6E5a3dB2aA7DFDE2744eAE676", + "WitnetBytecodes": "0x8E6AEaC77a18DF3e90B1446BB2210013A331Cb12", + "WitnetPriceFeeds": "0x8FDD679F4D1d2bfb97B5e5fD90c8E3E6ce0ce75c", "WitnetPriceRouter": "0x8F61C7b18F69bB87D6151B8a5D733E1945ea6c25", "WitnetRandomness": "0x887bC8Db7D91413D1575071925Ee8d77fE2CBc81", - "WitnetRequestBoard": "0x8aB653B73a0e0552dDdce8c76F97c6AA826EFbD4" + "WitnetRequestBoard": "0x8aB653B73a0e0552dDdce8c76F97c6AA826EFbD4", + "WitnetRequestFactory": "0x83eFF90a51D7da324AE1580eab6Ee0c9D45ad509", + "WitnetErrorsLib": "0x8d5Fda8c48dF35f321301e69c3c605AABCA474b1", + "WitnetEncodingLib": "0x80e922796897Cb9f3F871146CCC8d120924B2Ca7", + "WitnetBytecodesImplementation": "0x808BdD5dDB2AB817FeA6D2579eB5417F5413539f", + "WitnetPriceFeedsImplementation": "0x81f3EB9a7853F8e1357f6BB61E7BB610F73605F1", + "WitnetRequestBoardImplementation": "0x87b78B8ca2707451f7cf7c1Eaadf12B6AF0bEc14", + "WitnetRequestFactoryImplementation": "0x89a49b46864049b16dFcf185740Ac89Eec8Fd670", + "WitnetRequestRandomness": "0x89F71E0dE2ed681aD005C51B044a026f0eE71920", + "WitnetPriceFeedsLib": "0x87cA78592Cb691BA3a1919c2d83Ed578e8E0Ae0a" }, "conflux.core.mainnet": { "WitnetLib": "0x8A026e6956B4DB3E81bb113401798e59cFBEA4C6", @@ -156,10 +210,22 @@ "WitnetRequestBoard": "0x84C708bfd79bBC83Ad8753dAb1852EfE9D6712CC" }, "conflux.espace.testnet": { - "WitnetLib": "0x2881F0106A1894add7600B4B147e715078Fded03", + "WitnetProxy": "0x1b91eAB33362f10A5F803Fe3f0d181F42caFaac3", + "Create2Factory": "0xDe312a6f7fA35320E8DD109c8ea42e82806DC45b", + "WitnetBytecodes": "0x0000000e3a3d22d7510B36BdC88994dab11eadc8", + "WitnetPriceFeeds": "0x9999999d139bdBFbF25923ba39F63bBFc7593400", "WitnetPriceRouter": "0x49C0BCce51a8B28f92d008394F06d5B259657F33", "WitnetRandomness": "0xa784093826e2894Ab3Db315f4e05F0F26407BBfF", - "WitnetRequestBoard": "0x0C4be6AA667df48de54BA174bE7948875fdf152B" + "WitnetRequestBoard": "0x0C4be6AA667df48de54BA174bE7948875fdf152B", + "WitnetRequestFactory": "0x1111111FDE7dC956E3d7922Bc779D9E2349Afb63", + "WitnetErrorsLib": "0xf6d52770453166de85B6B6260Cf22196bC460E88", + "WitnetEncodingLib": "0xB5447342cA17A40e59d410b340ba412E22e36201", + "WitnetBytecodesImplementation": "0x20f4B1793bb81FFa357E1705AD954BdC232Edc00", + "WitnetPriceFeedsImplementation": "0x6bF6F65Ad0859e9Ee869DAD252a29c9daAa27449", + "WitnetRequestBoardImplementation": "0x60768ce66aF2f3957e7280c6CfC4ab9c575a7FCF", + "WitnetRequestFactoryImplementation": "0xeDA4f244FEe1D6a3EA0fB2c0Fc6b7D1c49fEF01D", + "WitnetRequestRandomness": "0x65772461641A4A6E8B10c81bae1a132E04e77262", + "WitnetPriceFeedsLib": "0x7A6C2Aad6b4b08De09477D0F663b8f90b0db9662" }, "conflux.espace.mainnet": { "WitnetLib": "0x1D9c4a8f8B7b5F9B8e2641D81927f8F8Cc7fF079", @@ -170,10 +236,22 @@ }, "cronos": { "cronos.testnet": { - "WitnetLib": "0x7D8A488BACB56dA2De17628e26a21fFd97792b81", + "WitnetProxy": "0x7A6C2Aad6b4b08De09477D0F663b8f90b0db9662", + "Create2Factory": "0xDe312a6f7fA35320E8DD109c8ea42e82806DC45b", + "WitnetBytecodes": "0x0000000e3a3d22d7510B36BdC88994dab11eadc8", + "WitnetPriceFeeds": "0x9999999d139bdBFbF25923ba39F63bBFc7593400", "WitnetPriceRouter": "0xeD074DA2A76FD2Ca90C1508930b4FB4420e413B0", "WitnetRandomness": "0x0017A464A86f48B342Cae3b8Fe29cFCDaA7b0643", - "WitnetRequestBoard": "0x58D8ECe142c60f5707594a7C1D90e46eAE5AF431" + "WitnetRequestBoard": "0x58D8ECe142c60f5707594a7C1D90e46eAE5AF431", + "WitnetRequestFactory": "0x1111111FDE7dC956E3d7922Bc779D9E2349Afb63", + "WitnetErrorsLib": "0x4874cb1732eE1167A006E0Ab047D940ACF04D771", + "WitnetEncodingLib": "0xBfFA2ec6225390C517A1bEB83b27a171C6734294", + "WitnetPriceFeedsLib": "0xB1Ee13a85B2593D5191f3a2A08f175b1c918B9bb", + "WitnetBytecodesImplementation": "0x14417b205ef242a364Dc68540Eb42F974b1Ea909", + "WitnetPriceFeedsImplementation": "0x7538f6Bff94B0F7F0A0802376238Aab0D2528521", + "WitnetRequestBoardImplementation": "0x8D20457d968c937b7cb65be6B8cC766613fBcF28", + "WitnetRequestFactoryImplementation": "0xA8767A6EA3099De344499B35f725A38E3cD15562", + "WitnetRequestRandomness": "0x7de5fE2458b198A0Fe9B557bC485825A10978cf9" }, "cronos.mainnet": { "WitnetLib": "0x1D9c4a8f8B7b5F9B8e2641D81927f8F8Cc7fF079", @@ -184,10 +262,22 @@ }, "cube": { "cube.testnet": { - "WitnetLib": "0x7D8A488BACB56dA2De17628e26a21fFd97792b81", + "WitnetProxy": "", + "Create2Factory": "", + "WitnetBytecodes": "", + "WitnetPriceFeeds": "", "WitnetPriceRouter": "0xB4B2E2e00e9d6E5490d55623E4F403EC84c6D33f", "WitnetRandomness": "0xeD074DA2A76FD2Ca90C1508930b4FB4420e413B0", - "WitnetRequestBoard": "0x58D8ECe142c60f5707594a7C1D90e46eAE5AF431" + "WitnetRequestBoard": "0x58D8ECe142c60f5707594a7C1D90e46eAE5AF431", + "WitnetRequestFactory": "", + "WitnetErrorsLib": "", + "WitnetEncodingLib": "", + "WitnetPriceFeedsLib": "", + "WitnetBytecodesImplementation": "", + "WitnetPriceFeedsImplementation": "", + "WitnetRequestBoardImplementation": "", + "WitnetRequestFactoryImplementation": "", + "WitnetRequestRandomness": "" }, "cube.mainnet": { "WitnetLib": "0x1D9c4a8f8B7b5F9B8e2641D81927f8F8Cc7fF079", @@ -198,10 +288,22 @@ }, "dogechain": { "dogechain.testnet": { - "WitnetLib": "0x7D8A488BACB56dA2De17628e26a21fFd97792b81", + "WitnetProxy": "0x1b91eAB33362f10A5F803Fe3f0d181F42caFaac3", + "Create2Factory": "0xDe312a6f7fA35320E8DD109c8ea42e82806DC45b", + "WitnetBytecodes": "0x0000000e3a3d22d7510B36BdC88994dab11eadc8", + "WitnetPriceFeeds": "0x9999999d139bdBFbF25923ba39F63bBFc7593400", "WitnetPriceRouter": "0x9E943Ab1FD0D35B3BaDe31AA78D60C485EA1a604", "WitnetRandomness": "0xD9465D38f50f364b3263Cb219e58d4dB2D584530", - "WitnetRequestBoard": "0x58D8ECe142c60f5707594a7C1D90e46eAE5AF431" + "WitnetRequestBoard": "0x58D8ECe142c60f5707594a7C1D90e46eAE5AF431", + "WitnetRequestFactory": "0x1111111FDE7dC956E3d7922Bc779D9E2349Afb63", + "WitnetErrorsLib": "0xf6d52770453166de85B6B6260Cf22196bC460E88", + "WitnetEncodingLib": "0xB5447342cA17A40e59d410b340ba412E22e36201", + "WitnetPriceFeedsLib": "0x6dc0E2AC80550F901cd4d5F5a4C48333A0ca97Ee", + "WitnetBytecodesImplementation": "0x7de5fE2458b198A0Fe9B557bC485825A10978cf9", + "WitnetPriceFeedsImplementation": "0xdC101573cB42EB7006Ad6C7E08ce8C91fEAcB62C", + "WitnetRequestBoardImplementation": "0xeDA4f244FEe1D6a3EA0fB2c0Fc6b7D1c49fEF01D", + "WitnetRequestFactoryImplementation": "0x364E2b91a4C7563288C3ccF7256BA172935CC550", + "WitnetRequestRandomness": "0x60768ce66aF2f3957e7280c6CfC4ab9c575a7FCF" }, "dogechain.mainnet": { "WitnetLib": "0xD39D4d972C7E166856c4eb29E54D3548B4597F53", @@ -220,14 +322,14 @@ "WitnetRandomness": "0x88888885966F8F77cC6E797aE263C4d091e44A55", "WitnetRequestBoard": "0x777777772C24e6CD34B464D1d71616C444254537", "WitnetRequestFactory": "0x1111111FDE7dC956E3d7922Bc779D9E2349Afb63", - "WitnetErrorsLib": "", - "WitnetEncodingLib": "", - "WitnetPriceFeedsLib": "0xeD6e685842b347cdB527a8Ad996B14c42fD7ca94", - "WitnetBytecodesImplementation": "", - "WitnetPriceFeedsImplementation": "0x950FA00420459C64a02447509aE0a408a2d60A61", + "WitnetErrorsLib": "0xEdb5535994bF19d56c30F5BEa0937232E198F671", + "WitnetEncodingLib": "0xCec45c4B041F30aAA70f2645c291DF27B949ffc4", + "WitnetPriceFeedsLib": "0xC1266fA3D24f5d63E2e34633b3F829E9156be0d6", + "WitnetBytecodesImplementation": "0x724d8E0a9B83a3Fc1A807b91392cAF5f42233307", + "WitnetPriceFeedsImplementation": "0xdA489690BDfd6e4d76DE3b937f40342bAd281bc9", "WitnetRandomnessImplementation": "0x9597b5708CDB58fF057ca494574951Fc3d9163f7", - "WitnetRequestBoardImplementation": "", - "WitnetRequestFactoryImplementation": "0x692De6368d415469e59B31a2b0895b83Ed6F8a3A", + "WitnetRequestBoardImplementation": "0x83Bf7353Db9EefEf3169e391b1EAcd2A9b2d191d", + "WitnetRequestFactoryImplementation": "0x4779A692aC089E02FD1301B0b53Fa1a02985a83F", "WitnetRequestRandomness": "0x34fcD46c6D97A534BdC31Eb9d1e5273298CA8034" }, "elastos.mainnet": { @@ -260,13 +362,14 @@ "WitnetRandomness": "0x88888885966F8F77cC6E797aE263C4d091e44A55", "WitnetRequestBoard": "0x777777772C24e6CD34B464D1d71616C444254537", "WitnetRequestFactory": "0x1111111FDE7dC956E3d7922Bc779D9E2349Afb63", - "WitnetErrorsLib": "", - "WitnetEncodingLib": "", - "WitnetBytecodesImplementation": "", - "WitnetPriceFeedsImplementation": "", + "WitnetErrorsLib": "0x123a7AcE0879C4645b19A69c2ba8B3E4d01fBfD6", + "WitnetEncodingLib": "0xCFf84e16db3c705aD3C6e96b5575ab9111C874B9", + "WitnetPriceFeedsLib": "0xEeA1423D8cAf1e9440495842613Ec042046065aC", + "WitnetBytecodesImplementation": "0x80264666C9a4e73e8D8E31c3Ea1677907c5163dD", + "WitnetPriceFeedsImplementation": "0x3280539A77C578C3eF698f53f29CDba00eC9B72E", "WitnetRandomnessImplementation": "0x7A6C2Aad6b4b08De09477D0F663b8f90b0db9662", - "WitnetRequestBoardImplementation": "", - "WitnetRequestFactoryImplementation": "0x364E2b91a4C7563288C3ccF7256BA172935CC550", + "WitnetRequestBoardImplementation": "0x772B58c026691E4720BD32bD058af722b2629a25", + "WitnetRequestFactoryImplementation": "0x83e8f5B6D4D94CAC5943689616B96786c2465c9A", "WitnetRequestRandomness": "0x6dc0E2AC80550F901cd4d5F5a4C48333A0ca97Ee" } }, @@ -278,40 +381,37 @@ "WitnetRandomness": "0x88888885966F8F77cC6E797aE263C4d091e44A55", "WitnetRequestBoard": "0x777777772C24e6CD34B464D1d71616C444254537", "WitnetRequestFactory": "0x1111111FDE7dC956E3d7922Bc779D9E2349Afb63", - "WitnetErrorsLib": "", - "WitnetEncodingLib": "", - "WitnetPriceFeedsLib": "0x620e20d91C9b0e11ecAE439E7b85138DA2a1003F", + "WitnetErrorsLib": "0x9F026F081b5E1f60d583CE380f30A0a4eF0AB97a", + "WitnetEncodingLib": "0x7538f6Bff94B0F7F0A0802376238Aab0D2528521", + "WitnetPriceFeedsLib": "0x69891cE36F6dFbef4A7BdD0E95A15CBA916f206b", "Create2Factory": "0xDe312a6f7fA35320E8DD109c8ea42e82806DC45b", "WitnetProxy": "0x1b91eAB33362f10A5F803Fe3f0d181F42caFaac3", - "WitnetBytecodesImplementation": "", - "WitnetPriceFeedsImplementation": "0xB4f1f8E27799256ec95C5b5A8d2A5722Bd542E69", + "WitnetBytecodesImplementation": "0xb6E0e5a64C7c02Fa477A5254dca35ED967570DF5", + "WitnetPriceFeedsImplementation": "0xd8875D7D3087DEec0103d47d4cE0C4a5414874E1", "WitnetRandomnessImplementation": "0x4874cb1732eE1167A006E0Ab047D940ACF04D771", - "WitnetRequestBoardImplementation": "", - "WitnetRequestFactoryImplementation": "0x4374a050f808d1FF18bCcf73270daE3EdF8D0865", + "WitnetRequestBoardImplementation": "0x7ab66AB288A143D4e07Aff9b729165bFb71DB73a", + "WitnetRequestFactoryImplementation": "0x6F68A4d58cEd8e094b42511350527Ed628ACB970", "WitnetRequestRandomness": "0x65772461641A4A6E8B10c81bae1a132E04e77262" } }, - "harmony": { - "harmony.testnet#0": { - "WitnetLib": "0x315cfa2F1108d1B490302d79AB4a5A99452e5800", - "WitnetPriceRouter": "0x08d479a544b05B297454e5CAc133abA3a584AB8E", - "WitnetRequestBoard": "0x58D8ECe142c60f5707594a7C1D90e46eAE5AF431" - } - }, - "hsc": { - "hsc.testnet": { - "WitnetLib": "0x7D8A488BACB56dA2De17628e26a21fFd97792b81", - "WitnetPriceRouter": "0xB4B2E2e00e9d6E5490d55623E4F403EC84c6D33f", - "WitnetRandomness": "0xe1330491bdC37fc4E8801843Bb3015815822F8A8", - "WitnetRequestBoard": "0x58D8ECe142c60f5707594a7C1D90e46eAE5AF431" - } - }, "kava": { "kava.testnet": { - "WitnetLib": "0x7D8A488BACB56dA2De17628e26a21fFd97792b81", + "WitnetProxy": "0x705E076F3387cFd59708D8D8508CECe3e1C65C87", + "Create2Factory": "0xDe312a6f7fA35320E8DD109c8ea42e82806DC45b", + "WitnetBytecodes": "0x0000000e3a3d22d7510B36BdC88994dab11eadc8", + "WitnetPriceFeeds": "0x9999999d139bdBFbF25923ba39F63bBFc7593400", "WitnetPriceRouter": "0xB4B2E2e00e9d6E5490d55623E4F403EC84c6D33f", "WitnetRandomness": "0xeD074DA2A76FD2Ca90C1508930b4FB4420e413B0", - "WitnetRequestBoard": "0x58D8ECe142c60f5707594a7C1D90e46eAE5AF431" + "WitnetRequestBoard": "0x58D8ECe142c60f5707594a7C1D90e46eAE5AF431", + "WitnetRequestFactory": "0x1111111FDE7dC956E3d7922Bc779D9E2349Afb63", + "WitnetErrorsLib": "0xa45206cC3Ae76630Cc4D47A730590Ff9B6d8Ee54", + "WitnetEncodingLib": "0x4743325168af9195Aa5b25e491E9bE87d87E7F93", + "WitnetPriceFeedsLib": "0xBfFA2ec6225390C517A1bEB83b27a171C6734294", + "WitnetBytecodesImplementation": "0xd6d4B24219751A7725ce972E68B1067Ee57CC85a", + "WitnetPriceFeedsImplementation": "0x6bF6F65Ad0859e9Ee869DAD252a29c9daAa27449", + "WitnetRequestBoardImplementation": "0x65772461641A4A6E8B10c81bae1a132E04e77262", + "WitnetRequestFactoryImplementation": "0x60768ce66aF2f3957e7280c6CfC4ab9c575a7FCF", + "WitnetRequestRandomness": "0x4874cb1732eE1167A006E0Ab047D940ACF04D771" }, "kava.mainnet": { "WitnetLib": "0x1D9c4a8f8B7b5F9B8e2641D81927f8F8Cc7fF079", @@ -322,10 +422,22 @@ }, "kcc": { "kcc.testnet": { - "WitnetLib": "0x351cEe820E3A393dCF126FbEE60928a80E99C2e1", + "WitnetProxy": "0xf6d52770453166de85B6B6260Cf22196bC460E88", + "Create2Factory": "0xDe312a6f7fA35320E8DD109c8ea42e82806DC45b", + "WitnetBytecodes": "0x0000000e3a3d22d7510B36BdC88994dab11eadc8", + "WitnetPriceFeeds": "0x9999999d139bdBFbF25923ba39F63bBFc7593400", "WitnetPriceRouter": "0xba7CF62498340fa3734EC51Ca8A69928F0d9E03a", "WitnetRandomness": "0x76c72518060952FAec3f90666F047e39E3333f7E", - "WitnetRequestBoard": "0x58D8ECe142c60f5707594a7C1D90e46eAE5AF431" + "WitnetRequestBoard": "0x58D8ECe142c60f5707594a7C1D90e46eAE5AF431", + "WitnetRequestFactory": "0x1111111FDE7dC956E3d7922Bc779D9E2349Afb63", + "WitnetErrorsLib": "0xB5447342cA17A40e59d410b340ba412E22e36201", + "WitnetEncodingLib": "0xc71A87657b13A370594967A04b4301a3AcEAF007", + "WitnetPriceFeedsLib": "0x65772461641A4A6E8B10c81bae1a132E04e77262", + "WitnetBytecodesImplementation": "0x35A320906C426eE9C23ffdDD09111B1A3cE1539f", + "WitnetPriceFeedsImplementation": "0x4874cb1732eE1167A006E0Ab047D940ACF04D771", + "WitnetRequestBoardImplementation": "0xb5F3c9Dc6Ca7C1078cE5c51c1cE030D6BEEd57E2", + "WitnetRequestFactoryImplementation": "0x4374a050f808d1FF18bCcf73270daE3EdF8D0865", + "WitnetRequestRandomness": "0x6dc0E2AC80550F901cd4d5F5a4C48333A0ca97Ee" }, "kcc.mainnet": { "WitnetLib": "0x1D9c4a8f8B7b5F9B8e2641D81927f8F8Cc7fF079", @@ -336,10 +448,22 @@ }, "klaytn": { "klaytn.testnet": { - "WitnetLib": "0x7D8A488BACB56dA2De17628e26a21fFd97792b81", + "WitnetProxy": "0xB5447342cA17A40e59d410b340ba412E22e36201", + "Create2Factory": "0xDe312a6f7fA35320E8DD109c8ea42e82806DC45b", + "WitnetBytecodes": "0x0000000e3a3d22d7510B36BdC88994dab11eadc8", + "WitnetPriceFeeds": "0x9999999d139bdBFbF25923ba39F63bBFc7593400", "WitnetPriceRouter": "0xeD074DA2A76FD2Ca90C1508930b4FB4420e413B0", "WitnetRandomness": "0xB4B2E2e00e9d6E5490d55623E4F403EC84c6D33f", - "WitnetRequestBoard": "0x58D8ECe142c60f5707594a7C1D90e46eAE5AF431" + "WitnetRequestBoard": "0x58D8ECe142c60f5707594a7C1D90e46eAE5AF431", + "WitnetRequestFactory": "0x1111111FDE7dC956E3d7922Bc779D9E2349Afb63", + "WitnetErrorsLib": "0xc71A87657b13A370594967A04b4301a3AcEAF007", + "WitnetEncodingLib": "0x705E076F3387cFd59708D8D8508CECe3e1C65C87", + "WitnetPriceFeedsLib": "0x65772461641A4A6E8B10c81bae1a132E04e77262", + "WitnetBytecodesImplementation": "0x12E5FBdaB02cC2336114353CA7BE9e2cc8E4Cc25", + "WitnetPriceFeedsImplementation": "0xBfFA2ec6225390C517A1bEB83b27a171C6734294", + "WitnetRequestBoardImplementation": "0x60768ce66aF2f3957e7280c6CfC4ab9c575a7FCF", + "WitnetRequestFactoryImplementation": "0xeDA4f244FEe1D6a3EA0fB2c0Fc6b7D1c49fEF01D", + "WitnetRequestRandomness": "0x6dc0E2AC80550F901cd4d5F5a4C48333A0ca97Ee" }, "klaytn.mainnet": { "WitnetLib": "0x1D9c4a8f8B7b5F9B8e2641D81927f8F8Cc7fF079", @@ -350,10 +474,22 @@ }, "meter": { "meter.testnet": { - "WitnetLib": "0x3a46EF336f619e69dcDCa36A6772596E0fD800B3", + "WitnetProxy": "0xc6BdB5fd0113358Aaa6e9B56D6bA3A689cAbf65C", + "Create2Factory": "0x2d9dD590b8ebfEe76285f4398dC718D687A4B3e2", + "WitnetBytecodes": "0x1C116937844d705C4b0252C5340D4281C5D8D555", + "WitnetPriceFeeds": "0x7BBA94e4f3a596AD0E528e51d49CaD789Bd6a22D", "WitnetPriceRouter": "0xBbDB82a16d7b66bb076879f766042b914F1C7572", + "WitnetRandomness": "0xa254632ae454bae18ff0221c2040aa387f044f0e", "WitnetRequestBoard": "0xF99883aa51Fb76E37De6aC37854230d2337D2752", - "WitnetRequestBoardImplementation": "0xCd4D275f88d526959D69107BB4f9FB16c5B95a9b" + "WitnetRequestFactory": "0x693cC8829Cb9AC14F75E6EbE5878652817C9e6a4", + "WitnetErrorsLib": "0x34AD22616E4FfED3EB1e9580C9D7156E1bF8ea7C", + "WitnetEncodingLib": "0xb6ac7bd1F0F23DF58Bb1515b4F656709824FA860", + "WitnetPriceFeedsLib": "0xaB7FEec38465EA6E1Cf216E188F3Bd11355824dc", + "WitnetBytecodesImplementation": "0x6Dc0433F1Cd9E6414f29efEEB775C4d44D7a0C3E", + "WitnetPriceFeedsImplementation": "0xD62848a74c0d08BA233D625d8691ea5Fee7d7719", + "WitnetRequestBoardImplementation": "0x75EEC6c9e61a1F133939eC99019A179eC2609BF9", + "WitnetRequestFactoryImplementation": "0xf1fb7170cB8832213Fb4C506f883bca0a910861D", + "WitnetRequestRandomness": "0x3Da39E5348704cB68e4d49034DE9273D91CbA296" }, "meter.mainnet": { "WitnetLib": "0x60507Ef497EC61d407cD6Fa1c65FE820620bfA88", @@ -373,13 +509,14 @@ "WitnetRequestBoard": "0x777777772C24e6CD34B464D1d71616C444254537", "WitnetRequestFactory": "0x1111111FDE7dC956E3d7922Bc779D9E2349Afb63", "WitnetRequestRandomness": "0x6dc0E2AC80550F901cd4d5F5a4C48333A0ca97Ee", - "WitnetErrorsLib": "", - "WitnetEncodingLib": "", - "WitnetBytecodesImplementation": "", - "WitnetPriceFeedsImplementation": "", + "WitnetErrorsLib": "0xc229345B9B95515C69A64842182e37cAdB52A00d", + "WitnetEncodingLib": "0x0F17043BB821F609670Dbcce36B6F19FD42829B2", + "WitnetPriceFeedsLib": "0x4a0264714E368A6888c5D755F47Bd924549Fd625", + "WitnetBytecodesImplementation": "0xA7952bc98AB11b95aa51E52ae61d017D0F084eB8", + "WitnetPriceFeedsImplementation": "0x88a456C0Bd557DDA942FBc1DB86C0E35c529A6AE", "WitnetRandomnessImplementation": "0x7A6C2Aad6b4b08De09477D0F663b8f90b0db9662", - "WitnetRequestBoardImplementation": "", - "WitnetRequestFactoryImplementation": "0x364E2b91a4C7563288C3ccF7256BA172935CC550" + "WitnetRequestBoardImplementation": "0xa579563E3ee6884e3b4cdE1BBb2fF6305686A83f", + "WitnetRequestFactoryImplementation": "0x07024BBdFbE0b7560A0f5B49745A372e15954d08" }, "metis.mainnet": { "WitnetLib": "0x1D9c4a8f8B7b5F9B8e2641D81927f8F8Cc7fF079", @@ -399,13 +536,14 @@ "WitnetRequestBoard": "0x02Cd4089679EAA9431a88170fd784e7dE78A2425", "WitnetRequestFactory": "0x1111111FDE7dC956E3d7922Bc779D9E2349Afb63", "WitnetRequestRandomness": "0xb5F3c9Dc6Ca7C1078cE5c51c1cE030D6BEEd57E2", - "WitnetErrorsLib": "", - "WitnetEncodingLib": "", - "WitnetPriceFeedsLib": "0x685528FA605c31aE076e1ee1707041B7Cb356573", - "WitnetBytecodesImplementation": "", + "WitnetErrorsLib": "0x2163DBCBdbBeC066EF8d8Adab75Af8b0B9A5cfAA", + "WitnetEncodingLib": "0x87cB87b649A75c608402Cb9F030129510e201BB4", + "WitnetPriceFeedsLib": "0x6f0da7F65Aaa090C48B371ADEfA1997e4e3cE39a", + "WitnetBytecodesImplementation": "0x28ABB72A19F65dc5a014453bf26f62250e05CF39", + "WitnetPriceFeedsImplementation": "0x2F0912fa566B5B3215e746Dc108d85fDd4A8113A", "WitnetRandomnessImplementation": "0x65772461641A4A6E8B10c81bae1a132E04e77262", - "WitnetRequestBoardImplementation": "", - "WitnetRequestFactoryImplementation": "0xA9cC3101735b248964e90fA8506219A9CF0b1091" + "WitnetRequestBoardImplementation": "0xef978B8CdA6464D0fBaCE5FBC8Ed7A7A8976E094", + "WitnetRequestFactoryImplementation": "0x6395d83C9Aa803498980A5ab78217785d4db7bE7" }, "moonbeam.moonriver": { "WitnetLib": "0x1D9c4a8f8B7b5F9B8e2641D81927f8F8Cc7fF079", @@ -422,10 +560,22 @@ }, "okxchain": { "okxchain.testnet": { - "WitnetLib": "0x7D8A488BACB56dA2De17628e26a21fFd97792b81", + "WitnetProxy": "0x1b91eAB33362f10A5F803Fe3f0d181F42caFaac3", + "Create2Factory": "0xDe312a6f7fA35320E8DD109c8ea42e82806DC45b", + "WitnetBytecodes": "0x0000000e3a3d22d7510B36BdC88994dab11eadc8", + "WitnetPriceFeeds": "0x9999999d139bdBFbF25923ba39F63bBFc7593400", "WitnetPriceRouter": "0xB4B2E2e00e9d6E5490d55623E4F403EC84c6D33f", "WitnetRandomness": "0xeD074DA2A76FD2Ca90C1508930b4FB4420e413B0", - "WitnetRequestBoard": "0x58D8ECe142c60f5707594a7C1D90e46eAE5AF431" + "WitnetRequestBoard": "0x58D8ECe142c60f5707594a7C1D90e46eAE5AF431", + "WitnetRequestFactory": "0x1111111FDE7dC956E3d7922Bc779D9E2349Afb63", + "WitnetErrorsLib": "0xf6d52770453166de85B6B6260Cf22196bC460E88", + "WitnetEncodingLib": "0xB5447342cA17A40e59d410b340ba412E22e36201", + "WitnetPriceFeedsLib": "0x6dc0E2AC80550F901cd4d5F5a4C48333A0ca97Ee", + "WitnetBytecodesImplementation": "0x50AA08187D2F648Dd428784AF6489c3F12e942CC", + "WitnetPriceFeedsImplementation": "0x7A6C2Aad6b4b08De09477D0F663b8f90b0db9662", + "WitnetRequestBoardImplementation": "0xeDA4f244FEe1D6a3EA0fB2c0Fc6b7D1c49fEF01D", + "WitnetRequestFactoryImplementation": "0x364E2b91a4C7563288C3ccF7256BA172935CC550", + "WitnetRequestRandomness": "0x60768ce66aF2f3957e7280c6CfC4ab9c575a7FCF" }, "okxchain.mainnet": { "WitnetLib": "0x1D9c4a8f8B7b5F9B8e2641D81927f8F8Cc7fF079", @@ -436,10 +586,22 @@ }, "optimism": { "optimism.goerli": { - "WitnetLib": "0x02Cd4089679EAA9431a88170fd784e7dE78A2425", + "WitnetProxy": "0x1b91eAB33362f10A5F803Fe3f0d181F42caFaac3", + "Create2Factory": "0xDe312a6f7fA35320E8DD109c8ea42e82806DC45b", + "WitnetBytecodes": "0x0000000e3a3d22d7510B36BdC88994dab11eadc8", + "WitnetPriceFeeds": "0x9999999d139bdBFbF25923ba39F63bBFc7593400", "WitnetPriceRouter": "0xD9465D38f50f364b3263Cb219e58d4dB2D584530", "WitnetRandomness": "0x9E943Ab1FD0D35B3BaDe31AA78D60C485EA1a604", - "WitnetRequestBoard": "0x0985FDe9f424fe4f5AC516F66bAf5591e18aCBEb" + "WitnetRequestBoard": "0x0985FDe9f424fe4f5AC516F66bAf5591e18aCBEb", + "WitnetRequestFactory": "0x1111111FDE7dC956E3d7922Bc779D9E2349Afb63", + "WitnetErrorsLib": "0xf6d52770453166de85B6B6260Cf22196bC460E88", + "WitnetEncodingLib": "0xB5447342cA17A40e59d410b340ba412E22e36201", + "WitnetPriceFeedsLib": "0x6dc0E2AC80550F901cd4d5F5a4C48333A0ca97Ee", + "WitnetBytecodesImplementation": "0x078EE90E16e2e5332EDaA87da19d2743cD8C64DD", + "WitnetPriceFeedsImplementation": "0x7A6C2Aad6b4b08De09477D0F663b8f90b0db9662", + "WitnetRequestBoardImplementation": "0xeDA4f244FEe1D6a3EA0fB2c0Fc6b7D1c49fEF01D", + "WitnetRequestFactoryImplementation": "0x364E2b91a4C7563288C3ccF7256BA172935CC550", + "WitnetRequestRandomness": "0x60768ce66aF2f3957e7280c6CfC4ab9c575a7FCF" }, "optimism.mainnet": { "WitnetLib": "0x1D9c4a8f8B7b5F9B8e2641D81927f8F8Cc7fF079", @@ -458,13 +620,14 @@ "WitnetRequestBoard": "0x58D8ECe142c60f5707594a7C1D90e46eAE5AF431", "WitnetRequestFactory": "0x1111111FDE7dC956E3d7922Bc779D9E2349Afb63", "WitnetRequestRandomness": "0xCFf84e16db3c705aD3C6e96b5575ab9111C874B9", - "WitnetErrorsLib": "", - "WitnetEncodingLib": "", - "WitnetPriceFeedsLib": "0x83587BcfD1f75B5D08c4e27F098F99783cc693cb", - "WitnetBytecodesImplementation": "", + "WitnetErrorsLib": "0xA7389B84D6ABC46b40e88aAD2bbDAf9921649E9E", + "WitnetEncodingLib": "0x4326A4EE3B1e35c10660358Ce62DC0fe6914ea45", + "WitnetPriceFeedsLib": "0xA149B0ED1D7d506AAB4B48275B9F761336aD916A", + "WitnetBytecodesImplementation": "0xd779A106cd2E3e9841499BEfBa9f7d9cA1f52E81", + "WitnetPriceFeedsImplementation": "0x632147c657743906F332EB05E5C775B738254e1b", "WitnetRandomnessImplementation": "0x24Cc52D0603F161E16c3DB29Da4c2bCc07d17C4b", - "WitnetRequestBoardImplementation": "", - "WitnetRequestFactoryImplementation": "0x16FEe4c2e8e1A69f31AAD50790015Ffb52F7a88b" + "WitnetRequestBoardImplementation": "0x4a51060d9377EeD4e32e5F156A0D14A83d991702", + "WitnetRequestFactoryImplementation": "0x5Acb0fEf96A307660c6B2fBdB271af12Dcdb3E68" }, "polygon.mainnet": { "WitnetLib": "0x1D9c4a8f8B7b5F9B8e2641D81927f8F8Cc7fF079", @@ -482,21 +645,34 @@ "WitnetRequestBoard": "0x777777772C24e6CD34B464D1d71616C444254537", "WitnetRequestFactory": "0x1111111FDE7dC956E3d7922Bc779D9E2349Afb63", "WitnetRequestRandomness": "0xC768fD0A0EC5B788524227abEBf4Da021e85908c", - "WitnetErrorsLib": "", - "WitnetEncodingLib": "", - "WitnetBytecodesImplementation": "", - "WitnetPriceFeedsImplementation": "", + "WitnetErrorsLib": "0x07024BBdFbE0b7560A0f5B49745A372e15954d08", + "WitnetEncodingLib": "0x8c3e3079e71680B0d678B7380756EDD073B65A34", + "WitnetPriceFeedsLib": "0xFB2A291CaE095a63f50846a63aE729506A3D1C40", + "WitnetBytecodesImplementation": "0xEeA1423D8cAf1e9440495842613Ec042046065aC", + "WitnetPriceFeedsImplementation": "0xA14a1fD9b1C6023f87f3A7E97DbdFdf1a9413D0A", "WitnetRandomnessImplementation": "0x3f189fAc162d3CC6d84EF72c8177afAd8f3DBeE1", - "WitnetRequestBoardImplementation": "", - "WitnetRequestFactoryImplementation": "0x17189FaFd8Dda06ccc2086e12A11693ee552B807" + "WitnetRequestBoardImplementation": "0x80821a058A605d3aa480b236E7f558938010138F", + "WitnetRequestFactoryImplementation": "0xB740E58D185558FF4FaaBf430fc87a6801208f38" } }, "reef": { "reef.testnet": { - "WitnetLib": "0x5757040246996BFcDC890CD1CcdE6D414eAbFF74", - "WitnetPriceRouter": "0xB600e92DbA7CA66895Aa353d9128514ba47e7896", - "WitnetRandomness": "0x3f159F3bD5c27A936E0C897a4584Eb1647a62197", - "WitnetRequestBoard": "0x77d64ec18b0a14fefe673e3aa194c816c2383232" + "WitnetProxy": "", + "Create2Factory": "", + "WitnetBytecodes": "", + "WitnetPriceFeeds": "", + "WitnetPriceRouter": "", + "WitnetRandomness": "", + "WitnetRequestBoard": "", + "WitnetRequestFactory": "", + "WitnetRequestRandomness": "", + "WitnetErrorsLib": "", + "WitnetEncodingLib": "", + "WitnetBytecodesImplementation": "", + "WitnetPriceFeedsImplementation": "", + "WitnetRandomnessImplementation": "", + "WitnetRequestBoardImplementation": "", + "WitnetRequestFactoryImplementation": "" }, "reef.mainnet": { "WitnetParserLib": "0xD3e5A6F4653C5D596d16c947cfA30973C5aa9f34", @@ -514,38 +690,36 @@ "WitnetPriceRouter": "0xBfFA2ec6225390C517A1bEB83b27a171C6734294", "WitnetRandomness": "0x88888885966F8F77cC6E797aE263C4d091e44A55", "WitnetRequestBoard": "0x777777772C24e6CD34B464D1d71616C444254537", - "WitnetRequestBoardBypassed": "0x0000007F26760C151AC86695D5846D21e7828B67", "WitnetRequestFactory": "0x1111111FDE7dC956E3d7922Bc779D9E2349Afb63", - "WitnetErrorsLib": "", - "WitnetEncodingLib": "", - "WitnetBytecodesImplementation": "0x71D5D7F2ed2436062946727DB84E44588F765D02", - "WitnetPriceFeedsImplementation": "", + "WitnetErrorsLib": "0x2f8efDF55330248D072020e112aF622083360814", + "WitnetEncodingLib": "0xBf4d069EAC99149ecf7B85D97bCB47aaE8f2ec46", + "WitnetPriceFeedsLib": "0xdd124EDF6c5f2032bDf2Ff73D4a1C5A74262B61F", + "WitnetBytecodesImplementation": "0x305432d212D7a6785aa40E30dF49a4b0b9765637", + "WitnetPriceFeedsImplementation": "0xA7a72f112942C721c05377BEfE6984EEB2E5Ce2F", "WitnetRandomnessImplementation": "0x3caF71061A07A77347d5c01Fb37b53D5B3865B9A", - "WitnetRequestBoardImplementation": "", - "WitnetRequestFactoryImplementation": "0xE7f331AB7DFAbd4F9A06807cd9f16128489C28fC", + "WitnetRequestBoardImplementation": "0x3280539A77C578C3eF698f53f29CDba00eC9B72E", + "WitnetRequestFactoryImplementation": "0x7e3DD1A4E00640B6C716237C181234b3A7342940", "WitnetRequestRandomness": "0x578F143c36654DD361FdD51F6D2693b4621ac455" } }, - "smartbch": { - "smartbch.amber": { - "WitnetLib": "0x7D8A488BACB56dA2De17628e26a21fFd97792b81", - "WitnetPriceRouter": "0xB4B2E2e00e9d6E5490d55623E4F403EC84c6D33f", - "WitnetRandomness": "0xeD074DA2A76FD2Ca90C1508930b4FB4420e413B0", - "WitnetRequestBoard": "0x58D8ECe142c60f5707594a7C1D90e46eAE5AF431" - }, - "smartbch.mainnet": { - "WitnetLib": "0x1D9c4a8f8B7b5F9B8e2641D81927f8F8Cc7fF079", - "WitnetPriceRouter": "0xD39D4d972C7E166856c4eb29E54D3548B4597F53", - "WitnetRandomness": "0x1ebD93231a7fE551E1d6405404Df34909eff4c2C", - "WitnetRequestBoard": "0xd653fbd7c736838289262F0F41A458f35393C88a" - } - }, "syscoin": { "syscoin.testnet": { - "WitnetLib": "0x7D8A488BACB56dA2De17628e26a21fFd97792b81", + "WitnetProxy": "", + "Create2Factory": "", + "WitnetBytecodes": "", + "WitnetPriceFeeds": "", "WitnetPriceRouter": "0x9E943Ab1FD0D35B3BaDe31AA78D60C485EA1a604", "WitnetRandomness": "0x56834Ff8D4b27db647Da97CA3bd8540f7fA0e89D", - "WitnetRequestBoard": "0x58D8ECe142c60f5707594a7C1D90e46eAE5AF431" + "WitnetRequestBoard": "0x58D8ECe142c60f5707594a7C1D90e46eAE5AF431", + "WitnetRequestFactory": "", + "WitnetRequestRandomness": "", + "WitnetErrorsLib": "", + "WitnetEncodingLib": "", + "WitnetPriceFeedsLib": "", + "WitnetBytecodesImplementation": "", + "WitnetPriceFeedsImplementation": "", + "WitnetRequestBoardImplementation": "", + "WitnetRequestFactoryImplementation": "" }, "syscoin.mainnet": { "WitnetLib": "0x1D9c4a8f8B7b5F9B8e2641D81927f8F8Cc7fF079", @@ -556,10 +730,22 @@ }, "ultron": { "ultron.testnet": { - "WitnetParserLib": "0x7D8A488BACB56dA2De17628e26a21fFd97792b81", + "WitnetProxy": "0x4374a050f808d1FF18bCcf73270daE3EdF8D0865", + "Create2Factory": "0xDe312a6f7fA35320E8DD109c8ea42e82806DC45b", + "WitnetBytecodes": "0x0000000e3a3d22d7510B36BdC88994dab11eadc8", + "WitnetPriceFeeds": "0x9999999d139bdBFbF25923ba39F63bBFc7593400", "WitnetPriceRouter": "0xB4B2E2e00e9d6E5490d55623E4F403EC84c6D33f", "WitnetRandomness": "0xeD074DA2A76FD2Ca90C1508930b4FB4420e413B0", - "WitnetRequestBoard": "0x58D8ECe142c60f5707594a7C1D90e46eAE5AF431" + "WitnetRequestBoard": "0x58D8ECe142c60f5707594a7C1D90e46eAE5AF431", + "WitnetRequestFactory": "0x1111111FDE7dC956E3d7922Bc779D9E2349Afb63", + "WitnetErrorsLib": "0xeDA4f244FEe1D6a3EA0fB2c0Fc6b7D1c49fEF01D", + "WitnetEncodingLib": "0xb5F3c9Dc6Ca7C1078cE5c51c1cE030D6BEEd57E2", + "WitnetPriceFeedsLib": "0x9f9bAB64229680E170835BC9cC1c96F2C63f7d16", + "WitnetBytecodesImplementation": "0x2Ce7843C1c2fce51DE54a06dB3516103fbde0F6D", + "WitnetPriceFeedsImplementation": "0x50AA08187D2F648Dd428784AF6489c3F12e942CC", + "WitnetRequestBoardImplementation": "0x620e20d91C9b0e11ecAE439E7b85138DA2a1003F", + "WitnetRequestFactoryImplementation": "0x4874cb1732eE1167A006E0Ab047D940ACF04D771", + "WitnetRequestRandomness": "0xdC101573cB42EB7006Ad6C7E08ce8C91fEAcB62C" }, "ultron.mainnet": { "WitnetParserLib": "0x1D9c4a8f8B7b5F9B8e2641D81927f8F8Cc7fF079", diff --git a/migrations/witnet.settings.js b/migrations/witnet.settings.js index 66573e190..351ff8624 100644 --- a/migrations/witnet.settings.js +++ b/migrations/witnet.settings.js @@ -10,12 +10,21 @@ module.exports = { boba: { WitnetRequestBoard: "WitnetRequestBoardTrustableOvm2", }, + conflux: { + WitnetRequestFactory: "WitnetRequestFactoryCfxCore", + }, optimism: { WitnetRequestBoard: "WitnetRequestBoardTrustableOvm2", }, + "polygon.zkevm.goerli": { + WitnetBytecodes: "WitnetBytecodesNoSha256", + }, reef: { WitnetRequestBoard: "WitnetRequestBoardTrustableReef", }, + scroll: { + WitnetBytecodes: "WitnetBytecodesNoSha256", + } }, compilers: { default: { @@ -29,11 +38,6 @@ module.exports = { }, }, }, - conflux: { - solc: { - evmVersion: "petersburg", - }, - }, }, constructorParams: { default: { @@ -134,6 +138,10 @@ module.exports = { host: "localhost", port: 8545, skipDryRun: true, + verify: { + apiUrl: "https://api-goerli.etherscan.io/", + browserURL: "https://goerli.etherscan.io/", + }, }, "ethereum.kovan": { network_id: 42, @@ -165,6 +173,10 @@ module.exports = { host: "localhost", port: 8517, skipDryRun: true, + verify: { + apiUrl: "https://api-goerli.arbiscan.io/", + browserURL: "https://goerli.arbiscan.io/", + }, }, "arbitrum.one": { network_id: 42161, @@ -173,7 +185,7 @@ module.exports = { skipDryRun: true, verify: { apiUrl: "https://api.arbiscan.io/api", - browserURL: "https://arbiscan.io/address", + browserURL: "https://arbiscan.io/", }, }, }, @@ -191,6 +203,11 @@ module.exports = { port: 8533, skipDryRun: true, gasPrice: 30 * 10 ** 9, + verify: { + apiKey: "MY_API_KEY", + apiUrl: "https://api-testnet.snowtrace.io/", + browserURL: "https://testnet.snowtrace.io/", + }, }, }, boba: { @@ -216,29 +233,21 @@ module.exports = { apiKey: "MY_API_KEY", }, }, - "boba.moonbeam.bobabase": { - network_id: 1297, - host: "localhost", - port: 8518, - skipDryRun: true, - }, "boba.ethereum.mainnet": { network_id: 288, host: "localhost", port: 9539, skipDryRun: true, }, - "boba.ethereum.rinkeby": { - network_id: 28, - host: "localhost", - port: 8539, - skipDryRun: true, - }, "boba.ethereum.goerli": { network_id: 2888, host: "localhost", port: 8515, skipDryRun: true, + verify: { + apiUrl: "https://api-testnet.bobascan.com/api", + browserURL: "https://testnet.bobascan.com/", + }, }, }, celo: { @@ -247,6 +256,11 @@ module.exports = { host: "localhost", port: 8538, skipDryRun: true, + verify: { + apiKey: "MY_API_KEY", + apiUrl: "https://explorer.celo.org/alfajores/api", + browserURL: "https://explorer.celo.org/alfajores/", + }, }, "celo.mainnet": { network_id: 42220, @@ -293,6 +307,10 @@ module.exports = { port: 8530, network_id: 338, skipDryRun: true, + verify: { + apiUrl: "https://cronos.org/explorer/testnet3/api", + browserURL: "https://cronos.org/explorer/testnet3", + }, }, "cronos.mainnet": { host: "localhost", @@ -323,6 +341,12 @@ module.exports = { port: 8519, network_id: 568, skipDryRun: true, + gas: 6000000, + verify: { + apiKey: "MY_API_KEY", + apiUrl: "http://explorer-testnet.dogechain.dog/api", + browserURL: "https://explorer-testnet.dogechain.dog/", + }, }, "dogechain.mainnet": { host: "localhost", @@ -338,6 +362,7 @@ module.exports = { network_id: 21, skipDryRun: true, verify: { + apiKey: "MY_API_KEY", apiUrl: "https://esc-testnet.elastos.io/api", browserURL: "https://esc-testnet.elastos.io/address", }, @@ -407,6 +432,11 @@ module.exports = { port: 8526, network_id: 2221, skipDryRun: true, + verify: { + apiKey: "MY_API_KEY", + apiUrl: "https://explorer.testnet.kava.io/api", + browserURL: "https://explorer.testnet.kava.io/", + }, }, "kava.mainnet": { host: "localhost", @@ -422,6 +452,11 @@ module.exports = { network_id: 322, gasPrice: 10 ** 10, skipDryRun: true, + verify: { + apiKey: "MY_API_KEY", + apiUrl: "https://scan-testnet.kcc.network/api", + browserURL: "https://scan-testnet.kcc.network/", + }, }, "kcc.mainnet": { host: "localhost", @@ -462,7 +497,7 @@ module.exports = { verify: { apiKey: "MY_API_KEY", apiUrl: "https://goerli.explorer.metisdevops.link/api", - explorerUrl: "https://goerli.explorer.metisdevops.link//address", + explorerUrl: "https://goerli.explorer.metisdevops.link/address", }, }, }, @@ -521,6 +556,11 @@ module.exports = { port: 8520, network_id: 420, skipDryRun: true, + verify: { + apiKey: "MY_API_KEY", + apiUrl: "https://optimism-goerli.blockscout.com/api", + explorerUrl: "https://optimism-goerli.blockscout.com/", + }, }, "optimism.mainnet": { host: "localhost", @@ -548,7 +588,7 @@ module.exports = { network_id: 1442, skipDryRun: true, verify: { - apiUrl: "http://api-testnet-zkevm.polygonscan.com/api", + apiUrl: "https://api-testnet-zkevm.polygonscan.com/api", explorerUrl: "https://testnet-zkevm.polygonscan.com/address", }, }, @@ -575,9 +615,9 @@ module.exports = { skipDryRun: true, gasPrice: 3000000, verify: { + apiKey: "abc", apiUrl: "https://blockscout.scroll.io/api", - apiKey: "MY_API_KEY", - explorerUrl: "https://blockscout.scroll.io/address", + explorerUrl: "https://blockscout.scroll.io/", }, }, }, diff --git a/truffle-config.js b/truffle-config.js index efe999e45..44fed7e89 100644 --- a/truffle-config.js +++ b/truffle-config.js @@ -39,6 +39,8 @@ module.exports = { ], api_keys: { arbiscan: process.env.ARBISCAN_API_KEY, + bobascan: process.env.BOBASCAN_API_KEY, + cronos: process.env.CRONOSCAN_API_KEY, etherscan: process.env.ETHERSCAN_API_KEY, moonscan: process.env.MOONSCAN_API_KEY, polygonscan: process.env.POLYGONSCAN_API_KEY,