Skip to content
GitLab
Explore
Projects
Groups
Snippets
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Register
Sign in
Toggle navigation
Menu
Open sidebar
Tiger Ton
osmosis
Commits
9127ab60
Commit
9127ab60
authored
2 years ago
by
Nicolas Lara
Browse files
Options
Download
Email Patches
Plain Diff
added rate limiting to the upgrades handler
parent
618911e9
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
app/upgrades/v13/upgrades.go
+51
-0
app/upgrades/v13/upgrades.go
with
51 additions
and
0 deletions
+51
-0
app/upgrades/v13/upgrades.go
+
51
-
0
View file @
9127ab60
package
v13
import
(
"fmt"
wasmkeeper
"github.com/CosmWasm/wasmd/x/wasm/keeper"
wasmtypes
"github.com/CosmWasm/wasmd/x/wasm/types"
sdk
"github.com/cosmos/cosmos-sdk/types"
sdkerrors
"github.com/cosmos/cosmos-sdk/types/errors"
"github.com/cosmos/cosmos-sdk/types/module"
govtypes
"github.com/cosmos/cosmos-sdk/x/gov/types"
upgradetypes
"github.com/cosmos/cosmos-sdk/x/upgrade/types"
transfertypes
"github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
"github.com/osmosis-labs/osmosis/v12/app/keepers"
"github.com/osmosis-labs/osmosis/v12/app/upgrades"
ratelimittypes
"github.com/osmosis-labs/osmosis/v12/x/ibc-rate-limit/types"
lockuptypes
"github.com/osmosis-labs/osmosis/v12/x/lockup/types"
)
func
setupRateLimiting
(
ctx
sdk
.
Context
,
keepers
*
keepers
.
AppKeepers
)
error
{
govModule
:=
keepers
.
AccountKeeper
.
GetModuleAddress
(
govtypes
.
ModuleName
)
code
:=
[]
byte
{}
// ToDo: read the code
contractKeeper
:=
wasmkeeper
.
NewDefaultPermissionKeeper
(
keepers
.
WasmKeeper
)
instantiateConfig
:=
wasmtypes
.
AccessConfig
{
Permission
:
wasmtypes
.
AccessTypeOnlyAddress
,
Address
:
govModule
.
String
()}
codeID
,
err
:=
contractKeeper
.
Create
(
ctx
,
govModule
,
code
,
&
instantiateConfig
)
if
err
!=
nil
{
return
err
}
transferModule
:=
keepers
.
AccountKeeper
.
GetModuleAddress
(
transfertypes
.
ModuleName
)
// ToDo: Configure quotas
// quotas := fmt.Sprintf(`
// {"channel_id": "channel-0", "denom": "%s", "quotas": [{"name":"%s", "duration": %d, "send_recv":[%d, %d]}] }
//`, sdk.DefaultBondDenom, name, duration, send_precentage, recv_percentage)
quotas
:=
"{}"
initMsgBz
:=
[]
byte
(
fmt
.
Sprintf
(
`{
"gov_module": "%s",
"ibc_module":"%s",
"paths": [%s]
}`
,
govModule
,
transferModule
,
quotas
))
addr
,
_
,
err
:=
contractKeeper
.
Instantiate
(
ctx
,
codeID
,
govModule
,
govModule
,
initMsgBz
,
"rate limiting contract"
,
nil
)
if
err
!=
nil
{
return
err
}
addrStr
,
err
:=
sdk
.
Bech32ifyAddressBytes
(
"osmo"
,
addr
)
params
,
err
:=
ratelimittypes
.
NewParams
(
addrStr
)
paramSpace
,
ok
:=
keepers
.
ParamsKeeper
.
GetSubspace
(
ratelimittypes
.
ModuleName
)
if
!
ok
{
return
sdkerrors
.
New
(
"rate-limiting-upgrades"
,
2
,
"can't create paramspace"
)
}
paramSpace
.
SetParamSet
(
ctx
,
&
params
)
return
nil
}
func
CreateUpgradeHandler
(
mm
*
module
.
Manager
,
configurator
module
.
Configurator
,
...
...
@@ -18,6 +66,9 @@ func CreateUpgradeHandler(
)
upgradetypes
.
UpgradeHandler
{
return
func
(
ctx
sdk
.
Context
,
plan
upgradetypes
.
Plan
,
fromVM
module
.
VersionMap
)
(
module
.
VersionMap
,
error
)
{
keepers
.
LockupKeeper
.
SetParams
(
ctx
,
lockuptypes
.
DefaultParams
())
setupRateLimiting
(
ctx
,
keepers
)
return
mm
.
RunMigrations
(
ctx
,
configurator
,
fromVM
)
}
}
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Explore
Projects
Groups
Snippets