Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
B
bridge-backend
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
bridge-backend
Commits
41e28bc3
Commit
41e28bc3
authored
Sep 18, 2025
by
vicotor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update code
parent
16675e84
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
73 additions
and
31 deletions
+73
-31
sync.go
chain/sync.go
+1
-1
builder.go
dao/builder.go
+14
-1
db.go
dao/db.go
+3
-1
dbtx.go
dao/dbtx.go
+23
-0
model.go
model/api/model.go
+12
-10
db.go
model/db/db.go
+20
-18
No files found.
chain/sync.go
View file @
41e28bc3
...
...
@@ -203,7 +203,7 @@ func (s *ChainSync) SyncLogs(beginHeight, endHeight int64) error {
topics
:=
[]
string
{
dao
.
TransferOutEvent
.
ID
.
Hex
(),
dao
.
TransferInEvent
.
ID
.
Hex
(),
//
dao.TransferInConfirmationEvent.ID.Hex(),
dao
.
TransferInConfirmationEvent
.
ID
.
Hex
(),
dao
.
TransferInRejectionEvent
.
ID
.
Hex
(),
dao
.
TransferInExecutionEvent
.
ID
.
Hex
(),
dao
.
TokenConfigChangedEvent
.
ID
.
Hex
(),
...
...
dao/builder.go
View file @
41e28bc3
...
...
@@ -159,7 +159,6 @@ func (s *Dao) filterTransferIn(chain ChainInterface, txLog types.Log, ctx contex
ToToken
:
strings
.
ToLower
(
event
.
Token
.
String
()),
ReceiveAmount
:
event
.
Amount
.
Text
(
10
),
ToChainStatus
:
int
(
TransferChainWaitConfirm
),
ToContract
:
strings
.
ToLower
(
txLog
.
Address
.
String
()),
InTimestamp
:
int64
(
blocktime
),
ToChain
:
chain
.
GetChain
()
.
ChainId
,
...
...
@@ -186,12 +185,26 @@ func (s *Dao) filterTransferIn(chain ChainInterface, txLog types.Log, ctx contex
})
.
Error
(
"db update transfer in execution event"
)
return
err
}
case
TransferInConfirmationEvent
.
ID
.
Hex
()
:
event
,
err
:=
chain
.
ParseTransferInConfirmation
(
txLog
)
if
err
!=
nil
{
log
.
WithField
(
"chain"
,
chain
.
Name
())
.
WithError
(
err
)
.
Error
(
"parse TransferInConfirmation log"
)
return
err
}
if
err
:=
s
.
AddValidatorOp
(
ctx
,
chain
.
GetChain
()
.
ChainId
,
event
.
InId
.
Int64
(),
strings
.
ToLower
(
event
.
Validator
.
String
()),
true
);
err
!=
nil
{
log
.
WithField
(
"chain"
,
chain
.
Name
())
.
WithError
(
err
)
.
Error
(
"add validator op failed"
)
return
err
}
case
TransferInRejectionEvent
.
ID
.
Hex
()
:
event
,
err
:=
chain
.
ParseTransferInRejection
(
txLog
)
if
err
!=
nil
{
log
.
WithField
(
"chain"
,
chain
.
Name
())
.
WithError
(
err
)
.
Error
(
"parse TransferInExecution log"
)
return
err
}
if
err
:=
s
.
AddValidatorOp
(
ctx
,
chain
.
GetChain
()
.
ChainId
,
event
.
InId
.
Int64
(),
strings
.
ToLower
(
event
.
Validator
.
String
()),
false
);
err
!=
nil
{
log
.
WithField
(
"chain"
,
chain
.
Name
())
.
WithError
(
err
)
.
Error
(
"add validator op failed"
)
return
err
}
if
err
:=
s
.
UpdateBridgeResult
(
ctx
,
chain
.
GetChain
()
.
ChainId
,
event
.
InId
.
Int64
(),
TransferChainRejected
,
txLog
.
TxHash
);
err
!=
nil
{
log
.
WithField
(
"chain"
,
chain
.
Name
())
.
WithFields
(
log
.
Fields
{
"error"
:
err
.
Error
(),
...
...
dao/db.go
View file @
41e28bc3
...
...
@@ -166,6 +166,8 @@ func (d *Dao) GetHistoryInfo(user string) (history apiModel.History, err error)
UrlSource
:
fromChain
.
Explorer
+
"/tx/"
+
event
.
FromChainTxHash
,
Status
:
constant
.
TransferStatus
(
event
.
ToChainStatus
)
.
String
(),
ConfirmCount
:
len
(
event
.
ConfirmedValidators
),
RejectCount
:
len
(
event
.
RejectedValidators
),
}
if
event
.
ToChainStatus
<=
int
(
constant
.
TransferChainWaitConfirm
)
{
pendingHistory
=
append
(
pendingHistory
,
record
)
...
...
dao/dbtx.go
View file @
41e28bc3
...
...
@@ -115,6 +115,29 @@ func (d *Dao) FillOutTransferEventInfo(ctx context.Context, outEvent *dbModel.Br
return
err
}
func
(
s
*
Dao
)
AddValidatorOp
(
ctx
context
.
Context
,
toChainId
int64
,
inId
int64
,
validator
string
,
isConfirmed
bool
)
error
{
collection
:=
s
.
db
.
Collection
(
"bridge_events"
)
var
update
bson
.
M
if
isConfirmed
{
update
=
bson
.
M
{
"$addToSet"
:
bson
.
M
{
"confirmed_validators"
:
validator
,
},
}
}
else
{
update
=
bson
.
M
{
"$addToSet"
:
bson
.
M
{
"rejected_validators"
:
validator
,
},
}
}
filter
:=
bson
.
M
{
"to_chain"
:
toChainId
,
"in_id"
:
inId
}
_
,
err
:=
collection
.
UpdateOne
(
ctx
,
filter
,
update
)
return
err
}
func
(
d
*
Dao
)
UpdateBridgeResult
(
ctx
context
.
Context
,
toChainId
int64
,
inId
int64
,
result
constant
.
TransferStatus
,
txhash
common
.
Hash
)
error
{
collection
:=
d
.
db
.
Collection
(
new
(
dbModel
.
BridgeEvent
)
.
TableName
())
...
...
model/api/model.go
View file @
41e28bc3
...
...
@@ -30,6 +30,8 @@ type HistoryInfo struct {
TokenSymbol
string
`json:"token_symbol" bson:"token_symbol"`
UrlTarget
string
`json:"url_target" bson:"url_target"`
Status
string
`json:"status" bson:"status"`
ConfirmCount
int
`json:"confirm_count" bson:"confirm_count"`
RejectCount
int
`json:"reject_count" bson:"reject_count"`
}
type
History
struct
{
...
...
model/db/db.go
View file @
41e28bc3
...
...
@@ -33,6 +33,8 @@ type BridgeEvent struct {
ToContract
string
`bson:"to_contract"`
ToChainTxHash
string
`bson:"to_chain_tx_hash"`
ToChainStatus
int
`bson:"to_chain_status"`
ConfirmedValidators
[]
string
`bson:"confirmed_validators"`
RejectedValidators
[]
string
`bson:"rejected_validators"`
}
func
(
b
*
BridgeEvent
)
TableName
()
string
{
...
...
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