Skip to content

Commit ad638b7

Browse files
xJonathanLEIincrypto32
authored andcommitted
feat(starknet): rename block_handlers to block_handler
Currently, an array of block handlers is allowed, but only the first one is actually used. This can easily cause confusion for end users. While this is technically a breaking change, it should be fine as the support for Starknet isn't official yet.
1 parent 6789557 commit ad638b7

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

chain/starknet/src/data_source.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ pub struct DataSource {
3030

3131
#[derive(Clone)]
3232
pub struct Mapping {
33-
pub block_handlers: Vec<MappingBlockHandler>,
33+
pub block_handler: Option<MappingBlockHandler>,
3434
pub event_handlers: Vec<MappingEventHandler>,
3535
pub runtime: Arc<Vec<u8>>,
3636
}
@@ -57,7 +57,7 @@ pub struct Source {
5757
#[serde(rename_all = "camelCase")]
5858
pub struct UnresolvedMapping {
5959
#[serde(default)]
60-
pub block_handlers: Vec<MappingBlockHandler>,
60+
pub block_handler: Option<MappingBlockHandler>,
6161
#[serde(default)]
6262
pub event_handlers: Vec<UnresolvedMappingEventHandler>,
6363
pub file: Link,
@@ -107,12 +107,12 @@ impl blockchain::DataSource<Chain> for DataSource {
107107
let mut kinds = HashSet::new();
108108

109109
let Mapping {
110-
block_handlers,
110+
block_handler,
111111
event_handlers,
112112
..
113113
} = &self.mapping;
114114

115-
if !block_handlers.is_empty() {
115+
if block_handler.is_some() {
116116
kinds.insert(BLOCK_HANDLER_KIND);
117117
}
118118
if !event_handlers.is_empty() {
@@ -133,7 +133,7 @@ impl blockchain::DataSource<Chain> for DataSource {
133133
}
134134

135135
let handler = match trigger {
136-
StarknetTrigger::Block(_) => match self.mapping.block_handlers.first() {
136+
StarknetTrigger::Block(_) => match &self.mapping.block_handler {
137137
Some(handler) => handler.handler.clone(),
138138
None => return Ok(None),
139139
},
@@ -184,7 +184,7 @@ impl blockchain::DataSource<Chain> for DataSource {
184184
&& name == &other.name
185185
&& source == &other.source
186186
&& mapping.event_handlers == other.mapping.event_handlers
187-
&& mapping.block_handlers == other.mapping.block_handlers
187+
&& mapping.block_handler == other.mapping.block_handler
188188
}
189189

190190
fn as_stored_dynamic_data_source(&self) -> StoredDynamicDataSource {
@@ -259,7 +259,7 @@ impl blockchain::UnresolvedDataSource<Chain> for UnresolvedDataSource {
259259
name: self.name,
260260
source: self.source,
261261
mapping: Mapping {
262-
block_handlers: self.mapping.block_handlers,
262+
block_handler: self.mapping.block_handler,
263263
event_handlers: self
264264
.mapping
265265
.event_handlers

0 commit comments

Comments
 (0)