diff --git a/CHANGELOG.md b/CHANGELOG.md index b845678e1e..93b45b204d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -42,6 +42,7 @@ ### Build, CI * [\#104](https://github.com/Finschia/wasmd/pull/104) change depending wasmvm to v1.1.1-0.11.4-rc1 * [\#60](https://github.com/Finschia/wasmd/pull/60) Update golang version to 1.20 +* [\#105](https://github.com/Finschia/wasmd/pull/105) change depending finschia-sdk to v0.48.0-rc2 and backport #81 ### Document Updates * [\#54](https://github.com/Finschia/wasmd/pull/54) add documentation about errors (codespace and codes) diff --git a/go.mod b/go.mod index 441f8a2bc8..7d582fa496 100644 --- a/go.mod +++ b/go.mod @@ -3,8 +3,8 @@ module github.com/Finschia/wasmd go 1.20 require ( - github.com/Finschia/finschia-sdk v0.48.0-rc1 - github.com/Finschia/ostracon v1.1.1 + github.com/Finschia/finschia-sdk v0.48.0-rc2 + github.com/Finschia/ostracon v1.1.2-0.20230822110903-449aa3148b12 github.com/Finschia/wasmvm v1.1.1-0.11.4-rc1 github.com/cosmos/btcutil v1.0.5 github.com/cosmos/iavl v0.19.4 @@ -108,7 +108,7 @@ require ( github.com/prometheus/procfs v0.10.1 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rs/cors v1.9.0 // indirect - github.com/rs/zerolog v1.29.1 // indirect + github.com/rs/zerolog v1.30.0 // indirect github.com/sasha-s/go-deadlock v0.3.1 // indirect github.com/spf13/afero v1.9.5 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect @@ -120,12 +120,12 @@ require ( github.com/zondax/hid v0.9.1 // indirect github.com/zondax/ledger-go v0.14.1 // indirect go.etcd.io/bbolt v1.3.6 // indirect - golang.org/x/crypto v0.11.0 // indirect + golang.org/x/crypto v0.12.0 // indirect golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1 // indirect - golang.org/x/net v0.12.0 // indirect - golang.org/x/sys v0.10.0 // indirect - golang.org/x/term v0.10.0 // indirect - golang.org/x/text v0.11.0 // indirect + golang.org/x/net v0.14.0 // indirect + golang.org/x/sys v0.11.0 // indirect + golang.org/x/term v0.11.0 // indirect + golang.org/x/text v0.12.0 // indirect google.golang.org/genproto v0.0.0-20230525234025-438c736192d0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19 // indirect google.golang.org/protobuf v1.31.0 // indirect diff --git a/go.sum b/go.sum index 45e4af4fca..d26baf47f0 100644 --- a/go.sum +++ b/go.sum @@ -47,12 +47,12 @@ github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d h1:nalkkPQcITbvhmL4+C4cKA87NW0tfm3Kl9VXRoPywFg= github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d/go.mod h1:URdX5+vg25ts3aCh8H5IFZybJYKWhJHYMTnf+ULtoC4= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= -github.com/Finschia/finschia-sdk v0.48.0-rc1 h1:kTN42yD/ThbR7+TUxcL1LoOg/1XJDP4YLPke+Foiers= -github.com/Finschia/finschia-sdk v0.48.0-rc1/go.mod h1:3mRSwNMCoGkerQ5vOQSjPAaFv3o50o2zGxvp0Otiueo= +github.com/Finschia/finschia-sdk v0.48.0-rc2 h1:aUGi+3DGhOVl1uoJCvzRD5UO4w8XwXQmjAe97okLjNQ= +github.com/Finschia/finschia-sdk v0.48.0-rc2/go.mod h1:OyYZoLd/ufrngzIFv9ByNfRotncIJBmQKnWtOMLdK98= github.com/Finschia/ibc-go/v4 v4.3.1 h1:pUKry0j+1/ypCC3X1TkEzoLrS1A/low/1PE2HZL+13k= github.com/Finschia/ibc-go/v4 v4.3.1/go.mod h1:kFZgmXXT2pt9QL7Ngx/eA7lI9JlOMGRG/oU4RTDXKcg= -github.com/Finschia/ostracon v1.1.1 h1:Hdj2Xe9YSlD0hXbacIXUfOL6NfkF/lxg6AB8OnKvwgM= -github.com/Finschia/ostracon v1.1.1/go.mod h1:Ub1TWTN2+PfdCFo8ckdc4PxkfPmh2qQ8mmey+gLK5fw= +github.com/Finschia/ostracon v1.1.2-0.20230822110903-449aa3148b12 h1:WD4aqEud9ZgzSQ9gm5cnbMhhuuAh0jxg+AK9GsBDBiE= +github.com/Finschia/ostracon v1.1.2-0.20230822110903-449aa3148b12/go.mod h1:uDFjR8gGrjTwFitRONpTXGUdnl3XRlceSOYh/61yRt0= github.com/Finschia/r2ishiguro_vrf v0.1.2 h1:lDBz6NQMx1pw5I3End6xFmXpM//7KcmTr3Ka983e7v8= github.com/Finschia/r2ishiguro_vrf v0.1.2/go.mod h1:OHRtvzcJnfIrcJ0bvPNktJozRFAyZFuv56E9R3/qB+Y= github.com/Finschia/wasmvm v1.1.1-0.11.4-rc1 h1:M9UvRLB4mLm1zsIM+ZRWw42mwB/K8xYLc4htfD335Vc= @@ -586,9 +586,9 @@ github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjR github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/cors v1.9.0 h1:l9HGsTsHJcvW14Nk7J9KFz8bzeAWXn3CG6bgt7LsrAE= github.com/rs/cors v1.9.0/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= -github.com/rs/zerolog v1.29.1 h1:cO+d60CHkknCbvzEWxP0S9K6KqyTjrCNUy1LdQLCGPc= -github.com/rs/zerolog v1.29.1/go.mod h1:Le6ESbR7hc+DP6Lt1THiV8CQSdkkNrd3R0XbEgp3ZBU= +github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= +github.com/rs/zerolog v1.30.0 h1:SymVODrcRsaRaSInD9yQtKbtWqwsfoPcRff/oRXLj4c= +github.com/rs/zerolog v1.30.0/go.mod h1:/tk+P47gFdPXq4QYjvCmT5/Gsug2nagsFWBWhAiSi1w= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= @@ -724,8 +724,8 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.11.0 h1:6Ewdq3tDic1mg5xRO4milcWCfMVQhI4NkqWWvqejpuA= -golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= +golang.org/x/crypto v0.12.0 h1:tFM/ta59kqch6LlvYnPa0yx5a83cL2nHflFhYKvv9Yk= +golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -805,8 +805,8 @@ golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.12.0 h1:cfawfvKITfUsFCeJIHJrbSxpeu/E81khclypR0GVT50= -golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= +golang.org/x/net v0.14.0 h1:BONx9s002vGdD9umnlX1Po8vOZmrgH34qlHcD1MfK14= +golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -895,11 +895,11 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.10.0 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA= -golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM= +golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.10.0 h1:3R7pNqamzBraeqj/Tj8qt1aQ2HpmlC+Cx/qL/7hn4/c= -golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= +golang.org/x/term v0.11.0 h1:F9tnn/DA/Im8nCwm+fX+1/eBwi4qFjRT++MhtVC4ZX0= +golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -908,8 +908,8 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4= -golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc= +golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -969,7 +969,7 @@ golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.11.0 h1:EMCa6U9S2LtZXLAMoWiR/R8dAQFRqbAitmbJ2UKhoi8= +golang.org/x/tools v0.12.0 h1:YW6HUoUmYBpwSgyaGaZq1fHjrBjX1rlpZ54T6mu2kss= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/x/wasm/keeper/msg_server.go b/x/wasm/keeper/msg_server.go index fe410c79d2..5c5f47e19e 100644 --- a/x/wasm/keeper/msg_server.go +++ b/x/wasm/keeper/msg_server.go @@ -29,12 +29,6 @@ func (m msgServer) StoreCode(goCtx context.Context, msg *types.MsgStoreCode) (*t return nil, sdkerrors.Wrap(err, "sender") } - ctx.EventManager().EmitEvent(sdk.NewEvent( - sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, types.ModuleName), - sdk.NewAttribute(sdk.AttributeKeySender, msg.Sender), - )) - codeID, checksum, err := m.keeper.Create(ctx, senderAddr, msg.WASMByteCode, msg.InstantiatePermission) if err != nil { return nil, err @@ -64,12 +58,6 @@ func (m msgServer) InstantiateContract(goCtx context.Context, msg *types.MsgInst } } - ctx.EventManager().EmitEvent(sdk.NewEvent( - sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, types.ModuleName), - sdk.NewAttribute(sdk.AttributeKeySender, msg.Sender), - )) - contractAddr, data, err := m.keeper.Instantiate(ctx, msg.CodeID, senderAddr, adminAddr, msg.Msg, msg.Label, msg.Funds) if err != nil { return nil, err @@ -99,11 +87,6 @@ func (m msgServer) InstantiateContract2(goCtx context.Context, msg *types.MsgIns } } - ctx.EventManager().EmitEvent(sdk.NewEvent( - sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, types.ModuleName), - sdk.NewAttribute(sdk.AttributeKeySender, msg.Sender), - )) contractAddr, data, err := m.keeper.Instantiate2(ctx, msg.CodeID, senderAddr, adminAddr, msg.Msg, msg.Label, msg.Funds, msg.Salt, msg.FixMsg) if err != nil { return nil, err @@ -130,12 +113,6 @@ func (m msgServer) ExecuteContract(goCtx context.Context, msg *types.MsgExecuteC return nil, sdkerrors.Wrap(err, "contract") } - ctx.EventManager().EmitEvent(sdk.NewEvent( - sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, types.ModuleName), - sdk.NewAttribute(sdk.AttributeKeySender, msg.Sender), - )) - data, err := m.keeper.Execute(ctx, contractAddr, senderAddr, msg.Msg, msg.Funds) if err != nil { return nil, err @@ -161,12 +138,6 @@ func (m msgServer) MigrateContract(goCtx context.Context, msg *types.MsgMigrateC return nil, sdkerrors.Wrap(err, "contract") } - ctx.EventManager().EmitEvent(sdk.NewEvent( - sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, types.ModuleName), - sdk.NewAttribute(sdk.AttributeKeySender, msg.Sender), - )) - data, err := m.keeper.Migrate(ctx, contractAddr, senderAddr, msg.CodeID, msg.Msg) if err != nil { return nil, err @@ -196,12 +167,6 @@ func (m msgServer) UpdateAdmin(goCtx context.Context, msg *types.MsgUpdateAdmin) return nil, sdkerrors.Wrap(err, "new admin") } - ctx.EventManager().EmitEvent(sdk.NewEvent( - sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, types.ModuleName), - sdk.NewAttribute(sdk.AttributeKeySender, msg.Sender), - )) - if err := m.keeper.UpdateContractAdmin(ctx, contractAddr, senderAddr, newAdminAddr); err != nil { return nil, err } @@ -224,12 +189,6 @@ func (m msgServer) ClearAdmin(goCtx context.Context, msg *types.MsgClearAdmin) ( return nil, sdkerrors.Wrap(err, "contract") } - ctx.EventManager().EmitEvent(sdk.NewEvent( - sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, types.ModuleName), - sdk.NewAttribute(sdk.AttributeKeySender, msg.Sender), - )) - if err := m.keeper.ClearContractAdmin(ctx, contractAddr, senderAddr); err != nil { return nil, err } diff --git a/x/wasm/keeper/msg_server_integration_test.go b/x/wasm/keeper/msg_server_integration_test.go index 7265801ecd..e9b1332195 100644 --- a/x/wasm/keeper/msg_server_integration_test.go +++ b/x/wasm/keeper/msg_server_integration_test.go @@ -40,7 +40,7 @@ func TestStoreCode(t *testing.T) { addr: sender.String(), permission: &types.AllowEverybody, expEvents: []abci.Event{ - createMsgEvent(sender), { + { Type: "store_code", Attributes: []abci.EventAttribute{ { @@ -60,7 +60,7 @@ func TestStoreCode(t *testing.T) { addr: sender.String(), permission: &types.AllowNobody, expEvents: []abci.Event{ - createMsgEvent(sender), { + { Type: "store_code", Attributes: []abci.EventAttribute{ { @@ -124,7 +124,7 @@ func TestInstantiateContract(t *testing.T) { addr: myAddress.String(), permission: &types.AllowEverybody, expEvents: []abci.Event{ - createMsgEvent(myAddress), { + { Type: "instantiate", Attributes: []abci.EventAttribute{ { @@ -210,7 +210,7 @@ func TestInstantiateContract2(t *testing.T) { permission: &types.AllowEverybody, salt: "salt1", expEvents: []abci.Event{ - createMsgEvent(myAddress), { + { Type: "instantiate", Attributes: []abci.EventAttribute{ { @@ -298,7 +298,7 @@ func TestMigrateContract(t *testing.T) { "admin can migrate a contract": { addr: myAddress.String(), expEvents: []abci.Event{ - createMsgEvent(myAddress), { + { Type: "migrate", Attributes: []abci.EventAttribute{ { @@ -437,7 +437,7 @@ func TestExecuteContract(t *testing.T) { addr: myAddress.String(), expEvents: func(destination_address []byte) []abci.Event { return []abci.Event{ - createMsgEvent(myAddress), { + { Type: "execute", Attributes: []abci.EventAttribute{ { @@ -509,7 +509,7 @@ func TestExecuteContract(t *testing.T) { } // check event - assert.Equal(t, spec.expEvents(rsp.Events[2].Attributes[2].Value), rsp.Events) + assert.Equal(t, spec.expEvents(rsp.Events[1].Attributes[2].Value), rsp.Events) require.NoError(t, err) }) @@ -560,7 +560,6 @@ func TestUpdateAdmin(t *testing.T) { addr: myAddress.String(), expErr: false, expEvents: []abci.Event{ - createMsgEvent(myAddress), { Type: "update_contract_admin", Attributes: []abci.EventAttribute{ @@ -650,7 +649,6 @@ func TestClearAdmin(t *testing.T) { addr: myAddress.String(), expErr: false, expEvents: []abci.Event{ - createMsgEvent(myAddress), { Type: "update_contract_admin", Attributes: []abci.EventAttribute{ @@ -693,23 +691,3 @@ func TestClearAdmin(t *testing.T) { }) } } - -// This function is utilized to generate the msg event for event checking in integration tests -// It will be deleted in release/v0.1.x -func createMsgEvent(sender sdk.AccAddress) abci.Event { - return abci.Event{ - Type: "message", - Attributes: []abci.EventAttribute{ - { - Key: []byte("module"), - Value: []byte("wasm"), - Index: false, - }, - { - Key: []byte("sender"), - Value: []byte(sender.String()), - Index: false, - }, - }, - } -} diff --git a/x/wasm/module_test.go b/x/wasm/module_test.go index 72b2cc6bf0..9d5087c507 100644 --- a/x/wasm/module_test.go +++ b/x/wasm/module_test.go @@ -189,12 +189,10 @@ func TestHandleInstantiate(t *testing.T) { require.Equal(t, "link14hj2tavq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9sgf2vn8", contractBech32Addr) // this should be standard x/wasm init event, nothing from contract - require.Equal(t, 3, len(res.Events), prettyEvents(res.Events)) - require.Equal(t, "message", res.Events[0].Type) - assertAttribute(t, "module", "wasm", res.Events[0].Attributes[0]) - require.Equal(t, "instantiate", res.Events[1].Type) - require.Equal(t, "wasm", res.Events[2].Type) - assertAttribute(t, "_contract_address", contractBech32Addr, res.Events[2].Attributes[0]) + require.Equal(t, 2, len(res.Events), prettyEvents(res.Events)) + require.Equal(t, "instantiate", res.Events[0].Type) + require.Equal(t, "wasm", res.Events[1].Type) + assertAttribute(t, "_contract_address", contractBech32Addr, res.Events[1].Attributes[0]) assertCodeList(t, q, data.ctx, 1) assertCodeBytes(t, q, data.ctx, 1, testContract) @@ -249,15 +247,13 @@ func TestHandleExecute(t *testing.T) { require.Equal(t, "link14hj2tavq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9sgf2vn8", contractBech32Addr) // this should be standard x/wasm message event, init event, plus a bank send event (2), with no custom contract events - require.Equal(t, 6, len(res.Events), prettyEvents(res.Events)) - require.Equal(t, "message", res.Events[0].Type) - assertAttribute(t, "module", "wasm", res.Events[0].Attributes[0]) - require.Equal(t, "coin_spent", res.Events[1].Type) - require.Equal(t, "coin_received", res.Events[2].Type) - require.Equal(t, "transfer", res.Events[3].Type) - require.Equal(t, "instantiate", res.Events[4].Type) - require.Equal(t, "wasm", res.Events[5].Type) - assertAttribute(t, "_contract_address", contractBech32Addr, res.Events[5].Attributes[0]) + require.Equal(t, 5, len(res.Events), prettyEvents(res.Events)) + require.Equal(t, "coin_spent", res.Events[0].Type) + require.Equal(t, "coin_received", res.Events[1].Type) + require.Equal(t, "transfer", res.Events[2].Type) + require.Equal(t, "instantiate", res.Events[3].Type) + require.Equal(t, "wasm", res.Events[4].Type) + assertAttribute(t, "_contract_address", contractBech32Addr, res.Events[4].Attributes[0]) // ensure bob doesn't exist bobAcct := data.acctKeeper.GetAccount(data.ctx, bob) @@ -287,43 +283,36 @@ func TestHandleExecute(t *testing.T) { assertExecuteResponse(t, res.Data, []byte{0xf0, 0x0b, 0xaa}) // this should be standard message event, plus x/wasm init event, plus 2 bank send event, plus a special event from the contract - require.Equal(t, 10, len(res.Events), prettyEvents(res.Events)) + require.Equal(t, 9, len(res.Events), prettyEvents(res.Events)) - assert.Equal(t, "message", res.Events[0].Type) - assertAttribute(t, "module", "wasm", res.Events[0].Attributes[0]) - assert.Equal(t, "coin_spent", res.Events[1].Type) - assert.Equal(t, "coin_received", res.Events[2].Type) + assert.Equal(t, "coin_spent", res.Events[0].Type) + assert.Equal(t, "coin_received", res.Events[1].Type) - assert.Equal(t, "coin_spent", res.Events[1].Type) - assertAttribute(t, "spender", fred.String(), res.Events[1].Attributes[0]) - assert.Equal(t, "coin_received", res.Events[2].Type) - assertAttribute(t, "receiver", contractBech32Addr, res.Events[2].Attributes[0]) - require.Equal(t, "transfer", res.Events[3].Type) - require.Len(t, res.Events[3].Attributes, 3) - assertAttribute(t, "recipient", contractBech32Addr, res.Events[3].Attributes[0]) - assertAttribute(t, "sender", fred.String(), res.Events[3].Attributes[1]) - assertAttribute(t, "amount", "5000denom", res.Events[3].Attributes[2]) + require.Equal(t, "transfer", res.Events[2].Type) + require.Len(t, res.Events[2].Attributes, 3) + assertAttribute(t, "recipient", contractBech32Addr, res.Events[2].Attributes[0]) + assertAttribute(t, "sender", fred.String(), res.Events[2].Attributes[1]) + assertAttribute(t, "amount", "5000denom", res.Events[2].Attributes[2]) - assert.Equal(t, "execute", res.Events[4].Type) + assert.Equal(t, "execute", res.Events[3].Type) // custom contract event attribute - assert.Equal(t, "wasm", res.Events[5].Type) + assert.Equal(t, "wasm", res.Events[4].Type) + assertAttribute(t, "_contract_address", contractBech32Addr, res.Events[4].Attributes[0]) + assertAttribute(t, "action", "release", res.Events[4].Attributes[1]) + // custom contract event + assert.Equal(t, "wasm-hackatom", res.Events[5].Type) assertAttribute(t, "_contract_address", contractBech32Addr, res.Events[5].Attributes[0]) assertAttribute(t, "action", "release", res.Events[5].Attributes[1]) - // custom contract event - assert.Equal(t, "wasm-hackatom", res.Events[6].Type) - assertAttribute(t, "_contract_address", contractBech32Addr, res.Events[6].Attributes[0]) - assertAttribute(t, "action", "release", res.Events[6].Attributes[1]) // second transfer (this without conflicting message) - assert.Equal(t, "coin_spent", res.Events[7].Type) - assertAttribute(t, "spender", contractBech32Addr, res.Events[7].Attributes[0]) - assert.Equal(t, "coin_received", res.Events[8].Type) - assertAttribute(t, "receiver", bob.String(), res.Events[8].Attributes[0]) - assert.Equal(t, "transfer", res.Events[9].Type) - assertAttribute(t, "recipient", bob.String(), res.Events[9].Attributes[0]) - assertAttribute(t, "sender", contractBech32Addr, res.Events[9].Attributes[1]) - assertAttribute(t, "amount", "105000denom", res.Events[9].Attributes[2]) + assert.Equal(t, "coin_spent", res.Events[6].Type) + assert.Equal(t, "coin_received", res.Events[7].Type) + + assert.Equal(t, "transfer", res.Events[8].Type) + assertAttribute(t, "recipient", bob.String(), res.Events[8].Attributes[0]) + assertAttribute(t, "sender", contractBech32Addr, res.Events[8].Attributes[1]) + assertAttribute(t, "amount", "105000denom", res.Events[8].Attributes[2]) // finally, standard x/wasm tag // ensure bob now exists and got both payments released diff --git a/x/wasmplus/keeper/msg_server.go b/x/wasmplus/keeper/msg_server.go index 65feaa322e..9b2d2fd895 100644 --- a/x/wasmplus/keeper/msg_server.go +++ b/x/wasmplus/keeper/msg_server.go @@ -33,12 +33,6 @@ func (m msgServer) StoreCodeAndInstantiateContract(goCtx context.Context, return nil, err } - ctx.EventManager().EmitEvent(sdk.NewEvent( - sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, types.ModuleName), - sdk.NewAttribute(sdk.AttributeKeySender, msg.Sender), - )) - var adminAddr sdk.AccAddress if msg.Admin != "" { adminAddr, err = sdk.AccAddressFromBech32(msg.Admin) diff --git a/x/wasmplus/keeper/msg_server_integration_test.go b/x/wasmplus/keeper/msg_server_integration_test.go index ad9ca4b5a4..8fdaf86db2 100644 --- a/x/wasmplus/keeper/msg_server_integration_test.go +++ b/x/wasmplus/keeper/msg_server_integration_test.go @@ -51,7 +51,6 @@ func TestStoreAndInstantiateContract(t *testing.T) { }, }, }, - createMsgEvent(myAddress), { Type: "instantiate", Attributes: []abci.EventAttribute{ @@ -106,23 +105,3 @@ func TestStoreAndInstantiateContract(t *testing.T) { }) } } - -// This function is utilized to generate the msg event for event checking in integration tests -// It will be deleted in release/v0.1.x -func createMsgEvent(sender sdk.AccAddress) abci.Event { - return abci.Event{ - Type: "message", - Attributes: []abci.EventAttribute{ - { - Key: []byte("module"), - Value: []byte("wasm"), - Index: false, - }, - { - Key: []byte("sender"), - Value: []byte(sender.String()), - Index: false, - }, - }, - } -} diff --git a/x/wasmplus/module_test.go b/x/wasmplus/module_test.go index d48f3843c5..99656603b9 100644 --- a/x/wasmplus/module_test.go +++ b/x/wasmplus/module_test.go @@ -264,16 +264,14 @@ func TestHandleStoreAndInstantiate(t *testing.T) { require.Equal(t, uint64(1), codeID) require.Equal(t, "link14hj2tavq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9sgf2vn8", contractBech32Addr) // this should be standard x/wasm init event, nothing from contract - require.Equal(t, 4, len(res.Events), prettyEvents(res.Events)) + require.Equal(t, 3, len(res.Events), prettyEvents(res.Events)) assert.Equal(t, "store_code", res.Events[0].Type) assertAttribute(t, "code_id", "1", res.Events[0].Attributes[1]) - assert.Equal(t, "message", res.Events[1].Type) - assertAttribute(t, "module", "wasm", res.Events[1].Attributes[0]) - assert.Equal(t, "instantiate", res.Events[2].Type) + assert.Equal(t, "instantiate", res.Events[1].Type) + assertAttribute(t, "_contract_address", contractBech32Addr, res.Events[1].Attributes[0]) + assertAttribute(t, "code_id", "1", res.Events[1].Attributes[1]) + assert.Equal(t, "wasm", res.Events[2].Type) assertAttribute(t, "_contract_address", contractBech32Addr, res.Events[2].Attributes[0]) - assertAttribute(t, "code_id", "1", res.Events[2].Attributes[1]) - assert.Equal(t, "wasm", res.Events[3].Type) - assertAttribute(t, "_contract_address", contractBech32Addr, res.Events[3].Attributes[0]) assertCodeList(t, q, data.ctx, 1) assertCodeBytes(t, q, data.ctx, 1, testContract) @@ -421,11 +419,9 @@ func TestHandleNonPlusWasmCreate(t *testing.T) { require.NoError(t, err) assertStoreCodeResponse(t, res.Data, 1) - require.Equal(t, 2, len(res.Events), prettyEvents(res.Events)) - assert.Equal(t, "message", res.Events[0].Type) - assertAttribute(t, "module", "wasm", res.Events[0].Attributes[0]) - assert.Equal(t, "store_code", res.Events[1].Type) - assertAttribute(t, "code_id", "1", res.Events[1].Attributes[1]) + require.Equal(t, 1, len(res.Events), prettyEvents(res.Events)) + assert.Equal(t, "store_code", res.Events[0].Type) + assertAttribute(t, "code_id", "1", res.Events[0].Attributes[1]) assertCodeList(t, q, data.ctx, 1) assertCodeBytes(t, q, data.ctx, 1, testContract)