Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
c5437f5
[[FEAT]] import lightclient dapp
bysomeone Aug 30, 2024
a1dcdf9
add btc rpc client
bysomeone Aug 30, 2024
046ceca
refactor:integrate light client service to rpc module
bysomeone Sep 11, 2024
1928429
lightclient:add btc header verify
bysomeone Sep 12, 2024
eeb5a23
lightclient:add executor query and commands
bysomeone Sep 20, 2024
b754859
import dapp rgbx
bysomeone Oct 16, 2024
e7b3da5
add rgbx asset action details
bysomeone Oct 18, 2024
4b5b41d
update field name to txHash
bysomeone Oct 24, 2024
e8344da
add btc light client neutrino implements
bysomeone Oct 24, 2024
cc4ed6f
add rgbx executor implements
bysomeone Nov 4, 2024
2af1793
dapp(rgbx):add confirm transaction execution logic
bysomeone Nov 5, 2024
2a4da9c
dapp(rgbx):add check transaction logic
bysomeone Nov 6, 2024
4dee8b4
maintain pending transaction info in local db
bysomeone Dec 24, 2024
a3d5389
dapp/rgbx:add query list pending tx
bysomeone Feb 11, 2025
4733c28
dapp/rgbx:store rgbx confirmed height
bysomeone Feb 24, 2025
e57fcac
dapp/rgbx:add utxo spending proof verify
bysomeone Feb 26, 2025
4d1048e
dapp/rgbx:update op return output check
bysomeone Mar 6, 2025
c9fea64
dapp/rgbx:format utxo as hash:index form
bysomeone Mar 10, 2025
e3ac37c
dapp/rgbx:add commit address config and verify in checkTx
bysomeone Mar 10, 2025
173a5ef
add rgbx confirm transaction submit automatically
bysomeone Mar 11, 2025
10fafec
format asset symbol to upper case
bysomeone Mar 25, 2025
1fd803f
rgbx: update
bysomeone Mar 31, 2025
bd59082
rgbx: fix protobuf conflict struct name
bysomeone Mar 31, 2025
dd86fbf
rgbx: add create tx and query command
bysomeone Mar 31, 2025
6b61bd8
update light client config
bysomeone Apr 11, 2025
9b5c75c
fix conflict protobuf types by renaming package name
bysomeone Apr 11, 2025
ce21e10
add more config item for neutrino client
bysomeone Apr 16, 2025
c06306c
update rgbx command
bysomeone Apr 16, 2025
e80c66b
update rgbx dapp
bysomeone Apr 20, 2025
effd1a5
dapp/rgbx:refactor protobuf types
bysomeone Apr 20, 2025
5ce2ecd
dapp/rgbx:support collectible asset
bysomeone Apr 22, 2025
ef1663b
mod:update package btcec to v2
bysomeone Apr 22, 2025
95f0a2b
add neutrio client unit test
bysomeone Apr 24, 2025
c7ef76d
rgbx:add unit test
bysomeone May 28, 2025
8e63fe3
update test
bysomeone Nov 28, 2025
343ef34
rgbx:add crosschain asset action
bysomeone Dec 6, 2025
03fdf05
lightclient:add btc wallet to neutrino client
bysomeone Dec 10, 2025
f867ab7
lightclient: implement TSS service for Bitcoin cross-chain
bysomeone Jan 18, 2026
a7dd728
feat(btcwallet): implement BTC cross-chain gateway with TSS integration
bysomeone Jan 31, 2026
bf09167
feat(neutrino): validate withdraw sign notify and receiver-pays-fee
bysomeone Feb 2, 2026
420edb4
feat(btcwallet): enhance transaction monitoring and state management
bysomeone Feb 3, 2026
44bcde6
feat(btcwallet): implement SPV proof and enhance transaction monitoring
bysomeone Feb 4, 2026
3c82862
feat(btcwallet): enhance transaction fee estimation and validation
bysomeone Feb 4, 2026
c6578cb
Adapt to chain33 TSS interface changes
bysomeone Feb 24, 2026
b701fca
feat(neutrino): implement concurrent signing tasks in TSS service
bysomeone Feb 25, 2026
e7dd1e6
refactor(rgbx): update confirm transaction structure and address hand…
bysomeone Feb 25, 2026
1227846
feat(neutrino): enhance Bitcoin header submission and synchronization
bysomeone Feb 26, 2026
7680b6d
feat(lightclient): implement Bitcoin header validation and context ma…
bysomeone Feb 26, 2026
3b9bd2e
test(lightclient): add executor unit tests for BTC headers validation
bysomeone Feb 27, 2026
324fb2a
feat(lightclient): add BTC deposit function with RPC support
bysomeone Feb 27, 2026
9538e52
feat(lightclient/rgbx): implement complete BTC withdrawal flow
bysomeone Feb 27, 2026
2567803
feat(rgbx/lightclient): implement production-ready cross-chain transa…
bysomeone Feb 28, 2026
5bd9384
feat(lightclient): add withdraw state persistence
bysomeone Mar 8, 2026
3022c53
feat(lightclient): add tx hash return and withdraw sign deduplication
bysomeone Mar 11, 2026
6d13729
refactor(lightclient): rename pendingTx to btcPendingTx for clarity
bysomeone Mar 11, 2026
ea2f19a
fix(lightclient): fix BTC transaction scan gap and add state manageme…
bysomeone Mar 12, 2026
9e444cb
fix(lightclient): prevent withdraw duplicates and optimize UTXO selec…
bysomeone Mar 16, 2026
ea8cac7
refactor(lightclient): optimize TSS address import flow
bysomeone Mar 16, 2026
a4e117e
feat(rgbx): add cross-chain account system with deposit/withdraw asse…
bysomeone Mar 25, 2026
28bb459
feat(rgbx): add cross-chain asset support in transfer transaction
bysomeone Mar 30, 2026
791d68f
docs: add bitcoin cross-chain bridge functional and technical documen…
bysomeone Apr 14, 2026
605c1de
feat(rgbx): harden CommitDKG validation and guardian title handling
bysomeone Apr 15, 2026
adc1534
cli(rgbx): add complete CLI commands for cross-chain BTC operations
bysomeone Apr 18, 2026
3d4278d
ci: add rgbx docker-compose integration CI pipeline
bysomeone Apr 20, 2026
f4cc4fa
feat(rgbx): add BTC address script conversion and deposit transaction…
bysomeone Apr 20, 2026
2f3715d
mod:update chain33
bysomeone Apr 20, 2026
ecf5416
chore(rgbx): enhance build script with error handling and recursive copy
bysomeone Apr 21, 2026
413f2f9
refactor(rgbx): rename deposit and withdraw functions for consistency
bysomeone Apr 21, 2026
fbd3e24
chore(go.mod): update chain33 dependency to v1.69.1 and btcec to v2.3.2
bysomeone Apr 22, 2026
84a94b9
test(neutrino): add comprehensive unit tests and fix related bugs
bysomeone Apr 22, 2026
c28295e
test(rgbx): extend executor coverage for cross-chain and DKG paths
bysomeone Apr 22, 2026
6178f71
test(rgbx): add executor unit tests for validate_proof, query and tra…
bysomeone Apr 23, 2026
6c01acd
fix(lightclient): enhance BTC header validation and error handling
bysomeone Apr 23, 2026
2c55726
refactor(rgbx): remove cross-chain flag and update asset transfer logic
bysomeone Apr 27, 2026
75d3059
refactor(lightclient): update command flags and enhance error handlin…
bysomeone Apr 30, 2026
d87f31b
feat(rgbx): add new configuration options and enhance build scripts
bysomeone Apr 30, 2026
df2fa48
feat(rgbx): enhance transaction handling and add end height parameter
bysomeone May 6, 2026
66138ba
Merge remote-tracking branch 'upstream/master' into feat-btc-canister
bysomeone May 6, 2026
d70a0cd
fix(evm): fix EVM log address issue
bysomeone Apr 1, 2026
cd1a9fe
fix(evm): fix gasmultiple config not taking effect and extract quickE…
bysomeone Apr 8, 2026
5f4a04b
feat(neutrino): add comprehensive configuration documentation for RGB…
bysomeone May 6, 2026
411b77b
refactor(build): streamline CI workflow and improve script portability
bysomeone May 6, 2026
a2cb5cf
chore(deps): update chain33 dependency for ci test
bysomeone May 6, 2026
f241175
feat(config): add new fork configurations for light client and RGBX i…
bysomeone May 6, 2026
063d78d
chore(ci): update Go version and improve build scripts for better err…
bysomeone May 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 0 additions & 16 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,22 +32,6 @@ jobs:
# make linter
make

build-with-latest-stable-go:
strategy:
matrix:
os: [ ubuntu-22.04, macos-14 ]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: actions/setup-go@v3
with:
go-version: '1.20'
- run: |
go env
make build

unit-test:
name: unit-test
runs-on: ubuntu-22.04
Expand Down
23 changes: 23 additions & 0 deletions .github/workflows/build_rgbx.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: ci_rgbx
on: [push, pull_request]

jobs:
ci_rgbx:
name: ci_rgbx
runs-on: ubuntu-22.04
timeout-minutes: 90
steps:
- name: checkout
uses: actions/checkout@v3
- name: Set up Golang
uses: actions/setup-go@v3
with:
go-version-file: 'go.mod'
id: go
- name: deploy
run: |
make docker-compose dapp=rgbx
- name: cleanup
if: always()
run: |
make docker-compose-down dapp=rgbx
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ datadir*
*.log.last
.idea
.vscode
.kiro
.opencode
build/temp
build/chain33*
chain33_raft-1
build/datadir
Expand Down Expand Up @@ -51,3 +54,8 @@ build/CHANGELOG.md
plugin/dapp/dex/boss/build/
plugin/dapp/bridgevmxgo/cmd/build/bridgevmxgo/
plugin/dapp/bridgevmxgo/cmd/build/dapptest/
go.work*
*.test
*.cursor
*.kiro
build/temp/*
33 changes: 28 additions & 5 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -12,27 +12,50 @@ pipeline {
timeout(time: 2,unit: 'HOURS')
retry(1)
timestamps()
disableConcurrentBuilds()
gitLabConnection('gitlab33')
gitlabBuilds(builds: ['check'])
checkoutToSubdirectory "src/github.com/33cn/plugin"
}
tools {go 'go1.19'}
tools {go 'go1.22'}
stages {
stage('deploy') {
steps {
dir("${PROJ_DIR}"){
gitlabCommitStatus(name: 'deploy'){
sh 'go version'
sh 'make build_ci'
sh "cd build && mkdir ${env.BUILD_NUMBER} && cp ci/* ${env.BUILD_NUMBER} -r && ./docker-compose-pre.sh modify && cp chain33* Dockerfile* docker* *.sh ${env.BUILD_NUMBER}/ && cd ${env.BUILD_NUMBER}/ && rm -rf cross2eth mix && ./docker-compose-pre.sh run ${env.BUILD_NUMBER} all "
sh '''
set -e
go version
make build_ci
cd build
rm -rf "${BUILD_NUMBER}"
mkdir -p "${BUILD_NUMBER}"
cp -r ci/* "${BUILD_NUMBER}/"
./docker-compose-pre.sh modify
cp chain33* Dockerfile* docker-compose* *.sh "${BUILD_NUMBER}/"
cd "${BUILD_NUMBER}"
rm -rf cross2eth mix || true
./docker-compose-pre.sh run "${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 "
sh '''
set +e
cd build
if [ -d "${BUILD_NUMBER}" ]; then
cd "${BUILD_NUMBER}"
./docker-compose-pre.sh down "${BUILD_NUMBER}" all || true
cd ..
rm -rf "${BUILD_NUMBER}"
fi
cd ..
make clean || true
'''
}
}
}
Expand Down
15 changes: 12 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,14 @@ build: depends
@cp chain33.para.toml build/ci/paracross/


build_ci: depends ## Build the binary file for CI
@go build -v -o $(CLI) $(SRC_CLI)
@go build $(BUILD_FLAGS) -v -o $(APP)
build_ci: depends ## Build the binary file for CI (Linux/amd64|arm64 when not on Linux, for Docker)
@if [ "$$(uname)" = "Linux" ]; then \
go build $(BUILD_FLAGS) -v -o $(CLI) $(SRC_CLI) && \
go build $(BUILD_FLAGS) -v -o $(APP); \
else \
CGO_ENABLED=0 GOOS=linux GOARCH=$$(go env GOARCH) go build $(BUILD_FLAGS) -v -o $(CLI) $(SRC_CLI) && \
CGO_ENABLED=0 GOOS=linux GOARCH=$$(go env GOARCH) go build $(BUILD_FLAGS) -v -o $(APP); \
fi
@cp chain33.toml build/
@cp chain33.para.toml build/ci/paracross/

Expand Down Expand Up @@ -162,6 +167,10 @@ docker-compose: ## build docker-compose for chain33 run
@cd build && if ! [ -d ci ]; then \
make -C ../ ; \
fi; \
if [ "$$(uname)" != "Linux" ]; then \
CGO_ENABLED=0 GOOS=linux GOARCH=$$(go env GOARCH) go build $(BUILD_FLAGS) -v -o chain33 ../ && \
CGO_ENABLED=0 GOOS=linux GOARCH=$$(go env GOARCH) go build $(BUILD_FLAGS) -v -o chain33-cli $(SRC_CLI); \
fi; \
cp chain33* Dockerfile docker-compose.yml *.sh ci/ && cd ci/ && ./docker-compose-pre.sh run $(proj) $(dapp) $(extra) && cd ../..

docker-compose-down: ## build docker-compose for chain33 run
Expand Down
5 changes: 3 additions & 2 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,13 @@ clone_folder: c:\gopath\src\github.com\33cn\plugin

environment:
GOPATH: c:\gopath
GO111MODULE: on


# set go version
before_test:
- set PATH=C:\go119\bin;%PATH%
- set GOROOT=C:\go119
- set PATH=C:\go\bin;%PATH%
- set GOROOT=C:\go
- go version
- go env

Expand Down
17 changes: 10 additions & 7 deletions build/autotest/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,6 @@ set -o pipefail

# os: ubuntu18.04 x64

sedfix=""
if [ "$(uname)" == "Darwin" ]; then
sedfix=".bak"
fi

## get chain33 path
CHAIN33_PATH=$(go list -f "{{.Dir}}" github.com/33cn/chain33)

Expand All @@ -20,8 +15,16 @@ function build_auto_test() {
trap "rm -f ../autotest/main.go" INT TERM EXIT
local AutoTestMain="${CHAIN33_PATH}/cmd/autotest/main.go"
cp "${AutoTestMain}" ./
sed -i $sedfix '/^package/a import _ \"github.com\/33cn\/plugin\/plugin\"' main.go
go build -v -i -o autotest
# BSD sed (macOS) does not support GNU sed's `/^package/a text` one-liner; use awk for portability.
awk '/^package/ && !done {
print
print "import _ \"github.com/33cn/plugin/plugin\""
done = 1
next
}
{ print }
' main.go > main.go.tmp && mv main.go.tmp main.go
go build -v -o autotest
}

function copyAutoTestConfig() {
Expand Down
2 changes: 1 addition & 1 deletion build/docker-compose-down.sh
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ function down() {
if [ "$num" -gt 0 ]; then
# remove exsit container
echo "=========== # docker-compose down ============="
docker compose down --rmi local
docker compose down --remove-orphans --rmi local
fi
}

Expand Down
14 changes: 12 additions & 2 deletions build/docker-compose-pre.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,16 @@ TESTCASEFILE="testcase.sh"
FORKTESTFILE="fork-test.sh"
DOCKER_COMPOSE_SH="docker-compose.sh"

function copy_root_files_no_overwrite() {
local target_dir="$1"
local entry
for entry in ./*; do
if [ -f "${entry}" ]; then
cp -n "${entry}" "${target_dir}/"
fi
done
}

function down_dapp() {
app=$1

Expand All @@ -40,15 +50,15 @@ function run_dapp() {
echo "============ run dapp=$app start ================="
if [ "$app" == "metrics" ]; then
cp ./ci/paracross/* ./metrics && echo $?
cp -n ./* ./metrics/ && echo $?
copy_root_files_no_overwrite "./metrics" && echo $?
cp -r ci/dapptest/ metrics/ && echo $?
cd metrics && pwd
rm docker-compose-paracross.yml
mv docker-compose-metrics.yml docker-compose-paracross.yml
app="paracross"
else
rm -rf "${app}"-ci && mkdir -p "${app}"-ci && cp -r ./"${app}"/* ./"${app}"-ci && echo $?
cp -n ./* ./"${app}"-ci/ && echo $?
copy_root_files_no_overwrite "./${app}-ci" && echo $?
if [ "$app" == "paracross" ]; then
cp -r dapptest/ "${app}"-ci/ && echo $?
fi
Expand Down
5 changes: 5 additions & 0 deletions chain33.para.toml
Original file line number Diff line number Diff line change
Expand Up @@ -445,6 +445,11 @@ Enable=0
[fork.sub.rollup]
Enable=-1

[fork.sub.lightclient]
Enable=-1
[fork.sub.rgbx]
Enable=-1

[fork.sub.accountmanager]
Enable=0

Expand Down
Loading
Loading