Commit b587b9f6 authored by suyanlong's avatar suyanlong

Fixed bug for manager and make fmt

parent 25fd813a
Pipeline #8328 failed with stages
......@@ -36,7 +36,7 @@ func (g *Server) sendTransaction(c *gin.Context) {
return
}
//TODO
// TODO
c.JSON(http.StatusOK, res)
panic("implement me")
......
......@@ -60,7 +60,6 @@ func ErrHandler() gin.HandlerFunc {
return
}
}
}
}
......
......@@ -60,7 +60,7 @@ func NewServer(config *repo.Config, router router.Router, logger logrus.FieldLog
func (g *Server) Start() error {
g.engine.Use(gin.Recovery())
v1 := g.engine.Group("/v1")
//g.engine.Use(gin.Recovery())
// g.engine.Use(gin.Recovery())
{
v1.POST(client.RegisterAppchainUrl, g.registerAppchain)
v1.POST(client.UpdateAppchainUrl, g.updateAppchain)
......
......@@ -55,7 +55,7 @@ func afterWork(ctx *cli.Context, path string) error {
config.Peer.Peers = make([]string, 1)
}
config.Peer.Peers[0] = fmt.Sprintf("/ip4/127.0.0.1/tcp/4000/p2p/%s", id)
file, err := os.OpenFile(path, os.O_RDWR|os.O_TRUNC|os.O_CREATE, os.FileMode(0766))
file, err := os.OpenFile(path, os.O_RDWR|os.O_TRUNC|os.O_CREATE, os.FileMode(0o766))
if err != nil {
return err
}
......
......@@ -106,5 +106,5 @@ var toolCMD = cli.Command{
},
}
//key.json -> user private key|-> id
// key.json -> user private key|-> id
// |-> address
......@@ -36,6 +36,7 @@ type App struct {
manger internal.Launcher
apiServer *api.Server
managerPort *appchain.Manager
}
// NewSidecar instantiates sidecar instance.
......@@ -43,7 +44,7 @@ func NewSidecar(repoRoot string, config *repo.Config) (internal.Launcher, error)
store, err := leveldb.New(filepath.Join(config.RepoRoot, "store"))
tool.Asset(err)
logger := loggers.Logger(loggers.App)
//TODO add bls sign
// TODO add bls sign
privateKey, err := repo.LoadPrivateKey(repoRoot)
tool.Asset(err)
addr, err := privateKey.PublicKey().Address()
......@@ -64,7 +65,7 @@ func NewSidecar(repoRoot string, config *repo.Config) (internal.Launcher, error)
// TODO hub client
// privateKey DH
cryptor := txcrypto.NewCryptor(nil, appchainMgr, privateKey)
managerPort := appchain.NewManager(store, clients, cryptor, logger)
managerPort := appchain.NewManager(clients, cryptor, logger)
r.Adds(managerPort.Ports())
rule := rulemgr.New(store, loggers.Logger(loggers.RuleMgr))
mg, err := manager.NewManager(addr.String(), pm, appchainMgr, rule, loggers.Logger(loggers.Manager))
......@@ -79,6 +80,7 @@ func NewSidecar(repoRoot string, config *repo.Config) (internal.Launcher, error)
config: config,
manger: mg,
apiServer: apiServer,
managerPort: managerPort,
}, nil
}
......@@ -88,6 +90,10 @@ func (s *App) Start() error {
return err
}
if err := s.managerPort.Start(); err != nil {
return err
}
return s.manger.Start()
}
......@@ -96,5 +102,10 @@ func (s *App) Stop() error {
if err := s.apiServer.Stop(); err != nil {
return err
}
if err := s.managerPort.Stop(); err != nil {
return err
}
return s.manger.Stop()
}
......@@ -34,8 +34,8 @@ type appChain struct {
msgCh chan *pb.Message
}
func NewPort(client plugins.Client, cryptor txcrypto.Cryptor, logger logrus.FieldLogger) port.Port {
ctx, cancel := context.WithCancel(context.Background())
func newAppchain(ctx context.Context, client plugins.Client, cryptor txcrypto.Cryptor, logger logrus.FieldLogger) *appChain {
ctx, cancel := context.WithCancel(ctx)
return &appChain{
client: client,
cryptor: cryptor,
......@@ -47,10 +47,10 @@ func NewPort(client plugins.Client, cryptor txcrypto.Cryptor, logger logrus.Fiel
}
}
func NewPorts(clients []plugins.Client, cryptor txcrypto.Cryptor, logger logrus.FieldLogger) []port.Port {
var ps []port.Port
func newAppchains(ctx context.Context, clients []plugins.Client, cryptor txcrypto.Cryptor, logger logrus.FieldLogger) []*appChain {
var ps []*appChain
for _, c := range clients {
p := NewPort(c, cryptor, logger)
p := newAppchain(ctx, c, cryptor, logger)
ps = append(ps, p)
}
......@@ -247,6 +247,10 @@ func (a *appChain) Start() error {
// Stop implements Monitor
func (a *appChain) Stop() error {
err := a.client.Stop()
if err != nil {
return err
}
a.cancel()
a.logger.Info("Monitor stopped")
return nil
......
......@@ -3,7 +3,6 @@ package appchain
import (
"context"
"github.com/meshplus/bitxhub-kit/storage"
"github.com/sirupsen/logrus"
"gitlab.33.cn/link33/sidecar/internal/port"
......@@ -14,43 +13,45 @@ import (
type Manager struct {
ctx context.Context
cancel context.CancelFunc
g *tool.Group
clients []plugins.Client
store storage.Storage
cryptor txcrypto.Cryptor
logger logrus.FieldLogger
appChains []*appChain
}
func NewManager(store storage.Storage, clients []plugins.Client, cryptor txcrypto.Cryptor, logger logrus.FieldLogger) *Manager {
g, ctx := tool.WithContext(context.Background())
func NewManager(clients []plugins.Client, cryptor txcrypto.Cryptor, logger logrus.FieldLogger) *Manager {
ctx, cancel := context.WithCancel(context.Background())
g, _ := tool.WithContext(ctx)
return &Manager{
ctx: ctx,
cancel: cancel,
g: g,
clients: clients,
store: store,
cryptor: cryptor,
logger: logger,
appChains: newAppchains(ctx, clients, cryptor, logger),
}
}
func (m *Manager) Start() error {
for _, client := range m.clients {
for _, appChain := range m.appChains {
m.g.Go(func() error {
return client.Start()
return appChain.Start()
})
}
return m.g.Wait()
}
func (m *Manager) Stop() error {
for _, client := range m.clients {
for _, appChain := range m.appChains {
m.g.Go(func() error {
return client.Stop()
return appChain.Stop()
})
}
m.cancel()
return m.g.Wait()
}
func (m *Manager) Ports() []port.Port {
return NewPorts(m.clients, m.cryptor, m.logger)
var ports []port.Port
for _, appChain := range m.appChains {
ports = append(ports, appChain)
}
return ports
}
......@@ -47,7 +47,7 @@ func (a *appChain) Send(msg *pb.Message) (*pb.Message, error) {
return nil, errors.New("ibtp wrong")
}
if ibtp.Type == pb.IBTP_RECEIPT_FAILURE || pb.IBTP_RECEIPT_SUCCESS == ibtp.Type {
//TODO 默认路由
// TODO 默认路由
ix := pb.IBTPX{
Ibtp: ibtp,
Mode: repo.DirectMode,
......
......@@ -2,8 +2,7 @@ package direct_lite
import "gitlab.33.cn/link33/sidecar/model/pb"
type MockLite struct {
}
type MockLite struct{}
func (lite *MockLite) Start() error {
return nil
......
......@@ -74,7 +74,6 @@ func (lite *HubLite) syncBlock() {
return nil
}, strategy.Wait(1*time.Second))
if err != nil {
lite.logger.Panic(err)
}
......
......@@ -243,7 +243,7 @@ func (r *router) sign(ibtpx *pb.IBTPX) error {
if ok {
sign := p.SignByte(ibtpx.FrontPart())
if len(ibtpx.RouteSign) > 0 && ibtpx.RouteSign[0] != "" {
var aggSign = bls.Sign{}
aggSign := bls.Sign{}
if err := aggSign.DeserializeHexStr(ibtpx.RouteSign[0]); err != nil {
return err
}
......@@ -255,7 +255,7 @@ func (r *router) sign(ibtpx *pb.IBTPX) error {
}
ibtpx.RouteSign[0] = sign.SerializeToHexStr()
}
//TODO append publicKey
// TODO append publicKey
ibtpx.RouteSign = append(ibtpx.RouteSign, p.GetPublicKey().SerializeToHexStr())
} else {
hash := ibtpx.Hash()
......@@ -297,7 +297,7 @@ func (r *router) aggVerify(ibtpx *pb.IBTPX) bool {
}
pks := &blseth.PublicKey{}
for _, val := range ibtpx.RouteSign[1:] {
var pub = &blseth.PublicKey{}
pub := &blseth.PublicKey{}
_ = pub.DeserializeHexStr(val)
pks.Add(pub)
}
......
......@@ -64,7 +64,7 @@ func (d *cryptor) getDesKey(address string, mode string) (crypto.SymmetricKey, e
}
}
if mode == repo.RelayMode {
//TODO fix bug
// TODO fix bug
rp, err := d.client.InvokeBVMContract(constant.AppchainMgrContractAddr.Address(), "GetPubKeyByChainID", nil, rpcx.String(address))
if err != nil {
return nil, err
......
......@@ -44,7 +44,7 @@ func TestSign(t *testing.T) {
assert.True(t, testVerify(p, ibtpx))
t.Log(ibtpx.RouteSign[0])
//create other private key
// create other private key
otherPrivateKey, err := bls.GenerateKeyPair(bls.BlsEth)
assert.Nil(t, err)
assert.NotNil(t, otherPrivateKey)
......@@ -68,7 +68,7 @@ func TestSign(t *testing.T) {
func testSign(p *bls.PrivateKey, ibtpx *IBTPX) error {
sign := p.SignByte(ibtpx.FrontPart())
if len(ibtpx.RouteSign) > 0 && ibtpx.RouteSign[0] != "" {
var aggSign = bls.Sign{}
aggSign := bls.Sign{}
if err := aggSign.DeserializeHexStr(ibtpx.RouteSign[0]); err != nil {
return err
}
......@@ -80,7 +80,7 @@ func testSign(p *bls.PrivateKey, ibtpx *IBTPX) error {
}
ibtpx.RouteSign[0] = sign.SerializeToHexStr()
}
//TODO append publicKey
// TODO append publicKey
ibtpx.RouteSign = append(ibtpx.RouteSign, p.GetPublicKey().SerializeToHexStr())
return nil
}
......@@ -106,7 +106,7 @@ func testAggVerify(ibtpx *IBTPX) bool {
}
pks := &blseth.PublicKey{}
for _, val := range ibtpx.RouteSign[1:] {
var pub = &blseth.PublicKey{}
pub := &blseth.PublicKey{}
_ = pub.DeserializeHexStr(val)
pks.Add(pub)
}
......@@ -116,33 +116,33 @@ func testAggVerify(ibtpx *IBTPX) bool {
}
}
//1、签名是我签的,防伪证明。
//2、所有的各个不同人的签名又能聚合在一起。压缩签名。(线性压缩)
//3、通过聚合签名(压缩签名),也能验证是我签过名。
//4、签名身份被替换。无法做到抵赖(修改签名本身)。
//5、私自追加签名。无法被感知(串改)。
//6、选择最少的那个。
//解决以上问题,就可以了。
//简单经济模型:
//1、发送者提供资金(起始点);
//2、路由者获得奖励(中间点);
//3、接收者作为结速点(中间点);
//4、中继链裁决方分配(裁决)。
//裁决方案:奖励金额最大、路由节点最少、速度最快方案裁决。
//不同私钥对各自公钥的证明可以聚合。
//不同私钥对不同消息的证明可以聚合。
//不同私钥对不同消息的证明可以聚合。
//不同私钥对相同消息的证明可以聚合。
//相同私钥对不同消息的证明可以聚合。
//无证书聚合签名方案
//不同私钥对各自公钥的证明可以聚合。
//不同私钥对不同消息的证明可以聚合。
//不同私钥对不同消息的证明可以聚合。
//不同私钥对相同消息的证明可以聚合。
//相同私钥对不同消息的证明可以聚合。
//无证书聚合签名方案
// 1、签名是我签的,防伪证明。
// 2、所有的各个不同人的签名又能聚合在一起。压缩签名。(线性压缩)
// 3、通过聚合签名(压缩签名),也能验证是我签过名。
// 4、签名身份被替换。无法做到抵赖(修改签名本身)。
// 5、私自追加签名。无法被感知(串改)。
// 6、选择最少的那个。
// 解决以上问题,就可以了。
// 简单经济模型:
// 1、发送者提供资金(起始点);
// 2、路由者获得奖励(中间点);
// 3、接收者作为结速点(中间点);
// 4、中继链裁决方分配(裁决)。
// 裁决方案:奖励金额最大、路由节点最少、速度最快方案裁决。
// 不同私钥对各自公钥的证明可以聚合。
// 不同私钥对不同消息的证明可以聚合。
// 不同私钥对不同消息的证明可以聚合。
// 不同私钥对相同消息的证明可以聚合。
// 相同私钥对不同消息的证明可以聚合。
// 无证书聚合签名方案
// 不同私钥对各自公钥的证明可以聚合。
// 不同私钥对不同消息的证明可以聚合。
// 不同私钥对不同消息的证明可以聚合。
// 不同私钥对相同消息的证明可以聚合。
// 相同私钥对不同消息的证明可以聚合。
// 无证书聚合签名方案
......@@ -35,7 +35,7 @@ const (
Message_APPCHAIN_GET Message_Type = 4
Message_INTERCHAIN_META_GET Message_Type = 5
Message_RULE_DEPLOY Message_Type = 6
//异步完成
// 异步完成
Message_IBTP_GET Message_Type = 7
Message_IBTP_SEND Message_Type = 8
Message_IBTP_RECEIPT_SEND Message_Type = 9
......
......@@ -159,15 +159,15 @@ func TestBlsAggregateVerify(t *testing.T) {
t.Log(sign3.VerifyPop(pub3))
assert.True(t, sign.Verify(pub, m))
//assert.True(t, sign.VerifyPop(pub1))
// assert.True(t, sign.VerifyPop(pub1))
t.Log(sec.GetPop().SerializeToHexStr())
t.Log(sec.GetPop().SerializeToHexStr())
assert.False(t, sec.GetPop().VerifyPop(pub1))
assert.False(t, sec.GetPop().VerifyPop(pub))
//assert.True(t,sec.GetPop().VerifyPop(pub))
assert.True(t, sec1.GetPop().VerifyPop(pub1)) //Verify self public key
// assert.True(t,sec.GetPop().VerifyPop(pub))
assert.True(t, sec1.GetPop().VerifyPop(pub1)) // Verify self public key
assert.False(t, sign.Verify(pub1, m))
assert.False(t, sign.Verify(sec.GetPublicKey(), m))
......@@ -251,7 +251,6 @@ func TestAggregate(t *testing.T) {
if !bls.VerifyPairing(aggSign, hashPt, pub) {
t.Errorf("aggregate2")
}
}
func TestIsSign(t *testing.T) {
......@@ -317,7 +316,7 @@ func TestHash(t *testing.T) {
sig2 := sec.SignHash(h)
t.Log(sig1.SerializeToHexStr())
t.Log(sig2.SerializeToHexStr())
//TODO fix bug?
// TODO fix bug?
if sig1.IsEqual(sig2) {
t.Errorf("SignHash")
}
......
......@@ -4,6 +4,7 @@ package validatorlib
//
// extern int32_t fabric_validate_v14(void *context, long long proof_ptr, long long validator_ptr, long long payload_ptr);
import "C"
import (
"unsafe"
......
......@@ -4,6 +4,7 @@ package validatorlib
//
// extern int32_t ecdsa_verify(void *context, long long sig_ptr, long long digest_ptr, long long pubkey_ptr, int32_t opt);
import "C"
import (
"bytes"
"crypto"
......
......@@ -2,9 +2,10 @@ package validatorlib
import (
"fmt"
"gitlab.33.cn/link33/sidecar/pkg/json"
"strings"
"gitlab.33.cn/link33/sidecar/pkg/json"
"github.com/gogo/protobuf/proto"
mb "github.com/hyperledger/fabric-protos-go/msp"
"github.com/hyperledger/fabric-protos-go/peer"
......
......@@ -2,10 +2,11 @@ package validator
import (
"fmt"
"gitlab.33.cn/link33/sidecar/pkg/json"
"strconv"
"sync"
"gitlab.33.cn/link33/sidecar/pkg/json"
"github.com/gogo/protobuf/proto"
"github.com/meshplus/bitxhub-kit/types"
"github.com/sirupsen/logrus"
......
package validator
import (
"gitlab.33.cn/link33/sidecar/pkg/json"
"fmt"
"io/ioutil"
"strconv"
"sync"
"testing"
"gitlab.33.cn/link33/sidecar/pkg/json"
"github.com/stretchr/testify/require"
"gitlab.33.cn/link33/sidecar/model/pb"
......
......@@ -2,10 +2,11 @@ package wasm
import (
"fmt"
"gitlab.33.cn/link33/sidecar/pkg/json"
"strconv"
"sync"
"gitlab.33.cn/link33/sidecar/pkg/json"
"github.com/gogo/protobuf/proto"
"github.com/meshplus/bitxhub-kit/types"
"github.com/wasmerio/go-ext-wasm/wasmer"
......
package wasm
import (
"gitlab.33.cn/link33/sidecar/pkg/json"
"fmt"
"io/ioutil"
"sync"
"testing"
"gitlab.33.cn/link33/sidecar/pkg/json"
"github.com/meshplus/bitxhub-kit/types"
"github.com/stretchr/testify/assert"
"github.com/wasmerio/go-ext-wasm/wasmer"
......
......@@ -72,11 +72,11 @@ func Exist(path string) bool {
// https://github.com/bluele/gcache
// https://github.com/goburrow/cache
//Scan git repos (or files) for secrets using regex and entropy 🔑
//https://github.com/zricethezav/gitleaks
// Scan git repos (or files) for secrets using regex and entropy 🔑
// https://github.com/zricethezav/gitleaks
//https://github.com/casbin/casbin
// https://github.com/casbin/casbin
//https://github.com/casbin/casbin
// https://github.com/casbin/casbin
//https://github.com/casbin/casbin
// https://github.com/casbin/casbin
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment