Extend Checkpoints with new sizes and lookup mechanisms (#3589)
This commit is contained in:
51
contracts/mocks/ArraysMock.sol
Normal file
51
contracts/mocks/ArraysMock.sol
Normal file
@ -0,0 +1,51 @@
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
pragma solidity ^0.8.0;
|
||||
|
||||
import "../utils/Arrays.sol";
|
||||
|
||||
contract Uint256ArraysMock {
|
||||
using Arrays for uint256[];
|
||||
|
||||
uint256[] private _array;
|
||||
|
||||
constructor(uint256[] memory array) {
|
||||
_array = array;
|
||||
}
|
||||
|
||||
function findUpperBound(uint256 element) external view returns (uint256) {
|
||||
return _array.findUpperBound(element);
|
||||
}
|
||||
|
||||
function unsafeAccess(uint256 pos) external view returns (uint256) {
|
||||
return _array.unsafeAccess(pos).value;
|
||||
}
|
||||
}
|
||||
|
||||
contract AddressArraysMock {
|
||||
using Arrays for address[];
|
||||
|
||||
address[] private _array;
|
||||
|
||||
constructor(address[] memory array) {
|
||||
_array = array;
|
||||
}
|
||||
|
||||
function unsafeAccess(uint256 pos) external view returns (address) {
|
||||
return _array.unsafeAccess(pos).value;
|
||||
}
|
||||
}
|
||||
|
||||
contract Bytes32ArraysMock {
|
||||
using Arrays for bytes32[];
|
||||
|
||||
bytes32[] private _array;
|
||||
|
||||
constructor(bytes32[] memory array) {
|
||||
_array = array;
|
||||
}
|
||||
|
||||
function unsafeAccess(uint256 pos) external view returns (bytes32) {
|
||||
return _array.unsafeAccess(pos).value;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user