Skip to content

Commit ded4b0f

Browse files
committed
feat: add bridge precompile registry module
Register bridge precompile in the modules registerer and add bridge.go registry implementation.
1 parent 98e0d83 commit ded4b0f

2 files changed

Lines changed: 451 additions & 0 deletions

File tree

precompile/modules/registerer.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,17 @@ func RegisterModule(stm Module) error {
6868
return fmt.Errorf("address %s not in a reserved range", address)
6969
}
7070

71+
return registerModuleInternal(stm, address, key)
72+
}
73+
74+
// RegisterBridgedModule registers a module bridged from the external precompile
75+
// registry. It skips the reserved address range check because external precompiles
76+
// use their own address scheme (LP-aligned, burn addresses, etc.).
77+
func RegisterBridgedModule(stm Module) error {
78+
return registerModuleInternal(stm, stm.Address, stm.ConfigKey)
79+
}
80+
81+
func registerModuleInternal(stm Module, address common.Address, key string) error {
7182
for _, registeredModule := range registeredModules {
7283
if registeredModule.ConfigKey == key {
7384
return fmt.Errorf("name %s already used by a stateful precompile", key)

0 commit comments

Comments
 (0)