@@ -43,6 +43,8 @@ type Metadata struct {
4343 AsMetadataV11 MetadataV11
4444 IsMetadataV12 bool
4545 AsMetadataV12 MetadataV12
46+ IsMetadataV13 bool
47+ AsMetadataV13 MetadataV13
4648}
4749
4850func NewMetadataV4 () * Metadata {
@@ -81,6 +83,14 @@ func NewMetadataV12() *Metadata {
8183 }
8284}
8385
86+ func NewMetadataV13 () * Metadata {
87+ return & Metadata {
88+ Version : 13 ,
89+ IsMetadataV13 : true ,
90+ AsMetadataV13 : MetadataV13 {Modules : make ([]ModuleMetadataV13 , 0 )},
91+ }
92+ }
93+
8494func (m * Metadata ) Decode (decoder scale.Decoder ) error {
8595 err := decoder .Decode (& m .MagicNumber )
8696 if err != nil {
@@ -117,6 +127,9 @@ func (m *Metadata) Decode(decoder scale.Decoder) error {
117127 case 12 :
118128 m .IsMetadataV12 = true
119129 err = decoder .Decode (& m .AsMetadataV12 )
130+ case 13 :
131+ m .IsMetadataV13 = true
132+ err = decoder .Decode (& m .AsMetadataV13 )
120133 default :
121134 return fmt .Errorf ("unsupported metadata version %v" , m .Version )
122135 }
@@ -150,13 +163,40 @@ func (m Metadata) Encode(encoder scale.Encoder) error {
150163 err = encoder .Encode (m .AsMetadataV11 )
151164 case 12 :
152165 err = encoder .Encode (m .AsMetadataV12 )
166+ case 13 :
167+ err = encoder .Encode (m .AsMetadataV13 )
153168 default :
154169 return fmt .Errorf ("unsupported metadata version %v" , m .Version )
155170 }
156171
157172 return err
158173}
159174
175+ func (m * Metadata ) FindConstantValue (module string , constantName string ) ([]byte , error ) {
176+ txtModule := Text (module )
177+ txtConstantName := Text (constantName )
178+ switch {
179+ case m .IsMetadataV4 :
180+ return m .AsMetadataV4 .FindConstantValue (txtModule , txtConstantName )
181+ case m .IsMetadataV7 :
182+ return m .AsMetadataV7 .FindConstantValue (txtModule , txtConstantName )
183+ case m .IsMetadataV8 :
184+ return m .AsMetadataV8 .FindConstantValue (txtModule , txtConstantName )
185+ case m .IsMetadataV9 :
186+ return m .AsMetadataV9 .FindConstantValue (txtModule , txtConstantName )
187+ case m .IsMetadataV10 :
188+ return m .AsMetadataV10 .FindConstantValue (txtModule , txtConstantName )
189+ case m .IsMetadataV11 :
190+ return m .AsMetadataV11 .FindConstantValue (txtModule , txtConstantName )
191+ case m .IsMetadataV12 :
192+ return m .AsMetadataV12 .FindConstantValue (txtModule , txtConstantName )
193+ case m .IsMetadataV13 :
194+ return m .AsMetadataV13 .FindConstantValue (txtModule , txtConstantName )
195+ default :
196+ return nil , fmt .Errorf ("unsupported metadata version" )
197+ }
198+ }
199+
160200func (m * Metadata ) FindCallIndex (call string ) (CallIndex , error ) {
161201 switch {
162202 case m .IsMetadataV4 :
@@ -173,6 +213,8 @@ func (m *Metadata) FindCallIndex(call string) (CallIndex, error) {
173213 return m .AsMetadataV11 .FindCallIndex (call )
174214 case m .IsMetadataV12 :
175215 return m .AsMetadataV12 .FindCallIndex (call )
216+ case m .IsMetadataV13 :
217+ return m .AsMetadataV13 .FindCallIndex (call )
176218 default :
177219 return CallIndex {}, fmt .Errorf ("unsupported metadata version" )
178220 }
@@ -194,6 +236,8 @@ func (m *Metadata) FindEventNamesForEventID(eventID EventID) (Text, Text, error)
194236 return m .AsMetadataV11 .FindEventNamesForEventID (eventID )
195237 case m .IsMetadataV12 :
196238 return m .AsMetadataV12 .FindEventNamesForEventID (eventID )
239+ case m .IsMetadataV13 :
240+ return m .AsMetadataV13 .FindEventNamesForEventID (eventID )
197241 default :
198242 return "" , "" , fmt .Errorf ("unsupported metadata version" )
199243 }
@@ -215,6 +259,8 @@ func (m *Metadata) FindStorageEntryMetadata(module string, fn string) (StorageEn
215259 return m .AsMetadataV11 .FindStorageEntryMetadata (module , fn )
216260 case m .IsMetadataV12 :
217261 return m .AsMetadataV12 .FindStorageEntryMetadata (module , fn )
262+ case m .IsMetadataV13 :
263+ return m .AsMetadataV13 .FindStorageEntryMetadata (module , fn )
218264 default :
219265 return nil , fmt .Errorf ("unsupported metadata version" )
220266 }
@@ -236,6 +282,8 @@ func (m *Metadata) ExistsModuleMetadata(module string) bool {
236282 return m .AsMetadataV11 .ExistsModuleMetadata (module )
237283 case m .IsMetadataV12 :
238284 return m .AsMetadataV12 .ExistsModuleMetadata (module )
285+ case m .IsMetadataV13 :
286+ return m .AsMetadataV13 .ExistsModuleMetadata (module )
239287 default :
240288 return false
241289 }
0 commit comments