From b58afd64189a242a394238af1f299dab7e83c1a5 Mon Sep 17 00:00:00 2001 From: libangzhu <601276804@qq.com> Date: Wed, 20 Sep 2023 14:25:16 +0800 Subject: [PATCH 01/12] proxyexec+execlocal --- executor/execenv.go | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/executor/execenv.go b/executor/execenv.go index 704e3bcf4..d5ad42ede 100644 --- a/executor/execenv.go +++ b/executor/execenv.go @@ -19,7 +19,7 @@ import ( "github.com/golang/protobuf/proto" ) -//执行器 -> db 环境 +// 执行器 -> db 环境 type executor struct { stateDB dbm.KV localDB dbm.KVDB @@ -110,9 +110,9 @@ func DelMVCC(db dbm.KVDB, detail *types.BlockDetail) (kvlist []*types.KeyValue) return kvlist } -//隐私交易费扣除规则: -//1.公对私交易:直接从coin合约中扣除 -//2.私对私交易或者私对公交易:交易费的扣除从隐私合约账户在coin合约中的账户中扣除 +// 隐私交易费扣除规则: +// 1.公对私交易:直接从coin合约中扣除 +// 2.私对私交易或者私对公交易:交易费的扣除从隐私合约账户在coin合约中的账户中扣除 func (e *executor) processFee(tx *types.Transaction) (*types.Receipt, error) { from := tx.From() accFrom := e.coinsAccount.LoadAccount(from) @@ -646,10 +646,18 @@ func (e *executor) execTx(exec *Executor, tx *types.Transaction, index int) (*ty } return receipt, nil } + var feelog *types.Receipt var err error //代理执行 EVM-->txpayload-->chain33 tx if e.cfg.IsFork(e.height, "ForkProxyExec") { + defer func(tx *types.Transaction) { + cloneTx := tx.Clone() + //提前执行evm execlocal 数据,主要是nonce++ + e.execLocalSameTime(cloneTx, feelog, index) + + }(tx) + tx, err = e.proxyExecTx(tx) if err != nil { return nil, err @@ -670,7 +678,7 @@ func (e *executor) execTx(exec *Executor, tx *types.Transaction, index int) (*ty //处理交易手续费(先把手续费收了) //如果收了手续费,表示receipt 至少是pack 级别 //收不了手续费的交易才是 error 级别 - feelog, err := e.execFee(tx, index) + feelog, err = e.execFee(tx, index) if err != nil { return nil, err } From ba8a8072d63355fa14079cf752430eec801e3f20 Mon Sep 17 00:00:00 2001 From: libangzhu <601276804@qq.com> Date: Fri, 22 Sep 2023 11:40:56 +0800 Subject: [PATCH 02/12] add execlocal --- executor/execenv.go | 38 +++++++++++++++++++++++++++++++++++--- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/executor/execenv.go b/executor/execenv.go index d5ad42ede..47e5acb20 100644 --- a/executor/execenv.go +++ b/executor/execenv.go @@ -17,6 +17,7 @@ import ( drivers "github.com/33cn/chain33/system/dapp" "github.com/33cn/chain33/types" "github.com/golang/protobuf/proto" + "time" ) // 执行器 -> db 环境 @@ -599,10 +600,33 @@ func (e *executor) rollback() { } } +func (e *executor) getCurrentNonce(addr string) int64 { + + msg := e.exec.client.NewMessage("rpc", types.EventGetEvmNonce, &types.ReqEvmAccountNonce{ + Addr: addr, + }) + e.exec.client.Send(msg, true) + reply, err := e.exec.client.WaitTimeout(msg, time.Second*2) + if err == nil { + nonceInfo, ok := reply.GetData().(*types.EvmAccountNonce) + if ok { + return nonceInfo.GetNonce() + } + } + return 0 + +} + func (e *executor) proxyGetRealTx(tx *types.Transaction) (*types.Transaction, error) { if string(types.GetRealExecName(tx.GetExecer())) != "evm" { return nil, fmt.Errorf("execName %s not allowd", string(types.GetRealExecName(tx.GetExecer()))) } + + //由于代理执行交易并不会检查tx.nonce的正确性,所以在此处检查 + //此处返回错误,不会打包 + if e.getCurrentNonce(tx.From()) != tx.GetNonce() { + return nil, fmt.Errorf("proxyExec nonce missmatch") + } var actionData types.EVMContractAction4Chain33 err := types.Decode(tx.GetPayload(), &actionData) if err != nil { @@ -625,6 +649,7 @@ func (e *executor) proxyExecTx(tx *types.Transaction) (*types.Transaction, error var realTx = tx var err error if tx.To == e.cfg.GetModuleConfig().Exec.ProxyExecAddress { + realTx, err = e.proxyGetRealTx(tx) if err != nil { return realTx, err @@ -652,9 +677,15 @@ func (e *executor) execTx(exec *Executor, tx *types.Transaction, index int) (*ty //代理执行 EVM-->txpayload-->chain33 tx if e.cfg.IsFork(e.height, "ForkProxyExec") { defer func(tx *types.Transaction) { - cloneTx := tx.Clone() - //提前执行evm execlocal 数据,主要是nonce++ - e.execLocalSameTime(cloneTx, feelog, index) + if types.IsEthSignID(tx.Signature.Ty) && tx.To == e.cfg.GetModuleConfig().Exec.ProxyExecAddress { + cloneTx := tx.Clone() + //执行evm execlocal 数据,主要是nonce++ + //此处执行execlocal 是为了连续多笔同地址下的交易,关系上下文用,否则下一笔evm交易的nonce 将会报错 + err = e.execLocalSameTime(cloneTx, feelog, index) + if err != nil { + elog.Error("proxyExec ReExecLocal", " execLocalSameTime", err.Error()) + } + } }(tx) @@ -739,6 +770,7 @@ func (e *executor) execLocalSameTime(tx *types.Transaction, receipt *types.Recei r.Ty = receipt.Ty r.Logs = receipt.Logs } + _, err := e.execLocalTx(tx, r, index) return err } From 42afefd57b1efd11366e2dacf430a9739f856a06 Mon Sep 17 00:00:00 2001 From: libangzhu <601276804@qq.com> Date: Mon, 25 Sep 2023 13:09:39 +0800 Subject: [PATCH 03/12] update exec --- executor/execenv.go | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/executor/execenv.go b/executor/execenv.go index 47e5acb20..cf22f267f 100644 --- a/executor/execenv.go +++ b/executor/execenv.go @@ -602,6 +602,15 @@ func (e *executor) rollback() { func (e *executor) getCurrentNonce(addr string) int64 { + //nonceLocalKey := secp256k1eth.CaculCoinsEvmAccountKey(addr) + //evmNonce := &types.EvmAccountNonce{} + //nonceV, err := e.localDB.Get(nonceLocalKey) + //if err == nil { + // _ = types.Decode(nonceV, evmNonce) + //} + // + //return evmNonce.GetNonce() + msg := e.exec.client.NewMessage("rpc", types.EventGetEvmNonce, &types.ReqEvmAccountNonce{ Addr: addr, }) @@ -622,10 +631,11 @@ func (e *executor) proxyGetRealTx(tx *types.Transaction) (*types.Transaction, er return nil, fmt.Errorf("execName %s not allowd", string(types.GetRealExecName(tx.GetExecer()))) } - //由于代理执行交易并不会检查tx.nonce的正确性,所以在此处检查 - //此处返回错误,不会打包 - if e.getCurrentNonce(tx.From()) != tx.GetNonce() { - return nil, fmt.Errorf("proxyExec nonce missmatch") + ////由于代理执行交易并不会检查tx.nonce的正确性,所以在此处检查 + ////此处返回错误,不会打包 + currentNonce := e.getCurrentNonce(tx.From()) + if currentNonce != tx.GetNonce() { + return nil, fmt.Errorf("proxyExec nonce missmatch,tx.nonce:%v,localnonce:%v", tx.Nonce, currentNonce) } var actionData types.EVMContractAction4Chain33 err := types.Decode(tx.GetPayload(), &actionData) @@ -681,6 +691,7 @@ func (e *executor) execTx(exec *Executor, tx *types.Transaction, index int) (*ty cloneTx := tx.Clone() //执行evm execlocal 数据,主要是nonce++ //此处执行execlocal 是为了连续多笔同地址下的交易,关系上下文用,否则下一笔evm交易的nonce 将会报错 + elog.Info("proxyExec", "isSameTmeExecLocal", e.isExecLocalSameTime(tx, index)) err = e.execLocalSameTime(cloneTx, feelog, index) if err != nil { elog.Error("proxyExec ReExecLocal", " execLocalSameTime", err.Error()) @@ -779,6 +790,8 @@ func (e *executor) execLocalSameTime(tx *types.Transaction, receipt *types.Recei func (e *executor) execLocalTx(tx *types.Transaction, r *types.ReceiptData, index int) (*types.LocalDBSet, error) { kv, err := e.execLocal(tx, r, index) + //TODO 解析TX PROXY_EXEC + if err == types.ErrActionNotSupport { return nil, nil } From 6075c97ea60ed32c834ec0715fc84da41c0ebf7a Mon Sep 17 00:00:00 2001 From: libangzhu <601276804@qq.com> Date: Fri, 6 Oct 2023 16:48:30 +0800 Subject: [PATCH 04/12] update proxyexec --- executor/execenv.go | 67 +++++++++--------- executor/executor.go | 36 +++++++++- rpc/ethrpc/eth/eth_test.go | 138 ++++++++++++++++++++++++++++++++++++- 3 files changed, 202 insertions(+), 39 deletions(-) diff --git a/executor/execenv.go b/executor/execenv.go index cf22f267f..644772573 100644 --- a/executor/execenv.go +++ b/executor/execenv.go @@ -14,10 +14,10 @@ import ( "github.com/33cn/chain33/common" "github.com/33cn/chain33/common/address" dbm "github.com/33cn/chain33/common/db" + "github.com/33cn/chain33/system/crypto/secp256k1eth" drivers "github.com/33cn/chain33/system/dapp" "github.com/33cn/chain33/types" "github.com/golang/protobuf/proto" - "time" ) // 执行器 -> db 环境 @@ -602,41 +602,23 @@ func (e *executor) rollback() { func (e *executor) getCurrentNonce(addr string) int64 { - //nonceLocalKey := secp256k1eth.CaculCoinsEvmAccountKey(addr) - //evmNonce := &types.EvmAccountNonce{} - //nonceV, err := e.localDB.Get(nonceLocalKey) - //if err == nil { - // _ = types.Decode(nonceV, evmNonce) - //} - // - //return evmNonce.GetNonce() - - msg := e.exec.client.NewMessage("rpc", types.EventGetEvmNonce, &types.ReqEvmAccountNonce{ - Addr: addr, - }) - e.exec.client.Send(msg, true) - reply, err := e.exec.client.WaitTimeout(msg, time.Second*2) + nonceLocalKey := secp256k1eth.CaculCoinsEvmAccountKey(addr) + evmNonce := &types.EvmAccountNonce{} + nonceV, err := e.localDB.Get(nonceLocalKey) if err == nil { - nonceInfo, ok := reply.GetData().(*types.EvmAccountNonce) - if ok { - return nonceInfo.GetNonce() - } + _ = types.Decode(nonceV, evmNonce) } - return 0 + + return evmNonce.GetNonce() } func (e *executor) proxyGetRealTx(tx *types.Transaction) (*types.Transaction, error) { + if string(types.GetRealExecName(tx.GetExecer())) != "evm" { return nil, fmt.Errorf("execName %s not allowd", string(types.GetRealExecName(tx.GetExecer()))) } - ////由于代理执行交易并不会检查tx.nonce的正确性,所以在此处检查 - ////此处返回错误,不会打包 - currentNonce := e.getCurrentNonce(tx.From()) - if currentNonce != tx.GetNonce() { - return nil, fmt.Errorf("proxyExec nonce missmatch,tx.nonce:%v,localnonce:%v", tx.Nonce, currentNonce) - } var actionData types.EVMContractAction4Chain33 err := types.Decode(tx.GetPayload(), &actionData) if err != nil { @@ -655,18 +637,27 @@ func (e *executor) proxyGetRealTx(tx *types.Transaction) (*types.Transaction, er } -func (e *executor) proxyExecTx(tx *types.Transaction) (*types.Transaction, error) { - var realTx = tx - var err error +func (e *executor) checkProxyExecTx(tx *types.Transaction) bool { if tx.To == e.cfg.GetModuleConfig().Exec.ProxyExecAddress { - - realTx, err = e.proxyGetRealTx(tx) - if err != nil { - return realTx, err + if string(types.GetRealExecName(tx.GetExecer())) == "evm" { + return true } - realTx.Signature = tx.Signature } + return false +} +func (e *executor) proxyExecTx(tx *types.Transaction) (*types.Transaction, error) { + + if !e.checkProxyExecTx(tx) { + return tx, nil + } + + realTx, err := e.proxyGetRealTx(tx) + if err != nil { + return realTx, err + } + realTx.Signature = tx.Signature + return realTx, nil } @@ -700,6 +691,13 @@ func (e *executor) execTx(exec *Executor, tx *types.Transaction, index int) (*ty }(tx) + ////由于代理执行交易并不会检查tx.nonce的正确性,所以在此处检查 + ////此处返回错误,不会打包 + currentNonce := e.getCurrentNonce(tx.From()) + if currentNonce != tx.GetNonce() { + return nil, fmt.Errorf("proxyExec nonce missmatch,tx.nonce:%v,localnonce:%v", tx.Nonce, currentNonce) + } + tx, err = e.proxyExecTx(tx) if err != nil { return nil, err @@ -790,7 +788,6 @@ func (e *executor) execLocalSameTime(tx *types.Transaction, receipt *types.Recei func (e *executor) execLocalTx(tx *types.Transaction, r *types.ReceiptData, index int) (*types.LocalDBSet, error) { kv, err := e.execLocal(tx, r, index) - //TODO 解析TX PROXY_EXEC if err == types.ErrActionNotSupport { return nil, nil diff --git a/executor/executor.go b/executor/executor.go index 3da3acf35..1cf9f8c2f 100755 --- a/executor/executor.go +++ b/executor/executor.go @@ -100,7 +100,7 @@ func New(cfg *typ.Chain33Config) *Executor { return exec } -//Wait Executor ready +// Wait Executor ready func (exec *Executor) Wait() {} // SetQueueClient set client queue, for recv msg @@ -378,6 +378,7 @@ func (exec *Executor) procExecTxList(msg *queue.Message) { } func (exec *Executor) procExecAddBlock(msg *queue.Message) { + //panic 处理 defer func() { if r := recover(); r != nil { @@ -423,6 +424,7 @@ func (exec *Executor) procExecAddBlock(msg *queue.Message) { if len(kvs) > 0 { kvset.KV = append(kvset.KV, kvs...) } + kvs, err = plugin.ExecLocal(execute, datas) if err != nil { msg.Reply(exec.client.NewMessage("", types.EventAddBlock, err)) @@ -443,6 +445,23 @@ func (exec *Executor) procExecAddBlock(msg *queue.Message) { for i := 0; i < len(b.Txs); i++ { tx := b.Txs[i] execute.localDB.(*LocalDB).StartTx() + elog.Info("procExecAddBlock", "execute.execLocalTx:", ctx.height, "tx.From", tx.From(), "tx.Nonce", tx.Nonce) + var kv2 = new(types.LocalDBSet) + //解析TX PROXY_EXEC,优先解析代理执行交易进行execlocal 处理 + realTx, err := execute.proxyExecTx(tx) + if err == nil { + elog.Info("procExecAddBlock", "proxyExecTx execute.execLocalTx:", ctx.height, "tx.From", tx.From(), "tx.Nonce", tx.Nonce) + kv2, err = execute.execLocal(realTx, datas.Receipts[i], i) + if err != nil { + msg.Reply(exec.client.NewMessage("", types.EventAddBlock, err)) + return + } + + if kv2 != nil && kv2.KV != nil { + kvset.KV = append(kvset.KV, kv2.KV...) + } + } + kv, err := execute.execLocalTx(tx, datas.Receipts[i], i) if err != nil { msg.Reply(exec.client.NewMessage("", types.EventAddBlock, err)) @@ -451,6 +470,7 @@ func (exec *Executor) procExecAddBlock(msg *queue.Message) { if kv != nil && kv.KV != nil { kvset.KV = append(kvset.KV, kv.KV...) } + } } msg.Reply(exec.client.NewMessage("", types.EventAddBlock, &kvset)) @@ -513,6 +533,20 @@ func (exec *Executor) procExecDelBlock(msg *queue.Message) { if !exec.disableExecLocal { for i := len(b.Txs) - 1; i >= 0; i-- { tx := b.Txs[i] + //先检查是否是代理交易 + if execute.checkProxyExecTx(tx) { + realTx, err := execute.proxyGetRealTx(tx) + if err == nil { + kv, err := execute.execDelLocal(realTx, datas.Receipts[i], i) + if err == nil && kv != nil { + if execute.checkPrefix(realTx.Execer, kv.KV) == nil { + kvset.KV = append(kvset.KV, kv.KV...) + } + + } + } + } + kv, err := execute.execDelLocal(tx, datas.Receipts[i], i) if err == types.ErrActionNotSupport { continue diff --git a/rpc/ethrpc/eth/eth_test.go b/rpc/ethrpc/eth/eth_test.go index ce6d38206..0da64233e 100644 --- a/rpc/ethrpc/eth/eth_test.go +++ b/rpc/ethrpc/eth/eth_test.go @@ -1,11 +1,10 @@ package eth import ( + "context" "encoding/json" "errors" "fmt" - "math/rand" - clientMocks "github.com/33cn/chain33/client/mocks" "github.com/33cn/chain33/queue" etypes "github.com/33cn/chain33/rpc/ethrpc/types" @@ -14,13 +13,16 @@ import ( "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common/hexutil" "github.com/ethereum/go-ethereum/common/math" + "github.com/ethereum/go-ethereum/ethclient" + "github.com/ethereum/go-ethereum/rlp" + "math/rand" + ethtypes "github.com/ethereum/go-ethereum/core/types" "github.com/ethereum/go-ethereum/crypto" "github.com/ethereum/go-ethereum/signer/core/apitypes" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" - "math/big" "strings" "testing" @@ -472,3 +474,133 @@ func TestEthHandler_SendRawTransaction(t *testing.T) { _, err = ethCli.SendRawTransaction(metamaskRawTx) assert.NotNil(t, err) } + +func TestEthHandler_ProxyExecTx(t *testing.T) { + var nonce uint64 = 40 + var to = common.HexToAddress("0x0000000000000000000000000000000000200005") + + //绑定接口获取的构造的交易数据 + var bindRawTx = "0a067469636b6574125c50112a580a2a307836366165656133393233316434383730313536396466386235396266356564616638313934653430122a30786134323433316461383638633538383737613632376363373164633935663031626634306331393620a08d06309cdecd89eef5b2bb123a22313668747663424e53454137665a6841644c4a706844775152514a61487079485470" + //var unbindRawTx = "0a067469636b657412b525500d1ab0250acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078656234623539323566366435373261376439633837363166306236323963663865313838643566643332313839623861353264396231376261373430386135633a303030303030303030303a363465326661653165643537316166613461396561343662646161663161326334343065376439663631313963303535363861623339313337376539653065353a313639333031323835383237383335343938380acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078656163643737653232663139303263396338653763323665383561613462623166323632353038363734643662623266386137343337643265396464383665363a303030303030303030303a306139373966396633353761393332613766393431636632656465633331396239323864396239323730616563653237396566303532663730356135616331643a313639333133323134363238333533373133380acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078653564626233653730613964346539636130663234396136636338643062333234613365396261613539386437316361353632353732383137646265386232373a303030303030303030303a333634623332376265323362303965666561383335393761346161373131383232623962363763616238353562353231313761396436646637346539613033653a313639333130303832383238383530343636350acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078643834656231633435343463346564626433616235643034373330313339336433646535626363313135626333396633643265356531646638376236373538363a303030303030303030303a353530656435653831323130613833343264653661323235633463363066383635303533623236653633306135353038373538376462616266623630393664333a313639333031383632393238373838303135350acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078643830613664316331373236323763636136643961623930326636356563343466363931643935326332356630363561376166313061616230666333663938663a303030303030303030313a356234353962343635346638383661663363353234356665336135303661346265363237663164333762356137396662646138616331363231353765363733363a313639333030303939363239373735303135390acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078643531356561323330313462636264303235653339316663643732326232386538373766343763633865643730383830383934326439353432353934343136363a303030303030303030303a383138613465666438313432303364363063376432613830356633633930366463323437373766663765366536383961613730326637356365613764346565613a313639333032373235373237373937343333300acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078633430396639653034316131396662393662376263643830303765643237376234626135383461306635363936343166653031663831383864303032323431613a303030303030303030303a623538366532623436386637656530366564356130383664643263363731326165373836306634376235363931623032666631623637343864353334613735333a313639333033303633333239313437383934360acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078626530343637373933393237633933313865333264313235623036653937306161653963646336353334323634653163613536343731633761346335353261663a303030303030303031353a366363353161376633333935616439623136666162326365306238633833363864613964623164386539663066333130303664346535306462643864653338353a313639323934363032323238353538343532340acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078623937346435663330373030333233303966333932393665666131623634626435623163353735386530666536313333613562646662383539333666373238643a303030303030303030303a666339643335623135363761663461346666323832376438343266663138336636663062616339343237363733633836396534643436303563323636313432373a313639333131393232303332333331303334320acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078393339316466633035393435393461613534366434623732616532313662633634613438643838653439643463613330653665363962633035303765626435323a303030303030303030303a616631623233303732393834663961333439346464613664663836366535323863653633343965376239313464366532353630623633313034633533323432373a313639333132373933373237383937363932390acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078386631633238666465613937636337633135626432663134303839383863303430346432663335313533343137366262336136666663633266303538643664623a303030303030303030303a656232323633656132646166393039336236323235333566636463373362303562326535316263333162303662326664366463663563663534663439353032303a313639333131343631373237363335363431370acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078376666323234396234636430656439313639313062666336633039323738363834363936346134393131643865663530353430396361373464393135633664323a303030303030303030303a633035363936356365346238636430323336626234666439643338313133396366306135383634356331323864383661636666623536613262653264373836323a313639333039353432383238383030363239300acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078323937353732396433646235353332373663353535633962373733653062633238386437383661306333623334626536643832393166323137376166623238613a303030303030303030303a396364343630393331663730393038366532323463616533323765613063633266663434633134613638643263636631343833396366626133393933646465303a313639333033333633333239313437393833360acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078323837353832336430626462386466323735633033346166363539656364303735613562393834656535313935623032383434303834376537636365646330313a303030303030303030303a366263343130336136326139373737623039396335383435396262666236376234313430356363333732336130366431343136393865626339336333373039633a313639333131353831343237373936363432330acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078323535633163663939373662376635366334376363356634383536366236636236303433623333326233393036373535376332323936633363653035303435343a303030303030303030303a366533323231623630653038303939363063613330376131646163346462663338626234663935643164613938313165383439353762663834313338323539303a313639333032323132313330393038313238330acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078323131323536376266303335336231666539323035663062623965666530376135323639396162326635373931346331663263333431626162636566633264343a303030303030303030303a386566616365663866656230366235653264666635613039363066666130633337633861313330323230386238393333326130306463383237316433356438313a313639333035383334303238363534303034310acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078323038633634633132343564633036376632646432623239653033623131636266613362303566386331303063383765643834653462633161633637376230303a303030303030303030313a623632306539326265646537356638323336653161356262663164323434306366633335623066333566373263343735343330663863363861633664643833393a313639333130313637343239353632303336360acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078323038633038366264653138373265636266653839373161393632653234653132633430613334366137653861353065613066316433303032386134653364653a303030303030303030303a616235376635623632393436303164656664373363303930393332663030353031623838313032646536346163393061616466613736633533306630643138383a313639333038323232333238343736343836380acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078316439363434303233303332623231626337643230613162666662626136356366623962303832626134353763323633636161633562393436663935383236363a303030303030303030303a306434316131653131343537616132356463626261343230653532323464653332636237376462383964613936313735303631613930346631616565653462663a313639333033383435323332303838313937390acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078306561393033396232333963646261363763646132313732616234323330353066643735386561336630613431353732376539643433343837666263316234303a303030303030303030303a653162363365373430646464316234333739363361336338373563323231306366616263343137663033303136336630366138633738643461353735386565383a313639333130373636323238323234323638340acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078303830373738363634313065363263326166323535643637383664663936323765646638626664376136346530633839633064343739656236636363353231633a303030303030303030303a363366323064303865663934363462373138646664346334386539663734346131663262396336366232623464366266323038633132303466383566666437323a313639333131373938353238343130323338370acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078303765343937653333323634326464396461313839373831303762306463356162376337323164656136643934363030653966336532326239626166316139643a303030303030303030303a653464336431336636346661623637323463346635343366626338636666313166316663353962376234316464353132626333376637313265346136656533653a313639333036343834323330313437313336350acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078303363326333353963393031343638373262393735613637356433336333383932376230656138376663303538383461343464613266383930633839643066663a303030303030303030303a393162373532303030323735303763366539656164306135633332393538323361656633646338333662393161656533663066313162323464313431316437303a3136393330393230383033303837373731343220c0cf2428a799b7a70630d5b59a8bb3be83cb603a22313668747663424e53454137665a6841644c4a706844775152514a61487079485470" + + etx := ethtypes.NewTransaction(nonce, to, big.NewInt(0), 3000000, big.NewInt(10e9), common.FromHex(bindRawTx)) + + var privKey = "4e4a3e491da77c429e1ee27575b381d7974778bd96a4f1cce61f82ec76986e42" + + //0xa42431da868c58877a627cc71dc95f01bf40c196 + privKey = "7939624566468cfa3cb2c9f39d5ad83bdc7cf4356bfd1a7b8094abda6b0699d1" + pk, err := crypto.ToECDSA(common.FromHex(privKey)) + if err != nil { + t.Log(err) + return + } + signer := ethtypes.NewEIP155Signer(big.NewInt(1999)) + signtx, err := ethtypes.SignTx(etx, signer, pk) + if err != nil { + t.Log(err) + return + } + + signedTrans, err := rlp.EncodeToBytes(signtx) + if err != nil { + t.Log(err) + return + } + + t.Log("signedTx:", common.Bytes2Hex(signedTrans)) + return + +} + +func TestSend2TicketExec(t *testing.T) { + var sendExec = "0a05636f696e73123718010a3310808090bcfd02222a30786134323433314461383638633538383737613632374343373144633935463031626634306331393620a08d06309495e0fdf4beabe86e3a2a307861343234333144613836386335383837376136323743433731446339354630316266343063313936" + + var nonce uint64 = 11 + var to = common.HexToAddress("0x0000000000000000000000000000000000200005") + etx := ethtypes.NewTransaction(nonce, to, big.NewInt(0), 9000000, big.NewInt(10e9), common.FromHex(sendExec)) + //0xa42431Da868c58877a627CC71Dc95F01bf40c196 + var privKey = "7939624566468cfa3cb2c9f39d5ad83bdc7cf4356bfd1a7b8094abda6b0699d1" + privKey = "4e3f0db8f4c21a239cde32d63e371d2ce52cc2f936b400a2537032e59e5a208f" + //0xd83b69c56834e85e023b1738e69bfa2f0dd52905 + privKey = "c8729f05b10cc74d40feeb00376e11aa5b50e92b369d778b31b6e902c528f141" + pk, err := crypto.ToECDSA(common.FromHex(privKey)) + if err != nil { + t.Log(err) + return + } + signer := ethtypes.NewEIP155Signer(big.NewInt(2999)) + signtx, err := ethtypes.SignTx(etx, signer, pk) + if err != nil { + t.Log(err) + return + } + + signedTrans, err := rlp.EncodeToBytes(signtx) + if err != nil { + t.Log(err) + return + } + + t.Log("signedTx:", common.Bytes2Hex(signedTrans)) + return +} + +func TestSend2Chain(t *testing.T) { + ecli, err := ethclient.Dial("http://192.168.61.213:8545") + if err != nil { + panic(err) + } + + var tx1 = "f90100288502540be400832dc6c094000000000000000000000000000000000020000580b8980a067469636b6574125c50112a580a2a307836366165656133393233316434383730313536396466386235396266356564616638313934653430122a30786134323433316461383638633538383737613632376363373164633935663031626634306331393620a08d06309cdecd89eef5b2bb123a22313668747663424e53454137665a6841644c4a706844775152514a61487079485470820fc2a0bc2549364a611da10413de5c531290d3f9717fc5ff18dd54335dacd7fc276424a029148b59723d1abbf7d000b11a0987ea1feca282788c41567761a1985a683b15" + //create tx2 + var etx1 = new(ethtypes.Transaction) + err = rlp.DecodeBytes(common.FromHex(tx1), etx1) + if err != nil { + panic(err) + } + + var to = common.HexToAddress("0xd83b69C56834E85e023B1738E69BFA2F0dd52905") + etx := ethtypes.NewTransaction(39, to, big.NewInt(100000000), 9000000, big.NewInt(10e9), nil) + privKey := "7939624566468cfa3cb2c9f39d5ad83bdc7cf4356bfd1a7b8094abda6b0699d1" + pk, err := crypto.ToECDSA(common.FromHex(privKey)) + if err != nil { + t.Log(err) + return + } + signer := ethtypes.NewEIP155Signer(big.NewInt(1999)) + signtx, err := ethtypes.SignTx(etx, signer, pk) + if err != nil { + t.Log(err) + return + + } + /* + var v, r, s = etx1.RawSignatureValues() + cv, err := etypes.CaculateRealV(v, etx1.ChainId().Uint64(), etx1.Type()) + assert.Nil(t, err) + + sig := make([]byte, 65) + copy(sig[32-len(r.Bytes()):32], r.Bytes()) + copy(sig[64-len(s.Bytes()):64], s.Bytes()) + sig[64] = cv + pubkey, err := crypto.Ecrecover(signer.Hash(etx1).Bytes(), sig) + chain33Tx := etypes.AssembleChain33Tx(etx1, sig, pubkey, ethCli.cfg) + + t.Log("tx:", common.Bytes2Hex(ctypes.Encode(chain33Tx))) + */ + + err = ecli.SendTransaction(context.Background(), etx1) + if err != nil { + t.Log(err) + return + } + + t.Log("etx1.hash:", etx1.Hash().String()) + return + err = ecli.SendTransaction(context.Background(), signtx) + if err != nil { + t.Log(err) + return + } + t.Log("etx2.hash:", signtx.Hash().String()) +} From 9bb6d4718f135e494e157ea877af59ab26040b3c Mon Sep 17 00:00:00 2001 From: libangzhu <601276804@qq.com> Date: Mon, 9 Oct 2023 15:07:49 +0800 Subject: [PATCH 05/12] update proxyexec --- executor/execenv.go | 28 +++++++++++++--------------- executor/executor.go | 2 +- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/executor/execenv.go b/executor/execenv.go index 644772573..8c3da5e69 100644 --- a/executor/execenv.go +++ b/executor/execenv.go @@ -638,7 +638,7 @@ func (e *executor) proxyGetRealTx(tx *types.Transaction) (*types.Transaction, er } func (e *executor) checkProxyExecTx(tx *types.Transaction) bool { - if tx.To == e.cfg.GetModuleConfig().Exec.ProxyExecAddress { + if tx.To == e.cfg.GetModuleConfig().Exec.ProxyExecAddress && types.IsEthSignID(tx.Signature.Ty) { if string(types.GetRealExecName(tx.GetExecer())) == "evm" { return true } @@ -648,10 +648,6 @@ func (e *executor) checkProxyExecTx(tx *types.Transaction) bool { } func (e *executor) proxyExecTx(tx *types.Transaction) (*types.Transaction, error) { - if !e.checkProxyExecTx(tx) { - return tx, nil - } - realTx, err := e.proxyGetRealTx(tx) if err != nil { return realTx, err @@ -678,7 +674,7 @@ func (e *executor) execTx(exec *Executor, tx *types.Transaction, index int) (*ty //代理执行 EVM-->txpayload-->chain33 tx if e.cfg.IsFork(e.height, "ForkProxyExec") { defer func(tx *types.Transaction) { - if types.IsEthSignID(tx.Signature.Ty) && tx.To == e.cfg.GetModuleConfig().Exec.ProxyExecAddress { + if e.checkProxyExecTx(tx) { cloneTx := tx.Clone() //执行evm execlocal 数据,主要是nonce++ //此处执行execlocal 是为了连续多笔同地址下的交易,关系上下文用,否则下一笔evm交易的nonce 将会报错 @@ -691,17 +687,19 @@ func (e *executor) execTx(exec *Executor, tx *types.Transaction, index int) (*ty }(tx) - ////由于代理执行交易并不会检查tx.nonce的正确性,所以在此处检查 - ////此处返回错误,不会打包 - currentNonce := e.getCurrentNonce(tx.From()) - if currentNonce != tx.GetNonce() { - return nil, fmt.Errorf("proxyExec nonce missmatch,tx.nonce:%v,localnonce:%v", tx.Nonce, currentNonce) + if e.checkProxyExecTx(tx) { + ////由于代理执行交易并不会检查tx.nonce的正确性,所以在此处检查 + ////此处返回错误,不会打包 + currentNonce := e.getCurrentNonce(tx.From()) + if currentNonce != tx.GetNonce() { + return nil, fmt.Errorf("proxyExec nonce missmatch,tx.nonce:%v,localnonce:%v", tx.Nonce, currentNonce) + } + tx, err = e.proxyExecTx(tx) + if err != nil { + return nil, err + } } - tx, err = e.proxyExecTx(tx) - if err != nil { - return nil, err - } } //交易检查规则: diff --git a/executor/executor.go b/executor/executor.go index 1cf9f8c2f..7d554df43 100755 --- a/executor/executor.go +++ b/executor/executor.go @@ -450,7 +450,7 @@ func (exec *Executor) procExecAddBlock(msg *queue.Message) { //解析TX PROXY_EXEC,优先解析代理执行交易进行execlocal 处理 realTx, err := execute.proxyExecTx(tx) if err == nil { - elog.Info("procExecAddBlock", "proxyExecTx execute.execLocalTx:", ctx.height, "tx.From", tx.From(), "tx.Nonce", tx.Nonce) + elog.Info("procExecAddBlock", "proxyExecTx execute.execLocalTx blockheight:", ctx.height, "tx.From", tx.From(), "tx.Nonce", tx.Nonce) kv2, err = execute.execLocal(realTx, datas.Receipts[i], i) if err != nil { msg.Reply(exec.client.NewMessage("", types.EventAddBlock, err)) From 50f3b338271498183dbf8658bbce25e8fe0bd762 Mon Sep 17 00:00:00 2001 From: libangzhu <601276804@qq.com> Date: Tue, 10 Oct 2023 11:41:19 +0800 Subject: [PATCH 06/12] clean up the code --- executor/execenv.go | 38 ++++++++++++++++---------------------- executor/executor.go | 27 +++++++++++++++------------ 2 files changed, 31 insertions(+), 34 deletions(-) diff --git a/executor/execenv.go b/executor/execenv.go index 8c3da5e69..40b155d29 100644 --- a/executor/execenv.go +++ b/executor/execenv.go @@ -672,32 +672,26 @@ func (e *executor) execTx(exec *Executor, tx *types.Transaction, index int) (*ty var err error //代理执行 EVM-->txpayload-->chain33 tx - if e.cfg.IsFork(e.height, "ForkProxyExec") { + if e.cfg.IsFork(e.height, "ForkProxyExec") && e.checkProxyExecTx(tx) { defer func(tx *types.Transaction) { - if e.checkProxyExecTx(tx) { - cloneTx := tx.Clone() - //执行evm execlocal 数据,主要是nonce++ - //此处执行execlocal 是为了连续多笔同地址下的交易,关系上下文用,否则下一笔evm交易的nonce 将会报错 - elog.Info("proxyExec", "isSameTmeExecLocal", e.isExecLocalSameTime(tx, index)) - err = e.execLocalSameTime(cloneTx, feelog, index) - if err != nil { - elog.Error("proxyExec ReExecLocal", " execLocalSameTime", err.Error()) - } + cloneTx := tx.Clone() + //执行evm execlocal 数据,主要是nonce++ + //此处执行execlocal 是为了连续多笔同地址下的交易,关系上下文用,否则下一笔evm交易的nonce 将会报错 + elog.Info("proxyExec", "isSameTmeExecLocal", e.isExecLocalSameTime(tx, index)) + err = e.execLocalSameTime(cloneTx, feelog, index) + if err != nil { + elog.Error("proxyExec ReExecLocal", " execLocalSameTime", err.Error()) } - }(tx) - if e.checkProxyExecTx(tx) { - ////由于代理执行交易并不会检查tx.nonce的正确性,所以在此处检查 - ////此处返回错误,不会打包 - currentNonce := e.getCurrentNonce(tx.From()) - if currentNonce != tx.GetNonce() { - return nil, fmt.Errorf("proxyExec nonce missmatch,tx.nonce:%v,localnonce:%v", tx.Nonce, currentNonce) - } - tx, err = e.proxyExecTx(tx) - if err != nil { - return nil, err - } + ////由于代理执行交易并不会检查tx.nonce的正确性,所以在此处检查 + currentNonce := e.getCurrentNonce(tx.From()) + if currentNonce != tx.GetNonce() { + return nil, fmt.Errorf("proxyExec nonce missmatch,tx.nonce:%v,localnonce:%v", tx.Nonce, currentNonce) + } + tx, err = e.proxyExecTx(tx) + if err != nil { + return nil, err } } diff --git a/executor/executor.go b/executor/executor.go index 7d554df43..303a978cc 100755 --- a/executor/executor.go +++ b/executor/executor.go @@ -446,19 +446,22 @@ func (exec *Executor) procExecAddBlock(msg *queue.Message) { tx := b.Txs[i] execute.localDB.(*LocalDB).StartTx() elog.Info("procExecAddBlock", "execute.execLocalTx:", ctx.height, "tx.From", tx.From(), "tx.Nonce", tx.Nonce) - var kv2 = new(types.LocalDBSet) + //解析TX PROXY_EXEC,优先解析代理执行交易进行execlocal 处理 - realTx, err := execute.proxyExecTx(tx) - if err == nil { - elog.Info("procExecAddBlock", "proxyExecTx execute.execLocalTx blockheight:", ctx.height, "tx.From", tx.From(), "tx.Nonce", tx.Nonce) - kv2, err = execute.execLocal(realTx, datas.Receipts[i], i) - if err != nil { - msg.Reply(exec.client.NewMessage("", types.EventAddBlock, err)) - return - } + if execute.checkProxyExecTx(tx) { + var kv = new(types.LocalDBSet) + realTx, err := execute.proxyExecTx(tx) + if err == nil { + elog.Info("procExecAddBlock", "proxyExecTx execute.execLocalTx blockheight:", ctx.height, "tx.From", tx.From(), "tx.Nonce", tx.Nonce) + kv, err = execute.execLocal(realTx, datas.Receipts[i], i) + if err != nil { + msg.Reply(exec.client.NewMessage("", types.EventAddBlock, err)) + return + } - if kv2 != nil && kv2.KV != nil { - kvset.KV = append(kvset.KV, kv2.KV...) + if kv != nil && kv.KV != nil { + kvset.KV = append(kvset.KV, kv.KV...) + } } } @@ -535,7 +538,7 @@ func (exec *Executor) procExecDelBlock(msg *queue.Message) { tx := b.Txs[i] //先检查是否是代理交易 if execute.checkProxyExecTx(tx) { - realTx, err := execute.proxyGetRealTx(tx) + realTx, err := execute.proxyExecTx(tx) if err == nil { kv, err := execute.execDelLocal(realTx, datas.Receipts[i], i) if err == nil && kv != nil { From 26c6b41ae9a242af7c676d123f88c2204248ebdd Mon Sep 17 00:00:00 2001 From: libangzhu <601276804@qq.com> Date: Tue, 10 Oct 2023 11:53:23 +0800 Subject: [PATCH 07/12] update testcase --- rpc/ethrpc/eth/eth_test.go | 133 ------------------------------------- 1 file changed, 133 deletions(-) diff --git a/rpc/ethrpc/eth/eth_test.go b/rpc/ethrpc/eth/eth_test.go index 0da64233e..c00065d8d 100644 --- a/rpc/ethrpc/eth/eth_test.go +++ b/rpc/ethrpc/eth/eth_test.go @@ -1,7 +1,6 @@ package eth import ( - "context" "encoding/json" "errors" "fmt" @@ -13,8 +12,6 @@ import ( "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common/hexutil" "github.com/ethereum/go-ethereum/common/math" - "github.com/ethereum/go-ethereum/ethclient" - "github.com/ethereum/go-ethereum/rlp" "math/rand" ethtypes "github.com/ethereum/go-ethereum/core/types" @@ -474,133 +471,3 @@ func TestEthHandler_SendRawTransaction(t *testing.T) { _, err = ethCli.SendRawTransaction(metamaskRawTx) assert.NotNil(t, err) } - -func TestEthHandler_ProxyExecTx(t *testing.T) { - var nonce uint64 = 40 - var to = common.HexToAddress("0x0000000000000000000000000000000000200005") - - //绑定接口获取的构造的交易数据 - var bindRawTx = "0a067469636b6574125c50112a580a2a307836366165656133393233316434383730313536396466386235396266356564616638313934653430122a30786134323433316461383638633538383737613632376363373164633935663031626634306331393620a08d06309cdecd89eef5b2bb123a22313668747663424e53454137665a6841644c4a706844775152514a61487079485470" - //var unbindRawTx = "0a067469636b657412b525500d1ab0250acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078656234623539323566366435373261376439633837363166306236323963663865313838643566643332313839623861353264396231376261373430386135633a303030303030303030303a363465326661653165643537316166613461396561343662646161663161326334343065376439663631313963303535363861623339313337376539653065353a313639333031323835383237383335343938380acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078656163643737653232663139303263396338653763323665383561613462623166323632353038363734643662623266386137343337643265396464383665363a303030303030303030303a306139373966396633353761393332613766393431636632656465633331396239323864396239323730616563653237396566303532663730356135616331643a313639333133323134363238333533373133380acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078653564626233653730613964346539636130663234396136636338643062333234613365396261613539386437316361353632353732383137646265386232373a303030303030303030303a333634623332376265323362303965666561383335393761346161373131383232623962363763616238353562353231313761396436646637346539613033653a313639333130303832383238383530343636350acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078643834656231633435343463346564626433616235643034373330313339336433646535626363313135626333396633643265356531646638376236373538363a303030303030303030303a353530656435653831323130613833343264653661323235633463363066383635303533623236653633306135353038373538376462616266623630393664333a313639333031383632393238373838303135350acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078643830613664316331373236323763636136643961623930326636356563343466363931643935326332356630363561376166313061616230666333663938663a303030303030303030313a356234353962343635346638383661663363353234356665336135303661346265363237663164333762356137396662646138616331363231353765363733363a313639333030303939363239373735303135390acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078643531356561323330313462636264303235653339316663643732326232386538373766343763633865643730383830383934326439353432353934343136363a303030303030303030303a383138613465666438313432303364363063376432613830356633633930366463323437373766663765366536383961613730326637356365613764346565613a313639333032373235373237373937343333300acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078633430396639653034316131396662393662376263643830303765643237376234626135383461306635363936343166653031663831383864303032323431613a303030303030303030303a623538366532623436386637656530366564356130383664643263363731326165373836306634376235363931623032666631623637343864353334613735333a313639333033303633333239313437383934360acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078626530343637373933393237633933313865333264313235623036653937306161653963646336353334323634653163613536343731633761346335353261663a303030303030303031353a366363353161376633333935616439623136666162326365306238633833363864613964623164386539663066333130303664346535306462643864653338353a313639323934363032323238353538343532340acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078623937346435663330373030333233303966333932393665666131623634626435623163353735386530666536313333613562646662383539333666373238643a303030303030303030303a666339643335623135363761663461346666323832376438343266663138336636663062616339343237363733633836396534643436303563323636313432373a313639333131393232303332333331303334320acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078393339316466633035393435393461613534366434623732616532313662633634613438643838653439643463613330653665363962633035303765626435323a303030303030303030303a616631623233303732393834663961333439346464613664663836366535323863653633343965376239313464366532353630623633313034633533323432373a313639333132373933373237383937363932390acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078386631633238666465613937636337633135626432663134303839383863303430346432663335313533343137366262336136666663633266303538643664623a303030303030303030303a656232323633656132646166393039336236323235333566636463373362303562326535316263333162303662326664366463663563663534663439353032303a313639333131343631373237363335363431370acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078376666323234396234636430656439313639313062666336633039323738363834363936346134393131643865663530353430396361373464393135633664323a303030303030303030303a633035363936356365346238636430323336626234666439643338313133396366306135383634356331323864383661636666623536613262653264373836323a313639333039353432383238383030363239300acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078323937353732396433646235353332373663353535633962373733653062633238386437383661306333623334626536643832393166323137376166623238613a303030303030303030303a396364343630393331663730393038366532323463616533323765613063633266663434633134613638643263636631343833396366626133393933646465303a313639333033333633333239313437393833360acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078323837353832336430626462386466323735633033346166363539656364303735613562393834656535313935623032383434303834376537636365646330313a303030303030303030303a366263343130336136326139373737623039396335383435396262666236376234313430356363333732336130366431343136393865626339336333373039633a313639333131353831343237373936363432330acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078323535633163663939373662376635366334376363356634383536366236636236303433623333326233393036373535376332323936633363653035303435343a303030303030303030303a366533323231623630653038303939363063613330376131646163346462663338626234663935643164613938313165383439353762663834313338323539303a313639333032323132313330393038313238330acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078323131323536376266303335336231666539323035663062623965666530376135323639396162326635373931346331663263333431626162636566633264343a303030303030303030303a386566616365663866656230366235653264666635613039363066666130633337633861313330323230386238393333326130306463383237316433356438313a313639333035383334303238363534303034310acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078323038633634633132343564633036376632646432623239653033623131636266613362303566386331303063383765643834653462633161633637376230303a303030303030303030313a623632306539326265646537356638323336653161356262663164323434306366633335623066333566373263343735343330663863363861633664643833393a313639333130313637343239353632303336360acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078323038633038366264653138373265636266653839373161393632653234653132633430613334366137653861353065613066316433303032386134653364653a303030303030303030303a616235376635623632393436303164656664373363303930393332663030353031623838313032646536346163393061616466613736633533306630643138383a313639333038323232333238343736343836380acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078316439363434303233303332623231626337643230613162666662626136356366623962303832626134353763323633636161633562393436663935383236363a303030303030303030303a306434316131653131343537616132356463626261343230653532323464653332636237376462383964613936313735303631613930346631616565653462663a313639333033383435323332303838313937390acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078306561393033396232333963646261363763646132313732616234323330353066643735386561336630613431353732376539643433343837666263316234303a303030303030303030303a653162363365373430646464316234333739363361336338373563323231306366616263343137663033303136336630366138633738643461353735386565383a313639333130373636323238323234323638340acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078303830373738363634313065363263326166323535643637383664663936323765646638626664376136346530633839633064343739656236636363353231633a303030303030303030303a363366323064303865663934363462373138646664346334386539663734346131663262396336366232623464366266323038633132303466383566666437323a313639333131373938353238343130323338370acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078303765343937653333323634326464396461313839373831303762306463356162376337323164656136643934363030653966336532326239626166316139643a303030303030303030303a653464336431336636346661623637323463346635343366626338636666313166316663353962376234316464353132626333376637313265346136656533653a313639333036343834323330313437313336350acd013078363661656561333932333164343837303135363964663862353962663565646166383139346534303a3078303363326333353963393031343638373262393735613637356433336333383932376230656138376663303538383461343464613266383930633839643066663a303030303030303030303a393162373532303030323735303763366539656164306135633332393538323361656633646338333662393161656533663066313162323464313431316437303a3136393330393230383033303837373731343220c0cf2428a799b7a70630d5b59a8bb3be83cb603a22313668747663424e53454137665a6841644c4a706844775152514a61487079485470" - - etx := ethtypes.NewTransaction(nonce, to, big.NewInt(0), 3000000, big.NewInt(10e9), common.FromHex(bindRawTx)) - - var privKey = "4e4a3e491da77c429e1ee27575b381d7974778bd96a4f1cce61f82ec76986e42" - - //0xa42431da868c58877a627cc71dc95f01bf40c196 - privKey = "7939624566468cfa3cb2c9f39d5ad83bdc7cf4356bfd1a7b8094abda6b0699d1" - pk, err := crypto.ToECDSA(common.FromHex(privKey)) - if err != nil { - t.Log(err) - return - } - signer := ethtypes.NewEIP155Signer(big.NewInt(1999)) - signtx, err := ethtypes.SignTx(etx, signer, pk) - if err != nil { - t.Log(err) - return - } - - signedTrans, err := rlp.EncodeToBytes(signtx) - if err != nil { - t.Log(err) - return - } - - t.Log("signedTx:", common.Bytes2Hex(signedTrans)) - return - -} - -func TestSend2TicketExec(t *testing.T) { - var sendExec = "0a05636f696e73123718010a3310808090bcfd02222a30786134323433314461383638633538383737613632374343373144633935463031626634306331393620a08d06309495e0fdf4beabe86e3a2a307861343234333144613836386335383837376136323743433731446339354630316266343063313936" - - var nonce uint64 = 11 - var to = common.HexToAddress("0x0000000000000000000000000000000000200005") - etx := ethtypes.NewTransaction(nonce, to, big.NewInt(0), 9000000, big.NewInt(10e9), common.FromHex(sendExec)) - //0xa42431Da868c58877a627CC71Dc95F01bf40c196 - var privKey = "7939624566468cfa3cb2c9f39d5ad83bdc7cf4356bfd1a7b8094abda6b0699d1" - privKey = "4e3f0db8f4c21a239cde32d63e371d2ce52cc2f936b400a2537032e59e5a208f" - //0xd83b69c56834e85e023b1738e69bfa2f0dd52905 - privKey = "c8729f05b10cc74d40feeb00376e11aa5b50e92b369d778b31b6e902c528f141" - pk, err := crypto.ToECDSA(common.FromHex(privKey)) - if err != nil { - t.Log(err) - return - } - signer := ethtypes.NewEIP155Signer(big.NewInt(2999)) - signtx, err := ethtypes.SignTx(etx, signer, pk) - if err != nil { - t.Log(err) - return - } - - signedTrans, err := rlp.EncodeToBytes(signtx) - if err != nil { - t.Log(err) - return - } - - t.Log("signedTx:", common.Bytes2Hex(signedTrans)) - return -} - -func TestSend2Chain(t *testing.T) { - ecli, err := ethclient.Dial("http://192.168.61.213:8545") - if err != nil { - panic(err) - } - - var tx1 = "f90100288502540be400832dc6c094000000000000000000000000000000000020000580b8980a067469636b6574125c50112a580a2a307836366165656133393233316434383730313536396466386235396266356564616638313934653430122a30786134323433316461383638633538383737613632376363373164633935663031626634306331393620a08d06309cdecd89eef5b2bb123a22313668747663424e53454137665a6841644c4a706844775152514a61487079485470820fc2a0bc2549364a611da10413de5c531290d3f9717fc5ff18dd54335dacd7fc276424a029148b59723d1abbf7d000b11a0987ea1feca282788c41567761a1985a683b15" - //create tx2 - var etx1 = new(ethtypes.Transaction) - err = rlp.DecodeBytes(common.FromHex(tx1), etx1) - if err != nil { - panic(err) - } - - var to = common.HexToAddress("0xd83b69C56834E85e023B1738E69BFA2F0dd52905") - etx := ethtypes.NewTransaction(39, to, big.NewInt(100000000), 9000000, big.NewInt(10e9), nil) - privKey := "7939624566468cfa3cb2c9f39d5ad83bdc7cf4356bfd1a7b8094abda6b0699d1" - pk, err := crypto.ToECDSA(common.FromHex(privKey)) - if err != nil { - t.Log(err) - return - } - signer := ethtypes.NewEIP155Signer(big.NewInt(1999)) - signtx, err := ethtypes.SignTx(etx, signer, pk) - if err != nil { - t.Log(err) - return - - } - /* - var v, r, s = etx1.RawSignatureValues() - cv, err := etypes.CaculateRealV(v, etx1.ChainId().Uint64(), etx1.Type()) - assert.Nil(t, err) - - sig := make([]byte, 65) - copy(sig[32-len(r.Bytes()):32], r.Bytes()) - copy(sig[64-len(s.Bytes()):64], s.Bytes()) - sig[64] = cv - pubkey, err := crypto.Ecrecover(signer.Hash(etx1).Bytes(), sig) - chain33Tx := etypes.AssembleChain33Tx(etx1, sig, pubkey, ethCli.cfg) - - t.Log("tx:", common.Bytes2Hex(ctypes.Encode(chain33Tx))) - */ - - err = ecli.SendTransaction(context.Background(), etx1) - if err != nil { - t.Log(err) - return - } - - t.Log("etx1.hash:", etx1.Hash().String()) - return - err = ecli.SendTransaction(context.Background(), signtx) - if err != nil { - t.Log(err) - return - } - t.Log("etx2.hash:", signtx.Hash().String()) -} From 78121eeec4a4c2dd4b0a4b4fc5a729da9b225932 Mon Sep 17 00:00:00 2001 From: libangzhu <601276804@qq.com> Date: Thu, 12 Oct 2023 11:34:35 +0800 Subject: [PATCH 08/12] update gomod --- go.mod | 13 ++++--- go.sum | 91 ++++++++++------------------------------------- rpc/ethrpc/rpc.go | 20 +++++------ 3 files changed, 37 insertions(+), 87 deletions(-) diff --git a/go.mod b/go.mod index efe461374..131527831 100644 --- a/go.mod +++ b/go.mod @@ -3,15 +3,15 @@ module github.com/33cn/chain33 go 1.19 require ( - github.com/BurntSushi/toml v0.3.1 + github.com/BurntSushi/toml v1.1.0 github.com/XiaoMi/pegasus-go-client v0.0.0-20210825081735-b8a75c1eac2b - github.com/btcsuite/btcd v0.22.1 + github.com/btcsuite/btcd v0.22.3 github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce github.com/decred/base58 v1.0.3 github.com/dgraph-io/badger v1.6.2 github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 - github.com/ethereum/go-ethereum v1.10.16 + github.com/ethereum/go-ethereum v1.10.22 github.com/go-stack/stack v1.8.0 github.com/golang/protobuf v1.5.3 github.com/golang/snappy v0.0.4 @@ -56,12 +56,14 @@ require ( github.com/benbjohnson/clock v1.3.0 // indirect github.com/benbjohnson/immutable v0.2.1 // indirect github.com/beorn7/perks v1.0.1 // indirect + github.com/btcsuite/btcd/btcec/v2 v2.2.0 // indirect github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f // indirect github.com/cenkalti/backoff/v4 v4.1.1 // indirect github.com/cespare/xxhash v1.1.0 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/containerd/cgroups v1.1.0 // indirect github.com/coreos/go-systemd/v22 v22.5.0 // indirect + github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c // indirect github.com/deckarep/golang-set v1.8.0 // indirect @@ -81,6 +83,7 @@ require ( github.com/godbus/dbus/v5 v5.1.0 // indirect github.com/gofrs/uuid v3.3.0+incompatible // indirect github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang-jwt/jwt/v4 v4.3.0 // indirect github.com/golang/mock v1.6.0 // indirect github.com/google/flatbuffers v2.0.0+incompatible // indirect github.com/google/go-cmp v0.5.9 // indirect @@ -159,6 +162,7 @@ require ( github.com/quic-go/webtransport-go v0.5.2 // indirect github.com/raulk/go-watchdog v1.3.0 // indirect github.com/rogpeppe/go-internal v1.9.0 // indirect + github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/sergi/go-diff v1.0.0 // indirect github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible // indirect github.com/sirupsen/logrus v1.8.1 // indirect @@ -169,8 +173,10 @@ require ( github.com/tklauser/numcpus v0.2.2 // indirect github.com/uber/jaeger-client-go v2.28.0+incompatible // indirect github.com/uber/jaeger-lib v2.4.1+incompatible // indirect + github.com/urfave/cli/v2 v2.10.2 // indirect github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1 // indirect github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6 // indirect + github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 // indirect go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/otel v1.14.0 // indirect go.opentelemetry.io/otel/trace v1.14.0 // indirect @@ -190,7 +196,6 @@ require ( google.golang.org/genproto v0.0.0-20200825200019-8632dd797987 // indirect gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce // indirect gopkg.in/tomb.v2 v2.0.0-20161208151619-d5d1b5820637 // indirect - gopkg.in/urfave/cli.v1 v1.20.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect k8s.io/apimachinery v0.17.5 // indirect lukechampine.com/blake3 v1.1.7 // indirect diff --git a/go.sum b/go.sum index 78de29f17..bd8fa29e7 100644 --- a/go.sum +++ b/go.sum @@ -48,10 +48,7 @@ dmitri.shuralyov.com/state v0.0.0-20180228185332-28bcc343414c/go.mod h1:0PRwlb0D git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg= github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96 h1:cTp8I5+VIoKjsnZuH8vjyaysT/ses3EvZeaV/1UkF2M= github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= -github.com/Azure/azure-pipeline-go v0.2.1/go.mod h1:UGSo8XybXnIGZ3epmeBw7Jdz+HiUVpqIlpz/HKHylF4= -github.com/Azure/azure-pipeline-go v0.2.2/go.mod h1:4rQ/NZncSvGqNkkOsNpOU1tgoNuIlp9AfUH5G1tvCHc= github.com/Azure/azure-sdk-for-go v41.3.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= -github.com/Azure/azure-storage-blob-go v0.7.0/go.mod h1:f9YQKtsG1nMisotuTPpO0tjNuEjKRYAcJU8/ydDI++4= github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= @@ -59,7 +56,6 @@ github.com/Azure/go-autorest/autorest v0.10.0/go.mod h1:/FALq9T/kS7b5J5qsQ+RSTUd github.com/Azure/go-autorest/autorest v0.11.9 h1:P0ZF0dEYoUPUVDQo3mA1CvH5b8mKev7DDcmTwauuNME= github.com/Azure/go-autorest/autorest v0.11.9/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw= github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= -github.com/Azure/go-autorest/autorest/adal v0.8.0/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc= github.com/Azure/go-autorest/autorest/adal v0.8.2/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q= github.com/Azure/go-autorest/autorest/adal v0.8.3/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q= github.com/Azure/go-autorest/autorest/adal v0.9.5 h1:Y3bBUV4rTuxenJJs41HU3qmqsb+auo+a3Lz+PlJPpL0= @@ -84,8 +80,9 @@ github.com/Azure/go-autorest/logger v0.2.0/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZ github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= -github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/toml v1.1.0 h1:ksErzDEI1khOiGPgpwuI7x2ebx/uXQNw7xJpn9Eq1+I= +github.com/BurntSushi/toml v1.1.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= github.com/DATA-DOG/go-sqlmock v1.4.1 h1:ThlnYciV1iM/V0OSF/dtkqWb6xo5qITT1TJBG1MRDJM= @@ -111,7 +108,6 @@ github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMx github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6 h1:fLjPD/aNc3UIOA6tDi6QXUemppXK3P9BI7mr2hd6gx8= github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= github.com/VictoriaMetrics/fastcache v1.6.0 h1:C/3Oi3EiBCqufydp1neRZkqcwmEiuRT9c3fqvvgKm5o= -github.com/VictoriaMetrics/fastcache v1.6.0/go.mod h1:0qHz5QP0GMX4pfmMA/zt5RgfNuXJrTP0zS7DqpHGGTw= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= github.com/XiaoMi/pegasus-go-client v0.0.0-20210825081735-b8a75c1eac2b h1:KF7k0g1S53oeveZxGM2wfyT5PSpO82ZxBrYlA5mM0cw= github.com/XiaoMi/pegasus-go-client v0.0.0-20210825081735-b8a75c1eac2b/go.mod h1:VrfgKISflRhFm32m3e0SXLccvNJTyG8PRywWbUuGEfY= @@ -126,7 +122,6 @@ github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuy github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 h1:bvNMNQO63//z+xNgfBlViaCIJKLlCJ6/fmUseuG0wVQ= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= @@ -154,15 +149,6 @@ github.com/aws/aws-sdk-go v1.29.16/go.mod h1:1KvfttTE3SPKMpo8g2c6jL3ZKfXtFvKscTg github.com/aws/aws-sdk-go v1.30.12 h1:KrjyosZvkpJjcwMk0RNxMZewQ47v7+ZkbQDXjWsJMs8= github.com/aws/aws-sdk-go v1.30.12/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= -github.com/aws/aws-sdk-go-v2 v1.2.0/go.mod h1:zEQs02YRBw1DjK0PoJv3ygDYOFTre1ejlJWl8FwAuQo= -github.com/aws/aws-sdk-go-v2/config v1.1.1/go.mod h1:0XsVy9lBI/BCXm+2Tuvt39YmdHwS5unDQmxZOYe8F5Y= -github.com/aws/aws-sdk-go-v2/credentials v1.1.1/go.mod h1:mM2iIjwl7LULWtS6JCACyInboHirisUUdkBPoTHMOUo= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.0.2/go.mod h1:3hGg3PpiEjHnrkrlasTfxFqUsZ2GCk/fMUn4CbKgSkM= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.0.2/go.mod h1:45MfaXZ0cNbeuT0KQ1XJylq8A6+OpVV2E5kvY/Kq+u8= -github.com/aws/aws-sdk-go-v2/service/route53 v1.1.1/go.mod h1:rLiOUrPLW/Er5kRcQ7NkwbjlijluLsrIbu/iyl35RO4= -github.com/aws/aws-sdk-go-v2/service/sso v1.1.1/go.mod h1:SuZJxklHxLAXgLTc1iFXbEWkXs7QRTQpCLGaKIprQW0= -github.com/aws/aws-sdk-go-v2/service/sts v1.1.1/go.mod h1:Wi0EBZwiz/K44YliU0EKxqTCJGUfYTWXrrBwkq736bM= -github.com/aws/smithy-go v1.1.0/go.mod h1:EzMw8dbp/YJL4A5/sbhGddag+NPT7q084agLbB9LgIw= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= @@ -180,8 +166,10 @@ github.com/bonitoo-io/go-sql-bigquery v0.3.4-1.4.0 h1:MaVh0h9+KaMnJcoDvvIGp+O3fe github.com/bonitoo-io/go-sql-bigquery v0.3.4-1.4.0/go.mod h1:J4Y6YJm0qTWB9aFziB7cPeSyc6dOZFyJdteSeybVpXQ= github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g= github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= -github.com/btcsuite/btcd v0.22.1 h1:CnwP9LM/M9xuRrGSCGeMVs9iv09uMqwsVX7EeIpgV2c= -github.com/btcsuite/btcd v0.22.1/go.mod h1:wqgTSL29+50LRkmOVknEdmt8ZojIzhuWvgu/iptuN7Y= +github.com/btcsuite/btcd v0.22.3 h1:kYNaWFvOw6xvqP0vR20RP1Zq1DVMBxEO8QN5d1/EfNg= +github.com/btcsuite/btcd v0.22.3/go.mod h1:wqgTSL29+50LRkmOVknEdmt8ZojIzhuWvgu/iptuN7Y= +github.com/btcsuite/btcd/btcec/v2 v2.2.0 h1:fzn1qaOt32TuLjFlkzYSsBC35Q3KUjT1SwPxiMSCF5k= +github.com/btcsuite/btcd/btcec/v2 v2.2.0/go.mod h1:U7MHm051Al6XmscBQ0BoNydpOTsFAn707034b5nY8zU= github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U= github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f h1:bAs4lUbRJpnnkd9VhRV3jjAVU7DJVjMaK+IsvSeZvFo= @@ -205,7 +193,6 @@ github.com/cenkalti/backoff/v4 v4.1.0/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInq github.com/cenkalti/backoff/v4 v4.1.1 h1:G2HAfAmvm/GcKan2oOQpBXOd2tT2G57ZnZGWa1PxPBQ= github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.0/go.mod h1:dgIUBU3pDso/gPgZ1osOZ0iQf77oPR28Tjxl5dIMyVM= @@ -220,14 +207,11 @@ github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6D github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudflare/cloudflare-go v0.14.0/go.mod h1:EnwdgGMaFOruiPZRFSgn+TsQ3hQ7C/YWzIGLeu5c304= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= -github.com/consensys/bavard v0.1.8-0.20210406032232-f3452dc9b572/go.mod h1:Bpd0/3mZuaj6Sj+PqrmIquiOKy397AKGThQPaGzNXAQ= -github.com/consensys/gnark-crypto v0.4.1-0.20210426202927-39ac3d4b3f1f/go.mod h1:815PAHg3wvysy0SyIqanF8gZ0Y1wjk/hrDHD/iT88+Q= github.com/containerd/cgroups v0.0.0-20201119153540-4cbc285b3327/go.mod h1:ZJeTFisyysqgcCdecO57Dj79RfL0LNeGiFUqLYQRYLE= github.com/containerd/cgroups v1.1.0 h1:v8rEWFl6EoqHB+swVNjVoCJE8o3jX7e8nqBGPLaDFBM= github.com/containerd/cgroups v1.1.0/go.mod h1:6ppBcbh/NOOUU+dMKrykgaBnK9lCIBxHqJDGwsa1mIw= @@ -243,6 +227,8 @@ github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfc github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= +github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/cyberdelia/templates v0.0.0-20141128023046-ca7fffd4298c/go.mod h1:GyV+0YP4qX0UQ7r2MoYZ+AvYDp12OF5yg4q8rGnyNh4= @@ -264,7 +250,6 @@ github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 h1:HbphB4TFFXpv7MNrT52FGrrgVXF1 github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0/go.mod h1:DZGJHZMqrU4JJqFAWUS2UO1+lbSKsdiOoYi9Zzey7Fc= github.com/deepmap/oapi-codegen v1.6.0/go.mod h1:ryDa9AgbELGeB+YEXE1dR53yAjHwFvE9iAUlWl9Al3M= github.com/deepmap/oapi-codegen v1.8.2 h1:SegyeYGcdi0jLLrpbCMoJxnUUn8GBXHsvr4rbzjuhfU= -github.com/deepmap/oapi-codegen v1.8.2/go.mod h1:YLgSKSDv/bZQB7N4ws6luhozi3cEdRktEqrX88CvjIw= github.com/denisenkom/go-mssqldb v0.10.0 h1:QykgLZBorFE95+gO3u9esLd0BmbvpWp0/waNNZfHBM8= github.com/denisenkom/go-mssqldb v0.10.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/dgraph-io/badger v1.6.2 h1:mNw0qs90GVgGGWylh0umH5iag1j6n/PeJtNvL6KY/x8= @@ -279,16 +264,12 @@ github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8 github.com/dgryski/go-sip13 v0.0.0-20190329191031-25c5027a8c7b/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/dimchansky/utfbom v1.1.0 h1:FcM3g+nofKgUteL8dm/UpdRXNC9KmADgTpLKsu0TRo4= github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8= -github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= -github.com/docker/docker v1.4.2-0.20180625184442-8e610b2b55bf/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= -github.com/dop251/goja v0.0.0-20211011172007-d99e4b8cbf48/go.mod h1:R9ET47fwRVRPZnOGvHxxhuZcbrMCuiqOz3Rlrh4KSnk= -github.com/dop251/goja_nodejs v0.0.0-20210225215109-d91c329300e7/go.mod h1:hn7BA7c8pLvoGndExHudxTDKZ84Pyvv+90pbBjbTz0Y= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= @@ -311,8 +292,8 @@ github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1m github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/ethereum/go-ethereum v1.10.16 h1:3oPrumn0bCW/idjcxMn5YYVCdK7VzJYIvwGZUGLEaoc= -github.com/ethereum/go-ethereum v1.10.16/go.mod h1:Anj6cxczl+AHy63o4X9O8yWNHuN5wMpfb8MAnHkWn7Y= +github.com/ethereum/go-ethereum v1.10.22 h1:HbEgsDo1YTGIf4KB/NNpn+XH+PiNJXUZ9ksRxiqWyMc= +github.com/ethereum/go-ethereum v1.10.22/go.mod h1:EYFyF19u3ezGLD4RqOkLq+ZCXzYbLoNDdZlMt7kyKFg= github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= @@ -337,9 +318,7 @@ github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMo github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff h1:tY80oXqGNY4FhTFhk+o9oFHGINQ/+vhlm8HFzi6znCI= -github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= github.com/getkin/kin-openapi v0.53.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= -github.com/getkin/kin-openapi v0.61.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= @@ -439,7 +418,6 @@ github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD87 github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= github.com/go-playground/validator/v10 v10.2.0 h1:KgJ0snyC2R9VXYN2rneOtQcw5aHQB1Vv0sFl1UcHBOY= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= -github.com/go-sourcemap/sourcemap v2.1.3+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs= @@ -495,6 +473,8 @@ github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXP github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang-jwt/jwt v3.2.1+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= +github.com/golang-jwt/jwt/v4 v4.3.0 h1:kHL1vqdqWNfATmA0FNMdmZNMyZI1U6O31X4rlIPoBog= +github.com/golang-jwt/jwt/v4 v4.3.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= @@ -537,7 +517,6 @@ github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golangci/lint-1 v0.0.0-20181222135242-d2cdd8c08219/go.mod h1:/X8TswGSh1pIozq4ZwCfxS0WA5JGXguxk94ar/4c87Y= @@ -563,7 +542,6 @@ github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+u github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.1-0.20200604201612-c04b05f3adfa/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gopacket v1.1.17/go.mod h1:UdDNZ1OO62aGYVnPhxT1U6aI7ukYtA/kB8vaU0diBUM= github.com/google/gopacket v1.1.19 h1:ves8RnFZPGiFnTS0uPQStjwru6uO6h+nlr9j6fL7kF8= github.com/google/gopacket v1.1.19/go.mod h1:iJ8V8n6KS+z2U1A8pUwu8bW5SyEMkXJB8Yo/Vo+TKTo= @@ -583,7 +561,6 @@ github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm4 github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.5/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go v2.0.0+incompatible h1:j0GKcs05QVmm7yesiZq2+9cxHkNK9YM6zKx4D2qucQU= @@ -604,10 +581,8 @@ github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2z github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/graph-gophers/graphql-go v1.3.0/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= @@ -661,14 +636,11 @@ github.com/hashicorp/memberlist v0.2.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOn github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= github.com/hashicorp/serf v0.9.0/go.mod h1:YL0HO+FifKOW2u1ke99DGVu1zhcpZzNwrLIqBC7vbYU= github.com/holiman/bloomfilter/v2 v2.0.3 h1:73e0e/V0tCydx14a0SCYS/EWCxgwLZ18CZcZKVu0fao= -github.com/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iURXE7ZOP9L9hSkA= github.com/holiman/uint256 v1.2.0 h1:gpSYcPLWGv4sG43I2mVLiDZCNDh/EpGjSk8tmtxitHM= -github.com/holiman/uint256 v1.2.0/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/huandu/xstrings v1.0.0/go.mod h1:4qWG/gcEcfX4z/mBDHJ++3ReCw9ibxbsNJbcucJdbSo= github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= github.com/huin/goupnp v1.0.0/go.mod h1:n9v9KO1tAxYH82qOn+UTIFQDmx5n1Zxd/ClZDMX7Bnc= -github.com/huin/goupnp v1.0.2/go.mod h1:0dxJBVBHqTMjIUMkESDTNgOOx/Mw5wYIfyFmdzSamkM= github.com/huin/goupnp v1.1.0 h1:gEe0Dp/lZmPZiDFzJJaOfUpOvv2MKUkoBX8lDrn9vKU= github.com/huin/goupnp v1.1.0/go.mod h1:gnGPsThkYa7bFi/KWmEysQRf48l2dvR5bxr2OFckNX8= github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= @@ -678,26 +650,21 @@ github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJ github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/influxdata/flux v0.65.0/go.mod h1:BwN2XG2lMszOoquQaFdPET8FRQfrXiZsWmcMO9rkaVY= -github.com/influxdata/flux v0.65.1/go.mod h1:J754/zds0vvpfwuq7Gc2wRdVwEodfpCFM7mYlOw2LqY= github.com/influxdata/flux v0.131.0 h1:b6vCQyJorkbUEv25eHbNL1XIjSQ4/XMNFW8p9Uytm2k= github.com/influxdata/flux v0.131.0/go.mod h1:CKvnYe6FHpTj/E0YGI7TcOZdGiYHoToOPSnoa12RtKI= github.com/influxdata/httprouter v1.3.1-0.20191122104820-ee83e2772f69/go.mod h1:pwymjR6SrP3gD3pRj9RJwdl1j5s3doEEV8gS4X9qSzA= github.com/influxdata/influxdb v1.8.0/go.mod h1:SIzcnsjaHRFpmlxpJ4S3NT64qtEKYweNTUMb/vh0OMQ= -github.com/influxdata/influxdb v1.8.3/go.mod h1:JugdFhsvvI8gadxOI6noqNeeBHvWNTbfYGtiAn+2jhI= github.com/influxdata/influxdb v1.9.5 h1:4O7AC5jOA9RoqtDuD2rysXbumcEwaqWlWXmwuyK+a2s= github.com/influxdata/influxdb v1.9.5/go.mod h1:4uPVvcry9KWQVWLxyT9641qpkRXUBN+xa0MJFFNNLKo= github.com/influxdata/influxdb-client-go/v2 v2.3.1-0.20210518120617-5d1fff431040/go.mod h1:vLNHdxTJkIf2mSLvGrpj8TCcISApPoXkaxP8g9uRlW8= github.com/influxdata/influxdb-client-go/v2 v2.4.0 h1:HGBfZYStlx3Kqvsv1h2pJixbCl/jhnFtxpKFAv9Tu5k= -github.com/influxdata/influxdb-client-go/v2 v2.4.0/go.mod h1:vLNHdxTJkIf2mSLvGrpj8TCcISApPoXkaxP8g9uRlW8= github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= github.com/influxdata/influxql v1.1.0/go.mod h1:KpVI7okXjK6PRi3Z5B+mtKZli+R1DnZgb3N+tzevNgo= -github.com/influxdata/influxql v1.1.1-0.20200828144457-65d3ef77d385/go.mod h1:gHp9y86a/pxhjJ+zMjNXiQAA197Xk9wLxaz+fGG+kWk= github.com/influxdata/influxql v1.1.1-0.20210223160523-b6ab99450c93 h1:4t/8PcmLnI2vrcaHcEKeeLsGxC0WMRaOQdPX9b7DF8Y= github.com/influxdata/influxql v1.1.1-0.20210223160523-b6ab99450c93/go.mod h1:gHp9y86a/pxhjJ+zMjNXiQAA197Xk9wLxaz+fGG+kWk= github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e/go.mod h1:4kt73NQhadE3daL3WhR5EJ/J2ocX0PZzwxQ0gXJ7oFE= github.com/influxdata/line-protocol v0.0.0-20200327222509-2487e7298839/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= github.com/influxdata/line-protocol v0.0.0-20210311194329-9aa0e372d097 h1:vilfsDSy7TDxedi9gyBkMvAirat/oRcL0lFdJBf6tdM= -github.com/influxdata/line-protocol v0.0.0-20210311194329-9aa0e372d097/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= github.com/influxdata/pkg-config v0.2.8/go.mod h1:EMS7Ll0S4qkzDk53XS3Z72/egBsPInt+BeRxb0WeSwk= github.com/influxdata/promql/v2 v2.12.0/go.mod h1:fxOPu+DY0bqCTCECchSRtWfc+0X19ybifQhZoQNF5D8= github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod h1:bSgUQ7q5ZLSO+bKBGqJiCBGAl+9DxyW63zLTujjUlOE= @@ -729,7 +696,6 @@ github.com/jbenet/go-temp-err-catcher v0.1.0 h1:zpb3ZH6wIE8Shj2sKS+khgRvf7T7RABo github.com/jbenet/go-temp-err-catcher v0.1.0/go.mod h1:0kJRvmDZXNMIiJirNPEYfhpPwbGVtZVWC34vc5WLsDk= github.com/jbenet/goprocess v0.1.4 h1:DRGOFReOMqqDNXwW70QkacFW0YN9QnwLV0Vqk+3oU0o= github.com/jbenet/goprocess v0.1.4/go.mod h1:5yspPrukOVuOLORacaBi858NqyClJPQxYZlqdZVfqY4= -github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1CVv03EnqU1wYL2dFwXxW2An0az9JTl/ZsqXQeBlkU= github.com/jellevandenhooff/dkim v0.0.0-20150330215556-f50fe3d243e1/go.mod h1:E0B/fFc00Y+Rasa88328GlI/XbtyysCtTHZS8h7IrBU= github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= @@ -759,7 +725,6 @@ github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7V github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod h1:Ct9fl0F6iIOGgxJ5npU/IUOhOhqlVrGjyIZc8/MagT0= -github.com/karalabe/usb v0.0.2/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= github.com/kevinms/leakybucket-go v0.0.0-20200115003610-082473db97ca h1:qNtd6alRqd3qOdPrKXMZImV192ngQ0WSh1briEO33Tk= @@ -799,10 +764,8 @@ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v0.0.0-20160406211939-eadb3ce320cb/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/labstack/echo/v4 v4.2.1/go.mod h1:AA49e0DZ8kk5jTOOCKNuPR6oTnBS0dYiM4FW1e6jwpg= github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k= -github.com/leanovate/gopter v0.2.9/go.mod h1:U2L/78B+KVFIx2VmW6onHJQzXtFb+p5y3y2Sh+Jxxv8= github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= github.com/lib/pq v1.0.0 h1:X5PMW56eZitiTeO7tKzZxFCSpbFZJtkMMooicw2us9A= @@ -864,8 +827,6 @@ github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.8 h1:c1ghPdyEDarC70ftn0y+A/Ee++9zz8ljHG1b13eJ0s8= github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-ieproxy v0.0.0-20190610004146-91bb50d98149/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc= -github.com/mattn/go-ieproxy v0.0.0-20190702010315-6dee0af9227d/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= @@ -964,8 +925,6 @@ github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8m github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= -github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0= -github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E= github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= @@ -1030,7 +989,6 @@ github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUr github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc= -github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0= github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= @@ -1111,7 +1069,6 @@ github.com/rcrowley/go-metrics v0.0.0-20190826022208-cac0b30c2563 h1:dY6ETXrvDG7 github.com/rcrowley/go-metrics v0.0.0-20190826022208-cac0b30c2563/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52/go.mod h1:RDpi1RftBQPUCDRw6SmxeaREsAaRKnOclghuzp/WRzc= github.com/rjeczalik/notify v0.9.1 h1:CLCKso/QK1snAlnhNR/CNvNiFU2saUtjV0bx3EwNeCE= -github.com/rjeczalik/notify v0.9.1/go.mod h1:rKwnCoCGeuQnwBtTSPL9Dad03Vh2n40ePRrjvIXnJho= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= @@ -1124,6 +1081,8 @@ github.com/rs/cors v1.7.0 h1:+88SsELBHx5r+hZ8TCkggzSstaWNbDvThkVK8H6f9ik= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= 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 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= @@ -1200,7 +1159,6 @@ github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4 h1:Gb2Tyox57NRNuZ2d3rmvB3pcmbu7O1RS3m8WRx7ilrg= -github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= @@ -1238,7 +1196,6 @@ github.com/tklauser/numcpus v0.2.2/go.mod h1:x3qojaO3uyYt0i56EW/VUYs7uBvdl2fkfZF github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/tyler-smith/go-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef h1:wHSqTBrZW24CsNJDfeh9Ex6Pm0Rcpc7qrgKBiL44vF4= -github.com/tyler-smith/go-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= github.com/uber-go/tally v3.3.15+incompatible h1:9hLSgNBP28CjIaDmAuRTq9qV+UZY+9PcvAkXO4nNMwg= github.com/uber-go/tally v3.3.15+incompatible/go.mod h1:YDTIBxdXyOU/sCWilKB4bgyufu1cEi0jdVnRdxvjnmU= github.com/uber/athenadriver v1.1.4 h1:k6k0RBeXjR7oZ8NO557MsRw3eX1cc/9B0GNx+W9eHiQ= @@ -1258,7 +1215,8 @@ github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijb github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/urfave/cli v1.22.10/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= +github.com/urfave/cli/v2 v2.10.2 h1:x3p8awjp/2arX+Nl/G2040AZpOCHS/eMJJ1/a+mye4Y= +github.com/urfave/cli/v2 v2.10.2/go.mod h1:f8iq5LtQ/bLxafbdBSLPPNsgaW0l/2fYYEHhAyPlwvo= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= @@ -1277,6 +1235,8 @@ github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6 h1:YdYsPAZ2pC6Tow/nPZOPQ96O3hm/ToAkGsPLzedXERk= github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU= +github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -1354,7 +1314,6 @@ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190909091759-094676da4a83/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191202143827-86a70503ff7e/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= @@ -1466,11 +1425,9 @@ golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81R golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210220033124-5f55cee0dc0d/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210423184538-5f58ad60dda6/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= -golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -1566,18 +1523,14 @@ golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200826173525-f9321e4c35a6/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210316164454-77fc1eacc6aa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210420205809-ac73e9fd8988/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210426080607-c94f62235c83/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1592,7 +1545,6 @@ 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= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= 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.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68= @@ -1673,7 +1625,6 @@ golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.7.0 h1:W4OVu8VVOaIO0yzWMNdepAulS7YfoS3Zabrm8DOXXU4= @@ -1822,14 +1773,11 @@ gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXL gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce h1:+JknDZhAj8YMt7GC73Ei8pv4MzjDUNPHgQWJdtMAaDU= gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c= -gopkg.in/olebedev/go-duktape.v3 v3.0.0-20200619000410-60c24ae608a6/go.mod h1:uAJfkITjFhyEEuUfm7bsmCZRbW5WRq8s9EY8HZ6hCns= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/tomb.v2 v2.0.0-20161208151619-d5d1b5820637 h1:yiW+nvdHb9LVqSHQBXfZCieqV4fzYhNBql77zY0ykqs= gopkg.in/tomb.v2 v2.0.0-20161208151619-d5d1b5820637/go.mod h1:BHsqpu/nsuzkT5BpiH1EMZPLyqSMM8JbIavyFACoFNk= -gopkg.in/urfave/cli.v1 v1.20.0 h1:NdAVW6RYxDif9DhDHaAortIu956m2c0v+09AZBPTbE0= -gopkg.in/urfave/cli.v1 v1.20.0/go.mod h1:vuBzUtMdQeixQj8LVd+/98pzhxNGQoyuPBlsXHOQNO0= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -1841,12 +1789,10 @@ gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= grpc.go4.org v0.0.0-20170609214715-11d0a25b4919/go.mod h1:77eQGdRu53HpSqPFJFmuJdjuHRquDANNeA4x7B8WQ9o= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -1856,7 +1802,6 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= k8s.io/api v0.17.5/go.mod h1:0zV5/ungglgy2Rlm3QK8fbxkXVs+BSJWpJP/+8gUVLY= k8s.io/apimachinery v0.0.0-20191123233150-4c4803ed55e3/go.mod h1:b9qmWdKlLuU9EBh+06BtLcSf/Mu89rWL33naRxs1uZg= k8s.io/apimachinery v0.17.5 h1:QAjfgeTtSGksdkgyaPrIb4lhU16FWMIzxKejYD5S0gc= diff --git a/rpc/ethrpc/rpc.go b/rpc/ethrpc/rpc.go index c90be8b53..ee6e3cc3c 100644 --- a/rpc/ethrpc/rpc.go +++ b/rpc/ethrpc/rpc.go @@ -59,7 +59,7 @@ type subConfig struct { Web3CliVer string `json:"web3CliVer,omitempty"` } -//ServerAPI ... +// ServerAPI ... type ServerAPI interface { EnableRPC() EnableWS() @@ -92,7 +92,7 @@ type rpcHandler struct { server *rpc.Server } -//initRpcHandler 注册eth rpc +// initRpcHandler 注册eth rpc func initRPCHandler(apis rpcAPIs, cfg *ctypes.Chain33Config, c queue.Client, api client.QueueProtocolAPI) *rpcHandler { server := rpc.NewServer() if len(apis) == 0 { @@ -106,7 +106,7 @@ func initRPCHandler(apis rpcAPIs, cfg *ctypes.Chain33Config, c queue.Client, api } } -//NewHTTPServer eth json rpcserver object +// NewHTTPServer eth json rpcserver object func NewHTTPServer(c queue.Client, api client.QueueProtocolAPI) ServerAPI { var subcfg subConfig ctypes.MustDecode(c.GetConfig().GetSubConfig().RPC[subRpctype], &subcfg) @@ -122,14 +122,14 @@ func NewHTTPServer(c queue.Client, api client.QueueProtocolAPI) ServerAPI { } -//set listen addr +// set listen addr func (h *httpServer) setEndPoint(listenAddr string) { h.mu.Lock() defer h.mu.Unlock() h.endpoint = listenAddr } -//EnableRpc register http rpc +// EnableRpc register http rpc func (h *httpServer) EnableRPC() { var apis = make(rpcAPIs) for _, namespace := range h.subCfg.HTTPAPI { @@ -139,7 +139,7 @@ func (h *httpServer) EnableRPC() { } rpcHandler := initRPCHandler(apis, h.cfg, h.qclient, h.api) - rpcHandler.Handler = node.NewHTTPHandlerStack(rpcHandler.server, []string{"*"}, []string{"*"}) + rpcHandler.Handler = node.NewHTTPHandlerStack(rpcHandler.server, []string{"*"}, []string{"*"}, nil) h.httpHandler = rpcHandler if h.subCfg.HTTPAddr == "" { h.subCfg.HTTPAddr = fmt.Sprintf("localhost:%d", defaultEthRPCPort) @@ -148,7 +148,7 @@ func (h *httpServer) EnableRPC() { log.Debug("EnableRpc", "httpaddr", h.endpoint) } -//EnableWS register websocket rpc +// EnableWS register websocket rpc func (h *httpServer) EnableWS() { var apis = make(rpcAPIs) for _, namespace := range h.subCfg.WsAPI { @@ -167,7 +167,7 @@ func (h *httpServer) EnableWS() { log.Debug("EnableWS", "websocketaddr", h.endpoint) } -//Start server start +// Start server start func (h *httpServer) Start() (int, error) { h.mu.Lock() defer h.mu.Unlock() @@ -203,7 +203,7 @@ func (h *httpServer) Start() (int, error) { } -//Close close service +// Close close service func (h *httpServer) Close() { if h.wsHander != nil { h.wsHander.server.Stop() @@ -212,7 +212,7 @@ func (h *httpServer) Close() { } } -//ServeHTTP rewrite ServeHTTP +// ServeHTTP rewrite ServeHTTP func (h *httpServer) ServeHTTP(w http.ResponseWriter, r *http.Request) { if r.Method == "OPTION" { w.WriteHeader(http.StatusNoContent) From b49f8fffc829a7e6c1ef17712fcf01068d50b161 Mon Sep 17 00:00:00 2001 From: libangzhu <601276804@qq.com> Date: Wed, 18 Oct 2023 15:34:46 +0800 Subject: [PATCH 09/12] update Jenkinsfile --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 75f5e7fa7..2c3496e5f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -14,7 +14,7 @@ pipeline { gitlabBuilds(builds: ['check', 'build', 'test', 'deploy']) checkoutToSubdirectory "src/gitlab.33.cn/chain33/chain33" } - + tools {go 'go1.19'} stages { stage('check') { steps { From 40b02632c77f2657c358b97360375b26913172c3 Mon Sep 17 00:00:00 2001 From: 33cn <462829236@qq.com> Date: Thu, 19 Oct 2023 17:17:55 +0800 Subject: [PATCH 10/12] Delete Jenkinsfile --- Jenkinsfile | 106 ---------------------------------------------------- 1 file changed, 106 deletions(-) delete mode 100644 Jenkinsfile diff --git a/Jenkinsfile b/Jenkinsfile deleted file mode 100644 index 2c3496e5f..000000000 --- a/Jenkinsfile +++ /dev/null @@ -1,106 +0,0 @@ -pipeline { - agent any - - environment { - GOPATH = "${WORKSPACE}" - PROJ_DIR = "${WORKSPACE}/src/gitlab.33.cn/chain33/chain33" - } - - options { - timeout(time: 2,unit: 'HOURS') - retry(1) - timestamps() - gitLabConnection('gitlab33') - gitlabBuilds(builds: ['check', 'build', 'test', 'deploy']) - checkoutToSubdirectory "src/gitlab.33.cn/chain33/chain33" - } - tools {go 'go1.19'} - stages { - stage('check') { - steps { - dir("${PROJ_DIR}"){ - gitlabCommitStatus(name: 'check'){ - sh "make auto_ci branch=${env.gitlabSourceBranch}" - } - } - } - } - - stage('build') { - steps { - dir("${env.PROJ_DIR}"){ - gitlabCommitStatus(name: 'build'){ - sh 'make checkgofmt' - sh 'make linter' - } - } - } - } - - stage('test'){ - agent { - docker{ - image 'suyanlong/chain33-run:latest' - } - } - - environment { - GOPATH = "${WORKSPACE}" - PROJ_DIR = "${WORKSPACE}/src/gitlab.33.cn/chain33/chain33" - } - - steps { - dir("${env.PROJ_DIR}"){ - gitlabCommitStatus(name: 'test'){ - sh 'make test' - //sh 'export CC=clang-5.0 && make msan' - } - } - } - } - - stage('deploy') { - steps { - dir("${PROJ_DIR}"){ - gitlabCommitStatus(name: 'deploy'){ - sh 'make build_ci' - sh "make autotest_ci proj=${env.BUILD_NUMBER}" - sh "cd build && mkdir ${env.BUILD_NUMBER} && cp ci/* ${env.BUILD_NUMBER} -r && cp chain33* Dockerfile* docker* *.sh ${env.BUILD_NUMBER}/ && cd ${env.BUILD_NUMBER}/ && ./docker-compose-pre.sh run ${env.BUILD_NUMBER} all " - } - } - } - - post { - always { - dir("${PROJ_DIR}"){ - sh "cd build/${env.BUILD_NUMBER} && ./docker-compose-pre.sh down ${env.BUILD_NUMBER} all && cd .. && rm -rf ${env.BUILD_NUMBER} && cd .. && make clean " - } - } - } - } - } - - post { - always { - echo 'One way or another, I have finished' - // clean up our workspace - deleteDir() - } - - success { - echo 'I succeeeded!' - echo "email user: ${gitlabUserEmail}" - mail to: "${gitlabUserEmail}", - subject: "Successed Pipeline: ${currentBuild.fullDisplayName}", - body: "this is success with ${env.BUILD_URL}" - } - - failure { - echo 'I failed ' - echo "email user: ${gitlabUserEmail}" - mail to: "${gitlabUserEmail}", - subject: "Failed Pipeline: ${currentBuild.fullDisplayName}", - body: "Something is wrong with ${env.BUILD_URL}" - } - } -} From 9f69e27569085921757d2cf0527a756e6084933c Mon Sep 17 00:00:00 2001 From: 33cn <462829236@qq.com> Date: Thu, 19 Oct 2023 17:27:43 +0800 Subject: [PATCH 11/12] Update rpc.go --- rpc/ethrpc/rpc.go | 1 + 1 file changed, 1 insertion(+) diff --git a/rpc/ethrpc/rpc.go b/rpc/ethrpc/rpc.go index ee6e3cc3c..ac2a3761a 100644 --- a/rpc/ethrpc/rpc.go +++ b/rpc/ethrpc/rpc.go @@ -36,6 +36,7 @@ const ( type initAPI func(cfg *ctypes.Chain33Config, c queue.Client, api client.QueueProtocolAPI) interface{} type rpcAPIs map[string]initAPI + var ( log = log15.New("module", "eth_rpc") // default apis From c9658b5a6af39a43e9785ce9567b585da4e1e777 Mon Sep 17 00:00:00 2001 From: 33cn <462829236@qq.com> Date: Thu, 19 Oct 2023 17:34:38 +0800 Subject: [PATCH 12/12] Update execenv.go --- executor/execenv.go | 1 + 1 file changed, 1 insertion(+) diff --git a/executor/execenv.go b/executor/execenv.go index 40b155d29..b58006bd2 100644 --- a/executor/execenv.go +++ b/executor/execenv.go @@ -20,6 +20,7 @@ import ( "github.com/golang/protobuf/proto" ) + // 执行器 -> db 环境 type executor struct { stateDB dbm.KV