Melcor
Основной смарт-контракт платформы.
Функции
addAllowedToken
function addAllowedToken(address  _token, uint256  _fee) external
Добавляет токен, который можно использовать в расчетах на платформе.
Параметры:
| Название | Тип | Описание | 
|---|---|---|
| _token | address | Адрес токена | 
| _fee | uint256 | Комиссия при использовании токена | 
createProductCategory
function createProductCategory(string memory _metadata) external
Добавляет категорию товаровю
Параметры:
| Название | Тип | Описание | 
|---|---|---|
| _metadata | string memory | IPFS CID | 
createStore
function createStore(string memory _metadata) external
Добавляет магазин.
Параметры:
| Название | Тип | Описание | 
|---|---|---|
| _metadata | string memory | IPFS CID | 
changeStoreVendorStatus
function changeStoreVendorStatus(
  uint256 _storeId,
  address _vendor,
  bool _status
) external
Делает указанного пользователя продавцом магазина.
Параметры:
| Название | Тип | Описание | 
|---|---|---|
| _storeId | uint256 | Store ID | 
| _vendor | address | Vendor Address | 
| _status | bool | 'true' добавляет, 'false' удаляет | 
createProduct
function  createProduct(
  uint256 _storeId,
  string memory _metadata,
  uint256 _price,
  uint256 _tokenId,
  uint256 _productCategoryId
) external
Создает товар.
Параметры:
| Название | Тип | Описание | 
|---|---|---|
| _storeId | uint256 | ID Магазина | 
| _metadata | string memory | IPFS CID | 
| _price | uint256 | Цена товара | 
| _tokenId | uint256 | ID Токена | 
| _productCategoryId | uint256 | ID категории товара | 
createOrder
 function createOrder(uint256 _productId) external returns (uint256 orderId)
Создает заказ.
Параметры:
| Название | Тип | Описание | 
|---|---|---|
| _productId | uint256 | ID Товара | 
Возвращает:
| Название | Тип | Описание | 
|---|---|---|
| orderId | uint256 | ID Заказа | 
acceptOrder
function acceptOrder(
  uint256 _orderId,
  address _guarantor,
  string memory _vendorKey,
  string memory _customerKey,
  string memory _guarantorKey
) external
Позволяет продавцу принять предложение о покупке продукта.
Параметры:
| Название | Тип | Описание | 
|---|---|---|
| _orderId | uint256 | ID Заказа | 
| _guarantor | address | Адрес гаранта | 
| _vendorKey | string memory | Ключ шифрования | 
| _customerKey | string memory | Ключ шифрования | 
| _guarantorKey | string memory | Ключ шифрования | 
Дополнительные сведения о шифровании см. Система сообщений.
depositOrder
function  depositOrder(uint256  _orderId) external
Вносит средства от клиента на смарт-контракт условного депонирования.
Параметры:
| Название | Тип | Описание | 
|---|---|---|
| _orderId | uint256 | ID Заказа | 
deliveryOrder
function  deliveryOrder(uint256  _orderId) external
Изменяет статус заказа на SHIPPED.
Параметры:
| Название | Тип | Описание | 
|---|---|---|
| _orderId | uint256 | ID Заказа | 
confirmOrder
function  confirmOrder(
  uint256  _orderId,
  uint8  _productGrade,
  uint8  _vendorGrade,
  uint8  _guarantorGrade,
  string  memory  _metadata
) external
Переводит средства со смарт-контракта условного депонирования на счет продавца.
Параметры:
| Название | Тип | Описание | 
|---|---|---|
| _orderId | uint256 | I Заказа | 
| _productGrade | uint8 | Оценка товара | 
| _vendorGrade | uint8 | Оценка продавца | 
| _guarantorGrade | uint8 | Оценка гарантаe | 
| _metadata | string memory | IPFS CID | 
setPubKey
function  setPubKey(bytes  memory  _publicKey) external
Устанавливает открытый ключ шифрования для адреса.
Параметры:
| Название | Тип | Описание | 
|---|---|---|
| _publicKey | uint256 | ID Заказа | 
registerGuarantor
function  registerGuarantor() external
Позволяет зарегистрироваться в качестве гаранта.
updateReview
function  updateReview(
  uint256  _orderId,
  uint8  _productGrade,
  uint8  _vendorGrade,
  uint8  _guarantorGrade,
  string  memory  _metadata
) external
Позволяет обновить отзыв на продукт.
Параметры:
| Название | Тип | Описание | 
|---|---|---|
| _orderId | uint256 | ID Заказа | 
| _productGrade | uint8 | Оценка товара | 
| _vendorGrade | uint8 | Оценка продавца | 
| _guarantorGrade | uint8 | Оценка гаранта | 
| _metadata | string memory | IPFS CID | 
dispute
function  dispute(uint256  _orderId) external
Открывает спор.
Параметры:
| Название | Тип | Описание | 
|---|---|---|
| _orderId | uint256 | ID Заказа | 
resolveDispute
function  resolveDispute(uint256  _orderId, bool  _isCustomerWin) external
Разрешает спор.
Параметры:
| Название | Тип | Описание | 
|---|---|---|
| _orderId | uint256 | ID Заказа | 
| _isCustomerWin | bool | 'true' если покупатель прав, иначе 'false' |