Compare commits
3 Commits
zach/prefi
...
main
Author | SHA1 | Date | |
---|---|---|---|
81c0402803 | |||
322d6f188b | |||
1ea6d6b647 |
@ -8,7 +8,6 @@ linters:
|
||||
- bodyclose
|
||||
# - depguard # 20231120 disable until https://github.com/golangci/golangci-lint/issues/3906 is released
|
||||
- dogsled
|
||||
- dupl
|
||||
- errcheck
|
||||
- goconst
|
||||
- gocritic
|
||||
|
2
Makefile
2
Makefile
@ -337,7 +337,7 @@ test-import:
|
||||
go test -run TestImporterTestSuite -timeout=20m -v --vet=off github.com/cerc-io/laconicd/tests/importer
|
||||
|
||||
test-rpc:
|
||||
./scripts/integration-test-all.sh -t "rpc" -q 1 -z 1 -s 2 -m "rpc" -r "true"
|
||||
./scripts/integration-test-all.sh -t "rpc" -q 1 -z 1 -s 10 -m "rpc" -r "true"
|
||||
|
||||
run-integration-tests:
|
||||
@nix-shell ./tests/integration_tests/shell.nix --run ./scripts/run-integration-tests.sh
|
||||
|
11
init.sh
11
init.sh
@ -100,6 +100,17 @@ if [ "$1" == "clean" ] || [ ! -d "$HOME/.laconicd/data/blockstore.db" ]; then
|
||||
$HOME/.laconicd/config/config.toml
|
||||
fi
|
||||
|
||||
# Enable telemetry (prometheus metrics: http://localhost:1317/metrics?format=prometheus)
|
||||
if [[ "$OSTYPE" == "darwin"* ]]; then
|
||||
sed -i '' 's/enabled = false/enabled = true/g' $HOME/.laconicd/config/app.toml
|
||||
sed -i '' 's/prometheus-retention-time = 0/prometheus-retention-time = 60/g' $HOME/.laconicd/config/app.toml
|
||||
sed -i '' 's/prometheus = false/prometheus = true/g' $HOME/.laconicd/config/config.toml
|
||||
else
|
||||
sed -i 's/enabled = false/enabled = true/g' $HOME/.laconicd/config/app.toml
|
||||
sed -i 's/prometheus-retention-time = 0/prometheus-retention-time = 60/g' $HOME/.laconicd/config/app.toml
|
||||
sed -i 's/prometheus = false/prometheus = true/g' $HOME/.laconicd/config/config.toml
|
||||
fi
|
||||
|
||||
# Allocate genesis accounts (cosmos formatted addresses)
|
||||
laconicd add-genesis-account $KEY 100000000000000000000000000aphoton --keyring-backend $KEYRING
|
||||
|
||||
|
@ -94,11 +94,10 @@ func (s *websocketsServer) Start() {
|
||||
|
||||
go func() {
|
||||
var err error
|
||||
/* #nosec G114 -- http functions have no support for timeouts */
|
||||
if s.certFile == "" || s.keyFile == "" {
|
||||
err = http.ListenAndServe(s.wsAddr, ws)
|
||||
err = http.ListenAndServe(s.wsAddr, ws) /* #nosec G114 -- http functions have no support for timeouts */
|
||||
} else {
|
||||
err = http.ListenAndServeTLS(s.wsAddr, s.certFile, s.keyFile, ws)
|
||||
err = http.ListenAndServeTLS(s.wsAddr, s.certFile, s.keyFile, ws) // #nosec G114
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
|
@ -13,7 +13,7 @@
|
||||
##
|
||||
## Example:
|
||||
##
|
||||
## ❯ scripts/create-and-fund-account.sh 1000000000
|
||||
## $ scripts/create-and-fund-account.sh 1000000000
|
||||
## {
|
||||
## "name": "68334d7175fd4f86befa4902657e5270",
|
||||
## "type": "local",
|
||||
|
20
utils/context.go
Normal file
20
utils/context.go
Normal file
@ -0,0 +1,20 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
storetypes "github.com/cosmos/cosmos-sdk/store/types"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
)
|
||||
|
||||
func CtxWithCustomKVGasConfig(ctx *sdk.Context) *sdk.Context {
|
||||
updatedCtx := ctx.WithKVGasConfig(storetypes.GasConfig{
|
||||
HasCost: 0,
|
||||
DeleteCost: 0,
|
||||
ReadCostFlat: 0,
|
||||
ReadCostPerByte: 0,
|
||||
WriteCostFlat: 0,
|
||||
WriteCostPerByte: 0,
|
||||
IterNextCostFlat: 0,
|
||||
})
|
||||
|
||||
return &updatedCtx
|
||||
}
|
@ -15,6 +15,7 @@ import (
|
||||
auth "github.com/cosmos/cosmos-sdk/x/auth/keeper"
|
||||
bank "github.com/cosmos/cosmos-sdk/x/bank/keeper"
|
||||
params "github.com/cosmos/cosmos-sdk/x/params/types"
|
||||
"github.com/tendermint/tendermint/libs/log"
|
||||
|
||||
wnsUtils "github.com/cerc-io/laconicd/utils"
|
||||
)
|
||||
@ -78,6 +79,11 @@ func NewKeeper(accountKeeper auth.AccountKeeper,
|
||||
}
|
||||
}
|
||||
|
||||
// Logger returns a module-specific logger.
|
||||
func (k Keeper) Logger(ctx sdk.Context) log.Logger {
|
||||
return ctx.Logger().With("module", types.ModuleName)
|
||||
}
|
||||
|
||||
func (k *Keeper) SetUsageKeepers(usageKeepers []types.AuctionUsageKeeper) {
|
||||
k.usageKeepers = usageKeepers
|
||||
}
|
||||
|
@ -2,9 +2,11 @@ package keeper
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
|
||||
"github.com/cerc-io/laconicd/utils"
|
||||
"github.com/cerc-io/laconicd/x/auction/types"
|
||||
)
|
||||
|
||||
@ -20,6 +22,7 @@ var _ types.MsgServer = msgServer{}
|
||||
|
||||
func (s msgServer) CreateAuction(c context.Context, msg *types.MsgCreateAuction) (*types.MsgCreateAuctionResponse, error) {
|
||||
ctx := sdk.UnwrapSDKContext(c)
|
||||
ctx = *utils.CtxWithCustomKVGasConfig(&ctx)
|
||||
|
||||
signerAddress, err := sdk.AccAddressFromBech32(msg.Signer)
|
||||
if err != nil {
|
||||
@ -46,13 +49,15 @@ func (s msgServer) CreateAuction(c context.Context, msg *types.MsgCreateAuction)
|
||||
),
|
||||
})
|
||||
|
||||
s.logTxGasConsumed(ctx, "CreateAuction")
|
||||
|
||||
return &types.MsgCreateAuctionResponse{Auction: resp}, nil
|
||||
}
|
||||
|
||||
// CommitBid is the command for committing a bid
|
||||
//nolint: all
|
||||
func (s msgServer) CommitBid(c context.Context, msg *types.MsgCommitBid) (*types.MsgCommitBidResponse, error) {
|
||||
ctx := sdk.UnwrapSDKContext(c)
|
||||
ctx = *utils.CtxWithCustomKVGasConfig(&ctx)
|
||||
|
||||
signerAddress, err := sdk.AccAddressFromBech32(msg.Signer)
|
||||
if err != nil {
|
||||
@ -77,13 +82,15 @@ func (s msgServer) CommitBid(c context.Context, msg *types.MsgCommitBid) (*types
|
||||
),
|
||||
})
|
||||
|
||||
s.logTxGasConsumed(ctx, "CommitBid")
|
||||
|
||||
return &types.MsgCommitBidResponse{Bid: resp}, nil
|
||||
}
|
||||
|
||||
//RevealBid is the command for revealing a bid
|
||||
//nolint: all
|
||||
// RevealBid is the command for revealing a bid
|
||||
func (s msgServer) RevealBid(c context.Context, msg *types.MsgRevealBid) (*types.MsgRevealBidResponse, error) {
|
||||
ctx := sdk.UnwrapSDKContext(c)
|
||||
ctx = *utils.CtxWithCustomKVGasConfig(&ctx)
|
||||
|
||||
signerAddress, err := sdk.AccAddressFromBech32(msg.Signer)
|
||||
if err != nil {
|
||||
@ -108,5 +115,12 @@ func (s msgServer) RevealBid(c context.Context, msg *types.MsgRevealBid) (*types
|
||||
),
|
||||
})
|
||||
|
||||
s.logTxGasConsumed(ctx, "RevealBid")
|
||||
|
||||
return &types.MsgRevealBidResponse{Auction: resp}, nil
|
||||
}
|
||||
|
||||
func (s msgServer) logTxGasConsumed(ctx sdk.Context, tx string) {
|
||||
gasConsumed := ctx.GasMeter().GasConsumed()
|
||||
s.Keeper.Logger(ctx).Info("tx executed", "method", tx, "gas_consumed", fmt.Sprintf("%d", gasConsumed))
|
||||
}
|
||||
|
@ -14,6 +14,7 @@ import (
|
||||
auth "github.com/cosmos/cosmos-sdk/x/auth/keeper"
|
||||
bank "github.com/cosmos/cosmos-sdk/x/bank/keeper"
|
||||
paramtypes "github.com/cosmos/cosmos-sdk/x/params/types"
|
||||
"github.com/tendermint/tendermint/libs/log"
|
||||
)
|
||||
|
||||
// prefixIDToBondIndex is the prefix for ID -> Bond index in the KVStore.
|
||||
@ -62,6 +63,11 @@ func NewKeeper(cdc codec.BinaryCodec,
|
||||
}
|
||||
}
|
||||
|
||||
// Logger returns a module-specific logger.
|
||||
func (k Keeper) Logger(ctx sdk.Context) log.Logger {
|
||||
return ctx.Logger().With("module", types.ModuleName)
|
||||
}
|
||||
|
||||
// Generates Bond ID -> Bond index key.
|
||||
func getBondIndexKey(id string) []byte {
|
||||
return append(prefixIDToBondIndex, []byte(id)...)
|
||||
|
@ -2,9 +2,12 @@ package keeper
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"github.com/cerc-io/laconicd/x/bond/types"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
|
||||
"github.com/cerc-io/laconicd/utils"
|
||||
"github.com/cerc-io/laconicd/x/bond/types"
|
||||
)
|
||||
|
||||
type msgServer struct {
|
||||
@ -20,6 +23,8 @@ var _ types.MsgServer = msgServer{}
|
||||
|
||||
func (k msgServer) CreateBond(c context.Context, msg *types.MsgCreateBond) (*types.MsgCreateBondResponse, error) {
|
||||
ctx := sdk.UnwrapSDKContext(c)
|
||||
ctx = *utils.CtxWithCustomKVGasConfig(&ctx)
|
||||
|
||||
signerAddress, err := sdk.AccAddressFromBech32(msg.Signer)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -42,12 +47,15 @@ func (k msgServer) CreateBond(c context.Context, msg *types.MsgCreateBond) (*typ
|
||||
),
|
||||
})
|
||||
|
||||
k.logTxGasConsumed(ctx, "CreateBond")
|
||||
|
||||
return &types.MsgCreateBondResponse{}, nil
|
||||
}
|
||||
|
||||
//nolint: all
|
||||
func (k msgServer) RefillBond(c context.Context, msg *types.MsgRefillBond) (*types.MsgRefillBondResponse, error) {
|
||||
ctx := sdk.UnwrapSDKContext(c)
|
||||
ctx = *utils.CtxWithCustomKVGasConfig(&ctx)
|
||||
|
||||
signerAddress, err := sdk.AccAddressFromBech32(msg.Signer)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -72,12 +80,15 @@ func (k msgServer) RefillBond(c context.Context, msg *types.MsgRefillBond) (*typ
|
||||
),
|
||||
})
|
||||
|
||||
k.logTxGasConsumed(ctx, "RefillBond")
|
||||
|
||||
return &types.MsgRefillBondResponse{}, nil
|
||||
}
|
||||
|
||||
//nolint: all
|
||||
func (k msgServer) WithdrawBond(c context.Context, msg *types.MsgWithdrawBond) (*types.MsgWithdrawBondResponse, error) {
|
||||
ctx := sdk.UnwrapSDKContext(c)
|
||||
ctx = *utils.CtxWithCustomKVGasConfig(&ctx)
|
||||
|
||||
signerAddress, err := sdk.AccAddressFromBech32(msg.Signer)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -102,11 +113,15 @@ func (k msgServer) WithdrawBond(c context.Context, msg *types.MsgWithdrawBond) (
|
||||
),
|
||||
})
|
||||
|
||||
k.logTxGasConsumed(ctx, "WithdrawBond")
|
||||
|
||||
return &types.MsgWithdrawBondResponse{}, nil
|
||||
}
|
||||
|
||||
func (k msgServer) CancelBond(c context.Context, msg *types.MsgCancelBond) (*types.MsgCancelBondResponse, error) {
|
||||
ctx := sdk.UnwrapSDKContext(c)
|
||||
ctx = *utils.CtxWithCustomKVGasConfig(&ctx)
|
||||
|
||||
signerAddress, err := sdk.AccAddressFromBech32(msg.Signer)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -129,5 +144,12 @@ func (k msgServer) CancelBond(c context.Context, msg *types.MsgCancelBond) (*typ
|
||||
),
|
||||
})
|
||||
|
||||
k.logTxGasConsumed(ctx, "CancelBond")
|
||||
|
||||
return &types.MsgCancelBondResponse{}, nil
|
||||
}
|
||||
|
||||
func (k msgServer) logTxGasConsumed(ctx sdk.Context, tx string) {
|
||||
gasConsumed := ctx.GasMeter().GasConsumed()
|
||||
k.Keeper.Logger(ctx).Info("tx executed", "method", tx, "gas_consumed", fmt.Sprintf("%d", gasConsumed))
|
||||
}
|
||||
|
@ -32,11 +32,10 @@ import (
|
||||
"github.com/ethereum/go-ethereum/crypto"
|
||||
)
|
||||
|
||||
// #nosec 101
|
||||
const (
|
||||
OpWeightMsgEthSimpleTransfer = "op_weight_msg_eth_simple_transfer"
|
||||
OpWeightMsgEthCreateContract = "op_weight_msg_eth_create_contract"
|
||||
OpWeightMsgEthCallContract = "op_weight_msg_eth_call_contract"
|
||||
OpWeightMsgEthSimpleTransfer = "op_weight_msg_eth_simple_transfer" // #nosec G101
|
||||
OpWeightMsgEthCreateContract = "op_weight_msg_eth_create_contract" // #nosec G101
|
||||
OpWeightMsgEthCallContract = "op_weight_msg_eth_call_contract" // #nosec G101
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -2,9 +2,12 @@ package keeper
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"github.com/cerc-io/laconicd/x/registry/types"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
|
||||
"github.com/cerc-io/laconicd/utils"
|
||||
"github.com/cerc-io/laconicd/x/registry/types"
|
||||
)
|
||||
|
||||
type msgServer struct {
|
||||
@ -20,6 +23,8 @@ var _ types.MsgServer = msgServer{}
|
||||
|
||||
func (m msgServer) SetRecord(c context.Context, msg *types.MsgSetRecord) (*types.MsgSetRecordResponse, error) {
|
||||
ctx := sdk.UnwrapSDKContext(c)
|
||||
ctx = *utils.CtxWithCustomKVGasConfig(&ctx)
|
||||
|
||||
_, err := sdk.AccAddressFromBech32(msg.Signer)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -44,12 +49,15 @@ func (m msgServer) SetRecord(c context.Context, msg *types.MsgSetRecord) (*types
|
||||
),
|
||||
})
|
||||
|
||||
m.logTxGasConsumed(ctx, "SetRecord")
|
||||
|
||||
return &types.MsgSetRecordResponse{Id: record.ID}, nil
|
||||
}
|
||||
|
||||
//nolint: all
|
||||
func (m msgServer) SetName(c context.Context, msg *types.MsgSetName) (*types.MsgSetNameResponse, error) {
|
||||
ctx := sdk.UnwrapSDKContext(c)
|
||||
ctx = *utils.CtxWithCustomKVGasConfig(&ctx)
|
||||
|
||||
_, err := sdk.AccAddressFromBech32(msg.Signer)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -71,11 +79,16 @@ func (m msgServer) SetName(c context.Context, msg *types.MsgSetName) (*types.Msg
|
||||
sdk.NewAttribute(types.AttributeKeySigner, msg.Signer),
|
||||
),
|
||||
})
|
||||
|
||||
m.logTxGasConsumed(ctx, "SetName")
|
||||
|
||||
return &types.MsgSetNameResponse{}, nil
|
||||
}
|
||||
|
||||
func (m msgServer) ReserveName(c context.Context, msg *types.MsgReserveAuthority) (*types.MsgReserveAuthorityResponse, error) {
|
||||
ctx := sdk.UnwrapSDKContext(c)
|
||||
ctx = *utils.CtxWithCustomKVGasConfig(&ctx)
|
||||
|
||||
_, err := sdk.AccAddressFromBech32(msg.Signer)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -101,12 +114,16 @@ func (m msgServer) ReserveName(c context.Context, msg *types.MsgReserveAuthority
|
||||
sdk.NewAttribute(types.AttributeKeySigner, msg.Signer),
|
||||
),
|
||||
})
|
||||
|
||||
m.logTxGasConsumed(ctx, "ReserveName")
|
||||
|
||||
return &types.MsgReserveAuthorityResponse{}, nil
|
||||
}
|
||||
|
||||
//nolint: all
|
||||
func (m msgServer) SetAuthorityBond(c context.Context, msg *types.MsgSetAuthorityBond) (*types.MsgSetAuthorityBondResponse, error) {
|
||||
ctx := sdk.UnwrapSDKContext(c)
|
||||
ctx = *utils.CtxWithCustomKVGasConfig(&ctx)
|
||||
|
||||
_, err := sdk.AccAddressFromBech32(msg.Signer)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -128,11 +145,16 @@ func (m msgServer) SetAuthorityBond(c context.Context, msg *types.MsgSetAuthorit
|
||||
sdk.NewAttribute(types.AttributeKeySigner, msg.Signer),
|
||||
),
|
||||
})
|
||||
|
||||
m.logTxGasConsumed(ctx, "SetAuthorityBond")
|
||||
|
||||
return &types.MsgSetAuthorityBondResponse{}, nil
|
||||
}
|
||||
|
||||
func (m msgServer) DeleteName(c context.Context, msg *types.MsgDeleteNameAuthority) (*types.MsgDeleteNameAuthorityResponse, error) {
|
||||
ctx := sdk.UnwrapSDKContext(c)
|
||||
ctx = *utils.CtxWithCustomKVGasConfig(&ctx)
|
||||
|
||||
_, err := sdk.AccAddressFromBech32(msg.Signer)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -153,11 +175,16 @@ func (m msgServer) DeleteName(c context.Context, msg *types.MsgDeleteNameAuthori
|
||||
sdk.NewAttribute(types.AttributeKeySigner, msg.Signer),
|
||||
),
|
||||
})
|
||||
|
||||
m.logTxGasConsumed(ctx, "DeleteName")
|
||||
|
||||
return &types.MsgDeleteNameAuthorityResponse{}, nil
|
||||
}
|
||||
|
||||
func (m msgServer) RenewRecord(c context.Context, msg *types.MsgRenewRecord) (*types.MsgRenewRecordResponse, error) {
|
||||
ctx := sdk.UnwrapSDKContext(c)
|
||||
ctx = *utils.CtxWithCustomKVGasConfig(&ctx)
|
||||
|
||||
_, err := sdk.AccAddressFromBech32(msg.Signer)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -178,12 +205,16 @@ func (m msgServer) RenewRecord(c context.Context, msg *types.MsgRenewRecord) (*t
|
||||
sdk.NewAttribute(types.AttributeKeySigner, msg.Signer),
|
||||
),
|
||||
})
|
||||
|
||||
m.logTxGasConsumed(ctx, "RenewRecord")
|
||||
|
||||
return &types.MsgRenewRecordResponse{}, nil
|
||||
}
|
||||
|
||||
//nolint: all
|
||||
func (m msgServer) AssociateBond(c context.Context, msg *types.MsgAssociateBond) (*types.MsgAssociateBondResponse, error) {
|
||||
ctx := sdk.UnwrapSDKContext(c)
|
||||
ctx = *utils.CtxWithCustomKVGasConfig(&ctx)
|
||||
|
||||
_, err := sdk.AccAddressFromBech32(msg.Signer)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -206,11 +237,16 @@ func (m msgServer) AssociateBond(c context.Context, msg *types.MsgAssociateBond)
|
||||
sdk.NewAttribute(types.AttributeKeySigner, msg.Signer),
|
||||
),
|
||||
})
|
||||
|
||||
m.logTxGasConsumed(ctx, "AssociateBond")
|
||||
|
||||
return &types.MsgAssociateBondResponse{}, nil
|
||||
}
|
||||
|
||||
func (m msgServer) DissociateBond(c context.Context, msg *types.MsgDissociateBond) (*types.MsgDissociateBondResponse, error) {
|
||||
ctx := sdk.UnwrapSDKContext(c)
|
||||
ctx = *utils.CtxWithCustomKVGasConfig(&ctx)
|
||||
|
||||
_, err := sdk.AccAddressFromBech32(msg.Signer)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -231,11 +267,16 @@ func (m msgServer) DissociateBond(c context.Context, msg *types.MsgDissociateBon
|
||||
sdk.NewAttribute(types.AttributeKeySigner, msg.Signer),
|
||||
),
|
||||
})
|
||||
|
||||
m.logTxGasConsumed(ctx, "DissociateBond")
|
||||
|
||||
return &types.MsgDissociateBondResponse{}, nil
|
||||
}
|
||||
|
||||
func (m msgServer) DissociateRecords(c context.Context, msg *types.MsgDissociateRecords) (*types.MsgDissociateRecordsResponse, error) {
|
||||
ctx := sdk.UnwrapSDKContext(c)
|
||||
ctx = *utils.CtxWithCustomKVGasConfig(&ctx)
|
||||
|
||||
_, err := sdk.AccAddressFromBech32(msg.Signer)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -256,11 +297,16 @@ func (m msgServer) DissociateRecords(c context.Context, msg *types.MsgDissociate
|
||||
sdk.NewAttribute(types.AttributeKeySigner, msg.Signer),
|
||||
),
|
||||
})
|
||||
|
||||
m.logTxGasConsumed(ctx, "DissociateRecords")
|
||||
|
||||
return &types.MsgDissociateRecordsResponse{}, nil
|
||||
}
|
||||
|
||||
func (m msgServer) ReAssociateRecords(c context.Context, msg *types.MsgReAssociateRecords) (*types.MsgReAssociateRecordsResponse, error) { //nolint: all
|
||||
ctx := sdk.UnwrapSDKContext(c)
|
||||
ctx = *utils.CtxWithCustomKVGasConfig(&ctx)
|
||||
|
||||
_, err := sdk.AccAddressFromBech32(msg.Signer)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -282,5 +328,13 @@ func (m msgServer) ReAssociateRecords(c context.Context, msg *types.MsgReAssocia
|
||||
sdk.NewAttribute(types.AttributeKeySigner, msg.Signer),
|
||||
),
|
||||
})
|
||||
|
||||
m.logTxGasConsumed(ctx, "ReAssociateRecords")
|
||||
|
||||
return &types.MsgReAssociateRecordsResponse{}, nil
|
||||
}
|
||||
|
||||
func (m msgServer) logTxGasConsumed(ctx sdk.Context, tx string) {
|
||||
gasConsumed := ctx.GasMeter().GasConsumed()
|
||||
m.Keeper.Logger(ctx).Info("tx executed", "method", tx, "gas_consumed", fmt.Sprintf("%d", gasConsumed))
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user