mirror of
				https://github.com/0glabs/0g-storage-node.git
				synced 2025-11-04 00:27:39 +00:00 
			
		
		
		
	Remove contract abi submodule (#139)
This commit is contained in:
		
							parent
							
								
									116046366a
								
							
						
					
					
						commit
						f0c3f2cfd0
					
				
							
								
								
									
										48
									
								
								.github/workflows/abi.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								.github/workflows/abi.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,48 @@
 | 
			
		||||
name: abi-consistent-check
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  push:
 | 
			
		||||
    branches: [ "main"]
 | 
			
		||||
  pull_request:
 | 
			
		||||
    branches: [ "main" ]
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  build-and-compare:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Clone current repository
 | 
			
		||||
      uses: actions/checkout@v3
 | 
			
		||||
 | 
			
		||||
    - name: Get the Git revision from the current repository
 | 
			
		||||
      id: get-rev
 | 
			
		||||
      run: echo "rev=$(cat ./storage-contracts-abis/0g-storage-contracts-rev)" >> $GITHUB_OUTPUT
 | 
			
		||||
 | 
			
		||||
    - name: Clone another repository
 | 
			
		||||
      uses: actions/checkout@v3
 | 
			
		||||
      with:
 | 
			
		||||
        repository: '0glabs/0g-storage-contracts'
 | 
			
		||||
        path: '0g-storage-contracts'
 | 
			
		||||
    
 | 
			
		||||
    - name: Checkout specific revision
 | 
			
		||||
      working-directory: ./0g-storage-contracts
 | 
			
		||||
      run: |
 | 
			
		||||
        git fetch --depth=1 origin ${{ steps.get-rev.outputs.rev }}
 | 
			
		||||
        git checkout ${{ steps.get-rev.outputs.rev }}
 | 
			
		||||
 | 
			
		||||
    - name: Set up Node.js
 | 
			
		||||
      uses: actions/setup-node@v3
 | 
			
		||||
      with:
 | 
			
		||||
        node-version: '18.17'
 | 
			
		||||
        cache: 'yarn'
 | 
			
		||||
        cache-dependency-path: ./0g-storage-contracts
 | 
			
		||||
 | 
			
		||||
    - name: Run yarn in the cloned repository
 | 
			
		||||
      working-directory: ./0g-storage-contracts
 | 
			
		||||
      run: |
 | 
			
		||||
        yarn
 | 
			
		||||
        yarn build
 | 
			
		||||
 | 
			
		||||
    - name: Compare files
 | 
			
		||||
      run: |
 | 
			
		||||
        ./scripts/check_abis.sh ./0g-storage-contracts/artifacts/
 | 
			
		||||
							
								
								
									
										3
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							@ -1,3 +0,0 @@
 | 
			
		||||
[submodule "0g-storage-contracts"]
 | 
			
		||||
	path = 0g-storage-contracts
 | 
			
		||||
	url = https://github.com/0glabs/0g-storage-contracts.git
 | 
			
		||||
@ -1 +0,0 @@
 | 
			
		||||
Subproject commit 25bc14a27441e8fb26e4d42d7c8c885f92d6c74a
 | 
			
		||||
@ -3,16 +3,10 @@ use ethers::prelude::abigen;
 | 
			
		||||
// run `cargo doc -p contract-interface --open` to read struct definition
 | 
			
		||||
 | 
			
		||||
#[cfg(not(feature = "dev"))]
 | 
			
		||||
abigen!(
 | 
			
		||||
    ZgsFlow,
 | 
			
		||||
    "../../0g-storage-contracts/artifacts/contracts/dataFlow/Flow.sol/Flow.json"
 | 
			
		||||
);
 | 
			
		||||
abigen!(ZgsFlow, "../../storage-contracts-abis/Flow.json");
 | 
			
		||||
 | 
			
		||||
#[cfg(not(feature = "dev"))]
 | 
			
		||||
abigen!(
 | 
			
		||||
    PoraMine,
 | 
			
		||||
    "../../0g-storage-contracts/artifacts/contracts/miner/Mine.sol/PoraMine.json"
 | 
			
		||||
);
 | 
			
		||||
abigen!(PoraMine, "../../storage-contracts-abis/PoraMine.json");
 | 
			
		||||
 | 
			
		||||
#[cfg(feature = "dev")]
 | 
			
		||||
abigen!(
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										12
									
								
								scripts/check_abis.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										12
									
								
								scripts/check_abis.sh
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,12 @@
 | 
			
		||||
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
artifacts_path="$1"
 | 
			
		||||
 | 
			
		||||
check_abis() {
 | 
			
		||||
    for contract_name in "$@"; do
 | 
			
		||||
        diff $(./scripts/search_abi.sh "$artifacts_path" "$contract_name.json") "storage-contracts-abis/$contract_name.json"
 | 
			
		||||
    done
 | 
			
		||||
}
 | 
			
		||||
check_abis DummyMarket DummyReward Flow PoraMine PoraMineTest FixedPrice OnePoolReward FixedPriceFlow
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										15
									
								
								scripts/search_abi.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										15
									
								
								scripts/search_abi.sh
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,15 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
directory="$1"      # The directory to search in
 | 
			
		||||
filename="$2"       # The filename to search for
 | 
			
		||||
 | 
			
		||||
# Find the file in the directory
 | 
			
		||||
found_files=$(find "$directory" -type f -name "$filename")
 | 
			
		||||
 | 
			
		||||
# Check if any files were found
 | 
			
		||||
if [ -z "$found_files" ]; then
 | 
			
		||||
    echo "Error: No files named '$filename' found in directory '$directory'." >&2
 | 
			
		||||
    exit 1 
 | 
			
		||||
else
 | 
			
		||||
    echo "$found_files"
 | 
			
		||||
fi
 | 
			
		||||
							
								
								
									
										65
									
								
								scripts/update_abis.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										65
									
								
								scripts/update_abis.sh
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,65 @@
 | 
			
		||||
#!/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 OnePoolReward 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."
 | 
			
		||||
							
								
								
									
										1
									
								
								storage-contracts-abis/0g-storage-contracts-rev
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								storage-contracts-abis/0g-storage-contracts-rev
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
			
		||||
6ec57942cba3068d3373bcb2c88f8fd51d2322b1
 | 
			
		||||
							
								
								
									
										34
									
								
								storage-contracts-abis/DummyMarket.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								storage-contracts-abis/DummyMarket.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,34 @@
 | 
			
		||||
{
 | 
			
		||||
  "_format": "hh-sol-artifact-1",
 | 
			
		||||
  "contractName": "DummyMarket",
 | 
			
		||||
  "sourceName": "contracts/test/DummyMarket.sol",
 | 
			
		||||
  "abi": [
 | 
			
		||||
    {
 | 
			
		||||
      "inputs": [
 | 
			
		||||
        {
 | 
			
		||||
          "internalType": "uint256",
 | 
			
		||||
          "name": "beforeLength",
 | 
			
		||||
          "type": "uint256"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "internalType": "uint256",
 | 
			
		||||
          "name": "uploadSectors",
 | 
			
		||||
          "type": "uint256"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "internalType": "uint256",
 | 
			
		||||
          "name": "paddingSectors",
 | 
			
		||||
          "type": "uint256"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "name": "chargeFee",
 | 
			
		||||
      "outputs": [],
 | 
			
		||||
      "stateMutability": "nonpayable",
 | 
			
		||||
      "type": "function"
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "bytecode": "0x6080604052348015600f57600080fd5b5060a08061001e6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063da6eb36a14602d575b600080fd5b603d6038366004603f565b505050565b005b600080600060608486031215605357600080fd5b50508135936020830135935060409092013591905056fea264697066735822122054eb84b374e7eb5c57b284f82f977fe19500436ef4128d3e147969cefdd4cbcd64736f6c63430008100033",
 | 
			
		||||
  "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c8063da6eb36a14602d575b600080fd5b603d6038366004603f565b505050565b005b600080600060608486031215605357600080fd5b50508135936020830135935060409092013591905056fea264697066735822122054eb84b374e7eb5c57b284f82f977fe19500436ef4128d3e147969cefdd4cbcd64736f6c63430008100033",
 | 
			
		||||
  "linkReferences": {},
 | 
			
		||||
  "deployedLinkReferences": {}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										77
									
								
								storage-contracts-abis/DummyReward.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								storage-contracts-abis/DummyReward.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,77 @@
 | 
			
		||||
{
 | 
			
		||||
  "_format": "hh-sol-artifact-1",
 | 
			
		||||
  "contractName": "DummyReward",
 | 
			
		||||
  "sourceName": "contracts/test/DummyReward.sol",
 | 
			
		||||
  "abi": [
 | 
			
		||||
    {
 | 
			
		||||
      "anonymous": false,
 | 
			
		||||
      "inputs": [
 | 
			
		||||
        {
 | 
			
		||||
          "indexed": true,
 | 
			
		||||
          "internalType": "uint256",
 | 
			
		||||
          "name": "pricingIndex",
 | 
			
		||||
          "type": "uint256"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "indexed": true,
 | 
			
		||||
          "internalType": "address",
 | 
			
		||||
          "name": "beneficiary",
 | 
			
		||||
          "type": "address"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "indexed": false,
 | 
			
		||||
          "internalType": "uint256",
 | 
			
		||||
          "name": "amount",
 | 
			
		||||
          "type": "uint256"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "name": "DistributeReward",
 | 
			
		||||
      "type": "event"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "inputs": [
 | 
			
		||||
        {
 | 
			
		||||
          "internalType": "uint256",
 | 
			
		||||
          "name": "pricingIndex",
 | 
			
		||||
          "type": "uint256"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "internalType": "address payable",
 | 
			
		||||
          "name": "beneficiary",
 | 
			
		||||
          "type": "address"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "internalType": "bytes32",
 | 
			
		||||
          "name": "minerId",
 | 
			
		||||
          "type": "bytes32"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "name": "claimMineReward",
 | 
			
		||||
      "outputs": [],
 | 
			
		||||
      "stateMutability": "nonpayable",
 | 
			
		||||
      "type": "function"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "inputs": [
 | 
			
		||||
        {
 | 
			
		||||
          "internalType": "uint256",
 | 
			
		||||
          "name": "beforeLength",
 | 
			
		||||
          "type": "uint256"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "internalType": "uint256",
 | 
			
		||||
          "name": "uploadSectors",
 | 
			
		||||
          "type": "uint256"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "name": "fillReward",
 | 
			
		||||
      "outputs": [],
 | 
			
		||||
      "stateMutability": "payable",
 | 
			
		||||
      "type": "function"
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "bytecode": "0x608060405234801561001057600080fd5b5060f18061001f6000396000f3fe60806040526004361060265760003560e01c806359e9670014602b578063b7a3c04c14603c575b600080fd5b603a60363660046058565b5050565b005b348015604757600080fd5b50603a60533660046079565b505050565b60008060408385031215606a57600080fd5b50508035926020909101359150565b600080600060608486031215608d57600080fd5b8335925060208401356001600160a01b038116811460aa57600080fd5b92959294505050604091909101359056fea264697066735822122031a993c3def9ed899c5b5a53bab495d498047e1a8ce262b61e700511cfb9adf164736f6c63430008100033",
 | 
			
		||||
  "deployedBytecode": "0x60806040526004361060265760003560e01c806359e9670014602b578063b7a3c04c14603c575b600080fd5b603a60363660046058565b5050565b005b348015604757600080fd5b50603a60533660046079565b505050565b60008060408385031215606a57600080fd5b50508035926020909101359150565b600080600060608486031215608d57600080fd5b8335925060208401356001600160a01b038116811460aa57600080fd5b92959294505050604091909101359056fea264697066735822122031a993c3def9ed899c5b5a53bab495d498047e1a8ce262b61e700511cfb9adf164736f6c63430008100033",
 | 
			
		||||
  "linkReferences": {},
 | 
			
		||||
  "deployedLinkReferences": {}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										113
									
								
								storage-contracts-abis/FixedPrice.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										113
									
								
								storage-contracts-abis/FixedPrice.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,113 @@
 | 
			
		||||
{
 | 
			
		||||
  "_format": "hh-sol-artifact-1",
 | 
			
		||||
  "contractName": "FixedPrice",
 | 
			
		||||
  "sourceName": "contracts/market/FixedPrice.sol",
 | 
			
		||||
  "abi": [
 | 
			
		||||
    {
 | 
			
		||||
      "inputs": [
 | 
			
		||||
        {
 | 
			
		||||
          "internalType": "uint256",
 | 
			
		||||
          "name": "beforeLength",
 | 
			
		||||
          "type": "uint256"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "internalType": "uint256",
 | 
			
		||||
          "name": "uploadSectors",
 | 
			
		||||
          "type": "uint256"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "internalType": "uint256",
 | 
			
		||||
          "name": "paddingSectors",
 | 
			
		||||
          "type": "uint256"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "name": "chargeFee",
 | 
			
		||||
      "outputs": [],
 | 
			
		||||
      "stateMutability": "nonpayable",
 | 
			
		||||
      "type": "function"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "inputs": [],
 | 
			
		||||
      "name": "flow",
 | 
			
		||||
      "outputs": [
 | 
			
		||||
        {
 | 
			
		||||
          "internalType": "address",
 | 
			
		||||
          "name": "",
 | 
			
		||||
          "type": "address"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "stateMutability": "view",
 | 
			
		||||
      "type": "function"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "inputs": [
 | 
			
		||||
        {
 | 
			
		||||
          "internalType": "uint256",
 | 
			
		||||
          "name": "lifetimeMonthes",
 | 
			
		||||
          "type": "uint256"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "internalType": "address",
 | 
			
		||||
          "name": "flow_",
 | 
			
		||||
          "type": "address"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "internalType": "address",
 | 
			
		||||
          "name": "reward_",
 | 
			
		||||
          "type": "address"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "name": "initialize",
 | 
			
		||||
      "outputs": [],
 | 
			
		||||
      "stateMutability": "nonpayable",
 | 
			
		||||
      "type": "function"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "inputs": [],
 | 
			
		||||
      "name": "initialized",
 | 
			
		||||
      "outputs": [
 | 
			
		||||
        {
 | 
			
		||||
          "internalType": "bool",
 | 
			
		||||
          "name": "",
 | 
			
		||||
          "type": "bool"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "stateMutability": "view",
 | 
			
		||||
      "type": "function"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "inputs": [],
 | 
			
		||||
      "name": "pricePerSector",
 | 
			
		||||
      "outputs": [
 | 
			
		||||
        {
 | 
			
		||||
          "internalType": "uint256",
 | 
			
		||||
          "name": "",
 | 
			
		||||
          "type": "uint256"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "stateMutability": "view",
 | 
			
		||||
      "type": "function"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "inputs": [],
 | 
			
		||||
      "name": "reward",
 | 
			
		||||
      "outputs": [
 | 
			
		||||
        {
 | 
			
		||||
          "internalType": "address",
 | 
			
		||||
          "name": "",
 | 
			
		||||
          "type": "address"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "stateMutability": "view",
 | 
			
		||||
      "type": "function"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "stateMutability": "payable",
 | 
			
		||||
      "type": "receive"
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "bytecode": "0x608060405234801561001057600080fd5b5061057c806100206000396000f3fe6080604052600436106100595760003560e01c8063158ef93e14610065578063228cb73314610094578063343aad82146100cc57806361ec5082146100ec578063b4988fd014610110578063da6eb36a1461013257600080fd5b3661006057005b600080fd5b34801561007157600080fd5b5060005461007f9060ff1681565b60405190151581526020015b60405180910390f35b3480156100a057600080fd5b506035546100b4906001600160a01b031681565b6040516001600160a01b03909116815260200161008b565b3480156100d857600080fd5b506034546100b4906001600160a01b031681565b3480156100f857600080fd5b5061010260335481565b60405190815260200161008b565b34801561011c57600080fd5b5061013061012b36600461045b565b610152565b005b34801561013e57600080fd5b5061013061014d366004610497565b61024c565b60005460ff16156101b55760405162461bcd60e51b815260206004820152602260248201527f496e697469616c697a61626c653a20616c726561647920696e697469616c697a604482015261195960f21b60648201526084015b60405180910390fd5b6000805460ff19166001179055600c6101d0610400806104d9565b6101dc906104006104d9565b670de0b6b3a76400006101f2600a6101006104d9565b6101fc91906104d9565b61020691906104f8565b61021091906104f8565b61021a90846104d9565b603355603480546001600160a01b039384166001600160a01b0319918216179091556035805492909316911617905550565b6034546001600160a01b0316336001600160a01b0316146102af5760405162461bcd60e51b815260206004820152601f60248201527f53656e64657220646f6573206e6f742068617665207065726d697373696f6e0060448201526064016101ac565b60006102bb828461051a565b90506000836033546102cd91906104d9565b9050478111156103155760405162461bcd60e51b81526020600482015260136024820152724e6f7420656e6f75676820706169642066656560681b60448201526064016101ac565b60006103218247610533565b905060008361033086856104d9565b61033a91906104f8565b905060006103488285610533565b905085156103b7576035546040516259e96760e81b8152600481018a9052602481018890526001600160a01b03909116906359e967009084906044016000604051808303818588803b15801561039d57600080fd5b505af11580156103b1573d6000803e3d6000fd5b50505050505b6035546001600160a01b03166359e967006103d2838661051a565b6103dc898c61051a565b8a6040518463ffffffff1660e01b8152600401610403929190918252602082015260400190565b6000604051808303818588803b15801561041c57600080fd5b505af1158015610430573d6000803e3d6000fd5b50505050505050505050505050565b80356001600160a01b038116811461045657600080fd5b919050565b60008060006060848603121561047057600080fd5b833592506104806020850161043f565b915061048e6040850161043f565b90509250925092565b6000806000606084860312156104ac57600080fd5b505081359360208301359350604090920135919050565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156104f3576104f36104c3565b500290565b60008261051557634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561052d5761052d6104c3565b92915050565b8181038181111561052d5761052d6104c356fea26469706673582212207856f59ed7ef23f0c92ccfb266162bebd399dae56fd6a45b082c139f7e3b553064736f6c63430008100033",
 | 
			
		||||
  "deployedBytecode": "0x6080604052600436106100595760003560e01c8063158ef93e14610065578063228cb73314610094578063343aad82146100cc57806361ec5082146100ec578063b4988fd014610110578063da6eb36a1461013257600080fd5b3661006057005b600080fd5b34801561007157600080fd5b5060005461007f9060ff1681565b60405190151581526020015b60405180910390f35b3480156100a057600080fd5b506035546100b4906001600160a01b031681565b6040516001600160a01b03909116815260200161008b565b3480156100d857600080fd5b506034546100b4906001600160a01b031681565b3480156100f857600080fd5b5061010260335481565b60405190815260200161008b565b34801561011c57600080fd5b5061013061012b36600461045b565b610152565b005b34801561013e57600080fd5b5061013061014d366004610497565b61024c565b60005460ff16156101b55760405162461bcd60e51b815260206004820152602260248201527f496e697469616c697a61626c653a20616c726561647920696e697469616c697a604482015261195960f21b60648201526084015b60405180910390fd5b6000805460ff19166001179055600c6101d0610400806104d9565b6101dc906104006104d9565b670de0b6b3a76400006101f2600a6101006104d9565b6101fc91906104d9565b61020691906104f8565b61021091906104f8565b61021a90846104d9565b603355603480546001600160a01b039384166001600160a01b0319918216179091556035805492909316911617905550565b6034546001600160a01b0316336001600160a01b0316146102af5760405162461bcd60e51b815260206004820152601f60248201527f53656e64657220646f6573206e6f742068617665207065726d697373696f6e0060448201526064016101ac565b60006102bb828461051a565b90506000836033546102cd91906104d9565b9050478111156103155760405162461bcd60e51b81526020600482015260136024820152724e6f7420656e6f75676820706169642066656560681b60448201526064016101ac565b60006103218247610533565b905060008361033086856104d9565b61033a91906104f8565b905060006103488285610533565b905085156103b7576035546040516259e96760e81b8152600481018a9052602481018890526001600160a01b03909116906359e967009084906044016000604051808303818588803b15801561039d57600080fd5b505af11580156103b1573d6000803e3d6000fd5b50505050505b6035546001600160a01b03166359e967006103d2838661051a565b6103dc898c61051a565b8a6040518463ffffffff1660e01b8152600401610403929190918252602082015260400190565b6000604051808303818588803b15801561041c57600080fd5b505af1158015610430573d6000803e3d6000fd5b50505050505050505050505050565b80356001600160a01b038116811461045657600080fd5b919050565b60008060006060848603121561047057600080fd5b833592506104806020850161043f565b915061048e6040850161043f565b90509250925092565b6000806000606084860312156104ac57600080fd5b505081359360208301359350604090920135919050565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156104f3576104f36104c3565b500290565b60008261051557634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561052d5761052d6104c3565b92915050565b8181038181111561052d5761052d6104c356fea26469706673582212207856f59ed7ef23f0c92ccfb266162bebd399dae56fd6a45b082c139f7e3b553064736f6c63430008100033",
 | 
			
		||||
  "linkReferences": {},
 | 
			
		||||
  "deployedLinkReferences": {}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										1035
									
								
								storage-contracts-abis/FixedPriceFlow.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1035
									
								
								storage-contracts-abis/FixedPriceFlow.json
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1014
									
								
								storage-contracts-abis/Flow.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1014
									
								
								storage-contracts-abis/Flow.json
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										302
									
								
								storage-contracts-abis/OnePoolReward.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										302
									
								
								storage-contracts-abis/OnePoolReward.json
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										737
									
								
								storage-contracts-abis/PoraMine.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										737
									
								
								storage-contracts-abis/PoraMine.json
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										944
									
								
								storage-contracts-abis/PoraMineTest.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										944
									
								
								storage-contracts-abis/PoraMineTest.json
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										3
									
								
								storage-contracts-abis/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								storage-contracts-abis/README.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
			
		||||
This folder is maintained by the script `./scripts/update_abis.sh <0g-storage-contracts-path>`. Please do not modify it manually. The default value for `0g-storage-contracts-path` is `../0g-storage-contracts`.
 | 
			
		||||
 | 
			
		||||
When running the script, ensure that there are no uncommitted changes in the storage path and that `yarn` is already installed.
 | 
			
		||||
@ -267,7 +267,7 @@ class BlockchainNode(TestNode):
 | 
			
		||||
        def deploy_contract(name, args=None):
 | 
			
		||||
            if args is None:
 | 
			
		||||
                args = []
 | 
			
		||||
            contract_interface = load_contract_metadata(base_path=self.contract_path, name=name)
 | 
			
		||||
            contract_interface = load_contract_metadata(path=self.contract_path, name=name)
 | 
			
		||||
            contract = w3.eth.contract(
 | 
			
		||||
                abi=contract_interface["abi"],
 | 
			
		||||
                bytecode=contract_interface["bytecode"],
 | 
			
		||||
 | 
			
		||||
@ -1,11 +1,10 @@
 | 
			
		||||
from os.path import join
 | 
			
		||||
from pathlib import Path
 | 
			
		||||
import json
 | 
			
		||||
from web3 import Web3
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def load_contract_metadata(base_path: str, name: str):
 | 
			
		||||
    path = Path(join(base_path, "artifacts"))
 | 
			
		||||
def load_contract_metadata(path: str, name: str):
 | 
			
		||||
    path = Path(path)
 | 
			
		||||
    try:
 | 
			
		||||
        found_file = next(path.rglob(f"{name}.json"))
 | 
			
		||||
        return json.loads(open(found_file, "r").read())
 | 
			
		||||
 | 
			
		||||
@ -256,7 +256,7 @@ class TestFramework:
 | 
			
		||||
            dest="contract",
 | 
			
		||||
            default=os.path.join(
 | 
			
		||||
                __file_path__,
 | 
			
		||||
                "../../0g-storage-contracts/",
 | 
			
		||||
                "../../storage-contracts-abis/",
 | 
			
		||||
            ),
 | 
			
		||||
            type=str,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user