Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
plugin
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
link33
plugin
Commits
60e29aae
Commit
60e29aae
authored
Sep 14, 2021
by
hezhengjun
Committed by
33cn
Sep 17, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
make notes pretty
parent
9a148465
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
18 additions
and
41 deletions
+18
-41
tx.go
plugin/dapp/cross2eth/ebrelayer/relayer/chain33/tx.go
+4
-3
ethereum.go
plugin/dapp/cross2eth/ebrelayer/relayer/ethereum/ethereum.go
+4
-4
chain33Event.go
...n/dapp/cross2eth/ebrelayer/relayer/events/chain33Event.go
+0
-1
events.go
plugin/dapp/cross2eth/ebrelayer/relayer/events/events.go
+9
-32
events_test.go
...in/dapp/cross2eth/ebrelayer/relayer/events/events_test.go
+1
-1
No files found.
plugin/dapp/cross2eth/ebrelayer/relayer/chain33/tx.go
View file @
60e29aae
...
...
@@ -11,6 +11,8 @@ import (
"strings"
"time"
"github.com/33cn/plugin/plugin/dapp/cross2eth/ebrelayer/relayer/events"
erc20
"github.com/33cn/plugin/plugin/dapp/cross2eth/contracts/erc20/generated"
btcec_secp256k1
"github.com/btcsuite/btcd/btcec"
...
...
@@ -77,9 +79,8 @@ func createEvmTx(privateKey chain33Crypto.PrivKey, action proto.Message, execer,
}
func
relayEvmTx2Chain33
(
privateKey
chain33Crypto
.
PrivKey
,
claim
*
ebrelayerTypes
.
EthBridgeClaim
,
parameter
,
rpcURL
,
oracleAddr
string
)
(
string
,
error
)
{
note
:=
fmt
.
Sprintf
(
"relayEvmTx2Chain33 by validator:%s with nonce:%d"
,
address
.
PubKeyToAddr
(
privateKey
.
PubKey
()
.
Bytes
()),
claim
.
Nonce
)
note
:=
fmt
.
Sprintf
(
"relay with type:%s, chain33-receiver:%s, ethereum-sender:%s, symbol:%s, amout:%d, ethTxHash:%s"
,
events
.
ClaimType
(
claim
.
ClaimType
)
.
String
(),
claim
.
Chain33Receiver
,
claim
.
EthereumSender
,
claim
.
Symbol
,
claim
.
Amount
,
claim
.
EthTxHash
)
_
,
packData
,
err
:=
evmAbi
.
Pack
(
parameter
,
generated
.
OracleABI
,
false
)
if
nil
!=
err
{
chain33txLog
.
Info
(
"relayEvmTx2Chain33"
,
"Failed to do abi.Pack due to:"
,
err
.
Error
())
...
...
plugin/dapp/cross2eth/ebrelayer/relayer/ethereum/ethereum.go
View file @
60e29aae
...
...
@@ -665,7 +665,7 @@ func (ethRelayer *Relayer4Ethereum) procBridgeBankLogs(vLog types.Log) {
//lock,用于捕捉 (ETH/ERC20----->chain33) 跨链转移
if
vLog
.
Topics
[
0
]
.
Hex
()
==
ethRelayer
.
bridgeBankEventLockSig
{
eventName
:=
events
.
LogLock
.
String
()
eventName
:=
events
.
LogLock
FromETH
.
String
()
relayerLog
.
Info
(
"Relayer4Ethereum proc"
,
"Going to process"
,
eventName
,
"Block number:"
,
vLog
.
BlockNumber
,
"Tx hash:"
,
vLog
.
TxHash
.
Hex
())
err
:=
ethRelayer
.
handleLogLockEvent
(
ethRelayer
.
clientChainID
,
ethRelayer
.
bridgeBankAbi
,
eventName
,
vLog
)
...
...
@@ -676,7 +676,7 @@ func (ethRelayer *Relayer4Ethereum) procBridgeBankLogs(vLog types.Log) {
}
}
else
if
vLog
.
Topics
[
0
]
.
Hex
()
==
ethRelayer
.
bridgeBankEventBurnSig
{
//burn,用于捕捉 (chain33 token----->chain33) 实现chain33资产withdraw操作,之后在chain33上实现unlock操作
eventName
:=
events
.
Log
Chain33TokenBurn
.
String
()
eventName
:=
events
.
Log
BurnFromETH
.
String
()
relayerLog
.
Info
(
"Relayer4Ethereum proc"
,
"Going to process"
,
eventName
,
"Block number:"
,
vLog
.
BlockNumber
,
"Tx hash:"
,
vLog
.
TxHash
.
Hex
())
err
:=
ethRelayer
.
handleLogBurnEvent
(
ethRelayer
.
clientChainID
,
ethRelayer
.
bridgeBankAbi
,
eventName
,
vLog
)
...
...
@@ -782,9 +782,9 @@ func (ethRelayer *Relayer4Ethereum) prePareSubscribeEvent() {
//bridgeBank处理
contactAbi
:=
ethtxs
.
LoadABI
(
ethtxs
.
BridgeBankABI
)
ethRelayer
.
bridgeBankAbi
=
contactAbi
eventName
=
events
.
LogLock
.
String
()
eventName
=
events
.
LogLock
FromETH
.
String
()
ethRelayer
.
bridgeBankEventLockSig
=
contactAbi
.
Events
[
eventName
]
.
ID
.
Hex
()
eventName
=
events
.
Log
Chain33TokenBurn
.
String
()
eventName
=
events
.
Log
BurnFromETH
.
String
()
ethRelayer
.
bridgeBankEventBurnSig
=
contactAbi
.
Events
[
eventName
]
.
ID
.
Hex
()
ethRelayer
.
bridgeBankAddr
=
ethRelayer
.
x2EthDeployInfo
.
BridgeBank
.
Address
}
...
...
plugin/dapp/cross2eth/ebrelayer/relayer/events/chain33Event.go
View file @
60e29aae
...
...
@@ -57,7 +57,6 @@ type BurnEventOnChain33 struct {
Nonce
*
big
.
Int
}
// UnpackChain33LogLock UnpackLogLock : Handles new LogLock events
func
UnpackChain33LogLock
(
contractAbi
abi
.
ABI
,
eventName
string
,
eventData
[]
byte
)
(
lockEvent
*
LockEventOnChain33
,
err
error
)
{
lockEvent
=
&
LockEventOnChain33
{}
// Parse the event's attributes as Ethereum network variables
...
...
plugin/dapp/cross2eth/ebrelayer/relayer/events/events.go
View file @
60e29aae
...
...
@@ -7,7 +7,7 @@ import (
type
ClaimType
int32
type
Event
int
var
eventsLog
=
log
.
New
(
"module"
,
"
ethereum
_relayer"
)
var
eventsLog
=
log
.
New
(
"module"
,
"
cross2eth
_relayer"
)
const
(
ClaimTypeBurn
=
ClaimType
(
1
)
...
...
@@ -17,40 +17,17 @@ const (
const
(
// Unsupported : unsupported Chain33 or Ethereum event
Unsupported
Event
=
iota
// MsgBurn : Chain33 event 'Chain33Msg' type MsgBurn
MsgBurn
// MsgLock : Chain33 event 'Chain33Msg' type MsgLock
MsgLock
// LogLock : Ethereum event 'LockEvent'
LogLock
// LogChain33TokenBurn : Ethereum event 'LogChain33TokenBurn' in contract chain33Bank
LogChain33TokenBurn
// LogNewProphecyClaim : Ethereum event 'NewProphecyClaimEvent'
LogNewProphecyClaim
// LogLockFromETH : Ethereum event 'LogLock'
LogLockFromETH
// LogBurnFromETH : Ethereum event 'LogChain33TokenBurn'
LogBurnFromETH
)
//
String : returns the event type as a string
//
此处的名字命令不能随意改动,需要与合约event中的命名完全一致
func
(
d
Event
)
String
()
string
{
return
[
...
]
string
{
"unknown-
x2ethereum"
,
"Chain33ToEthBurn"
,
"Chain33ToEthLock"
,
"LogLock"
,
"LogChain33TokenBurn"
,
"LogNewProphecyClaim
"
}[
d
]
return
[
...
]
string
{
"unknown-
LOG"
,
"LogLock"
,
"LogChain33TokenBurn
"
}[
d
]
}
// Chain33MsgAttributeKey : enum containing supported attribute keys
type
Chain33MsgAttributeKey
int
const
(
// UnsupportedAttributeKey : unsupported attribute key
UnsupportedAttributeKey
Chain33MsgAttributeKey
=
iota
// Chain33Sender : sender's address on Chain33 network
Chain33Sender
// EthereumReceiver : receiver's address on Ethereum network
EthereumReceiver
// Coin : coin type
Coin
// TokenContractAddress : coin's corresponding contract address deployed on the Ethereum network
TokenContractAddress
)
// String : returns the event type as a string
func
(
d
Chain33MsgAttributeKey
)
String
()
string
{
return
[
...
]
string
{
"unsupported"
,
"chain33_sender"
,
"ethereum_receiver"
,
"amount"
,
"token_contract_address"
}[
d
]
func
(
d
ClaimType
)
String
()
string
{
return
[
...
]
string
{
"unknown-LOG"
,
"burn"
,
"lock"
}[
d
]
}
plugin/dapp/cross2eth/ebrelayer/relayer/events/events_test.go
View file @
60e29aae
...
...
@@ -14,7 +14,7 @@ func Test_UnpackLogLock(t *testing.T) {
abiJSON
:=
generated
.
BridgeBankABI
contractABI
,
err
:=
abi
.
JSON
(
strings
.
NewReader
(
abiJSON
))
require
.
Nil
(
t
,
err
)
eventName
:=
LogLock
.
String
()
eventName
:=
LogLock
FromETH
.
String
()
eventData
:=
[]
byte
(
"nil"
)
_
,
err
=
UnpackLogLock
(
contractABI
,
eventName
,
eventData
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment