Skip to content

Commit

Permalink
Add pipeline that checks code formatting (#41)
Browse files Browse the repository at this point in the history
* Add pipeline that checks code formatting

* Fix makefile + format code

* Add hardhat scripts to format

* Add remaining js files
  • Loading branch information
krzysztofziobro authored Dec 12, 2023
1 parent b638d6a commit 72666c2
Show file tree
Hide file tree
Showing 15 changed files with 754 additions and 648 deletions.
25 changes: 25 additions & 0 deletions .github/workflows/check-formatting.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@

name: Check formatting

on:
pull_request:
branches:
- master
push:
branches:
- master

jobs:
test:
name: Check formatting
runs-on: [self-hosted, Linux, X64, large]
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: "Install Rust toolchain"
uses: Cardinal-Cryptography/aleph-node/.github/actions/install-rust-toolchain@5eda3cd85e7e3aec3f2db7a26631c65d52c4b9ea

- name: Check code formatting
shell: bash
run: make format-check
48 changes: 48 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -189,3 +189,51 @@ ink-lint:
.PHONY: contracts-lint
contracts-lint: # Lint contracts
contracts-lint: solidity-lint ink-lint

.PHONY: rust-format-check
rust-format-check: # Check rust code formatting
rust-format-check:
cd relayer && cargo fmt -- --check
cd azero/contracts/most && cargo fmt -- --check
cd azero/contracts/governance && cargo fmt -- --check
cd azero/contracts/token && cargo fmt -- --check
cd azero/contracts/psp22-traits && cargo fmt -- --check
cd azero/contracts/tests && cargo fmt -- --check

.PHONY: rust-format
rust-format: # Format rust code
rust-format:
cd relayer && cargo fmt
cd azero/contracts/most && cargo fmt
cd azero/contracts/governance && cargo fmt
cd azero/contracts/token && cargo fmt
cd azero/contracts/psp22-traits && cargo fmt
cd azero/contracts/tests && cargo fmt

.PHONY: js-format-check
js-format-check: # Check js formatting
js-format-check:
cd eth && npx prettier --check test
cd eth && npx prettier --check scripts
cd eth && npx prettier --check gulpfile.js
cd eth && npx prettier --check hardhat.config.js
cd azero && npx prettier --check scripts
cd azero && npx prettier --check gulpfile.js

.PHONY: js-format
js-format: # Format js code
js-format:
cd eth && npx prettier --write test
cd eth && npx prettier --write scripts
cd eth && npx prettier --write gulpfile.js
cd eth && npx prettier --write hardhat.config.js
cd azero && npx prettier --write scripts
cd azero && npx prettier --write gulpfile.js

.PHONY: format-check
format-check: # Check code formatting
format-check: rust-format-check js-format-check

.PHONY: format
format: # Format code
format: rust-format js-format
10 changes: 2 additions & 8 deletions azero/contracts/most/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -589,10 +589,7 @@ pub mod most {

/// Returns an error (reverts) if account is not in the currently active committee
#[ink(message)]
pub fn only_current_committee_member(
&self,
account: AccountId,
) -> Result<(), MostError> {
pub fn only_current_committee_member(&self, account: AccountId) -> Result<(), MostError> {
match self.is_in_committee(self.committee_id, account) {
true => Ok(()),
false => Err(MostError::NotInCommittee),
Expand Down Expand Up @@ -833,10 +830,7 @@ pub mod most {
)
.expect("Threshold is valid.");
set_caller::<DefEnv>(accounts.bob);
assert_eq!(
most.ensure_owner(),
Err(MostError::NotOwner(accounts.bob))
);
assert_eq!(most.ensure_owner(), Err(MostError::NotOwner(accounts.bob)));
set_caller::<DefEnv>(accounts.alice);
assert_eq!(most.ensure_owner(), Ok(()));
assert_eq!(most.set_owner(accounts.bob), Ok(()));
Expand Down
78 changes: 25 additions & 53 deletions azero/contracts/tests/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,7 @@ mod e2e {

#[ink_e2e::test]
fn owner_can_add_a_new_pair(mut client: ink_e2e::Client<C, E>) {
let (most_address, token_address) =
setup_default_most_and_token(&mut client, false).await;
let (most_address, token_address) = setup_default_most_and_token(&mut client, false).await;

let add_pair_res = most_add_pair(
&mut client,
Expand All @@ -87,8 +86,7 @@ mod e2e {

#[ink_e2e::test]
fn non_owner_cannot_add_a_new_pair(mut client: ink_e2e::Client<C, E>) {
let (most_address, token_address) =
setup_default_most_and_token(&mut client, false).await;
let (most_address, token_address) = setup_default_most_and_token(&mut client, false).await;

let add_pair_res = most_add_pair(
&mut client,
Expand All @@ -107,8 +105,7 @@ mod e2e {

#[ink_e2e::test]
fn send_request_burns_tokens(mut client: ink_e2e::Client<C, E>) {
let (most_address, token_address) =
setup_default_most_and_token(&mut client, true).await;
let (most_address, token_address) = setup_default_most_and_token(&mut client, true).await;

let base_fee = most_base_fee(&mut client, most_address)
.await
Expand Down Expand Up @@ -136,7 +133,8 @@ mod e2e {
REMOTE_RECEIVER,
base_fee,
)
.await.expect("send request should succeed");
.await
.expect("send request should succeed");

let balance_after = psp22_balance_of(
&mut client,
Expand Down Expand Up @@ -165,8 +163,7 @@ mod e2e {

#[ink_e2e::test]
fn send_request_fails_on_non_whitelisted_token(mut client: ink_e2e::Client<C, E>) {
let (most_address, token_address) =
setup_default_most_and_token(&mut client, false).await;
let (most_address, token_address) = setup_default_most_and_token(&mut client, false).await;

let amount_to_send = 1000;

Expand All @@ -193,8 +190,7 @@ mod e2e {

#[ink_e2e::test]
fn correct_request(mut client: ink_e2e::Client<C, E>) {
let (most_address, token_address) =
setup_default_most_and_token(&mut client, true).await;
let (most_address, token_address) = setup_default_most_and_token(&mut client, true).await;

let amount_to_send = 1000;

Expand Down Expand Up @@ -240,8 +236,7 @@ mod e2e {

#[ink_e2e::test]
fn receive_request_can_only_be_called_by_guardians(mut client: ink_e2e::Client<C, E>) {
let (most_address, token_address) =
setup_default_most_and_token(&mut client, false).await;
let (most_address, token_address) = setup_default_most_and_token(&mut client, false).await;

let amount = 20;
let receiver_address = account_id(AccountKeyring::One);
Expand Down Expand Up @@ -270,8 +265,7 @@ mod e2e {

#[ink_e2e::test]
fn receive_request_non_matching_hash(mut client: ink_e2e::Client<C, E>) {
let (most_address, token_address) =
setup_default_most_and_token(&mut client, false).await;
let (most_address, token_address) = setup_default_most_and_token(&mut client, false).await;

let amount = 20;
let receiver_address = account_id(AccountKeyring::One);
Expand Down Expand Up @@ -300,8 +294,7 @@ mod e2e {
fn receive_request_executes_request_after_enough_confirmations(
mut client: ink_e2e::Client<C, E>,
) {
let (most_address, token_address) =
setup_default_most_and_token(&mut client, false).await;
let (most_address, token_address) = setup_default_most_and_token(&mut client, false).await;

let amount = 841189100000000;

Expand Down Expand Up @@ -358,8 +351,7 @@ mod e2e {

#[ink_e2e::test]
fn receive_request_not_enough_signatures(mut client: ink_e2e::Client<C, E>) {
let (most_address, token_address) =
setup_default_most_and_token(&mut client, false).await;
let (most_address, token_address) = setup_default_most_and_token(&mut client, false).await;

let amount = 20;
let receiver_address = account_id(AccountKeyring::One);
Expand Down Expand Up @@ -409,8 +401,7 @@ mod e2e {

#[ink_e2e::test]
fn amount_below_minimum(mut client: ink_e2e::Client<C, E>) {
let (most_address, token_address) =
setup_default_most_and_token(&mut client, true).await;
let (most_address, token_address) = setup_default_most_and_token(&mut client, true).await;

let base_fee = most_base_fee(&mut client, most_address)
.await
Expand Down Expand Up @@ -446,8 +437,7 @@ mod e2e {

#[ink_e2e::test]
fn base_fee_too_low(mut client: ink_e2e::Client<C, E>) {
let (most_address, token_address) =
setup_default_most_and_token(&mut client, true).await;
let (most_address, token_address) = setup_default_most_and_token(&mut client, true).await;

let base_fee = most_base_fee(&mut client, most_address)
.await
Expand All @@ -474,8 +464,7 @@ mod e2e {

#[ink_e2e::test]
fn pocket_money(mut client: ink_e2e::Client<C, E>) {
let (most_address, token_address) =
setup_default_most_and_token(&mut client, false).await;
let (most_address, token_address) = setup_default_most_and_token(&mut client, false).await;

// seed contract with some funds for pocket money transfers
let call_data = vec![
Expand Down Expand Up @@ -528,8 +517,7 @@ mod e2e {

#[ink_e2e::test]
fn committee_rewards(mut client: ink_e2e::Client<C, E>) {
let (most_address, token_address) =
setup_default_most_and_token(&mut client, false).await;
let (most_address, token_address) = setup_default_most_and_token(&mut client, false).await;

let commission = most_commission_per_dix_mille(&mut client, most_address).await;

Expand Down Expand Up @@ -642,8 +630,7 @@ mod e2e {

#[ink_e2e::test]
fn past_committee_rewards(mut client: ink_e2e::Client<C, E>) {
let (most_address, token_address) =
setup_default_most_and_token(&mut client, false).await;
let (most_address, token_address) = setup_default_most_and_token(&mut client, false).await;

let amount = 841189100000000;
let receiver_address = account_id(AccountKeyring::One);
Expand Down Expand Up @@ -825,15 +812,9 @@ mod e2e {
.await;

if add_pair {
most_add_pair(
client,
&alice(),
most_address,
token_address,
REMOTE_TOKEN,
)
.await
.expect("Add pair should succeed");
most_add_pair(client, &alice(), most_address, token_address, REMOTE_TOKEN)
.await
.expect("Add pair should succeed");
}

(most_address, token_address)
Expand Down Expand Up @@ -908,13 +889,7 @@ mod e2e {
caller,
most,
|most| {
most.receive_request(
request_hash,
token,
amount,
receiver_address,
request_nonce,
)
most.receive_request(request_hash, token, amount, receiver_address, request_nonce)
},
None,
)
Expand All @@ -939,10 +914,7 @@ mod e2e {
.await
}

async fn most_base_fee(
client: &mut E2EClient,
most: AccountId,
) -> Result<u128, MostError> {
async fn most_base_fee(client: &mut E2EClient, most: AccountId) -> Result<u128, MostError> {
call_message::<MostRef, u128, _, _, _>(
client,
&alice(),
Expand Down Expand Up @@ -999,8 +971,8 @@ mod e2e {
client: &mut E2EClient,
most_address: AccountId,
) -> Result<u128, MostError> {
let call = build_message::<MostRef>(most_address)
.call(|most| most.get_current_committee_id());
let call =
build_message::<MostRef>(most_address).call(|most| most.get_current_committee_id());

Ok(client
.call_dry_run(&alice(), &call, 0, None)
Expand All @@ -1012,8 +984,8 @@ mod e2e {
client: &mut E2EClient,
most_address: AccountId,
) -> u128 {
let call = build_message::<MostRef>(most_address)
.call(|most| most.get_commission_per_dix_mille());
let call =
build_message::<MostRef>(most_address).call(|most| most.get_commission_per_dix_mille());

client
.call_dry_run(&alice(), &call, 0, None)
Expand Down
12 changes: 6 additions & 6 deletions azero/gulpfile.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
const gulp = require('gulp');
const shell = require('gulp-shell')
const gulp = require("gulp");
const shell = require("gulp-shell");

gulp.task('compile', shell.task('npm run compile'))
gulp.task("compile", shell.task("npm run compile"));

gulp.task('watch', function () {
gulp.watch("contracts/*/*.rs", gulp.series('compile'));
gulp.task("watch", function () {
gulp.watch("contracts/*/*.rs", gulp.series("compile"));
});

gulp.task('default', gulp.series('watch'));
gulp.task("default", gulp.series("watch"));
Loading

0 comments on commit 72666c2

Please sign in to comment.