Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
sidecar-client-fabric
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
link33
sidecar-client-fabric
Commits
5213e2b7
Commit
5213e2b7
authored
May 14, 2020
by
Alexader
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refactor(*): use new ibtp payload structure
parent
38d16740
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
50 additions
and
21 deletions
+50
-21
client.go
client.go
+10
-6
event.go
event.go
+9
-1
go.mod
go.mod
+5
-1
go.sum
go.sum
+0
-0
receipt.go
receipt.go
+26
-13
No files found.
client.go
View file @
5213e2b7
...
...
@@ -231,12 +231,16 @@ func (c *Client) SubmitIBTP(ibtp *pb.IBTP) (*model.PluginResponse, error) {
if
err
:=
pd
.
Unmarshal
(
ibtp
.
Payload
);
err
!=
nil
{
return
ret
,
fmt
.
Errorf
(
"ibtp payload unmarshal: %w"
,
err
)
}
content
:=
&
pb
.
Content
{}
if
err
:=
content
.
Unmarshal
(
pd
.
Content
);
err
!=
nil
{
return
ret
,
fmt
.
Errorf
(
"ibtp content unmarshal: %w"
,
err
)
}
args
:=
util
.
ToChaincodeArgs
(
ibtp
.
From
,
strconv
.
FormatUint
(
ibtp
.
Index
,
10
),
pd
.
DstContractId
)
args
=
append
(
args
,
pd
.
Args
...
)
args
:=
util
.
ToChaincodeArgs
(
ibtp
.
From
,
strconv
.
FormatUint
(
ibtp
.
Index
,
10
),
content
.
DstContractId
)
args
=
append
(
args
,
content
.
Args
...
)
request
:=
channel
.
Request
{
ChaincodeID
:
c
.
meta
.
CCID
,
Fcn
:
pd
.
Func
,
Fcn
:
content
.
Func
,
Args
:
args
,
}
...
...
@@ -271,7 +275,7 @@ func (c *Client) SubmitIBTP(ibtp *pb.IBTP) (*model.PluginResponse, error) {
ret
.
Message
=
response
.
Message
// If no callback function to invoke, then simply return
if
pd
.
Callback
==
""
{
if
content
.
Callback
==
""
{
return
ret
,
nil
}
...
...
@@ -280,9 +284,9 @@ func (c *Client) SubmitIBTP(ibtp *pb.IBTP) (*model.PluginResponse, error) {
return
ret
,
err
}
switch
pd
.
Func
{
switch
content
.
Func
{
case
"interchainGet"
:
newArgs
=
append
(
newArgs
,
pd
.
Args
[
0
])
newArgs
=
append
(
newArgs
,
content
.
Args
[
0
])
newArgs
=
append
(
newArgs
,
result
...
)
case
"interchainCharge"
:
newArgs
=
append
(
newArgs
,
[]
byte
(
"false"
))
...
...
event.go
View file @
5213e2b7
...
...
@@ -43,13 +43,21 @@ func (ev *Event) encryptPayload() ([]byte, error) {
for
_
,
a
:=
range
as
{
args
=
append
(
args
,
[]
byte
(
a
))
}
ibtppd
:=
&
pb
.
Payload
{
content
:=
&
pb
.
Content
{
SrcContractId
:
ev
.
SrcContractID
,
DstContractId
:
ev
.
DstContractID
,
Func
:
ev
.
Func
,
Args
:
args
,
Callback
:
ev
.
Callback
,
}
data
,
err
:=
content
.
Marshal
()
if
err
!=
nil
{
return
nil
,
err
}
ibtppd
:=
&
pb
.
Payload
{
Content
:
data
,
}
return
ibtppd
.
Marshal
()
}
...
...
go.mod
View file @
5213e2b7
...
...
@@ -4,6 +4,7 @@ go 1.13
require (
github.com/Rican7/retry v0.1.0
github.com/VividCortex/gohistogram v1.0.0 // indirect
github.com/cloudflare/cfssl v0.0.0-20180223231731-4e2dcbde5004
github.com/golang/protobuf v1.4.0
github.com/golangci/golangci-lint v1.23.0 // indirect
...
...
@@ -18,9 +19,12 @@ require (
github.com/meshplus/pier v0.0.0-00010101000000-000000000000
github.com/sirupsen/logrus v1.5.0
github.com/spf13/viper v1.6.1
sigs.k8s.io/yaml v1.2.0 // indirect
)
replace github.com/golang/protobuf => github.com/golang/protobuf v1.3.2
replace google.golang.org/grpc => google.golang.org/grpc v1.28.1
replace gopkg.in/yaml.v2 => gopkg.in/yaml.v2 v2.2.7
replace golang.org/x/net => golang.org/x/net v0.0.0-20200202094626-16171245cfb2
...
...
go.sum
View file @
5213e2b7
This diff is collapsed.
Click to expand it.
receipt.go
View file @
5213e2b7
...
...
@@ -7,34 +7,47 @@ import (
"github.com/meshplus/bitxhub-model/pb"
)
func
(
c
*
Client
)
generateCallback
(
toExecute
*
pb
.
IBTP
,
args
[][]
byte
,
proof
[]
byte
)
(
result
*
pb
.
IBTP
,
err
error
)
{
if
toExecute
==
nil
{
func
(
c
*
Client
)
generateCallback
(
original
*
pb
.
IBTP
,
args
[][]
byte
,
proof
[]
byte
)
(
result
*
pb
.
IBTP
,
err
error
)
{
if
original
==
nil
{
return
nil
,
fmt
.
Errorf
(
"got nil ibtp to generate receipt: %w"
,
err
)
}
pd
:=
&
pb
.
Payload
{}
if
err
:=
pd
.
Unmarshal
(
toExecute
.
Payload
);
err
!=
nil
{
if
err
:=
pd
.
Unmarshal
(
original
.
Payload
);
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"ibtp payload unmarshal: %w"
,
err
)
}
pdb
:=
&
pb
.
Payload
{
SrcContractId
:
pd
.
DstContractId
,
DstContractId
:
pd
.
SrcContractId
,
Func
:
pd
.
Callback
,
originalContent
:=
&
pb
.
Content
{}
if
err
:=
originalContent
.
Unmarshal
(
pd
.
Content
);
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"ibtp payload unmarshal: %w"
,
err
)
}
content
:=
&
pb
.
Content
{
SrcContractId
:
originalContent
.
DstContractId
,
DstContractId
:
originalContent
.
SrcContractId
,
Func
:
originalContent
.
Callback
,
Args
:
args
,
}
b
,
err
:=
pdb
.
Marshal
()
b
,
err
:=
content
.
Marshal
()
if
err
!=
nil
{
return
nil
,
err
}
retPd
:=
&
pb
.
Payload
{
Content
:
b
,
}
pdb
,
err
:=
retPd
.
Marshal
()
if
err
!=
nil
{
return
nil
,
err
}
return
&
pb
.
IBTP
{
From
:
toExecute
.
From
,
To
:
toExecute
.
To
,
Index
:
toExecute
.
Index
,
From
:
original
.
From
,
To
:
original
.
To
,
Index
:
original
.
Index
,
Type
:
pb
.
IBTP_RECEIPT
,
Timestamp
:
time
.
Now
()
.
UnixNano
(),
Proof
:
proof
,
Payload
:
b
,
Version
:
toExecute
.
Version
,
Payload
:
pd
b
,
Version
:
original
.
Version
,
},
nil
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a 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