Merge the develop branch to the master branch, preparation to v3.2.0
This merge contains the following set of changes: * [Oracle, Fix] Use more accurate gas estimates for very high message gas limits (#611) * [Common, Other] Final version of AMB and OB contracts security audit report by ChainSecurity (#608)
This commit is contained in:
commit
d36dcadd34
BIN
audit/chainsecurity/FT-AMB-6.0.0-and-OmniBridge-1.1.0-contracts-security-assessment-report.pdf
Normal file
BIN
audit/chainsecurity/FT-AMB-6.0.0-and-OmniBridge-1.1.0-contracts-security-assessment-report.pdf
Normal file
Binary file not shown.
@ -15,7 +15,7 @@ async function estimateGas({ web3, homeBridge, validatorContract, message, addre
|
|||||||
const gasEstimate = await homeBridge.methods.executeAffirmation(message).estimateGas({
|
const gasEstimate = await homeBridge.methods.executeAffirmation(message).estimateGas({
|
||||||
from: address
|
from: address
|
||||||
})
|
})
|
||||||
const msgGasLimit = parseAMBHeader(message).gasLimit
|
const msgGasLimit = Math.ceil((parseAMBHeader(message).gasLimit * 64) / 63)
|
||||||
// message length in bytes
|
// message length in bytes
|
||||||
const len = strip0x(message).length / 2 - MIN_AMB_HEADER_LENGTH
|
const len = strip0x(message).length / 2 - MIN_AMB_HEADER_LENGTH
|
||||||
|
|
||||||
|
@ -24,7 +24,8 @@ async function estimateGas({
|
|||||||
// message length in bytes
|
// message length in bytes
|
||||||
const len = strip0x(result).length / 2
|
const len = strip0x(result).length / 2
|
||||||
|
|
||||||
const callbackGasLimit = parseInt(await homeBridge.methods.maxGasPerTx().call(), 10)
|
let callbackGasLimit = parseInt(await homeBridge.methods.maxGasPerTx().call(), 10)
|
||||||
|
callbackGasLimit = Math.ceil((callbackGasLimit * 64) / 63)
|
||||||
|
|
||||||
return gasEstimate + callbackGasLimit + estimateExtraGas(len)
|
return gasEstimate + callbackGasLimit + estimateExtraGas(len)
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
EXTRA_GAS_PERCENTAGE: 4,
|
EXTRA_GAS_PERCENTAGE: 4,
|
||||||
EXTRA_GAS_ABSOLUTE: 200000,
|
EXTRA_GAS_ABSOLUTE: 250000,
|
||||||
AMB_AFFIRMATION_REQUEST_EXTRA_GAS_ESTIMATOR: len => Math.floor(0.0035 * len ** 2 + 40 * len),
|
AMB_AFFIRMATION_REQUEST_EXTRA_GAS_ESTIMATOR: len => Math.floor(0.0035 * len ** 2 + 40 * len),
|
||||||
MIN_AMB_HEADER_LENGTH: 32 + 20 + 20 + 4 + 2 + 1 + 2,
|
MIN_AMB_HEADER_LENGTH: 32 + 20 + 20 + 4 + 2 + 1 + 2,
|
||||||
MAX_GAS_LIMIT: 10000000,
|
MAX_GAS_LIMIT: 10000000,
|
||||||
|
Loading…
Reference in New Issue
Block a user