-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathMakefile
More file actions
72 lines (62 loc) · 3.54 KB
/
Copy pathMakefile
File metadata and controls
72 lines (62 loc) · 3.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
.PHONY: all omnilock anyone-can-pay xudt spore ckb-js-vm nostr-lock pw-lock secp256k1_multisig_v2 fiber
all: omnilock anyone-can-pay xudt spore ckb-js-vm nostr-lock pw-lock secp256k1_multisig_v2 fiber
omnilock:
@echo "Building omnilock via submodule"
cd ckb/omnilock && git submodule update --init && make all-via-docker
cp ckb/omnilock/build/always_success ckb/devnet/specs/
cp ckb/omnilock/build/omni_lock ckb/devnet/specs/
anyone-can-pay:
@echo "Building anyone-can-pay via submodule"
cd ckb/anyone-can-pay && git submodule update --init && make all-via-docker
cp ckb/anyone-can-pay/build/anyone_can_pay ckb/devnet/specs/
xudt:
@echo "Building xUDT via submodule"
cd ckb/ckb-production-scripts && git submodule update --init && make all-via-docker
cp ckb/ckb-production-scripts/build/xudt_rce ckb/devnet/specs/
cp ckb/ckb-production-scripts/build/simple_udt ckb/devnet/specs/sudt
spore:
@echo "Building Spore via submodule"
cd ckb/spore-contract && cargo install cross --git https://github.com/cross-rs/cross
cd ckb/spore-contract && capsule build --release
cp ckb/spore-contract/build/release/spore ckb/devnet/specs/spore-scripts/
cp ckb/spore-contract/build/release/cluster ckb/devnet/specs/spore-scripts/
cp ckb/spore-contract/build/release/cluster_agent ckb/devnet/specs/spore-scripts/
cp ckb/spore-contract/build/release/cluster_proxy ckb/devnet/specs/spore-scripts/
cp ckb/spore-contract/build/release/spore_extension_lua ckb/devnet/specs/spore-scripts/
ckb-js-vm:
@echo "Building ckb-js-vm via submodule"
cd ckb/ckb-js-vm && git submodule update --init && make all
cp ckb/ckb-js-vm/build/ckb-js-vm ckb/devnet/specs/ckb_js_vm
nostr-lock:
@echo "Building nostr-lock via submodule"
cd ckb/nostr-binding && make build
cp ckb/nostr-binding/build/release/nostr-lock ckb/devnet/specs/nostr_lock
pw-lock:
@echo "Building pw-lock via submodule"
cp patches/pw-lock-protocol.h ckb/pw-lock/protocol.h
mkdir -p ckb/pw-lock/build
cd ckb/pw-lock && make all-via-docker
mkdir -p ckb/devnet/specs/pw-lock/
cp ckb/pw-lock/specs/cells/secp256k1_keccak256_sighash_all ckb/devnet/specs/pw-lock/
cp ckb/pw-lock/specs/cells/secp256k1_keccak256_sighash_all_acpl ckb/devnet/specs/pw-lock/
secp256k1_multisig_v2:
@echo "Building secp256k1_multisig_v2 via submodule"
cd ckb/ckb-system-scripts/ && make all-via-docker
cp ckb/ckb-system-scripts/specs/cells/secp256k1_blake160_multisig_all ckb/devnet/specs/secp256k1_blake160_multisig_all_v2
# Fiber contracts are copied (not rebuilt) from the pinned ckb/fiber submodule
# (FNN v0.9.0, fiber commit e6cb7ac) and committed under
# ckb/devnet/specs/fiber/ so published packages work offline; re-run this
# target after re-pinning the submodule. The upstream binaries embed the
# builder's home directory in panic metadata, so the copies are sanitized
# below with equal-length replacements (contract logic is untouched).
fiber:
@echo "Copying Fiber contracts via submodule"
@test -d ckb/fiber/tests/deploy/contracts || \
(echo "ckb/fiber submodule is missing. Run: git submodule update --init ckb/fiber" && exit 1)
mkdir -p ckb/devnet/specs/fiber
cp ckb/fiber/tests/deploy/contracts/auth ckb/devnet/specs/fiber/auth
cp ckb/fiber/tests/deploy/contracts/funding-lock ckb/devnet/specs/fiber/funding_lock
cp ckb/fiber/tests/deploy/contracts/commitment-lock ckb/devnet/specs/fiber/commitment_lock
cp ckb/fiber/config/testnet/config.yml ckb/devnet/specs/fiber/testnet-config.yml
perl -pi -e 's{/home/quake/}{/home/fiber/}g' ckb/devnet/specs/fiber/funding_lock
perl -pi -e 's{/Users/quake/}{/Users/fiber/}g' ckb/devnet/specs/fiber/commitment_lock