Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
token-bridge
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
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
movabridge
token-bridge
Commits
6bdab852
Commit
6bdab852
authored
Aug 21, 2025
by
vicotor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update code
parent
2067aa1d
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
38 additions
and
1 deletion
+38
-1
sync.go
chain/sync.go
+22
-0
db.go
dao/db.go
+1
-1
dbtx.go
dao/dbtx.go
+6
-0
eth.go
dao/eth.go
+9
-0
No files found.
chain/sync.go
View file @
6bdab852
...
@@ -321,7 +321,10 @@ func (s *ChainSync) FilterValidatorEvents(txLog types.Log, tx *dao.Transaction)
...
@@ -321,7 +321,10 @@ func (s *ChainSync) FilterValidatorEvents(txLog types.Log, tx *dao.Transaction)
inId
=
int64
(
0
)
inId
=
int64
(
0
)
eventHash
=
""
eventHash
=
""
txHash
=
txLog
.
TxHash
.
Hex
()
txHash
=
txLog
.
TxHash
.
Hex
()
valOp
=
constant
.
TransferChainNoProcess
)
)
isMyselfOp
:=
false
valAddr
:=
strings
.
ToLower
(
s
.
d
.
GetChainValidatorAddr
(
s
.
chain
)
.
Hex
())
abi
,
_
:=
bridge
.
BridgeContractMetaData
.
GetAbi
()
abi
,
_
:=
bridge
.
BridgeContractMetaData
.
GetAbi
()
switch
txLog
.
Topics
[
0
]
.
Hex
()
{
switch
txLog
.
Topics
[
0
]
.
Hex
()
{
...
@@ -335,6 +338,10 @@ func (s *ChainSync) FilterValidatorEvents(txLog types.Log, tx *dao.Transaction)
...
@@ -335,6 +338,10 @@ func (s *ChainSync) FilterValidatorEvents(txLog types.Log, tx *dao.Transaction)
validator
=
strings
.
ToLower
(
event
.
Validator
.
String
())
validator
=
strings
.
ToLower
(
event
.
Validator
.
String
())
inId
=
event
.
InId
.
Int64
()
inId
=
event
.
InId
.
Int64
()
eventType
=
"TransferInConfirmation"
eventType
=
"TransferInConfirmation"
valOp
=
constant
.
ValidatorStatusConfirmation
if
validator
==
valAddr
{
isMyselfOp
=
true
}
case
abi
.
Events
[
"TransferInRejection"
]
.
ID
.
Hex
()
:
case
abi
.
Events
[
"TransferInRejection"
]
.
ID
.
Hex
()
:
event
,
err
:=
s
.
bridgeCa
.
ParseTransferInRejection
(
txLog
)
event
,
err
:=
s
.
bridgeCa
.
ParseTransferInRejection
(
txLog
)
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -345,6 +352,13 @@ func (s *ChainSync) FilterValidatorEvents(txLog types.Log, tx *dao.Transaction)
...
@@ -345,6 +352,13 @@ func (s *ChainSync) FilterValidatorEvents(txLog types.Log, tx *dao.Transaction)
validator
=
strings
.
ToLower
(
event
.
Validator
.
String
())
validator
=
strings
.
ToLower
(
event
.
Validator
.
String
())
inId
=
event
.
InId
.
Int64
()
inId
=
event
.
InId
.
Int64
()
eventType
=
"TransferInRejection"
eventType
=
"TransferInRejection"
valOp
=
constant
.
ValidatorStatusRejection
if
validator
==
valAddr
{
isMyselfOp
=
true
}
default
:
log
.
WithField
(
"chain"
,
s
.
name
)
.
Error
(
"unknown event"
)
return
nil
}
}
err
:=
s
.
d
.
CreateValidatorEventTx
(
tx
,
eventHash
,
chainId
,
validator
,
txHash
,
eventType
,
inId
)
err
:=
s
.
d
.
CreateValidatorEventTx
(
tx
,
eventHash
,
chainId
,
validator
,
txHash
,
eventType
,
inId
)
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -353,6 +367,14 @@ func (s *ChainSync) FilterValidatorEvents(txLog types.Log, tx *dao.Transaction)
...
@@ -353,6 +367,14 @@ func (s *ChainSync) FilterValidatorEvents(txLog types.Log, tx *dao.Transaction)
})
.
Error
(
"db create validator event"
)
})
.
Error
(
"db create validator event"
)
return
err
return
err
}
}
if
isMyselfOp
{
event
,
_
:=
s
.
d
.
GetBridgeEventWithInInfoTx
(
tx
,
chainId
,
inId
)
if
event
!=
nil
{
if
err
=
s
.
d
.
UpdateBridgeValidatorOperationTx
(
tx
,
event
,
valOp
);
err
!=
nil
{
log
.
WithError
(
err
)
.
Error
(
"db update validator operation event"
)
}
}
}
return
nil
return
nil
}
}
...
...
dao/db.go
View file @
6bdab852
...
@@ -28,7 +28,7 @@ func (d *Dao) SetStorageHeight(key string, intValue int64) (err error) {
...
@@ -28,7 +28,7 @@ func (d *Dao) SetStorageHeight(key string, intValue int64) (err error) {
func
(
d
*
Dao
)
GetUnprocessedBridgeEvents
(
limit
int
)
(
events
[]
*
dbModel
.
BridgeEvent
,
err
error
)
{
func
(
d
*
Dao
)
GetUnprocessedBridgeEvents
(
limit
int
)
(
events
[]
*
dbModel
.
BridgeEvent
,
err
error
)
{
err
=
d
.
db
.
Model
(
&
dbModel
.
BridgeEvent
{})
.
err
=
d
.
db
.
Model
(
&
dbModel
.
BridgeEvent
{})
.
Where
(
"`to_chain_status`
= ? AND `validator_status` = ?"
,
0
,
0
)
.
Where
(
"`to_chain_status`
< ? AND `validator_status` = ?"
,
2
,
0
)
.
Order
(
"created_at ASC"
)
.
Order
(
"created_at ASC"
)
.
Limit
(
limit
)
.
Limit
(
limit
)
.
Find
(
&
events
)
.
Error
Find
(
&
events
)
.
Error
...
...
dao/dbtx.go
View file @
6bdab852
...
@@ -68,6 +68,12 @@ func (d *Dao) UpdateBridgeWithTransferInTx(tx *Transaction, event *dbModel.Bridg
...
@@ -68,6 +68,12 @@ func (d *Dao) UpdateBridgeWithTransferInTx(tx *Transaction, event *dbModel.Bridg
})
.
Error
})
.
Error
}
}
func
(
d
*
Dao
)
UpdateBridgeValidatorOperationTx
(
tx
*
Transaction
,
event
*
dbModel
.
BridgeEvent
,
op
int
)
(
err
error
)
{
return
tx
.
tx
.
Model
(
&
dbModel
.
BridgeEvent
{})
.
Where
(
"`id` = ?"
,
event
.
ID
)
.
Updates
(
map
[
string
]
interface
{}{
"validator_status"
:
op
,
})
.
Error
}
func
(
d
*
Dao
)
UpdateBridgeResultTx
(
tx
*
Transaction
,
event
*
dbModel
.
BridgeEvent
,
toChainHash
string
,
status
int
)
error
{
func
(
d
*
Dao
)
UpdateBridgeResultTx
(
tx
*
Transaction
,
event
*
dbModel
.
BridgeEvent
,
toChainHash
string
,
status
int
)
error
{
return
tx
.
tx
.
Model
(
&
dbModel
.
BridgeEvent
{})
.
Where
(
"`id` = ?"
,
event
.
ID
)
.
Updates
(
map
[
string
]
interface
{}{
return
tx
.
tx
.
Model
(
&
dbModel
.
BridgeEvent
{})
.
Where
(
"`id` = ?"
,
event
.
ID
)
.
Updates
(
map
[
string
]
interface
{}{
"to_chain_status"
:
status
,
"to_chain_status"
:
status
,
...
...
dao/eth.go
View file @
6bdab852
...
@@ -247,3 +247,12 @@ func (d *Dao) HandleTasks() {
...
@@ -247,3 +247,12 @@ func (d *Dao) HandleTasks() {
}
}
}
}
}
}
func
(
d
*
Dao
)
GetChainValidatorAddr
(
chain
*
config
.
ChainConfig
)
common
.
Address
{
k
:=
chain
.
ValidatorPrivateKey
private
,
err
:=
crypto
.
ToECDSA
(
common
.
FromHex
(
k
))
if
err
!=
nil
{
return
common
.
Address
{}
}
return
crypto
.
PubkeyToAddress
(
private
.
PublicKey
)
}
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