Skip to content

Commit

Permalink
refactor: Use linter for solidity code (#495)
Browse files Browse the repository at this point in the history
* Use linter for solidity files

* Add prettier dependency
  • Loading branch information
mfornet authored Feb 25, 2021
1 parent 8dc2ca2 commit 3e49c2d
Show file tree
Hide file tree
Showing 36 changed files with 2,602 additions and 1,197 deletions.
1 change: 1 addition & 0 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ steps:
source testing/ci/e2e_ci_prepare_env.sh
yarn
yarn standard
yarn prettier-solidity
timeout: 5

Expand Down
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.full.sol
11 changes: 11 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"overrides": [
{
"files": "*.sol",
"options": {
"printWidth": 120,
"explicitTypes": "preserve"
}
}
]
}
67 changes: 35 additions & 32 deletions contracts/eth/nearbridge/contracts/Borsh.sol
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,16 @@ pragma solidity ^0.6;

import "@openzeppelin/contracts/math/SafeMath.sol";


library Borsh {

using SafeMath for uint256;

struct Data {
uint256 offset;
bytes raw;
}

function from(bytes memory data) internal pure returns(Data memory) {
return Data({
offset: 0,
raw: data
});
function from(bytes memory data) internal pure returns (Data memory) {
return Data({offset: 0, raw: data});
}

modifier shift(Data memory data, uint256 size) {
Expand All @@ -25,26 +20,34 @@ library Borsh {
data.offset += size;
}

function finished(Data memory data) internal pure returns(bool) {
function finished(Data memory data) internal pure returns (bool) {
return data.offset == data.raw.length;
}

function peekKeccak256(Data memory data, uint256 length) internal pure returns(bytes32 res) {
function peekKeccak256(Data memory data, uint256 length) internal pure returns (bytes32 res) {
return bytesKeccak256(data.raw, data.offset, length);
}

function bytesKeccak256(bytes memory ptr, uint256 offset, uint256 length) internal pure returns(bytes32 res) {
function bytesKeccak256(
bytes memory ptr,
uint256 offset,
uint256 length
) internal pure returns (bytes32 res) {
// solium-disable-next-line security/no-inline-assembly
assembly {
res := keccak256(add(add(ptr, 32), offset), length)
}
}

function peekSha256(Data memory data, uint256 length) internal view returns(bytes32) {
function peekSha256(Data memory data, uint256 length) internal view returns (bytes32) {
return bytesSha256(data.raw, data.offset, length);
}

function bytesSha256(bytes memory ptr, uint256 offset, uint256 length) internal view returns(bytes32) {
function bytesSha256(
bytes memory ptr,
uint256 offset,
uint256 length
) internal view returns (bytes32) {
bytes32[1] memory result;
// solium-disable-next-line security/no-inline-assembly
assembly {
Expand All @@ -53,76 +56,76 @@ library Borsh {
return result[0];
}

function decodeU8(Data memory data) internal pure shift(data, 1) returns(uint8 value) {
function decodeU8(Data memory data) internal pure shift(data, 1) returns (uint8 value) {
value = uint8(data.raw[data.offset]);
}

function decodeI8(Data memory data) internal pure shift(data, 1) returns(int8 value) {
function decodeI8(Data memory data) internal pure shift(data, 1) returns (int8 value) {
value = int8(data.raw[data.offset]);
}

function decodeU16(Data memory data) internal pure returns(uint16 value) {
function decodeU16(Data memory data) internal pure returns (uint16 value) {
value = uint16(decodeU8(data));
value |= (uint16(decodeU8(data)) << 8);
}

function decodeI16(Data memory data) internal pure returns(int16 value) {
function decodeI16(Data memory data) internal pure returns (int16 value) {
value = int16(decodeI8(data));
value |= (int16(decodeI8(data)) << 8);
}

function decodeU32(Data memory data) internal pure returns(uint32 value) {
function decodeU32(Data memory data) internal pure returns (uint32 value) {
value = uint32(decodeU16(data));
value |= (uint32(decodeU16(data)) << 16);
}

function decodeI32(Data memory data) internal pure returns(int32 value) {
function decodeI32(Data memory data) internal pure returns (int32 value) {
value = int32(decodeI16(data));
value |= (int32(decodeI16(data)) << 16);
}

function decodeU64(Data memory data) internal pure returns(uint64 value) {
function decodeU64(Data memory data) internal pure returns (uint64 value) {
value = uint64(decodeU32(data));
value |= (uint64(decodeU32(data)) << 32);
}

function decodeI64(Data memory data) internal pure returns(int64 value) {
function decodeI64(Data memory data) internal pure returns (int64 value) {
value = int64(decodeI32(data));
value |= (int64(decodeI32(data)) << 32);
}

function decodeU128(Data memory data) internal pure returns(uint128 value) {
function decodeU128(Data memory data) internal pure returns (uint128 value) {
value = uint128(decodeU64(data));
value |= (uint128(decodeU64(data)) << 64);
}

function decodeI128(Data memory data) internal pure returns(int128 value) {
function decodeI128(Data memory data) internal pure returns (int128 value) {
value = int128(decodeI64(data));
value |= (int128(decodeI64(data)) << 64);
}

function decodeU256(Data memory data) internal pure returns(uint256 value) {
function decodeU256(Data memory data) internal pure returns (uint256 value) {
value = uint256(decodeU128(data));
value |= (uint256(decodeU128(data)) << 128);
}

function decodeI256(Data memory data) internal pure returns(int256 value) {
function decodeI256(Data memory data) internal pure returns (int256 value) {
value = int256(decodeI128(data));
value |= (int256(decodeI128(data)) << 128);
}

function decodeBool(Data memory data) internal pure returns(bool value) {
function decodeBool(Data memory data) internal pure returns (bool value) {
value = (decodeU8(data) != 0);
}

function decodeBytes(Data memory data) internal pure returns(bytes memory value) {
function decodeBytes(Data memory data) internal pure returns (bytes memory value) {
value = new bytes(decodeU32(data));
for (uint i = 0; i < value.length; i++) {
value[i] = byte(decodeU8(data));
}
}

function decodeBytes32(Data memory data) internal pure shift(data, 32) returns(bytes32 value) {
function decodeBytes32(Data memory data) internal pure shift(data, 32) returns (bytes32 value) {
bytes memory raw = data.raw;
uint256 offset = data.offset;
// solium-disable-next-line security/no-inline-assembly
Expand All @@ -131,7 +134,7 @@ library Borsh {
}
}

function decodeBytes20(Data memory data) internal pure returns(bytes20 value) {
function decodeBytes20(Data memory data) internal pure returns (bytes20 value) {
for (uint i = 0; i < 20; i++) {
value |= bytes20(byte(decodeU8(data)) & 0xFF) >> (i * 8);
}
Expand All @@ -144,7 +147,7 @@ library Borsh {
uint256 y;
}

function decodeSECP256K1PublicKey(Borsh.Data memory data) internal pure returns(SECP256K1PublicKey memory key) {
function decodeSECP256K1PublicKey(Borsh.Data memory data) internal pure returns (SECP256K1PublicKey memory key) {
key.x = decodeU256(data);
key.y = decodeU256(data);
}
Expand All @@ -153,7 +156,7 @@ library Borsh {
bytes32 xy;
}

function decodeED25519PublicKey(Borsh.Data memory data) internal pure returns(ED25519PublicKey memory key) {
function decodeED25519PublicKey(Borsh.Data memory data) internal pure returns (ED25519PublicKey memory key) {
key.xy = decodeBytes32(data);
}

Expand All @@ -165,7 +168,7 @@ library Borsh {
uint8 v;
}

function decodeSECP256K1Signature(Borsh.Data memory data) internal pure returns(SECP256K1Signature memory sig) {
function decodeSECP256K1Signature(Borsh.Data memory data) internal pure returns (SECP256K1Signature memory sig) {
sig.r = decodeBytes32(data);
sig.s = decodeBytes32(data);
sig.v = decodeU8(data);
Expand All @@ -175,7 +178,7 @@ library Borsh {
bytes32[2] rs;
}

function decodeED25519Signature(Borsh.Data memory data) internal pure returns(ED25519Signature memory sig) {
function decodeED25519Signature(Borsh.Data memory data) internal pure returns (ED25519Signature memory sig) {
sig.rs[0] = decodeBytes32(data);
sig.rs[1] = decodeBytes32(data);
}
Expand Down
Loading

0 comments on commit 3e49c2d

Please sign in to comment.