mirror of
				https://github.com/0glabs/0g-storage-node.git
				synced 2025-11-04 08:37:27 +00:00 
			
		
		
		
	
		
			Some checks failed
		
		
	
	abi-consistent-check / build-and-compare (push) Has been cancelled
				
			code-coverage / unittest-cov (push) Has been cancelled
				
			rust / check (push) Has been cancelled
				
			rust / test (push) Has been cancelled
				
			rust / lints (push) Has been cancelled
				
			functional-test / test (push) Has been cancelled
				
			
		
			
				
	
	
		
			66 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/bash
 | 
						|
 | 
						|
set -e
 | 
						|
 | 
						|
default_path="../0g-storage-contracts"
 | 
						|
path="${1:-$default_path}"
 | 
						|
 | 
						|
# Step 1: Check if the path is a valid Git directory with commits
 | 
						|
if [ ! -d "$path/.git" ] || [ -z "$(git -C "$path" rev-parse HEAD 2> /dev/null)" ]; then
 | 
						|
    echo "Error: The specified path is not a valid Git repository with commits."
 | 
						|
    exit 1
 | 
						|
fi
 | 
						|
if [ ! -z "$(git -C "$path" status --porcelain)" ]; then
 | 
						|
    echo "Error: There are uncommitted changes in the contract repository."
 | 
						|
    exit 1
 | 
						|
fi
 | 
						|
 | 
						|
# Step 2: Build the contracts
 | 
						|
build_contracts() {
 | 
						|
    local target_path="$path"
 | 
						|
    local original_path=$(pwd)  # Save the current directory
 | 
						|
 | 
						|
    if cd "$target_path"; then
 | 
						|
        yarn
 | 
						|
        yarn build
 | 
						|
        cd "$original_path"
 | 
						|
    else
 | 
						|
        echo "Error: Failed to switch to directory $target_path."
 | 
						|
        exit 1
 | 
						|
    fi
 | 
						|
}
 | 
						|
 | 
						|
build_contracts
 | 
						|
 | 
						|
# Step 3: Copy the file from a specified sub-path
 | 
						|
copy_file() {
 | 
						|
    local source_path="$1"
 | 
						|
    local destination_path="$2"
 | 
						|
 | 
						|
    # Check if the source file exists
 | 
						|
    if [ ! -f "$source_path" ]; then
 | 
						|
        echo "Error: The file $source_path does not exist."
 | 
						|
        exit 1
 | 
						|
    fi
 | 
						|
 | 
						|
    # Copy the file to the destination
 | 
						|
    cp "$source_path" "$destination_path"
 | 
						|
    echo "File copied: $source_path -> $destination_path."
 | 
						|
}
 | 
						|
 | 
						|
copy_abis() {
 | 
						|
    for contract_name in "$@"; do
 | 
						|
        copy_file "$(./scripts/search_abi.sh "$path/artifacts" "$contract_name.json")" "storage-contracts-abis/$contract_name.json"
 | 
						|
    done
 | 
						|
}
 | 
						|
 | 
						|
copy_abis DummyMarket DummyReward Flow PoraMine PoraMineTest FixedPrice ChunkLinearReward FixedPriceFlow
 | 
						|
 | 
						|
 | 
						|
# Step 4: Get the current Git revision and write it to a specified file
 | 
						|
git_revision=$(git -C "$path" rev-parse HEAD)
 | 
						|
revision_file="storage-contracts-abis/0g-storage-contracts-rev"
 | 
						|
echo "$git_revision" > "$revision_file"
 | 
						|
 | 
						|
echo "Write git rev $git_revision to $revision_file."
 |