Skip to content

A Solidity smart contract system to automate the process of reporting, validating, and resolving SLA trouble tickets between a seller and a buyer. The system should handle ticket submission by the buyer, validation by the seller, and automated payout of credits where necessary.

Notifications You must be signed in to change notification settings

mohammadsalim/SLA-Accounting-Ticket-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SLA Accounting Ticket System

Overview

The SLA Accounting Ticket System is a blockchain-based solution for automating the process of reporting, validating, and resolving Service Level Agreement (SLA) trouble tickets. Built on Ethereum and Solidity, it leverages smart contracts for transparency, efficiency, and SLA compliance.

Features

  • Ticket Submission and Validation: Enables buyers to submit trouble tickets and sellers to validate them.
  • Automated Credit Payouts: Automatically disburses credits based on SLA compliance.
  • Dispute Resolution: Allows for dispute raising and resolution.
  • Performance Metrics: Tracks resolution times and other key metrics.
  • Upgradeable Contracts: Utilizes a proxy pattern for future upgrades.

Contracts

  • SLATicketSystem.sol: Main contract for SLA ticket handling.
  • SLAAccessControl.sol: Manages roles and permissions.
  • SLAContractInterface.sol: Interface for SLA compliance checks.
  • SLAUpgradeableProxy.sol: Proxy contract for upgradeability.
  • SLACreditsToken.sol: ERC20 token contract for credit management.

Installation

  1. Clone the Repository:
$ git clone https://github.com/mohammadsalim/SLA-Accounting-Ticket-System
  1. Install Dependencies:
$ forge install

Deployment

Use Foundry's forge and anvil for local testing and deployment.

  1. Local Deployment with Anvil:
  • Start Anvil:
$ anvil
  • In a new terminal, deploy the contracts:
$ forge script Script.s.sol --fork-url http://localhost:8545 --private-key <private-key>
  1. Testnet Deployment:
  • Set up your foundry.toml with testnet details.
  • Run the deployment script:
$ forge script Script.s.sol --rpc-url <testnet-rpc-url> --private-key <private-key>

Usage

Interact with the system using Foundry's cast or through a frontend application.

Testing

Run tests with:

$ forge test

Security

Developed with best practices, yet thorough auditing is recommended before mainnet deployment.

Contributing

Contributions are welcome. Please read the contributing guidelines before submitting pull requests.

License

Licensed under the MIT License.

About

A Solidity smart contract system to automate the process of reporting, validating, and resolving SLA trouble tickets between a seller and a buyer. The system should handle ticket submission by the buyer, validation by the seller, and automated payout of credits where necessary.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published