Skip to content

Commit 11dfcfc

Browse files
committed
better debugger
1 parent 55c1faf commit 11dfcfc

File tree

2 files changed

+116
-38
lines changed

2 files changed

+116
-38
lines changed

components/eth-trigger-weather/src/bindings.rs

Lines changed: 108 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ pub type TriggerAction = wavs::worker::layer_types::TriggerAction;
22
#[doc(hidden)]
33
#[allow(non_snake_case)]
44
pub unsafe fn _export_run_cabi<T: Guest>(arg0: *mut u8) -> *mut u8 {
5-
#[cfg(target_arch = "wasm32")]
6-
_rt::run_ctors_once();
5+
#[cfg(target_arch = "wasm32")] _rt::run_ctors_once();
76
let l0 = *arg0.add(0).cast::<*mut u8>();
87
let l1 = *arg0.add(4).cast::<usize>();
98
let len2 = l1;
@@ -253,8 +252,7 @@ pub mod wavs {
253252
pub mod layer_types {
254253
#[used]
255254
#[doc(hidden)]
256-
static __FORCE_SECTION_REF: fn() =
257-
super::super::super::__link_custom_section_describing_imports;
255+
static __FORCE_SECTION_REF: fn() = super::super::super::__link_custom_section_describing_imports;
258256
use super::super::super::_rt;
259257
#[derive(Clone)]
260258
pub struct CosmosAddress {
@@ -263,7 +261,10 @@ pub mod wavs {
263261
pub prefix_len: u32,
264262
}
265263
impl ::core::fmt::Debug for CosmosAddress {
266-
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
264+
fn fmt(
265+
&self,
266+
f: &mut ::core::fmt::Formatter<'_>,
267+
) -> ::core::fmt::Result {
267268
f.debug_struct("CosmosAddress")
268269
.field("bech32-addr", &self.bech32_addr)
269270
.field("prefix-len", &self.prefix_len)
@@ -276,7 +277,10 @@ pub mod wavs {
276277
pub attributes: _rt::Vec<(_rt::String, _rt::String)>,
277278
}
278279
impl ::core::fmt::Debug for CosmosEvent {
279-
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
280+
fn fmt(
281+
&self,
282+
f: &mut ::core::fmt::Formatter<'_>,
283+
) -> ::core::fmt::Result {
280284
f.debug_struct("CosmosEvent")
281285
.field("ty", &self.ty)
282286
.field("attributes", &self.attributes)
@@ -294,7 +298,10 @@ pub mod wavs {
294298
pub bech32_prefix: _rt::String,
295299
}
296300
impl ::core::fmt::Debug for CosmosChainConfig {
297-
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
301+
fn fmt(
302+
&self,
303+
f: &mut ::core::fmt::Formatter<'_>,
304+
) -> ::core::fmt::Result {
298305
f.debug_struct("CosmosChainConfig")
299306
.field("chain-id", &self.chain_id)
300307
.field("rpc-endpoint", &self.rpc_endpoint)
@@ -311,8 +318,13 @@ pub mod wavs {
311318
pub raw_bytes: _rt::Vec<u8>,
312319
}
313320
impl ::core::fmt::Debug for EthAddress {
314-
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
315-
f.debug_struct("EthAddress").field("raw-bytes", &self.raw_bytes).finish()
321+
fn fmt(
322+
&self,
323+
f: &mut ::core::fmt::Formatter<'_>,
324+
) -> ::core::fmt::Result {
325+
f.debug_struct("EthAddress")
326+
.field("raw-bytes", &self.raw_bytes)
327+
.finish()
316328
}
317329
}
318330
#[derive(Clone)]
@@ -323,7 +335,10 @@ pub mod wavs {
323335
pub data: _rt::Vec<u8>,
324336
}
325337
impl ::core::fmt::Debug for EthEventLogData {
326-
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
338+
fn fmt(
339+
&self,
340+
f: &mut ::core::fmt::Formatter<'_>,
341+
) -> ::core::fmt::Result {
327342
f.debug_struct("EthEventLogData")
328343
.field("topics", &self.topics)
329344
.field("data", &self.data)
@@ -337,7 +352,10 @@ pub mod wavs {
337352
pub http_endpoint: Option<_rt::String>,
338353
}
339354
impl ::core::fmt::Debug for EthChainConfig {
340-
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
355+
fn fmt(
356+
&self,
357+
f: &mut ::core::fmt::Formatter<'_>,
358+
) -> ::core::fmt::Result {
341359
f.debug_struct("EthChainConfig")
342360
.field("chain-id", &self.chain_id)
343361
.field("ws-endpoint", &self.ws_endpoint)
@@ -352,7 +370,10 @@ pub mod wavs {
352370
pub event_hash: _rt::Vec<u8>,
353371
}
354372
impl ::core::fmt::Debug for TriggerSourceEthContractEvent {
355-
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
373+
fn fmt(
374+
&self,
375+
f: &mut ::core::fmt::Formatter<'_>,
376+
) -> ::core::fmt::Result {
356377
f.debug_struct("TriggerSourceEthContractEvent")
357378
.field("address", &self.address)
358379
.field("chain-name", &self.chain_name)
@@ -367,7 +388,10 @@ pub mod wavs {
367388
pub event_type: _rt::String,
368389
}
369390
impl ::core::fmt::Debug for TriggerSourceCosmosContractEvent {
370-
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
391+
fn fmt(
392+
&self,
393+
f: &mut ::core::fmt::Formatter<'_>,
394+
) -> ::core::fmt::Result {
371395
f.debug_struct("TriggerSourceCosmosContractEvent")
372396
.field("address", &self.address)
373397
.field("chain-name", &self.chain_name)
@@ -382,15 +406,24 @@ pub mod wavs {
382406
Manual,
383407
}
384408
impl ::core::fmt::Debug for TriggerSource {
385-
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
409+
fn fmt(
410+
&self,
411+
f: &mut ::core::fmt::Formatter<'_>,
412+
) -> ::core::fmt::Result {
386413
match self {
387414
TriggerSource::EthContractEvent(e) => {
388-
f.debug_tuple("TriggerSource::EthContractEvent").field(e).finish()
415+
f.debug_tuple("TriggerSource::EthContractEvent")
416+
.field(e)
417+
.finish()
389418
}
390419
TriggerSource::CosmosContractEvent(e) => {
391-
f.debug_tuple("TriggerSource::CosmosContractEvent").field(e).finish()
420+
f.debug_tuple("TriggerSource::CosmosContractEvent")
421+
.field(e)
422+
.finish()
423+
}
424+
TriggerSource::Manual => {
425+
f.debug_tuple("TriggerSource::Manual").finish()
392426
}
393-
TriggerSource::Manual => f.debug_tuple("TriggerSource::Manual").finish(),
394427
}
395428
}
396429
}
@@ -401,7 +434,10 @@ pub mod wavs {
401434
pub trigger_source: TriggerSource,
402435
}
403436
impl ::core::fmt::Debug for TriggerConfig {
404-
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
437+
fn fmt(
438+
&self,
439+
f: &mut ::core::fmt::Formatter<'_>,
440+
) -> ::core::fmt::Result {
405441
f.debug_struct("TriggerConfig")
406442
.field("service-id", &self.service_id)
407443
.field("workflow-id", &self.workflow_id)
@@ -417,7 +453,10 @@ pub mod wavs {
417453
pub block_height: u64,
418454
}
419455
impl ::core::fmt::Debug for TriggerDataEthContractEvent {
420-
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
456+
fn fmt(
457+
&self,
458+
f: &mut ::core::fmt::Formatter<'_>,
459+
) -> ::core::fmt::Result {
421460
f.debug_struct("TriggerDataEthContractEvent")
422461
.field("contract-address", &self.contract_address)
423462
.field("chain-name", &self.chain_name)
@@ -434,7 +473,10 @@ pub mod wavs {
434473
pub block_height: u64,
435474
}
436475
impl ::core::fmt::Debug for TriggerDataCosmosContractEvent {
437-
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
476+
fn fmt(
477+
&self,
478+
f: &mut ::core::fmt::Formatter<'_>,
479+
) -> ::core::fmt::Result {
438480
f.debug_struct("TriggerDataCosmosContractEvent")
439481
.field("contract-address", &self.contract_address)
440482
.field("chain-name", &self.chain_name)
@@ -450,15 +492,24 @@ pub mod wavs {
450492
Raw(_rt::Vec<u8>),
451493
}
452494
impl ::core::fmt::Debug for TriggerData {
453-
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
495+
fn fmt(
496+
&self,
497+
f: &mut ::core::fmt::Formatter<'_>,
498+
) -> ::core::fmt::Result {
454499
match self {
455500
TriggerData::EthContractEvent(e) => {
456-
f.debug_tuple("TriggerData::EthContractEvent").field(e).finish()
501+
f.debug_tuple("TriggerData::EthContractEvent")
502+
.field(e)
503+
.finish()
457504
}
458505
TriggerData::CosmosContractEvent(e) => {
459-
f.debug_tuple("TriggerData::CosmosContractEvent").field(e).finish()
506+
f.debug_tuple("TriggerData::CosmosContractEvent")
507+
.field(e)
508+
.finish()
509+
}
510+
TriggerData::Raw(e) => {
511+
f.debug_tuple("TriggerData::Raw").field(e).finish()
460512
}
461-
TriggerData::Raw(e) => f.debug_tuple("TriggerData::Raw").field(e).finish(),
462513
}
463514
}
464515
}
@@ -468,7 +519,10 @@ pub mod wavs {
468519
pub data: TriggerData,
469520
}
470521
impl ::core::fmt::Debug for TriggerAction {
471-
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
522+
fn fmt(
523+
&self,
524+
f: &mut ::core::fmt::Formatter<'_>,
525+
) -> ::core::fmt::Result {
472526
f.debug_struct("TriggerAction")
473527
.field("config", &self.config)
474528
.field("data", &self.data)
@@ -484,7 +538,10 @@ pub mod wavs {
484538
Trace,
485539
}
486540
impl ::core::fmt::Debug for LogLevel {
487-
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
541+
fn fmt(
542+
&self,
543+
f: &mut ::core::fmt::Formatter<'_>,
544+
) -> ::core::fmt::Result {
488545
match self {
489546
LogLevel::Error => f.debug_tuple("LogLevel::Error").finish(),
490547
LogLevel::Warn => f.debug_tuple("LogLevel::Warn").finish(),
@@ -547,8 +604,11 @@ pub mod host {
547604
let l7 = *ptr1.add(16).cast::<*mut u8>();
548605
let l8 = *ptr1.add(20).cast::<usize>();
549606
let len9 = l8;
550-
let bytes9 =
551-
_rt::Vec::from_raw_parts(l7.cast(), len9, len9);
607+
let bytes9 = _rt::Vec::from_raw_parts(
608+
l7.cast(),
609+
len9,
610+
len9,
611+
);
552612
_rt::string_lift(bytes9)
553613
};
554614
Some(e)
@@ -562,8 +622,11 @@ pub mod host {
562622
let l11 = *ptr1.add(28).cast::<*mut u8>();
563623
let l12 = *ptr1.add(32).cast::<usize>();
564624
let len13 = l12;
565-
let bytes13 =
566-
_rt::Vec::from_raw_parts(l11.cast(), len13, len13);
625+
let bytes13 = _rt::Vec::from_raw_parts(
626+
l11.cast(),
627+
len13,
628+
len13,
629+
);
567630
_rt::string_lift(bytes13)
568631
};
569632
Some(e)
@@ -629,8 +692,11 @@ pub mod host {
629692
let l7 = *ptr1.add(16).cast::<*mut u8>();
630693
let l8 = *ptr1.add(20).cast::<usize>();
631694
let len9 = l8;
632-
let bytes9 =
633-
_rt::Vec::from_raw_parts(l7.cast(), len9, len9);
695+
let bytes9 = _rt::Vec::from_raw_parts(
696+
l7.cast(),
697+
len9,
698+
len9,
699+
);
634700
_rt::string_lift(bytes9)
635701
};
636702
Some(e)
@@ -644,8 +710,11 @@ pub mod host {
644710
let l11 = *ptr1.add(28).cast::<*mut u8>();
645711
let l12 = *ptr1.add(32).cast::<usize>();
646712
let len13 = l12;
647-
let bytes13 =
648-
_rt::Vec::from_raw_parts(l11.cast(), len13, len13);
713+
let bytes13 = _rt::Vec::from_raw_parts(
714+
l11.cast(),
715+
len13,
716+
len13,
717+
);
649718
_rt::string_lift(bytes13)
650719
};
651720
Some(e)
@@ -659,8 +728,11 @@ pub mod host {
659728
let l15 = *ptr1.add(40).cast::<*mut u8>();
660729
let l16 = *ptr1.add(44).cast::<usize>();
661730
let len17 = l16;
662-
let bytes17 =
663-
_rt::Vec::from_raw_parts(l15.cast(), len17, len17);
731+
let bytes17 = _rt::Vec::from_raw_parts(
732+
l15.cast(),
733+
len17,
734+
len17,
735+
);
664736
_rt::string_lift(bytes17)
665737
};
666738
Some(e)

components/eth-trigger-weather/src/lib.rs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ use wstd::{
1111

1212
struct Component;
1313

14+
const API_KEY_KEY: &str = "WAVS_ENV_OPEN_WEATHER_API_KEY";
15+
1416
impl Guest for Component {
1517
fn run(trigger_action: TriggerAction) -> std::result::Result<Vec<u8>, String> {
1618
let (trigger_id, req) =
@@ -24,8 +26,12 @@ impl Guest for Component {
2426
println!("input: {}", input);
2527

2628
// open weather API, not wavs specific
27-
let api_key = std::env::var("WAVS_ENV_OPEN_WEATHER_API_KEY")
28-
.or(Err("missing env var `WAVS_ENV_OPEN_WEATHER_API_KEY`".to_string()))?;
29+
let api_key = std::env::var(API_KEY_KEY)
30+
.or(Err(format!("missing env var `{}`", API_KEY_KEY)))?;
31+
32+
if api_key.chars().all(|c| c == '0') {
33+
return Err(format!("missing env var `{}`, it is set as the default placeholder in .env (all 0s)", API_KEY_KEY));
34+
}
2935

3036
let res = block_on(async move {
3137
let loc: Result<LocDataNested, String> = get_location(api_key.clone(), input).await;

0 commit comments

Comments
 (0)