Skip to content

Commit fd9d689

Browse files
daopunkreecepbcups
andauthored
Solidity and Natspec Linters (#64)
* feat: added solity and natspec linters and formatted solidity * fix: trigger name in wasi component --------- Co-authored-by: Reece Williams <reecepbcups@gmail.com>
1 parent ff998ea commit fd9d689

23 files changed

+4054
-198
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@ compiled/*.wasm
66
.docker/*.json
77
.env
88
node_modules/
9+
lcov.info

.solhint.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"extends": "solhint:recommended",
3+
"rules": {
4+
"compiler-version": ["warn"],
5+
"quotes": "off",
6+
"func-visibility": ["warn", { "ignoreConstructors": true }],
7+
"no-inline-assembly": "off",
8+
"no-empty-blocks": "off",
9+
"private-vars-leading-underscore": ["warn", { "strict": false }],
10+
"ordering": "warn",
11+
"avoid-low-level-calls": "off",
12+
"named-parameters-mapping": "warn"
13+
}
14+
}

components/eth-price-oracle/src/bindings.rs

Lines changed: 26 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ pub type TriggerAction = wavs::worker::layer_types::TriggerAction;
55
#[doc(hidden)]
66
#[allow(non_snake_case)]
77
pub unsafe fn _export_run_cabi<T: Guest>(arg0: *mut u8) -> *mut u8 {
8-
#[cfg(target_arch = "wasm32")]
9-
_rt::run_ctors_once();
8+
#[cfg(target_arch = "wasm32")] _rt::run_ctors_once();
109
let l0 = *arg0.add(0).cast::<*mut u8>();
1110
let l1 = *arg0.add(4).cast::<usize>();
1211
let len2 = l1;
@@ -608,8 +607,11 @@ pub mod host {
608607
let l7 = *ptr1.add(16).cast::<*mut u8>();
609608
let l8 = *ptr1.add(20).cast::<usize>();
610609
let len9 = l8;
611-
let bytes9 =
612-
_rt::Vec::from_raw_parts(l7.cast(), len9, len9);
610+
let bytes9 = _rt::Vec::from_raw_parts(
611+
l7.cast(),
612+
len9,
613+
len9,
614+
);
613615
_rt::string_lift(bytes9)
614616
};
615617
Some(e)
@@ -623,8 +625,11 @@ pub mod host {
623625
let l11 = *ptr1.add(28).cast::<*mut u8>();
624626
let l12 = *ptr1.add(32).cast::<usize>();
625627
let len13 = l12;
626-
let bytes13 =
627-
_rt::Vec::from_raw_parts(l11.cast(), len13, len13);
628+
let bytes13 = _rt::Vec::from_raw_parts(
629+
l11.cast(),
630+
len13,
631+
len13,
632+
);
628633
_rt::string_lift(bytes13)
629634
};
630635
Some(e)
@@ -690,8 +695,11 @@ pub mod host {
690695
let l7 = *ptr1.add(16).cast::<*mut u8>();
691696
let l8 = *ptr1.add(20).cast::<usize>();
692697
let len9 = l8;
693-
let bytes9 =
694-
_rt::Vec::from_raw_parts(l7.cast(), len9, len9);
698+
let bytes9 = _rt::Vec::from_raw_parts(
699+
l7.cast(),
700+
len9,
701+
len9,
702+
);
695703
_rt::string_lift(bytes9)
696704
};
697705
Some(e)
@@ -705,8 +713,11 @@ pub mod host {
705713
let l11 = *ptr1.add(28).cast::<*mut u8>();
706714
let l12 = *ptr1.add(32).cast::<usize>();
707715
let len13 = l12;
708-
let bytes13 =
709-
_rt::Vec::from_raw_parts(l11.cast(), len13, len13);
716+
let bytes13 = _rt::Vec::from_raw_parts(
717+
l11.cast(),
718+
len13,
719+
len13,
720+
);
710721
_rt::string_lift(bytes13)
711722
};
712723
Some(e)
@@ -720,8 +731,11 @@ pub mod host {
720731
let l15 = *ptr1.add(40).cast::<*mut u8>();
721732
let l16 = *ptr1.add(44).cast::<usize>();
722733
let len17 = l16;
723-
let bytes17 =
724-
_rt::Vec::from_raw_parts(l15.cast(), len17, len17);
734+
let bytes17 = _rt::Vec::from_raw_parts(
735+
l15.cast(),
736+
len17,
737+
len17,
738+
);
725739
_rt::string_lift(bytes17)
726740
};
727741
Some(e)

components/eth-price-oracle/src/trigger.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ pub fn decode_trigger_event(trigger_data: TriggerData) -> Result<(u64, Vec<u8>,
1212
match trigger_data {
1313
TriggerData::EthContractEvent(TriggerDataEthContractEvent { log, .. }) => {
1414
let event: solidity::NewTrigger = decode_event_log_data!(log)?;
15-
let trigger_info = solidity::TriggerInfo::abi_decode(&event._0, false)?;
15+
let trigger_info = solidity::TriggerInfo::abi_decode(&event._triggerInfo, false)?;
1616
Ok((trigger_info.triggerId, trigger_info.data.to_vec(), Destination::Ethereum))
1717
}
1818
TriggerData::Raw(data) => Ok((0, data.clone(), Destination::CliOutput)),

natspec-smells.config.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
/**
2+
* List of supported options: https://github.com/defi-wonderland/natspec-smells?tab=readme-ov-file#options
3+
*/
4+
5+
/** @type {import('@defi-wonderland/natspec-smells').Config} */
6+
module.exports = {
7+
include: 'src/**/*.sol',
8+
exclude: '(test|scripts)/**/*.sol',
9+
};

0 commit comments

Comments
 (0)