-
Notifications
You must be signed in to change notification settings - Fork 2
/
convert.go
37 lines (35 loc) · 1.04 KB
/
convert.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package stafi_decoder
import "strings"
func ConvertType(name string, option ...interface{}) string {
defer func() {
if len(option) == 0 {
RuntimeCodecType = append(RuntimeCodecType, name)
}
}()
name = strings.TrimSpace(name)
name = strings.ReplaceAll(name, "T::", "")
name = strings.ReplaceAll(name, "VecDeque<", "Vec<")
name = strings.ReplaceAll(name, "<T>", "")
name = strings.ReplaceAll(name, "<T as Trait>::", "")
name = strings.ReplaceAll(name, "<T, I>", "")
name = strings.ReplaceAll(name, "\n", " ")
switch name {
case "()", "<InherentOfflineReport as InherentOfflineReport>::Inherent":
name = "Null"
case "Vec<u8>":
name = "Bytes"
case "<Lookup as StaticLookup>::Source":
name = "Address"
case "<Balance as HasCompact>::Type":
name = "Compact<Balance>"
case "<BlockNumber as HasCompact>::Type":
name = "Compact<BlockNumber>"
case "<Moment as HasCompact>::Type":
name = "Compact<Moment>"
case "<T as Trait<I>>::Proposal":
name = "Proposal"
case "wasm::PrefabWasmModule":
name = "PrefabWasmModule"
}
return name
}