Skip to content

Commit 26a046c

Browse files
authored
[API] GetAccount return IsContract field (iotexproject#2426)
1 parent 10c880a commit 26a046c

File tree

4 files changed

+20
-4
lines changed

4 files changed

+20
-4
lines changed

action/protocol/execution/protocol_test.go

+5
Original file line numberDiff line numberDiff line change
@@ -596,6 +596,11 @@ func TestProtocol_Handle(t *testing.T) {
596596
contract, err := address.FromString(r.ContractAddress)
597597
require.NoError(err)
598598

599+
// test IsContract
600+
state, err := accountutil.AccountState(sf, contract.String())
601+
require.NoError(err)
602+
require.True(state.IsContract())
603+
599604
c, err := readCode(sf, contract.Bytes())
600605
require.NoError(err)
601606
require.Equal(data[31:], c)

api/api.go

+1
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,7 @@ func (api *Server) GetAccount(ctx context.Context, in *iotexapi.GetAccountReques
191191
Nonce: state.Nonce,
192192
PendingNonce: pendingNonce,
193193
NumActions: numActions,
194+
IsContract: state.IsContract(),
194195
}
195196
header, err := api.bc.BlockHeaderByHeight(tipHeight)
196197
if err != nil {

go.mod

+4-4
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ require (
88
github.com/facebookgo/clock v0.0.0-20150410010913-600d898af40a
99
github.com/go-sql-driver/mysql v1.4.1
1010
github.com/golang/groupcache v0.0.0-20191027212112-611e8accdfc9
11-
github.com/golang/mock v1.4.0
11+
github.com/golang/mock v1.4.4
1212
github.com/golang/protobuf v1.4.2
1313
github.com/gorilla/websocket v1.4.0
1414
github.com/grpc-ecosystem/go-grpc-middleware v1.2.0
@@ -20,7 +20,7 @@ require (
2020
github.com/iotexproject/iotex-address v0.2.2
2121
github.com/iotexproject/iotex-antenna-go/v2 v2.4.0
2222
github.com/iotexproject/iotex-election v0.3.4
23-
github.com/iotexproject/iotex-proto v0.4.0
23+
github.com/iotexproject/iotex-proto v0.4.3
2424
github.com/libp2p/go-libp2p v0.0.21 // indirect
2525
github.com/libp2p/go-libp2p-peerstore v0.0.5
2626
github.com/mattn/go-sqlite3 v1.11.0
@@ -37,8 +37,8 @@ require (
3737
go.uber.org/automaxprocs v1.2.0
3838
go.uber.org/config v1.3.1
3939
go.uber.org/zap v1.10.0
40-
golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d
41-
golang.org/x/net v0.0.0-20191204025024-5ee1b9f4859a
40+
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9
41+
golang.org/x/net v0.0.0-20200707034311-ab3426394381
4242
golang.org/x/sync v0.0.0-20190423024810-112230192c58
4343
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013
4444
google.golang.org/grpc v1.27.0

go.sum

+10
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,8 @@ github.com/golang/groupcache v0.0.0-20191027212112-611e8accdfc9/go.mod h1:cIg4er
109109
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
110110
github.com/golang/mock v1.4.0 h1:Rd1kQnQu0Hq3qvJppYSG0HtP+f5LPPUiDswTLiEegLg=
111111
github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
112+
github.com/golang/mock v1.4.4 h1:l75CXGRSwbaYNpl/Z2X1XIIAMSCquvXgpVZDhwEIJsc=
113+
github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4=
112114
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
113115
github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0=
114116
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
@@ -190,6 +192,8 @@ github.com/iotexproject/iotex-election v0.3.4 h1:DT9o12PZsLbM9S4fEgAvQu0/44tW7fr
190192
github.com/iotexproject/iotex-election v0.3.4/go.mod h1:3qlM/RJKcwcPiTAtorMVHDv4muw3H5PKIzpRa5qqC2E=
191193
github.com/iotexproject/iotex-proto v0.4.0 h1:uDG3b4Pax9Eyk6e2TLxQhWaeac39mepVN9QUpwPb9XU=
192194
github.com/iotexproject/iotex-proto v0.4.0/go.mod h1:SttnbjoUJKHuKtDxCDJ5ewziAY4XrMPE2wo++Xod4b0=
195+
github.com/iotexproject/iotex-proto v0.4.3 h1:b3YEeQoMZLsuMAsG4wj2pQCU+m0s2mXhKEYsvN4/tFU=
196+
github.com/iotexproject/iotex-proto v0.4.3/go.mod h1:VamfHxZ58AbpWJumRIE/u9tt/TouIlDkzk0dazVKKRY=
193197
github.com/ipfs/go-cid v0.0.1 h1:GBjWPktLnNyX0JiQCNFpUuUSoMw5KMyqrsejHYlILBE=
194198
github.com/ipfs/go-cid v0.0.1/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM=
195199
github.com/ipfs/go-datastore v0.0.1/go.mod h1:d4KVXhMt913cLBEI/PXAy6ko+W7e9AhyAKBGh803qeE=
@@ -547,6 +551,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U
547551
golang.org/x/crypto v0.0.0-20191219195013-becbf705a915/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
548552
golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d h1:2+ZP7EfsZV7Vvmx3TIqSlSzATMkTAKqM14YGFPoSKjI=
549553
golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
554+
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI=
555+
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
550556
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
551557
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
552558
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
@@ -571,6 +577,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL
571577
golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
572578
golang.org/x/net v0.0.0-20191204025024-5ee1b9f4859a h1:+HHJiFUXVOIS9mr1ThqkQD1N8vpFCfCShqADBM12KTc=
573579
golang.org/x/net v0.0.0-20191204025024-5ee1b9f4859a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
580+
golang.org/x/net v0.0.0-20200707034311-ab3426394381 h1:VXak5I6aEWmAXeQjA+QSZzlgNrpq9mjcfDemuexIKsU=
581+
golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
574582
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
575583
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
576584
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -598,6 +606,8 @@ golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82/go.mod h1:h1NjWce9XRLGQEsW7w
598606
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
599607
golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5 h1:LfCXLvNmTYH9kEmVgqbnsWfruoXZIrh4YBgqVHtDvw0=
600608
golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
609+
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd h1:xhmwyvizuTgC2qz7ZlMluP20uW+C3Rm0FD/WLDX8884=
610+
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
601611
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
602612
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
603613
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=

0 commit comments

Comments
 (0)