forked from icon-project/devportal
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathIBSH.sol
45 lines (42 loc) · 1.43 KB
/
IBSH.sol
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
// SPDX-License-Identifier: MIT
pragma solidity >=0.5.0 <0.8.0;
pragma experimental ABIEncoderV2;
interface IBSH {
/**
@notice BSH handle BTP Message from BMC contract
@dev Caller must be BMC contract only
@param _from An originated network address of a request
@param _svc A service name of BSH contract
@param _sn A serial number of a service request
@param _msg An RLP message of a service request/service response
*/
function handleBTPMessage(
string calldata _from,
string calldata _svc,
uint256 _sn,
bytes calldata _msg
) external;
/**
@notice BSH handle BTP Error from BMC contract
@dev Caller must be BMC contract only
@param _svc A service name of BSH contract
@param _sn A serial number of a service request
@param _code A response code of a message (RC_OK / RC_ERR)
@param _msg A response message
*/
function handleBTPError(
string calldata _src,
string calldata _svc,
uint256 _sn,
uint256 _code,
string calldata _msg
) external;
/**
@notice BSH handle Gather Fee Message request from BMC contract
@dev Caller must be BMC contract only
@param _fa A BTP address of fee aggregator
@param _svc A name of the service
*/
function handleFeeGathering(string calldata _fa, string calldata _svc)
external;
}