You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@milagro.apache.org by cm...@apache.org on 2019/10/01 11:19:19 UTC
[incubator-milagro-dta] branch splitroles-blockchain updated: Fix
safeguard secret
This is an automated email from the ASF dual-hosted git repository.
cmorris pushed a commit to branch splitroles-blockchain
in repository https://gitbox.apache.org/repos/asf/incubator-milagro-dta.git
The following commit(s) were added to refs/heads/splitroles-blockchain by this push:
new ab002a8 Fix safeguard secret
ab002a8 is described below
commit ab002a8a4795896bb80999269337f32c7ec28cd1
Author: Christopher Morris <ch...@morris.net>
AuthorDate: Tue Oct 1 12:19:08 2019 +0100
Fix safeguard secret
---
libs/documents/docs.pb.go | 188 +++++++++++++++++++-----------------
libs/documents/docs.proto | 4 +-
libs/documents/docs.validator.pb.go | 1 +
pkg/config/config.go | 16 ++-
pkg/config/default.go | 17 +++-
pkg/defaultservice/order.go | 23 ++++-
pkg/safeguardsecret/service.go | 23 +++--
pkg/tendermint/tendermint.go | 53 ++--------
pkg/tendermint/websockets.go | 120 ++---------------------
9 files changed, 175 insertions(+), 270 deletions(-)
diff --git a/libs/documents/docs.pb.go b/libs/documents/docs.pb.go
index 1ca6248..b8fe2ee 100644
--- a/libs/documents/docs.pb.go
+++ b/libs/documents/docs.pb.go
@@ -414,20 +414,21 @@ func (m *IDDocument) GetTimestamp() int64 {
}
type OrderDocument struct {
- Type string `protobuf:"bytes,1,opt,name=Type,proto3" json:"Type,omitempty"`
- BeneficiaryType OrderDocument_OrderBeneficiaryType `protobuf:"varint,2,opt,name=BeneficiaryType,proto3,enum=documents.OrderDocument_OrderBeneficiaryType" json:"BeneficiaryType,omitempty"`
- Coin int64 `protobuf:"varint,3,opt,name=Coin,proto3" json:"Coin,omitempty"`
- PrincipalCID string `protobuf:"bytes,4,opt,name=PrincipalCID,proto3" json:"PrincipalCID,omitempty"`
- BeneficiaryCID string `protobuf:"bytes,5,opt,name=BeneficiaryCID,proto3" json:"BeneficiaryCID,omitempty"`
- Reference string `protobuf:"bytes,6,opt,name=Reference,proto3" json:"Reference,omitempty"`
- Timestamp int64 `protobuf:"varint,7,opt,name=Timestamp,proto3" json:"Timestamp,omitempty"`
- OrderPart2 *OrderPart2 `protobuf:"bytes,8,opt,name=OrderPart2,proto3" json:"OrderPart2,omitempty"`
- OrderPart3 *OrderPart3 `protobuf:"bytes,9,opt,name=OrderPart3,proto3" json:"OrderPart3,omitempty"`
- OrderPart4 *OrderPart4 `protobuf:"bytes,10,opt,name=OrderPart4,proto3" json:"OrderPart4,omitempty"`
- Extension map[string]string `protobuf:"bytes,11,rep,name=Extension,proto3" json:"Extension,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Type string `protobuf:"bytes,1,opt,name=Type,proto3" json:"Type,omitempty"`
+ BeneficiaryType OrderDocument_OrderBeneficiaryType `protobuf:"varint,2,opt,name=BeneficiaryType,proto3,enum=documents.OrderDocument_OrderBeneficiaryType" json:"BeneficiaryType,omitempty"`
+ Coin int64 `protobuf:"varint,3,opt,name=Coin,proto3" json:"Coin,omitempty"`
+ PrincipalCID string `protobuf:"bytes,4,opt,name=PrincipalCID,proto3" json:"PrincipalCID,omitempty"`
+ BeneficiaryCID string `protobuf:"bytes,5,opt,name=BeneficiaryCID,proto3" json:"BeneficiaryCID,omitempty"`
+ Reference string `protobuf:"bytes,6,opt,name=Reference,proto3" json:"Reference,omitempty"`
+ Timestamp int64 `protobuf:"varint,7,opt,name=Timestamp,proto3" json:"Timestamp,omitempty"`
+ OrderPart2 *OrderPart2 `protobuf:"bytes,8,opt,name=OrderPart2,proto3" json:"OrderPart2,omitempty"`
+ OrderPart3 *OrderPart3 `protobuf:"bytes,9,opt,name=OrderPart3,proto3" json:"OrderPart3,omitempty"`
+ OrderPart4 *OrderPart4 `protobuf:"bytes,10,opt,name=OrderPart4,proto3" json:"OrderPart4,omitempty"`
+ OrderReqExtension map[string]string `protobuf:"bytes,11,rep,name=OrderReqExtension,proto3" json:"OrderReqExtension,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ OrderSecretReqExtension map[string]string `protobuf:"bytes,12,rep,name=OrderSecretReqExtension,proto3" json:"OrderSecretReqExtension,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
}
func (m *OrderDocument) Reset() { *m = OrderDocument{} }
@@ -525,9 +526,16 @@ func (m *OrderDocument) GetOrderPart4() *OrderPart4 {
return nil
}
-func (m *OrderDocument) GetExtension() map[string]string {
+func (m *OrderDocument) GetOrderReqExtension() map[string]string {
if m != nil {
- return m.Extension
+ return m.OrderReqExtension
+ }
+ return nil
+}
+
+func (m *OrderDocument) GetOrderSecretReqExtension() map[string]string {
+ if m != nil {
+ return m.OrderSecretReqExtension
}
return nil
}
@@ -901,7 +909,8 @@ func init() {
proto.RegisterType((*Recipient)(nil), "documents.Recipient")
proto.RegisterType((*IDDocument)(nil), "documents.IDDocument")
proto.RegisterType((*OrderDocument)(nil), "documents.OrderDocument")
- proto.RegisterMapType((map[string]string)(nil), "documents.OrderDocument.ExtensionEntry")
+ proto.RegisterMapType((map[string]string)(nil), "documents.OrderDocument.OrderReqExtensionEntry")
+ proto.RegisterMapType((map[string]string)(nil), "documents.OrderDocument.OrderSecretReqExtensionEntry")
proto.RegisterType((*OrderPart2)(nil), "documents.OrderPart2")
proto.RegisterMapType((map[string]string)(nil), "documents.OrderPart2.ExtensionEntry")
proto.RegisterType((*OrderPart3)(nil), "documents.OrderPart3")
@@ -917,75 +926,78 @@ func init() {
func init() { proto.RegisterFile("docs.proto", fileDescriptor_2a25dace11219bce) }
var fileDescriptor_2a25dace11219bce = []byte{
- // 1112 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0xcf, 0x6f, 0x1b, 0x45,
- 0x14, 0x66, 0x6d, 0xc7, 0xe9, 0x3e, 0xbb, 0xae, 0x3b, 0x75, 0xdb, 0x55, 0xa8, 0x9a, 0x68, 0x15,
- 0x41, 0x90, 0x48, 0x42, 0x6c, 0x37, 0x2a, 0x51, 0x25, 0x84, 0x7f, 0x00, 0x56, 0xf9, 0x61, 0xd6,
- 0x69, 0x40, 0xaa, 0xda, 0x68, 0xb3, 0x3b, 0x71, 0x46, 0xf1, 0xce, 0xac, 0x76, 0xc7, 0x49, 0x2d,
- 0xe0, 0xcc, 0x81, 0x23, 0xe2, 0x8c, 0x84, 0xd4, 0x2b, 0x47, 0x24, 0xee, 0xfc, 0x1f, 0x91, 0x82,
- 0x04, 0xe2, 0x3f, 0xe0, 0x06, 0x9a, 0xd9, 0x5d, 0x7b, 0xd6, 0xd8, 0x4d, 0x91, 0x88, 0x84, 0x4f,
- 0xf3, 0xde, 0xf7, 0xbd, 0x37, 0x6f, 0xde, 0xfb, 0x66, 0xbc, 0x00, 0x2e, 0x73, 0xc2, 0x0d, 0x3f,
- 0x60, 0x9c, 0x21, 0xdd, 0x65, 0xce, 0xd0, 0xc3, 0x94, 0x87, 0x4b, 0xdb, 0x7d, 0xc2, 0x8f, 0x86,
- 0x07, 0x1b, 0x0e, 0xf3, 0x36, 0xbd, 0x53, 0xc2, 0x8f, 0xd9, 0xe9, 0x66, 0x9f, 0xad, 0x4b, 0xde,
- 0xfa, 0x89, 0x3d, 0x20, 0xae, 0xcd, 0x59, 0x10, 0x6e, 0x8e, 0x97, 0x51, 0x8a, 0xa5, 0x75, 0x25,
- 0xae, 0xcf, 0xfa, 0x6c, 0x53, 0xba, 0x0f, 0x86, 0x87, 0xd2, 0x92, 0x86, 0x5c, 0x45, 0x74, 0xf3,
- 0x1b, 0x0d, 0x4a, 0x3d, 0xd2, 0xa7, 0xd8, 0x6d, 0xd3, 0x13, 0x3c, 0x60, 0x3e, 0x46, 0xab, 0xa0,
- 0x0b, 0x8f, 0xcd, 0x87, 0x01, 0x36, 0xb4, 0x15, 0x6d, 0xad, 0xd8, 0xc8, 0x9f, 0x9f, 0x2d, 0x67,
- 0xfc, 0x8a, 0x35, 0x01, 0xd0, 0xdb, 0x11, 0x0b, 0x07, 0xcd, 0x4e, 0xcb, 0xc8, 0xac, 0x68, 0x6b,
- 0x7a, 0xe3, 0xd5, 0xf3, 0xb3, 0xe5, 0xdb, 0x70, 0xf3, 0xe9, 0xa7, 0x8f, 0x1f, 0xef, 0xd8, 0x03,
- 0x3a, 0xf4, 0x76, 0x9e, 0x3c, 0xf9, 0xa2, 0x7e, 0xef, 0xab, 0xd5, 0x2f, 0x9f, 0xae, 0x5a, 0x13,
- 0x36, 0x32, 0x60, 0xf1, 0x23, 0x1c, 0x86, 0x76, 0x1f, 0x1b, 0x59, 0x91, 0xde, 0x4a, 0x4c, 0x93,
- 0xc1, 0x95, 0x71, 0x19, 0x6f, 0x40, 0xfe, 0x03, 0x6c, 0xbb, 0x38, 0x90, 0x35, 0x14, 0xaa, 0xd7,
- 0x37, 0xc6, 0xcd, 0xd9, 0x88, 0x00, 0x2b, 0x26, 0x20, 0x04, 0xb9, 0x06, 0x73, 0x47, 0xb2, 0x8c,
- 0xa2, 0x25, 0xd7, 0x68, 0x15, 0xae, 0xb6, 0xa9, 0x13, 0x8c, 0x7c, 0x8e, 0x5d, 0x09, 0x46, 0x5b,
- 0xa5, 0x9d, 0xe6, 0x0f, 0xd9, 0x64, 0x17, 0x74, 0x0b, 0xf2, 0x9d, 0xee, 0x7b, 0xbd, 0x4e, 0x4b,
- 0xee, 0xa7, 0x5b, 0xb1, 0x25, 0xaa, 0xdd, 0xc3, 0x41, 0x48, 0x18, 0x95, 0xf9, 0x33, 0x56, 0x62,
- 0xa2, 0x37, 0xe1, 0x4a, 0xcb, 0xe6, 0x78, 0x97, 0x78, 0xd1, 0x41, 0xb2, 0x8d, 0xf2, 0xf9, 0xd9,
- 0x72, 0xb1, 0xfc, 0xfc, 0xeb, 0xdf, 0xfe, 0x58, 0x30, 0x9e, 0xff, 0xf2, 0xd3, 0xb7, 0x23, 0x6b,
- 0xcc, 0x40, 0x2b, 0x50, 0xe8, 0x06, 0xf8, 0x84, 0xb0, 0x61, 0x28, 0x5a, 0x96, 0x93, 0x9b, 0xa8,
- 0x2e, 0x64, 0x42, 0x51, 0x14, 0xb5, 0x3b, 0xf2, 0x71, 0x93, 0xb9, 0xd8, 0x58, 0x90, 0xdb, 0xa5,
- 0x7c, 0x22, 0x8b, 0xb0, 0x93, 0x8a, 0xf2, 0x92, 0xa2, 0xba, 0x50, 0x1d, 0x6e, 0xa6, 0xce, 0x38,
- 0x4e, 0xb7, 0x28, 0xb9, 0xb3, 0x41, 0x54, 0x85, 0x4a, 0x0a, 0x48, 0x36, 0xb8, 0x22, 0x83, 0x66,
- 0x62, 0x68, 0x0d, 0xae, 0xa5, 0xfc, 0x9d, 0x3d, 0x43, 0x97, 0x4d, 0x9e, 0x76, 0xa3, 0x07, 0x00,
- 0x16, 0x76, 0x88, 0x4f, 0xc4, 0xf4, 0x0c, 0x58, 0xc9, 0xae, 0x15, 0xaa, 0x15, 0x65, 0x9e, 0x63,
- 0x30, 0x52, 0xda, 0x51, 0xc5, 0x52, 0xf8, 0xe6, 0x8f, 0x1a, 0xe8, 0x63, 0x53, 0x9d, 0x87, 0x96,
- 0x9e, 0xc7, 0x3a, 0x64, 0x5f, 0x52, 0x8c, 0x82, 0x17, 0x97, 0x6f, 0xfb, 0xe1, 0x70, 0x60, 0x73,
- 0xec, 0x3e, 0xc4, 0x89, 0x46, 0xa6, 0xdd, 0xe8, 0x2e, 0x40, 0x93, 0xf8, 0x47, 0x38, 0xd8, 0xc5,
- 0xcf, 0xb8, 0x9c, 0x5c, 0xd1, 0x52, 0x3c, 0xa8, 0x04, 0x99, 0xce, 0x9e, 0x1c, 0x57, 0xd1, 0xca,
- 0x74, 0xf6, 0xcc, 0x3f, 0x35, 0x80, 0x4e, 0xab, 0x15, 0x1f, 0x0f, 0xdd, 0x87, 0xdb, 0xef, 0x0e,
- 0xf9, 0x11, 0xa6, 0x9c, 0x38, 0x36, 0x27, 0x8c, 0x5a, 0xf8, 0x10, 0x07, 0x98, 0x3a, 0x38, 0x96,
- 0xda, 0x3c, 0x18, 0x6d, 0xc3, 0xad, 0x06, 0xa6, 0xf8, 0x90, 0x38, 0xc4, 0x0e, 0x46, 0xed, 0x66,
- 0x77, 0x78, 0x30, 0x20, 0x8e, 0xa8, 0x34, 0x92, 0xfa, 0x1c, 0x54, 0x88, 0xbf, 0x47, 0x8e, 0xf1,
- 0x84, 0x1e, 0x8b, 0x3f, 0xe5, 0x94, 0x7a, 0xfb, 0xb0, 0x37, 0x21, 0x45, 0x07, 0x4b, 0xf9, 0xd0,
- 0x06, 0xe8, 0x42, 0xbd, 0x21, 0xb7, 0x3d, 0x5f, 0x9e, 0x70, 0x96, 0xc8, 0x27, 0x14, 0xf3, 0xbb,
- 0x3c, 0x5c, 0xfd, 0x24, 0x70, 0x71, 0x30, 0x3e, 0x3d, 0x82, 0x9c, 0x50, 0x59, 0x7c, 0x54, 0xb9,
- 0x46, 0x9f, 0xc1, 0x35, 0xa5, 0x72, 0x09, 0x8b, 0x03, 0x95, 0xaa, 0xeb, 0x8a, 0x28, 0x52, 0x69,
- 0x22, 0x6b, 0x2a, 0xc8, 0x9a, 0xce, 0x82, 0x5e, 0x83, 0x5c, 0x93, 0x11, 0x1a, 0x5f, 0x47, 0x74,
- 0x7e, 0xb6, 0x5c, 0x2a, 0xff, 0x95, 0xfc, 0x34, 0xe3, 0xf7, 0x45, 0x4b, 0xe2, 0xe8, 0x1d, 0x28,
- 0x76, 0x03, 0x42, 0x1d, 0xe2, 0xdb, 0x83, 0xf1, 0x6d, 0x7c, 0xb1, 0x66, 0x52, 0x01, 0xa8, 0x09,
- 0x25, 0x65, 0x6f, 0x91, 0x62, 0xe1, 0xe2, 0x14, 0x53, 0x21, 0xe2, 0xa5, 0x9d, 0x48, 0x21, 0x2f,
- 0xe3, 0xa5, 0xfe, 0x3f, 0xd7, 0xac, 0x09, 0x90, 0x1e, 0xc1, 0xe2, 0x85, 0x23, 0x40, 0xf7, 0x00,
- 0x64, 0xb3, 0xba, 0x76, 0xc0, 0xab, 0xf2, 0x02, 0x17, 0xaa, 0x37, 0xa7, 0xfb, 0x2a, 0x41, 0x4b,
- 0x21, 0xa6, 0xc2, 0x6a, 0xf2, 0x22, 0xcf, 0x09, 0xab, 0x29, 0x61, 0xb5, 0x54, 0x58, 0xdd, 0x80,
- 0xf9, 0x61, 0x75, 0x25, 0xac, 0x8e, 0xda, 0xa0, 0xb7, 0x9f, 0x71, 0x4c, 0xe5, 0x3d, 0x2e, 0xc8,
- 0x07, 0xe1, 0xf5, 0xb9, 0xb3, 0x1f, 0x33, 0xdb, 0x94, 0x07, 0x23, 0x6b, 0x12, 0xb9, 0xf4, 0x00,
- 0x4a, 0x69, 0x10, 0x95, 0x21, 0x7b, 0x8c, 0x47, 0xb1, 0xda, 0xc4, 0x12, 0x55, 0x60, 0xe1, 0xc4,
- 0x1e, 0x0c, 0x23, 0x89, 0xe9, 0x56, 0x64, 0xec, 0x64, 0xee, 0x6b, 0x26, 0x81, 0xca, 0x2c, 0x59,
- 0xa1, 0x6b, 0x50, 0x78, 0x44, 0x43, 0x1f, 0x3b, 0xe4, 0x90, 0x60, 0xb7, 0xfc, 0x0a, 0xba, 0x0b,
- 0x4b, 0x0a, 0x67, 0xff, 0x21, 0x65, 0xa7, 0x74, 0xdf, 0xe6, 0xfb, 0x21, 0xb7, 0x03, 0x5e, 0xd6,
- 0xd0, 0x0a, 0xdc, 0x51, 0xf1, 0x47, 0xf4, 0x38, 0x61, 0xf4, 0x24, 0x23, 0x63, 0xfe, 0x9c, 0x51,
- 0xa7, 0x82, 0xde, 0x82, 0x1b, 0x4d, 0xe6, 0x79, 0x84, 0x8b, 0xf3, 0x4d, 0x6e, 0x60, 0x54, 0xf5,
- 0x2c, 0x08, 0xbd, 0x0f, 0xe5, 0xe4, 0xbf, 0x42, 0xe6, 0x79, 0xc9, 0x97, 0xee, 0x1f, 0x41, 0x69,
- 0x39, 0x65, 0x2f, 0x96, 0x53, 0x43, 0x9d, 0x54, 0x4e, 0x4e, 0x6a, 0x75, 0xa6, 0x9a, 0x2e, 0x6d,
- 0x4c, 0xbf, 0xaa, 0xbd, 0xab, 0x89, 0xd7, 0xd8, 0xc2, 0x2e, 0xf6, 0x7c, 0x9e, 0xfc, 0x07, 0xe8,
- 0x96, 0xe2, 0xf9, 0xef, 0x3a, 0xb5, 0x03, 0x86, 0xfa, 0xbe, 0x26, 0xff, 0x69, 0x2d, 0x9b, 0xdb,
- 0xf1, 0x83, 0x3a, 0x17, 0x4f, 0x77, 0x39, 0xf7, 0x2f, 0xbb, 0xbc, 0x30, 0xbf, 0xcb, 0xb5, 0x4b,
- 0xeb, 0xf2, 0xf7, 0x6a, 0x97, 0xeb, 0xe2, 0x73, 0xa8, 0x87, 0x9d, 0x00, 0xf3, 0xe4, 0x73, 0x28,
- 0xb2, 0xfe, 0xff, 0x3a, 0xac, 0x5f, 0x5a, 0x87, 0xb6, 0x21, 0xdf, 0x65, 0x03, 0xe2, 0x8c, 0x5e,
- 0xf0, 0x0d, 0x82, 0x20, 0xf7, 0xb1, 0xed, 0x25, 0xc1, 0x72, 0x6d, 0x6e, 0xc1, 0xf5, 0xee, 0xc0,
- 0x26, 0x74, 0x17, 0x87, 0x3c, 0xfe, 0xd2, 0xdd, 0x42, 0x77, 0x40, 0x17, 0x20, 0xc7, 0x21, 0xdf,
- 0x8a, 0xb7, 0x9f, 0x38, 0xcc, 0x1a, 0xdc, 0x88, 0xf5, 0x34, 0x2f, 0xa8, 0x3a, 0x1d, 0x54, 0x35,
- 0xd7, 0xa0, 0xd8, 0x23, 0x9e, 0x3f, 0xc0, 0x3d, 0x1e, 0x10, 0xda, 0x17, 0x55, 0x36, 0x19, 0xe5,
- 0x98, 0x26, 0x33, 0x4c, 0xcc, 0x83, 0xbc, 0xfc, 0xf8, 0xaf, 0xfd, 0x1d, 0x00, 0x00, 0xff, 0xff,
- 0x9a, 0xa9, 0xa8, 0xbc, 0x7c, 0x0c, 0x00, 0x00,
+ // 1160 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x57, 0xcd, 0x6f, 0x1b, 0x45,
+ 0x14, 0xc7, 0x1f, 0x71, 0xea, 0x67, 0xd7, 0x75, 0xa6, 0x4e, 0x62, 0x99, 0xa8, 0x89, 0x56, 0x11,
+ 0x0a, 0x12, 0x71, 0x88, 0xed, 0x44, 0x25, 0xaa, 0x84, 0xb0, 0x1d, 0xc0, 0x94, 0x0f, 0x33, 0x4e,
+ 0x03, 0x52, 0x95, 0x46, 0x9b, 0xdd, 0x89, 0x33, 0x8a, 0x3d, 0xb3, 0xec, 0x8e, 0x93, 0x5a, 0xc0,
+ 0x99, 0x03, 0x47, 0xfe, 0x00, 0x24, 0xa4, 0x5e, 0x39, 0x22, 0x71, 0xe7, 0xff, 0x88, 0x14, 0x24,
+ 0x10, 0x57, 0x4e, 0xdc, 0x40, 0x33, 0xbb, 0xeb, 0xdd, 0x75, 0xec, 0xa4, 0x15, 0x54, 0x22, 0xa7,
+ 0x79, 0x1f, 0xbf, 0xf7, 0xde, 0xbc, 0xf7, 0x7b, 0x9e, 0x0d, 0x80, 0xc9, 0x0d, 0xa7, 0x6c, 0xd9,
+ 0x5c, 0x70, 0x94, 0x36, 0xb9, 0x31, 0xe8, 0x13, 0x26, 0x9c, 0xd2, 0x76, 0x97, 0x8a, 0x93, 0xc1,
+ 0x51, 0xd9, 0xe0, 0xfd, 0x8d, 0xfe, 0x39, 0x15, 0xa7, 0xfc, 0x7c, 0xa3, 0xcb, 0xd7, 0x95, 0xdf,
+ 0xfa, 0x99, 0xde, 0xa3, 0xa6, 0x2e, 0xb8, 0xed, 0x6c, 0x8c, 0x8e, 0x6e, 0x88, 0xd2, 0x7a, 0x08,
+ 0xd7, 0xe5, 0x5d, 0xbe, 0xa1, 0xd4, 0x47, 0x83, 0x63, 0x25, 0x29, 0x41, 0x9d, 0x5c, 0x77, 0xed,
+ 0xdb, 0x18, 0xe4, 0x3a, 0xb4, 0xcb, 0x88, 0xb9, 0xcb, 0xce, 0x48, 0x8f, 0x5b, 0x04, 0xad, 0x42,
+ 0x5a, 0x6a, 0x74, 0x31, 0xb0, 0x49, 0x31, 0xb6, 0x12, 0x5b, 0xcb, 0xd6, 0x53, 0x97, 0x17, 0xcb,
+ 0x71, 0xab, 0x80, 0x03, 0x03, 0x7a, 0xcb, 0xf5, 0x22, 0x76, 0xa3, 0xd5, 0x2c, 0xc6, 0x57, 0x62,
+ 0x6b, 0xe9, 0xfa, 0xab, 0x97, 0x17, 0xcb, 0x8b, 0x30, 0xff, 0xe4, 0xd3, 0xc7, 0x8f, 0x77, 0xf4,
+ 0x1e, 0x1b, 0xf4, 0x77, 0x0e, 0x0e, 0xbe, 0xac, 0x6d, 0x7d, 0xbd, 0xfa, 0xd5, 0x93, 0x55, 0x1c,
+ 0x78, 0xa3, 0x22, 0xcc, 0x7e, 0x44, 0x1c, 0x47, 0xef, 0x92, 0x62, 0x42, 0x86, 0xc7, 0xbe, 0xa8,
+ 0x71, 0xb8, 0x35, 0x2a, 0xe3, 0x75, 0x48, 0xbd, 0x4f, 0x74, 0x93, 0xd8, 0xaa, 0x86, 0x4c, 0x65,
+ 0xae, 0x3c, 0x6a, 0x4e, 0xd9, 0x35, 0x60, 0xcf, 0x01, 0x21, 0x48, 0xd6, 0xb9, 0x39, 0x54, 0x65,
+ 0x64, 0xb1, 0x3a, 0xa3, 0x55, 0xb8, 0xbd, 0xcb, 0x0c, 0x7b, 0x68, 0x09, 0x62, 0x2a, 0xa3, 0x9b,
+ 0x2a, 0xaa, 0xd4, 0x7e, 0x48, 0xf8, 0x59, 0xd0, 0x02, 0xa4, 0x5a, 0xed, 0x77, 0x3b, 0xad, 0xa6,
+ 0xca, 0x97, 0xc6, 0x9e, 0x24, 0xab, 0xdd, 0x27, 0xb6, 0x43, 0x39, 0x53, 0xf1, 0xe3, 0xd8, 0x17,
+ 0xd1, 0x1b, 0x70, 0xab, 0xa9, 0x0b, 0xb2, 0x47, 0xfb, 0xee, 0x45, 0x12, 0xf5, 0xfc, 0xe5, 0xc5,
+ 0x72, 0x36, 0xff, 0xec, 0x9b, 0xdf, 0xfe, 0x98, 0x29, 0x3e, 0xfb, 0xe5, 0xa7, 0xef, 0x86, 0x78,
+ 0xe4, 0x81, 0x56, 0x20, 0xd3, 0xb6, 0xc9, 0x19, 0xe5, 0x03, 0x47, 0xb6, 0x2c, 0xa9, 0x92, 0x84,
+ 0x55, 0x48, 0x83, 0xac, 0x2c, 0x6a, 0x6f, 0x68, 0x91, 0x06, 0x37, 0x49, 0x71, 0x46, 0xa5, 0x8b,
+ 0xe8, 0x64, 0x14, 0x29, 0xfb, 0x15, 0xa5, 0x94, 0x4b, 0x58, 0x85, 0x6a, 0x30, 0x1f, 0xb9, 0xe3,
+ 0x28, 0xdc, 0xac, 0xf2, 0x9d, 0x6c, 0x44, 0x15, 0x28, 0x44, 0x0c, 0x7e, 0x82, 0x5b, 0x0a, 0x34,
+ 0xd1, 0x86, 0xd6, 0xe0, 0x4e, 0x44, 0xdf, 0xda, 0x2f, 0xa6, 0x55, 0x93, 0xc7, 0xd5, 0xe8, 0x01,
+ 0x00, 0x26, 0x06, 0xb5, 0xa8, 0x9c, 0x5e, 0x11, 0x56, 0x12, 0x6b, 0x99, 0x4a, 0x21, 0x34, 0xcf,
+ 0x91, 0xd1, 0x65, 0xda, 0x49, 0x01, 0x87, 0xfc, 0xb5, 0x1f, 0x63, 0x90, 0x1e, 0x89, 0xe1, 0x79,
+ 0xc4, 0xa2, 0xf3, 0x58, 0x87, 0xc4, 0x73, 0x92, 0x51, 0xfa, 0x79, 0xe5, 0xeb, 0x96, 0x33, 0xe8,
+ 0xe9, 0x82, 0x98, 0x0f, 0x89, 0xcf, 0x91, 0x71, 0x35, 0xba, 0x07, 0xd0, 0xa0, 0xd6, 0x09, 0xb1,
+ 0xf7, 0xc8, 0x53, 0xa1, 0x26, 0x97, 0xc5, 0x21, 0x0d, 0xca, 0x41, 0xbc, 0xb5, 0xaf, 0xc6, 0x95,
+ 0xc5, 0xf1, 0xd6, 0xbe, 0xf6, 0x57, 0x0c, 0xa0, 0xd5, 0x6c, 0x7a, 0xd7, 0x43, 0xf7, 0x61, 0xf1,
+ 0x9d, 0x81, 0x38, 0x21, 0x4c, 0x50, 0x43, 0x17, 0x94, 0x33, 0x4c, 0x8e, 0x89, 0x4d, 0x98, 0x41,
+ 0x3c, 0xaa, 0x4d, 0x33, 0xa3, 0x6d, 0x58, 0xa8, 0x13, 0x46, 0x8e, 0xa9, 0x41, 0x75, 0x7b, 0xb8,
+ 0xdb, 0x68, 0x0f, 0x8e, 0x7a, 0xd4, 0x90, 0x95, 0xba, 0x54, 0x9f, 0x62, 0x95, 0xe4, 0xef, 0xd0,
+ 0x53, 0x12, 0xb8, 0x7b, 0xe4, 0x8f, 0x28, 0x15, 0xdf, 0x3e, 0xec, 0x04, 0x4e, 0xee, 0xc5, 0x22,
+ 0x3a, 0x54, 0x86, 0xb4, 0x64, 0xaf, 0x23, 0xf4, 0xbe, 0xa5, 0x6e, 0x38, 0x89, 0xe4, 0x81, 0x8b,
+ 0xf6, 0xe7, 0x2c, 0xdc, 0xfe, 0xc4, 0x36, 0x89, 0x3d, 0xba, 0x3d, 0x82, 0xa4, 0x64, 0x99, 0x77,
+ 0x55, 0x75, 0x46, 0x9f, 0xc1, 0x9d, 0x50, 0xe5, 0xca, 0x2c, 0x2f, 0x94, 0xab, 0xac, 0x87, 0x48,
+ 0x11, 0x09, 0xe3, 0x4a, 0x63, 0x20, 0x3c, 0x1e, 0x05, 0xbd, 0x06, 0xc9, 0x06, 0xa7, 0xcc, 0x5b,
+ 0x47, 0x74, 0x79, 0xb1, 0x9c, 0xcb, 0xff, 0xed, 0xff, 0xc5, 0x8a, 0xbf, 0xcf, 0x62, 0x65, 0x47,
+ 0x6f, 0x43, 0xb6, 0x6d, 0x53, 0x66, 0x50, 0x4b, 0xef, 0x8d, 0xb6, 0xf1, 0x7a, 0xce, 0x44, 0x00,
+ 0xa8, 0x01, 0xb9, 0x50, 0x6e, 0x19, 0x62, 0xe6, 0xe6, 0x10, 0x63, 0x10, 0xf9, 0x4b, 0x1b, 0x50,
+ 0x21, 0xa5, 0xf0, 0x8a, 0xff, 0x9f, 0xc7, 0x70, 0x60, 0x88, 0x8e, 0x60, 0xf6, 0xc6, 0x11, 0xa0,
+ 0x2d, 0x00, 0xd5, 0xac, 0xb6, 0x6e, 0x8b, 0x8a, 0x5a, 0xe0, 0x4c, 0x65, 0x7e, 0xbc, 0xaf, 0xca,
+ 0x88, 0x43, 0x8e, 0x11, 0x58, 0x55, 0x2d, 0xf2, 0x14, 0x58, 0x35, 0x04, 0xab, 0x46, 0x60, 0xb5,
+ 0x22, 0x4c, 0x87, 0xd5, 0x42, 0xb0, 0x1a, 0x3a, 0x80, 0x39, 0x25, 0x61, 0xf2, 0xc5, 0xee, 0x53,
+ 0x41, 0x98, 0xda, 0xe7, 0x8c, 0xfa, 0x61, 0xd8, 0xb8, 0x9e, 0x03, 0x61, 0xc4, 0x2e, 0x13, 0xf6,
+ 0x10, 0x5f, 0x8d, 0x84, 0x38, 0x2c, 0x2a, 0x65, 0x87, 0x18, 0x36, 0x11, 0x91, 0x24, 0x59, 0x95,
+ 0x64, 0xeb, 0xfa, 0x24, 0x57, 0x71, 0x6e, 0xaa, 0x69, 0x51, 0x4b, 0x4d, 0x58, 0x98, 0x5c, 0x1d,
+ 0xca, 0x43, 0xe2, 0x94, 0x0c, 0x3d, 0xfa, 0xcb, 0x23, 0x2a, 0xc0, 0xcc, 0x99, 0xde, 0x1b, 0xb8,
+ 0x9c, 0x4f, 0x63, 0x57, 0xd8, 0x89, 0xdf, 0x8f, 0x95, 0x3e, 0x80, 0xa5, 0xeb, 0xd2, 0xbf, 0x48,
+ 0x2c, 0x8d, 0x42, 0x61, 0xd2, 0xce, 0xa0, 0x3b, 0x90, 0x79, 0xc4, 0x1c, 0x8b, 0x18, 0xf4, 0x98,
+ 0x12, 0x33, 0xff, 0x0a, 0xba, 0x07, 0xa5, 0x90, 0xcf, 0xe1, 0x43, 0xc6, 0xcf, 0xd9, 0xa1, 0x2e,
+ 0x0e, 0x1d, 0xa1, 0xdb, 0x22, 0x1f, 0x43, 0x2b, 0xb0, 0x14, 0xb6, 0x3f, 0x62, 0xa7, 0xbe, 0x47,
+ 0x47, 0x79, 0xc4, 0xb5, 0x9f, 0xe3, 0x61, 0xca, 0xa1, 0x37, 0xe1, 0x6e, 0x83, 0xf7, 0xfb, 0x54,
+ 0xc8, 0x7e, 0x06, 0x3f, 0x2f, 0x6e, 0xd5, 0x93, 0x4c, 0xe8, 0x3d, 0xc8, 0xfb, 0x0f, 0xa1, 0x8a,
+ 0xf3, 0x9c, 0x3f, 0xe3, 0x57, 0x40, 0xd1, 0x5d, 0x49, 0xdc, 0xbc, 0x2b, 0x75, 0x48, 0x07, 0xcc,
+ 0x48, 0x2a, 0x66, 0xac, 0x4e, 0x5c, 0x95, 0xf2, 0x18, 0x11, 0x02, 0x58, 0xe9, 0x01, 0xe4, 0xfe,
+ 0xc5, 0x98, 0x7e, 0x0d, 0xf7, 0xae, 0x2a, 0x9f, 0x1a, 0x4c, 0x4c, 0xd2, 0xb7, 0x84, 0xff, 0xc0,
+ 0xa5, 0x71, 0x48, 0xf3, 0xdf, 0x75, 0x6a, 0x07, 0x8a, 0xe1, 0xc7, 0xc3, 0x7f, 0xb0, 0x9b, 0xba,
+ 0xd0, 0xbd, 0xd7, 0x62, 0xaa, 0x3d, 0xda, 0xe5, 0xe4, 0x0b, 0x76, 0x79, 0x66, 0x7a, 0x97, 0xab,
+ 0x2f, 0xad, 0xcb, 0xdf, 0x87, 0xbb, 0x5c, 0x93, 0xdf, 0x7a, 0xee, 0x8a, 0xf9, 0xdf, 0x7a, 0xae,
+ 0xf4, 0xff, 0xe7, 0x61, 0xed, 0xa5, 0x75, 0x68, 0x1b, 0x52, 0x6d, 0xde, 0xa3, 0xc6, 0xf0, 0x9a,
+ 0x0f, 0x2c, 0x04, 0xc9, 0x8f, 0xf5, 0xbe, 0x0f, 0x56, 0x67, 0x6d, 0x13, 0xe6, 0xda, 0x3d, 0x9d,
+ 0xb2, 0x3d, 0xe2, 0x08, 0xef, 0x33, 0x7e, 0x13, 0x2d, 0x41, 0x5a, 0x1a, 0x05, 0x71, 0xc4, 0xa6,
+ 0x97, 0x3e, 0x50, 0x68, 0x55, 0xb8, 0xeb, 0xf1, 0x69, 0x1a, 0xa8, 0x32, 0x0e, 0xaa, 0x68, 0x6b,
+ 0x90, 0xed, 0xd0, 0xbe, 0xd5, 0x23, 0x1d, 0x61, 0x53, 0xd6, 0x95, 0x55, 0x36, 0x38, 0x13, 0x84,
+ 0xf9, 0x33, 0xf4, 0xc5, 0xa3, 0x94, 0xfa, 0xcf, 0xa6, 0xfa, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff,
+ 0x17, 0x99, 0x7b, 0x18, 0x59, 0x0d, 0x00, 0x00,
}
diff --git a/libs/documents/docs.proto b/libs/documents/docs.proto
index cc71745..62b25a8 100644
--- a/libs/documents/docs.proto
+++ b/libs/documents/docs.proto
@@ -91,9 +91,11 @@ message OrderDocument {
OrderPart2 OrderPart2 = 8;
OrderPart3 OrderPart3 = 9;
OrderPart4 OrderPart4 = 10;
- map<string, string> Extension = 11;
+ map<string, string> OrderReqExtension = 11;
+ map<string, string> OrderSecretReqExtension = 12;
}
+
message OrderPart2 {
string CommitmentPublicKey = 1;
string PreviousOrderCID = 2 [(validator.field) = {regex: "^Q[[:alnum:]]{45}$|^$"}];
diff --git a/libs/documents/docs.validator.pb.go b/libs/documents/docs.validator.pb.go
index 09aea38..2772f39 100644
--- a/libs/documents/docs.validator.pb.go
+++ b/libs/documents/docs.validator.pb.go
@@ -116,6 +116,7 @@ func (this *OrderDocument) Validate() error {
}
}
// Validation of proto3 map<> fields is unsupported.
+ // Validation of proto3 map<> fields is unsupported.
return nil
}
diff --git a/pkg/config/config.go b/pkg/config/config.go
index d3a1386..566c89c 100644
--- a/pkg/config/config.go
+++ b/pkg/config/config.go
@@ -74,6 +74,11 @@ type NodeConfig struct {
Datastore string `yaml:"dataStore"`
}
+//Blockchain Config -
+type BlockchainConfig struct {
+ BroadcastNode string `yaml:"broadcastNode"`
+}
+
// PluginsConfig -
type PluginsConfig struct {
Service string `yaml:"service"`
@@ -81,11 +86,12 @@ type PluginsConfig struct {
// Config -
type Config struct {
- HTTP HTTPConfig `yaml:"http"`
- Node NodeConfig `yaml:"node"`
- Log LogConfig `yaml:"log"`
- IPFS IPFSConfig `yaml:"ipfs"`
- Plugins PluginsConfig `yaml:"plugins"`
+ HTTP HTTPConfig `yaml:"http"`
+ Node NodeConfig `yaml:"node"`
+ Log LogConfig `yaml:"log"`
+ IPFS IPFSConfig `yaml:"ipfs"`
+ Plugins PluginsConfig `yaml:"plugins"`
+ Blockchain BlockchainConfig `yaml:"blockchain"`
}
// Init initialise config folder with default options
diff --git a/pkg/config/default.go b/pkg/config/default.go
index 1ea3ba1..79ebd20 100644
--- a/pkg/config/default.go
+++ b/pkg/config/default.go
@@ -20,11 +20,12 @@ package config
// DefaultConfig -
func DefaultConfig() *Config {
return &Config{
- HTTP: defaultHTTPConfig(),
- Node: defaultNodeConfig(),
- Log: defaultLogConfig(),
- IPFS: defaultIPFSConfig(),
- Plugins: defaultPluginsConfig(),
+ HTTP: defaultHTTPConfig(),
+ Node: defaultNodeConfig(),
+ Log: defaultLogConfig(),
+ IPFS: defaultIPFSConfig(),
+ Plugins: defaultPluginsConfig(),
+ Blockchain: defaultBlockchainConfig(),
}
}
@@ -70,6 +71,12 @@ func defaultNodeConfig() NodeConfig {
}
}
+func defaultBlockchainConfig() BlockchainConfig {
+ return BlockchainConfig{
+ BroadcastNode: "34.246.173.153:26657",
+ }
+}
+
// PluginsConfig -
func defaultPluginsConfig() PluginsConfig {
return PluginsConfig{
diff --git a/pkg/defaultservice/order.go b/pkg/defaultservice/order.go
index ac8a60f..7adfbc9 100644
--- a/pkg/defaultservice/order.go
+++ b/pkg/defaultservice/order.go
@@ -105,7 +105,9 @@ func (s *Service) PrepareOrderPart1(order *documents.OrderDoc, reqExtension map[
}
// PrepareOrderResponse gets the updated order and returns the commitment and extension
-func (s *Service) PrepareOrderResponse(orderPart2 *documents.OrderDoc, reqExtension, fulfillExtension map[string]string) (commitment string, extension map[string]string, err error) {
+//func (s *Service) PrepareOrderResponse(orderPart2 *documents.OrderDoc, reqExtension, fulfillExtension map[string]string) (commitment string, extension map[string]string, err error) {
+
+func (s *Service) PrepareOrderResponse(orderPart2 *documents.OrderDoc) (commitment string, extension map[string]string, err error) {
return orderPart2.OrderPart2.CommitmentPublicKey, nil, nil
}
@@ -142,10 +144,13 @@ func (s *Service) Order1(req *api.OrderRequest) (string, error) {
return "", err
}
- // fulfillExtension, err := s.Plugin.PrepareOrderPart1(order, req.Extension)
- // if err != nil {
- // return "", err
- // }
+ //Populate extension fields
+ if order.OrderReqExtension == nil {
+ order.OrderReqExtension = make(map[string]string)
+ }
+ for key, value := range req.Extension {
+ order.OrderReqExtension[key] = value
+ }
//This is serialized and output to the chain
txHash, payload, err := common.CreateTX(nodeID, s.Store, nodeID, order, recipientList)
@@ -208,6 +213,14 @@ func (s *Service) OrderSecret1(req *api.OrderSecretRequest) (string, error) {
}
}
+ //Populate extension fields
+ if order.OrderSecretReqExtension == nil {
+ order.OrderSecretReqExtension = make(map[string]string)
+ }
+ for key, value := range req.Extension {
+ order.OrderSecretReqExtension[key] = value
+ }
+
if err := s.Plugin.ValidateOrderSecretRequest(req, *order); err != nil {
return "", err
}
diff --git a/pkg/safeguardsecret/service.go b/pkg/safeguardsecret/service.go
index 43f3e09..12e40cf 100644
--- a/pkg/safeguardsecret/service.go
+++ b/pkg/safeguardsecret/service.go
@@ -21,6 +21,10 @@ Package safeguardsecret - is an example of a D-TA plugin
package safeguardsecret
import (
+ "errors"
+ "fmt"
+ "strings"
+
"github.com/apache/incubator-milagro-dta/libs/crypto"
"github.com/apache/incubator-milagro-dta/libs/cryptowallet"
"github.com/apache/incubator-milagro-dta/libs/documents"
@@ -56,10 +60,12 @@ func (s *Service) Vendor() string {
// PrepareOrderResponse gets the updated order and returns the commitment and extension
func (s *Service) PrepareOrderResponse(order *documents.OrderDoc) (commitment string, extension map[string]string, err error) {
finalPublicKey := order.OrderPart2.CommitmentPublicKey
- plainText := order.OrderPart2.Extension["plainText"]
+ plainText := order.OrderReqExtension["plainText"]
+ delete(order.OrderReqExtension, "plainText") //we don't want to store this
c, v, t, err := crypto.Secp256k1Encrypt(plainText, finalPublicKey)
-
- return finalPublicKey, map[string]string{"cypherText": c, "v": v, "t": t}, nil
+ cypherTextWithParams := fmt.Sprintf("%s:%s:%s", t, v, c)
+ return finalPublicKey, map[string]string{"cypherText": cypherTextWithParams}, nil
+ // return finalPublicKey, map[string]string{"cypherText": c, "v": v, "t": t}, nil
}
// ProduceFinalSecret -
@@ -70,13 +76,14 @@ func (s *Service) ProduceFinalSecret(seed, sikeSK []byte, order, orderPart4 *doc
if err != nil {
return "", "", nil, err
}
-
- //HACKED TO MAKE WORKD NEED TO PASS EXTENDION CSM TODO
- plainText, err := crypto.Secp256k1Decrypt("1", "1", "1", finalPrivateKey)
- //plainText, err := crypto.Secp256k1Decrypt(req.Extension["cypherText"], req.Extension["v"], req.Extension["t"], finalPrivateKey)
+ cypherTextWithParams := order.OrderPart2.Extension["cypherText"]
+ cypherparts := strings.SplitN(cypherTextWithParams, ":", 3) //maps parts to t:v:c
+ if len(cypherparts) != 3 {
+ return "", "", nil, errors.New("Invalid CypherText")
+ }
+ plainText, err := crypto.Secp256k1Decrypt(cypherparts[2], cypherparts[1], cypherparts[0], finalPrivateKey)
if err != nil {
return "", "", nil, err
}
-
return finalPrivateKey, finalPublicKey, map[string]string{"plainText": plainText}, nil
}
diff --git a/pkg/tendermint/tendermint.go b/pkg/tendermint/tendermint.go
index 1ea19f6..e02b3c1 100644
--- a/pkg/tendermint/tendermint.go
+++ b/pkg/tendermint/tendermint.go
@@ -9,7 +9,6 @@ import (
"errors"
"fmt"
"net/http"
- "os"
"strings"
"github.com/apache/incubator-milagro-dta/pkg/api"
@@ -115,56 +114,22 @@ func decodeTX(payload string) (*api.BlockChainTX, string, error) {
}
func callNextTX(svc service.Service, tx *api.BlockChainTX, listenPort string) error {
- payloadString := string(tx.Payload)
-
- if tx.Processor == "NONE" {
- //The TX is information and doesn't require any further processing
+ switch tx.Processor {
+ case "none":
return nil
- }
-
- if tx.Processor == "dump" {
+ case "dump":
svc.Dump(tx)
- return nil
- }
- if tx.Processor == "v1/fulfill/order" {
+ case "v1/fulfill/order":
svc.FulfillOrder(tx)
- return nil
- }
- if tx.Processor == "v1/order2" {
+ case "v1/order2":
svc.Order2(tx)
- return nil
- }
-
- if tx.Processor == "v1/fulfill/order/secret" {
+ case "v1/fulfill/order/secret":
svc.FulfillOrderSecret(tx)
- return nil
- }
- if tx.Processor == "v1/order/secret2" {
+ case "v1/order/secret2":
svc.OrderSecret2(tx)
- return nil
- }
-
- desintationURL := fmt.Sprintf("http://localhost"+listenPort+"/%s", tx.Processor)
- body := strings.NewReader(payloadString)
- req, err := http.NewRequest("POST", os.ExpandEnv(desintationURL), body)
- if err != nil {
- return err
- }
- req.Header.Set("Accept", "*/*")
- req.Header.Set("Content-Type", "application/json")
-
- resp, err := http.DefaultClient.Do(req)
- if err != nil {
- return err
- }
- defer resp.Body.Close()
- scanner := bufio.NewScanner(resp.Body)
- scanner.Split(bufio.ScanBytes)
- t := ""
- for scanner.Scan() {
- t += scanner.Text()
- ///fmt.Print(scanner.Text())
+ default:
+ return errors.New("Unknown processor")
}
return nil
}
diff --git a/pkg/tendermint/websockets.go b/pkg/tendermint/websockets.go
index 7f6c0fc..520de51 100644
--- a/pkg/tendermint/websockets.go
+++ b/pkg/tendermint/websockets.go
@@ -27,8 +27,8 @@ func catchUp(quene chan tmtypes.Tx, store *datastore.Store, logger *logger.Logge
}
//Subscribe to Websocket and add to queue
-func subscribeAndQueue(queueWaiting chan api.BlockChainTX, logger *logger.Logger, nodeID string, listenPort string) error {
- client := tmclient.NewHTTP("tcp://"+node+"", "/websocket")
+func subscribeAndQueue(queueWaiting chan api.BlockChainTX, logger *logger.Logger, nodeID string, listenPort string, blockchainNode string) error {
+ client := tmclient.NewHTTP("tcp://"+blockchainNode+"", "/websocket")
//client.SetLogger(tmlogger)
err := client.Start()
if err != nil {
@@ -71,7 +71,7 @@ func subscribeAndQueue(queueWaiting chan api.BlockChainTX, logger *logger.Logger
//Add into the waitingQueue for later processing
queueWaiting <- payload
- fmt.Printf("Incoming Transaction:%d \n", len(queueWaiting))
+ //fmt.Printf("Incoming Transaction:%d \n", len(queueWaiting))
case <-quit:
os.Exit(0)
@@ -165,21 +165,14 @@ func parseHistory(txHistory []ctypes.ResultTx) {
func processTXQueue(svc service.Service, queue chan api.BlockChainTX, listenPort string) {
print("Processing queue\n")
for payload := range queue {
- //blockchainTX, txid, err := decodeTX(string(tx))
- //TXIDhex := hex.EncodeToString(payload.TXhash[:])
- // logger.Info("Incoming TXHash:%s . Processor:%s", TXIDhex, payload.Processor)
-
callNextTX(svc, &payload, listenPort)
}
- print("Finished processing queue")
}
//Subscribe - Connect to the Tendermint websocket to collect events
-func Subscribe(svc service.Service, store *datastore.Store, logger *logger.Logger, nodeID string, listenPort string) error {
- //Subscribe to channel
- //Get height
+func Subscribe(svc service.Service, store *datastore.Store, logger *logger.Logger, nodeID string, listenPort string, blockchainNode string) error {
- latestStatus, _ := getChainStatus(node)
+ latestStatus, _ := getChainStatus(blockchainNode)
currentBlockHeight, err := strconv.Atoi(latestStatus.Result.SyncInfo.LatestBlockHeight)
if err != nil {
@@ -194,113 +187,12 @@ func Subscribe(svc service.Service, store *datastore.Store, logger *logger.Logge
queueWaiting := make(chan api.BlockChainTX, 1000)
//while we are processessing the history save all new transactions in a queue for later
-
- go subscribeAndQueue(queueWaiting, logger, nodeID, listenPort)
-
+ go subscribeAndQueue(queueWaiting, logger, nodeID, listenPort, blockchainNode)
loadAllHistoricTX(processedToHeight, currentBlockHeight, txHistory, nodeID, listenPort)
-
processTXQueue(svc, queueWaiting, listenPort)
-
- // var height int
- // store.Get("chain", "height", &height)
-
- // catchUp(queue, store, logger, nodeID, listenPort, height)
- // return nil
-
- // client := tmclient.NewHTTP("tcp://"+node+"", "/websocket")
- // //client.SetLogger(tmlogger)
- // err := client.Start()
- // if err != nil {
- // logger.Info("Failed to start Tendermint HTTP client %s", err)
- // return err
- // }
- // defer client.Stop()
-
- // //curl "34.246.173.153:26657/tx_search?query=\"tag.part=4%20AND%20tag.reference='579a2864-e100-11e9-aaf4-acde48001122'\""
- // query := "tag.recipient='" + nodeID + "'"
- // //query := "tm.event = 'Tx'"
-
- // out, err := client.Subscribe(context.Background(), "test", query, 1000)
- // if err != nil {
- // logger.Info("Failed to subscribe to query %s %s", query, err)
- // return err
- // }
-
- // logger.Info("Tendermint: Connected")
-
- // quit := make(chan os.Signal, 1)
- // signal.Notify(quit, os.Interrupt, syscall.SIGTERM)
-
- // for {
- // select {
- // case result := <-out:
- // tx := result.Data.(tmtypes.EventDataTx).Tx
- // payload := api.BlockChainTX{}
- // err := json.Unmarshal(tx, &payload)
- // if err != nil {
- // logger.Info("******** Invalid TX - ignored")
- // break
- // }
-
- // //check if this node is Sender
- // if payload.SenderID == nodeID {
- // break
- // }
-
- // //check is receipient
- // isRecipient := false
- // for _, v := range payload.RecipientID {
- // if v == nodeID {
- // isRecipient = true
- // break
- // }
- // }
-
- // if isRecipient == false {
- // logger.Info("******** Invalid Recipient - why are we receiving this TX?")
- // break
- // }
-
- // //blockchainTX, txid, err := decodeTX(string(tx))
- // TXIDhex := hex.EncodeToString(payload.TXhash[:])
- // logger.Info("Incoming TXHash:%s . Processor:%s", TXIDhex, payload.Processor)
-
- // if payload.Processor == "NONE" {
- // DumpTX(&payload)
- // } else {
- // callNextTX(&payload, listenPort)
- // }
-
- // //print(blockchainTX)
- // // print(txid)
-
- // // print(string(xx))
-
- // // a := result.Data.(tmtypes.EventDataTx).Index
- // // b := result.Data.(tmtypes.EventDataTx)
- // // c := b.TxResult
- // // tx := c.Tx
- // // txdata := []byte(c.Tx)
- // // print(string(txdata))
-
- // // print(a)
- // // Use(c, b, tx)
-
- // //logger.Info("got tx","index", result.Data.(tmtypes.EventDataTx).Index)
- // case <-quit:
- // os.Exit(0)
- // }
- // }
return nil
}
-//Use - helper to remove warnings
-func Use(vals ...interface{}) {
- for _, val := range vals {
- _ = val
- }
-}
-
func getChainStatus(node string) (status.StatusResponse, error) {
resp, err := http.Get("http://" + node + "/status")
result := status.StatusResponse{}