From 72be4a34147af86d22122302e12fbd20a250276a Mon Sep 17 00:00:00 2001 From: Reece Williams Date: Sun, 19 May 2024 14:19:38 -0500 Subject: [PATCH 1/2] base before send hooks --- x/tokenfactory/ante/before_send_hook.go | 61 +++++++++++++++++++++++++ x/tokenfactory/ante/before_send_test.go | 57 +++++++++++++++++++++++ x/tokenfactory/ante/mocks_test.go | 28 ++++++++++++ 3 files changed, 146 insertions(+) create mode 100644 x/tokenfactory/ante/before_send_hook.go create mode 100644 x/tokenfactory/ante/before_send_test.go create mode 100644 x/tokenfactory/ante/mocks_test.go diff --git a/x/tokenfactory/ante/before_send_hook.go b/x/tokenfactory/ante/before_send_hook.go new file mode 100644 index 0000000..c3c6b96 --- /dev/null +++ b/x/tokenfactory/ante/before_send_hook.go @@ -0,0 +1,61 @@ +package decorators + +import ( + "fmt" + + banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + "github.com/strangelove-ventures/tokenfactory/x/tokenfactory/keeper" + tokenfactorytypes "github.com/strangelove-ventures/tokenfactory/x/tokenfactory/types" + + sdk "github.com/cosmos/cosmos-sdk/types" +) + +type MsgBeforeSendHook struct { + TokenFactoryKeeper keeper.Keeper +} + +func NewMsgBeforeSendHook(k keeper.Keeper) MsgBeforeSendHook { + return MsgBeforeSendHook{ + TokenFactoryKeeper: k, + } +} + +func (mfd MsgBeforeSendHook) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate bool, next sdk.AnteHandler) (newCtx sdk.Context, err error) { + mfd.applyDenomHookIfApplicable(tx.GetMsgs()) + return next(ctx, tx, simulate) +} + +func (mfd MsgBeforeSendHook) applyDenomHookIfApplicable(msgs []sdk.Msg) { + for _, msg := range msgs { + // TODO: authz nested check here + + if m, ok := msg.(*banktypes.MsgSend); ok { + mfd.performAction(m) + } + } +} + +func (mfd MsgBeforeSendHook) performAction(msg *banktypes.MsgSend) { + sender := msg.FromAddress + recipient := msg.ToAddress + coins := msg.Amount + + for _, coin := range coins { + coin := coin + + // validate is a tokenfactory denom + _, _, err := tokenfactorytypes.DeconstructDenom(coin.Denom) + if err != nil { + continue + } + + // This is a validate tokenfactory denom being sent, check if it is registered for hooks + fireEvent(sender, recipient, coin) + } +} + +func fireEvent(sender, recipient string, coin sdk.Coin) error { + // Perform the SudoMsg execute if it is registered. + fmt.Printf("Fire event for %s -> %s: %s\n", sender, recipient, coin) + return nil +} diff --git a/x/tokenfactory/ante/before_send_test.go b/x/tokenfactory/ante/before_send_test.go new file mode 100644 index 0000000..0066911 --- /dev/null +++ b/x/tokenfactory/ante/before_send_test.go @@ -0,0 +1,57 @@ +package decorators_test + +import ( + "fmt" + "testing" + + sdkmath "cosmossdk.io/math" + + "github.com/cometbft/cometbft/crypto/ed25519" + sdk "github.com/cosmos/cosmos-sdk/types" + banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + "github.com/strangelove-ventures/tokenfactory/app" + "github.com/stretchr/testify/require" + + ante "github.com/strangelove-ventures/tokenfactory/x/tokenfactory/ante" +) + +var ( + EmptyAnte = func(ctx sdk.Context, _ sdk.Tx, _ bool) (sdk.Context, error) { + return ctx, nil + } +) + +func TestBeforeSend(t *testing.T) { + // generate a private/public key pair and get the respective address + pk1 := ed25519.GenPrivKey().PubKey() + fromAddr := sdk.AccAddress(pk1.Address()) + + pk2 := ed25519.GenPrivKey().PubKey() + toAddr := sdk.AccAddress(pk2.Address()) + + // app, ctx := bindings.SetupCustomApp(t, addr1) + ctx, chain := app.Setup(t) + + token, err := chain.TokenFactoryKeeper.CreateDenom(ctx, fromAddr.String(), "bitcoin") + require.NoError(t, err) + + fmt.Println(token) + + // Create change rate decorator + anteHandler := ante.NewMsgBeforeSendHook(chain.TokenFactoryKeeper) + + bankSendMsg := banktypes.MsgSend{ + FromAddress: fromAddr.String(), + ToAddress: toAddr.String(), + Amount: sdk.NewCoins(sdk.NewCoin(token, sdkmath.NewInt(100))), + } + + if _, err := anteHandler.AnteHandle(ctx, NewMockTx(&bankSendMsg), false, EmptyAnte); err != nil { + t.Fatalf("unexpected error: %v", err) + } + + // change this to a hooks contract (on call increase, ref clock) + // reflect := instantiateReflectContract(t, ctx, app, actor) + // require.NotEmpty(t, reflect) + +} diff --git a/x/tokenfactory/ante/mocks_test.go b/x/tokenfactory/ante/mocks_test.go new file mode 100644 index 0000000..7c6cf30 --- /dev/null +++ b/x/tokenfactory/ante/mocks_test.go @@ -0,0 +1,28 @@ +package decorators_test + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + protov2 "google.golang.org/protobuf/proto" +) + +type MockTx struct { + msgs []sdk.Msg +} + +func NewMockTx(msgs ...sdk.Msg) MockTx { + return MockTx{ + msgs: msgs, + } +} + +func (tx MockTx) GetMsgs() []sdk.Msg { + return tx.msgs +} + +func (tx MockTx) GetMsgsV2() ([]protov2.Message, error) { + return nil, nil +} + +func (tx MockTx) ValidateBasic() error { + return nil +} From e6f6f0658fb65ab8e82356c276b4464e31236b9f Mon Sep 17 00:00:00 2001 From: Reece Williams Date: Sun, 19 May 2024 14:55:25 -0500 Subject: [PATCH 2/2] further base test --- x/tokenfactory/ante/before_send_hook.go | 58 +++++++++++------ x/tokenfactory/ante/before_send_test.go | 67 ++++++++++++++++---- x/tokenfactory/bindings/testdata/README.md | 11 +++- x/tokenfactory/bindings/testdata/hooks.wasm | Bin 0 -> 141386 bytes 4 files changed, 101 insertions(+), 35 deletions(-) create mode 100644 x/tokenfactory/bindings/testdata/hooks.wasm diff --git a/x/tokenfactory/ante/before_send_hook.go b/x/tokenfactory/ante/before_send_hook.go index c3c6b96..e710d33 100644 --- a/x/tokenfactory/ante/before_send_hook.go +++ b/x/tokenfactory/ante/before_send_hook.go @@ -3,6 +3,7 @@ package decorators import ( "fmt" + authz "github.com/cosmos/cosmos-sdk/x/authz" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" "github.com/strangelove-ventures/tokenfactory/x/tokenfactory/keeper" tokenfactorytypes "github.com/strangelove-ventures/tokenfactory/x/tokenfactory/types" @@ -21,37 +22,54 @@ func NewMsgBeforeSendHook(k keeper.Keeper) MsgBeforeSendHook { } func (mfd MsgBeforeSendHook) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate bool, next sdk.AnteHandler) (newCtx sdk.Context, err error) { - mfd.applyDenomHookIfApplicable(tx.GetMsgs()) + if err := mfd.applyDenomHookIfApplicable(tx.GetMsgs()); err != nil { + return ctx, err + } + return next(ctx, tx, simulate) } -func (mfd MsgBeforeSendHook) applyDenomHookIfApplicable(msgs []sdk.Msg) { +func (mfd MsgBeforeSendHook) applyDenomHookIfApplicable(msgs []sdk.Msg) error { for _, msg := range msgs { - // TODO: authz nested check here + // Check if an authz message, loop through all inner messages, and recursively call this function + if execMsg, ok := msg.(*authz.MsgExec); ok { + msgs, err := execMsg.GetMessages() + if err != nil { + return err + } - if m, ok := msg.(*banktypes.MsgSend); ok { - mfd.performAction(m) + // Recursively call this function with the inner messages + if err = mfd.applyDenomHookIfApplicable(msgs); err != nil { + return err + } } - } -} -func (mfd MsgBeforeSendHook) performAction(msg *banktypes.MsgSend) { - sender := msg.FromAddress - recipient := msg.ToAddress - coins := msg.Amount + // if it is a bank message, perform the action if it's a tokenfactory denom + if m, ok := msg.(*banktypes.MsgSend); ok { + // mfd.performAction(m) + + sender := m.FromAddress + recipient := m.ToAddress + coins := m.Amount - for _, coin := range coins { - coin := coin + for _, coin := range coins { + coin := coin - // validate is a tokenfactory denom - _, _, err := tokenfactorytypes.DeconstructDenom(coin.Denom) - if err != nil { - continue - } + // validate is a tokenfactory denom + _, _, err := tokenfactorytypes.DeconstructDenom(coin.Denom) + if err != nil { + continue + } + + // TODO: see if hooks is registered - // This is a validate tokenfactory denom being sent, check if it is registered for hooks - fireEvent(sender, recipient, coin) + // This is a validate tokenfactory denom being sent, check if it is registered for hooks + fireEvent(sender, recipient, coin) + } + } } + + return nil } func fireEvent(sender, recipient string, coin sdk.Coin) error { diff --git a/x/tokenfactory/ante/before_send_test.go b/x/tokenfactory/ante/before_send_test.go index 0066911..f6ed638 100644 --- a/x/tokenfactory/ante/before_send_test.go +++ b/x/tokenfactory/ante/before_send_test.go @@ -2,10 +2,12 @@ package decorators_test import ( "fmt" + "os" "testing" sdkmath "cosmossdk.io/math" + "github.com/CosmWasm/wasmd/x/wasm/keeper" "github.com/cometbft/cometbft/crypto/ed25519" sdk "github.com/cosmos/cosmos-sdk/types" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" @@ -22,36 +24,73 @@ var ( ) func TestBeforeSend(t *testing.T) { - // generate a private/public key pair and get the respective address - pk1 := ed25519.GenPrivKey().PubKey() - fromAddr := sdk.AccAddress(pk1.Address()) - - pk2 := ed25519.GenPrivKey().PubKey() - toAddr := sdk.AccAddress(pk2.Address()) + fromAddr := createAccount() + toAddr := createAccount() - // app, ctx := bindings.SetupCustomApp(t, addr1) + // Setup chain and single ante ctx, chain := app.Setup(t) + anteHandler := ante.NewMsgBeforeSendHook(chain.TokenFactoryKeeper) + // Create new token token, err := chain.TokenFactoryKeeper.CreateDenom(ctx, fromAddr.String(), "bitcoin") require.NoError(t, err) + require.NotEmpty(t, token) + fmt.Println("token", token) - fmt.Println(token) + // Mint new coins to the fromAddr + initCoins := newCoins(token, 100_000) + err = chain.BankKeeper.MintCoins(ctx, "mint", initCoins) + require.NoError(t, err) + err = chain.BankKeeper.SendCoinsFromModuleToAccount(ctx, "mint", fromAddr, initCoins) + require.NoError(t, err) - // Create change rate decorator - anteHandler := ante.NewMsgBeforeSendHook(chain.TokenFactoryKeeper) + // Setup the hooks contract + // TODO: change me (and the readme) to proper contract sudo bindings + codeID := storeHooksContract(t, ctx, chain, fromAddr) + cAddr := instantiateBeforeSendContract(t, ctx, chain, fromAddr, codeID) + fmt.Println(cAddr.String()) + // TODO: register contract -> token (match osmosis spec) + + // TODO: validate execution bankSendMsg := banktypes.MsgSend{ FromAddress: fromAddr.String(), ToAddress: toAddr.String(), - Amount: sdk.NewCoins(sdk.NewCoin(token, sdkmath.NewInt(100))), + Amount: newCoins(token, 117), } if _, err := anteHandler.AnteHandle(ctx, NewMockTx(&bankSendMsg), false, EmptyAnte); err != nil { t.Fatalf("unexpected error: %v", err) } - // change this to a hooks contract (on call increase, ref clock) - // reflect := instantiateReflectContract(t, ctx, app, actor) - // require.NotEmpty(t, reflect) +} + +func storeHooksContract(t *testing.T, ctx sdk.Context, app *app.TokenFactoryApp, addr sdk.AccAddress) uint64 { + wasmCode, err := os.ReadFile("../bindings/testdata/hooks.wasm") + require.NoError(t, err) + + contractKeeper := keeper.NewDefaultPermissionKeeper(app.WasmKeeper) + codeID, _, err := contractKeeper.Create(ctx, addr, wasmCode, nil) + require.NoError(t, err) + + return codeID +} + +func instantiateBeforeSendContract(t *testing.T, ctx sdk.Context, app *app.TokenFactoryApp, funder sdk.AccAddress, codeID uint64) sdk.AccAddress { + initMsgBz := []byte("{}") + contractKeeper := keeper.NewDefaultPermissionKeeper(app.WasmKeeper) + + addr, _, err := contractKeeper.Instantiate(ctx, codeID, funder, funder, initMsgBz, "hooks contract", nil) + require.NoError(t, err) + + return addr +} + +func createAccount() sdk.AccAddress { + pk1 := ed25519.GenPrivKey().PubKey() + return sdk.AccAddress(pk1.Address()) +} +func newCoins(token string, amt int64) sdk.Coins { + return sdk.NewCoins(sdk.NewCoin(token, sdkmath.NewInt(amt))) } diff --git a/x/tokenfactory/bindings/testdata/README.md b/x/tokenfactory/bindings/testdata/README.md index 221c651..6cefc5a 100644 --- a/x/tokenfactory/bindings/testdata/README.md +++ b/x/tokenfactory/bindings/testdata/README.md @@ -1,5 +1,14 @@ -# token-reflect-contract +# Contracts + +## token-reflect-contract Commit: 834bb36573fb21c74f8e78207308d9001df127a2 + + +## BeforeSendHook + + + +Commit: d0d2ac541975f053b448c806e184478d920ac569 \ No newline at end of file diff --git a/x/tokenfactory/bindings/testdata/hooks.wasm b/x/tokenfactory/bindings/testdata/hooks.wasm new file mode 100644 index 0000000000000000000000000000000000000000..e2d99f71c55b2204fd7e9867e1e45447f107e987 GIT binary patch literal 141386 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 literal 0 HcmV?d00001