@@ -661,6 +661,8 @@ mod state {
661661 pub struct ChainExtension ;
662662 /// Type state for the max number of topics specified in the environment.
663663 pub struct MaxEventTopics ;
664+ /// Type state for the size of the static buffer configured via environment variable.`
665+ pub struct BufferSize ;
664666}
665667
666668impl < F > MessageSpec < F >
@@ -1551,6 +1553,7 @@ where
15511553 block_number : TypeSpec < F > ,
15521554 chain_extension : TypeSpec < F > ,
15531555 max_event_topics : usize ,
1556+ static_buffer_size : usize ,
15541557}
15551558
15561559impl < F > Default for EnvironmentSpec < F >
@@ -1567,6 +1570,7 @@ where
15671570 block_number : Default :: default ( ) ,
15681571 chain_extension : Default :: default ( ) ,
15691572 max_event_topics : Default :: default ( ) ,
1573+ static_buffer_size : Default :: default ( ) ,
15701574 }
15711575 }
15721576}
@@ -1583,6 +1587,7 @@ impl IntoPortable for EnvironmentSpec {
15831587 block_number : self . block_number . into_portable ( registry) ,
15841588 chain_extension : self . chain_extension . into_portable ( registry) ,
15851589 max_event_topics : self . max_event_topics ,
1590+ static_buffer_size : self . static_buffer_size ,
15861591 }
15871592 }
15881593}
@@ -1638,6 +1643,7 @@ where
16381643 Missing < state:: BlockNumber > ,
16391644 Missing < state:: ChainExtension > ,
16401645 Missing < state:: MaxEventTopics > ,
1646+ Missing < state:: BufferSize > ,
16411647 > {
16421648 EnvironmentSpecBuilder {
16431649 spec : Default :: default ( ) ,
@@ -1649,18 +1655,18 @@ where
16491655/// An environment specification builder.
16501656#[ allow( clippy:: type_complexity) ]
16511657#[ must_use]
1652- pub struct EnvironmentSpecBuilder < F , A , B , H , T , BN , C , M >
1658+ pub struct EnvironmentSpecBuilder < F , A , B , H , T , BN , C , M , BS >
16531659where
16541660 F : Form ,
16551661 TypeSpec < F > : Default ,
16561662 EnvironmentSpec < F > : Default ,
16571663{
16581664 spec : EnvironmentSpec < F > ,
1659- marker : PhantomData < fn ( ) -> ( A , B , H , T , BN , C , M ) > ,
1665+ marker : PhantomData < fn ( ) -> ( A , B , H , T , BN , C , M , BS ) > ,
16601666}
16611667
1662- impl < F , B , H , T , BN , C , M >
1663- EnvironmentSpecBuilder < F , Missing < state:: AccountId > , B , H , T , BN , C , M >
1668+ impl < F , B , H , T , BN , C , M , BS >
1669+ EnvironmentSpecBuilder < F , Missing < state:: AccountId > , B , H , T , BN , C , M , BS >
16641670where
16651671 F : Form ,
16661672 TypeSpec < F > : Default ,
@@ -1670,7 +1676,7 @@ where
16701676 pub fn account_id (
16711677 self ,
16721678 account_id : TypeSpec < F > ,
1673- ) -> EnvironmentSpecBuilder < F , state:: AccountId , B , H , T , BN , C , M > {
1679+ ) -> EnvironmentSpecBuilder < F , state:: AccountId , B , H , T , BN , C , M , BS > {
16741680 EnvironmentSpecBuilder {
16751681 spec : EnvironmentSpec {
16761682 account_id,
@@ -1681,8 +1687,8 @@ where
16811687 }
16821688}
16831689
1684- impl < F , A , H , T , BN , C , M >
1685- EnvironmentSpecBuilder < F , A , Missing < state:: Balance > , H , T , BN , C , M >
1690+ impl < F , A , H , T , BN , C , M , BS >
1691+ EnvironmentSpecBuilder < F , A , Missing < state:: Balance > , H , T , BN , C , M , BS >
16861692where
16871693 F : Form ,
16881694 TypeSpec < F > : Default ,
@@ -1692,7 +1698,7 @@ where
16921698 pub fn balance (
16931699 self ,
16941700 balance : TypeSpec < F > ,
1695- ) -> EnvironmentSpecBuilder < F , A , state:: Balance , H , T , BN , C , M > {
1701+ ) -> EnvironmentSpecBuilder < F , A , state:: Balance , H , T , BN , C , M , BS > {
16961702 EnvironmentSpecBuilder {
16971703 spec : EnvironmentSpec {
16981704 balance,
@@ -1703,8 +1709,8 @@ where
17031709 }
17041710}
17051711
1706- impl < F , A , B , T , BN , C , M >
1707- EnvironmentSpecBuilder < F , A , B , Missing < state:: Hash > , T , BN , C , M >
1712+ impl < F , A , B , T , BN , C , M , BS >
1713+ EnvironmentSpecBuilder < F , A , B , Missing < state:: Hash > , T , BN , C , M , BS >
17081714where
17091715 F : Form ,
17101716 TypeSpec < F > : Default ,
@@ -1714,16 +1720,16 @@ where
17141720 pub fn hash (
17151721 self ,
17161722 hash : TypeSpec < F > ,
1717- ) -> EnvironmentSpecBuilder < F , A , B , state:: Hash , T , BN , C , M > {
1723+ ) -> EnvironmentSpecBuilder < F , A , B , state:: Hash , T , BN , C , M , BS > {
17181724 EnvironmentSpecBuilder {
17191725 spec : EnvironmentSpec { hash, ..self . spec } ,
17201726 marker : PhantomData ,
17211727 }
17221728 }
17231729}
17241730
1725- impl < F , A , B , H , BN , C , M >
1726- EnvironmentSpecBuilder < F , A , B , H , Missing < state:: Timestamp > , BN , C , M >
1731+ impl < F , A , B , H , BN , C , M , BS >
1732+ EnvironmentSpecBuilder < F , A , B , H , Missing < state:: Timestamp > , BN , C , M , BS >
17271733where
17281734 F : Form ,
17291735 TypeSpec < F > : Default ,
@@ -1733,7 +1739,7 @@ where
17331739 pub fn timestamp (
17341740 self ,
17351741 timestamp : TypeSpec < F > ,
1736- ) -> EnvironmentSpecBuilder < F , A , B , H , state:: Timestamp , BN , C , M > {
1742+ ) -> EnvironmentSpecBuilder < F , A , B , H , state:: Timestamp , BN , C , M , BS > {
17371743 EnvironmentSpecBuilder {
17381744 spec : EnvironmentSpec {
17391745 timestamp,
@@ -1744,8 +1750,8 @@ where
17441750 }
17451751}
17461752
1747- impl < F , A , B , H , T , C , M >
1748- EnvironmentSpecBuilder < F , A , B , H , T , Missing < state:: BlockNumber > , C , M >
1753+ impl < F , A , B , H , T , C , M , BS >
1754+ EnvironmentSpecBuilder < F , A , B , H , T , Missing < state:: BlockNumber > , C , M , BS >
17491755where
17501756 F : Form ,
17511757 TypeSpec < F > : Default ,
@@ -1755,7 +1761,7 @@ where
17551761 pub fn block_number (
17561762 self ,
17571763 block_number : TypeSpec < F > ,
1758- ) -> EnvironmentSpecBuilder < F , A , B , H , T , state:: BlockNumber , C , M > {
1764+ ) -> EnvironmentSpecBuilder < F , A , B , H , T , state:: BlockNumber , C , M , BS > {
17591765 EnvironmentSpecBuilder {
17601766 spec : EnvironmentSpec {
17611767 block_number,
@@ -1766,8 +1772,8 @@ where
17661772 }
17671773}
17681774
1769- impl < F , A , B , H , T , BN , M >
1770- EnvironmentSpecBuilder < F , A , B , H , T , BN , Missing < state:: ChainExtension > , M >
1775+ impl < F , A , B , H , T , BN , M , BS >
1776+ EnvironmentSpecBuilder < F , A , B , H , T , BN , Missing < state:: ChainExtension > , M , BS >
17711777where
17721778 F : Form ,
17731779 TypeSpec < F > : Default ,
@@ -1777,7 +1783,7 @@ where
17771783 pub fn chain_extension (
17781784 self ,
17791785 chain_extension : TypeSpec < F > ,
1780- ) -> EnvironmentSpecBuilder < F , A , B , H , T , BN , state:: ChainExtension , M > {
1786+ ) -> EnvironmentSpecBuilder < F , A , B , H , T , BN , state:: ChainExtension , M , BS > {
17811787 EnvironmentSpecBuilder {
17821788 spec : EnvironmentSpec {
17831789 chain_extension,
@@ -1788,8 +1794,8 @@ where
17881794 }
17891795}
17901796
1791- impl < F , A , B , H , T , BN , C >
1792- EnvironmentSpecBuilder < F , A , B , H , T , BN , C , Missing < state:: MaxEventTopics > >
1797+ impl < F , A , B , H , T , BN , C , BS >
1798+ EnvironmentSpecBuilder < F , A , B , H , T , BN , C , Missing < state:: MaxEventTopics > , BS >
17931799where
17941800 F : Form ,
17951801 TypeSpec < F > : Default ,
@@ -1799,7 +1805,7 @@ where
17991805 pub fn max_event_topics (
18001806 self ,
18011807 max_event_topics : usize ,
1802- ) -> EnvironmentSpecBuilder < F , A , B , H , T , BN , C , state:: MaxEventTopics > {
1808+ ) -> EnvironmentSpecBuilder < F , A , B , H , T , BN , C , state:: MaxEventTopics , BS > {
18031809 EnvironmentSpecBuilder {
18041810 spec : EnvironmentSpec {
18051811 max_event_topics,
@@ -1810,6 +1816,28 @@ where
18101816 }
18111817}
18121818
1819+ impl < F , A , B , H , T , BN , C , M >
1820+ EnvironmentSpecBuilder < F , A , B , H , T , BN , C , M , Missing < state:: BufferSize > >
1821+ where
1822+ F : Form ,
1823+ TypeSpec < F > : Default ,
1824+ EnvironmentSpec < F > : Default ,
1825+ {
1826+ /// Sets the size of the static buffer configured via environment variable.`
1827+ pub fn static_buffer_size (
1828+ self ,
1829+ static_buffer_size : usize ,
1830+ ) -> EnvironmentSpecBuilder < F , A , B , H , T , BN , C , M , state:: BufferSize > {
1831+ EnvironmentSpecBuilder {
1832+ spec : EnvironmentSpec {
1833+ static_buffer_size,
1834+ ..self . spec
1835+ } ,
1836+ marker : PhantomData ,
1837+ }
1838+ }
1839+ }
1840+
18131841impl < F >
18141842 EnvironmentSpecBuilder <
18151843 F ,
@@ -1820,6 +1848,7 @@ impl<F>
18201848 state:: BlockNumber ,
18211849 state:: ChainExtension ,
18221850 state:: MaxEventTopics ,
1851+ state:: BufferSize ,
18231852 >
18241853where
18251854 F : Form ,
0 commit comments