Expand description
Generated by the following Solidity interface…
library HoprCrypto {
struct CompactSignature {
bytes32 r;
bytes32 vs;
}
struct VRFParameters {
uint256 vx;
uint256 vy;
uint256 s;
uint256 h;
uint256 sBx;
uint256 sBy;
uint256 hVx;
uint256 hVy;
}
}
interface HoprChannels {
type ChannelStatus is uint8;
type Balance is uint96;
type ChannelEpoch is uint24;
type TicketIndex is uint48;
type TicketIndexOffset is uint32;
type Timestamp is uint32;
type WinProb is uint56;
struct RedeemableTicket {
TicketData data;
HoprCrypto.CompactSignature signature;
uint256 porSecret;
}
struct TicketData {
bytes32 channelId;
Balance amount;
TicketIndex ticketIndex;
TicketIndexOffset indexOffset;
ChannelEpoch epoch;
WinProb winProb;
}
error AlreadyInitialized();
error BalanceExceedsGlobalPerChannelAllowance();
error ContractNotResponsible();
error InsufficientChannelBalance();
error InvalidAggregatedTicketInterval();
error InvalidBalance();
error InvalidCurvePoint();
error InvalidFieldElement();
error InvalidNoticePeriod();
error InvalidPointWitness();
error InvalidSafeAddress();
error InvalidTicketSignature();
error InvalidTokenRecipient();
error InvalidTokensReceivedUsage();
error InvalidVRFProof();
error MultiSigUninitialized();
error NoticePeriodNotDue();
error SourceEqualsDestination();
error TicketIsNotAWin();
error TokenTransferFailed();
error WrongChannelState(string reason);
error WrongToken();
error ZeroAddress(string reason);
event ChannelBalanceDecreased(bytes32 indexed channelId, Balance newBalance);
event ChannelBalanceIncreased(bytes32 indexed channelId, Balance newBalance);
event ChannelClosed(bytes32 indexed channelId);
event ChannelOpened(address indexed source, address indexed destination);
event DomainSeparatorUpdated(bytes32 indexed domainSeparator);
event LedgerDomainSeparatorUpdated(bytes32 indexed ledgerDomainSeparator);
event OutgoingChannelClosureInitiated(bytes32 indexed channelId, Timestamp closureTime);
event TicketRedeemed(bytes32 indexed channelId, TicketIndex newTicketIndex);
constructor(address _token, Timestamp _noticePeriodChannelClosure, address _safeRegistry);
function ERC777_HOOK_FUND_CHANNEL_MULTI_SIZE() external view returns (uint256);
function ERC777_HOOK_FUND_CHANNEL_SIZE() external view returns (uint256);
function LEDGER_VERSION() external view returns (string memory);
function MAX_USED_BALANCE() external view returns (Balance);
function MIN_USED_BALANCE() external view returns (Balance);
function TOKENS_RECIPIENT_INTERFACE_HASH() external view returns (bytes32);
function VERSION() external view returns (string memory);
function _currentBlockTimestamp() external view returns (Timestamp);
function _getChannelId(address source, address destination) external pure returns (bytes32);
function _getTicketHash(RedeemableTicket memory redeemable) external view returns (bytes32);
function _isWinningTicket(bytes32 ticketHash, RedeemableTicket memory redeemable, HoprCrypto.VRFParameters memory params) external pure returns (bool);
function canImplementInterfaceForAddress(bytes32 interfaceHash, address account) external view returns (bytes32);
function channels(bytes32) external view returns (Balance balance, TicketIndex ticketIndex, Timestamp closureTime, ChannelEpoch epoch, ChannelStatus status);
function closeIncomingChannel(address source) external;
function closeIncomingChannelSafe(address selfAddress, address source) external;
function domainSeparator() external view returns (bytes32);
function finalizeOutgoingChannelClosure(address destination) external;
function finalizeOutgoingChannelClosureSafe(address selfAddress, address destination) external;
function fundChannel(address account, Balance amount) external;
function fundChannelSafe(address selfAddress, address account, Balance amount) external;
function initiateOutgoingChannelClosure(address destination) external;
function initiateOutgoingChannelClosureSafe(address selfAddress, address destination) external;
function ledgerDomainSeparator() external view returns (bytes32);
function multicall(bytes[] memory data) external returns (bytes[] memory results);
function noticePeriodChannelClosure() external view returns (Timestamp);
function redeemTicket(RedeemableTicket memory redeemable, HoprCrypto.VRFParameters memory params) external;
function redeemTicketSafe(address selfAddress, RedeemableTicket memory redeemable, HoprCrypto.VRFParameters memory params) external;
function token() external view returns (address);
function tokensReceived(address, address from, address to, uint256 amount, bytes memory userData, bytes memory) external;
function updateDomainSeparator() external;
function updateLedgerDomainSeparator() external;
}
…which was generated by the following JSON ABI:
[
{
"type": "constructor",
"inputs": [
{
"name": "_token",
"type": "address",
"internalType": "address"
},
{
"name": "_noticePeriodChannelClosure",
"type": "uint32",
"internalType": "HoprChannels.Timestamp"
},
{
"name": "_safeRegistry",
"type": "address",
"internalType": "contract HoprNodeSafeRegistry"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "ERC777_HOOK_FUND_CHANNEL_MULTI_SIZE",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "ERC777_HOOK_FUND_CHANNEL_SIZE",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "LEDGER_VERSION",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "MAX_USED_BALANCE",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint96",
"internalType": "HoprChannels.Balance"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "MIN_USED_BALANCE",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint96",
"internalType": "HoprChannels.Balance"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "TOKENS_RECIPIENT_INTERFACE_HASH",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "VERSION",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "_currentBlockTimestamp",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint32",
"internalType": "HoprChannels.Timestamp"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "_getChannelId",
"inputs": [
{
"name": "source",
"type": "address",
"internalType": "address"
},
{
"name": "destination",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "_getTicketHash",
"inputs": [
{
"name": "redeemable",
"type": "tuple",
"internalType": "struct HoprChannels.RedeemableTicket",
"components": [
{
"name": "data",
"type": "tuple",
"internalType": "struct HoprChannels.TicketData",
"components": [
{
"name": "channelId",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "amount",
"type": "uint96",
"internalType": "HoprChannels.Balance"
},
{
"name": "ticketIndex",
"type": "uint48",
"internalType": "HoprChannels.TicketIndex"
},
{
"name": "indexOffset",
"type": "uint32",
"internalType": "HoprChannels.TicketIndexOffset"
},
{
"name": "epoch",
"type": "uint24",
"internalType": "HoprChannels.ChannelEpoch"
},
{
"name": "winProb",
"type": "uint56",
"internalType": "HoprChannels.WinProb"
}
]
},
{
"name": "signature",
"type": "tuple",
"internalType": "struct HoprCrypto.CompactSignature",
"components": [
{
"name": "r",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "vs",
"type": "bytes32",
"internalType": "bytes32"
}
]
},
{
"name": "porSecret",
"type": "uint256",
"internalType": "uint256"
}
]
}
],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "_isWinningTicket",
"inputs": [
{
"name": "ticketHash",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "redeemable",
"type": "tuple",
"internalType": "struct HoprChannels.RedeemableTicket",
"components": [
{
"name": "data",
"type": "tuple",
"internalType": "struct HoprChannels.TicketData",
"components": [
{
"name": "channelId",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "amount",
"type": "uint96",
"internalType": "HoprChannels.Balance"
},
{
"name": "ticketIndex",
"type": "uint48",
"internalType": "HoprChannels.TicketIndex"
},
{
"name": "indexOffset",
"type": "uint32",
"internalType": "HoprChannels.TicketIndexOffset"
},
{
"name": "epoch",
"type": "uint24",
"internalType": "HoprChannels.ChannelEpoch"
},
{
"name": "winProb",
"type": "uint56",
"internalType": "HoprChannels.WinProb"
}
]
},
{
"name": "signature",
"type": "tuple",
"internalType": "struct HoprCrypto.CompactSignature",
"components": [
{
"name": "r",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "vs",
"type": "bytes32",
"internalType": "bytes32"
}
]
},
{
"name": "porSecret",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "params",
"type": "tuple",
"internalType": "struct HoprCrypto.VRFParameters",
"components": [
{
"name": "vx",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "vy",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "s",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "h",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "sBx",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "sBy",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "hVx",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "hVy",
"type": "uint256",
"internalType": "uint256"
}
]
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "canImplementInterfaceForAddress",
"inputs": [
{
"name": "interfaceHash",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "channels",
"inputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "balance",
"type": "uint96",
"internalType": "HoprChannels.Balance"
},
{
"name": "ticketIndex",
"type": "uint48",
"internalType": "HoprChannels.TicketIndex"
},
{
"name": "closureTime",
"type": "uint32",
"internalType": "HoprChannels.Timestamp"
},
{
"name": "epoch",
"type": "uint24",
"internalType": "HoprChannels.ChannelEpoch"
},
{
"name": "status",
"type": "uint8",
"internalType": "enum HoprChannels.ChannelStatus"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "closeIncomingChannel",
"inputs": [
{
"name": "source",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "closeIncomingChannelSafe",
"inputs": [
{
"name": "selfAddress",
"type": "address",
"internalType": "address"
},
{
"name": "source",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "domainSeparator",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "finalizeOutgoingChannelClosure",
"inputs": [
{
"name": "destination",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "finalizeOutgoingChannelClosureSafe",
"inputs": [
{
"name": "selfAddress",
"type": "address",
"internalType": "address"
},
{
"name": "destination",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "fundChannel",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint96",
"internalType": "HoprChannels.Balance"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "fundChannelSafe",
"inputs": [
{
"name": "selfAddress",
"type": "address",
"internalType": "address"
},
{
"name": "account",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint96",
"internalType": "HoprChannels.Balance"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "initiateOutgoingChannelClosure",
"inputs": [
{
"name": "destination",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "initiateOutgoingChannelClosureSafe",
"inputs": [
{
"name": "selfAddress",
"type": "address",
"internalType": "address"
},
{
"name": "destination",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "ledgerDomainSeparator",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "multicall",
"inputs": [
{
"name": "data",
"type": "bytes[]",
"internalType": "bytes[]"
}
],
"outputs": [
{
"name": "results",
"type": "bytes[]",
"internalType": "bytes[]"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "noticePeriodChannelClosure",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint32",
"internalType": "HoprChannels.Timestamp"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "redeemTicket",
"inputs": [
{
"name": "redeemable",
"type": "tuple",
"internalType": "struct HoprChannels.RedeemableTicket",
"components": [
{
"name": "data",
"type": "tuple",
"internalType": "struct HoprChannels.TicketData",
"components": [
{
"name": "channelId",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "amount",
"type": "uint96",
"internalType": "HoprChannels.Balance"
},
{
"name": "ticketIndex",
"type": "uint48",
"internalType": "HoprChannels.TicketIndex"
},
{
"name": "indexOffset",
"type": "uint32",
"internalType": "HoprChannels.TicketIndexOffset"
},
{
"name": "epoch",
"type": "uint24",
"internalType": "HoprChannels.ChannelEpoch"
},
{
"name": "winProb",
"type": "uint56",
"internalType": "HoprChannels.WinProb"
}
]
},
{
"name": "signature",
"type": "tuple",
"internalType": "struct HoprCrypto.CompactSignature",
"components": [
{
"name": "r",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "vs",
"type": "bytes32",
"internalType": "bytes32"
}
]
},
{
"name": "porSecret",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "params",
"type": "tuple",
"internalType": "struct HoprCrypto.VRFParameters",
"components": [
{
"name": "vx",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "vy",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "s",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "h",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "sBx",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "sBy",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "hVx",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "hVy",
"type": "uint256",
"internalType": "uint256"
}
]
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "redeemTicketSafe",
"inputs": [
{
"name": "selfAddress",
"type": "address",
"internalType": "address"
},
{
"name": "redeemable",
"type": "tuple",
"internalType": "struct HoprChannels.RedeemableTicket",
"components": [
{
"name": "data",
"type": "tuple",
"internalType": "struct HoprChannels.TicketData",
"components": [
{
"name": "channelId",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "amount",
"type": "uint96",
"internalType": "HoprChannels.Balance"
},
{
"name": "ticketIndex",
"type": "uint48",
"internalType": "HoprChannels.TicketIndex"
},
{
"name": "indexOffset",
"type": "uint32",
"internalType": "HoprChannels.TicketIndexOffset"
},
{
"name": "epoch",
"type": "uint24",
"internalType": "HoprChannels.ChannelEpoch"
},
{
"name": "winProb",
"type": "uint56",
"internalType": "HoprChannels.WinProb"
}
]
},
{
"name": "signature",
"type": "tuple",
"internalType": "struct HoprCrypto.CompactSignature",
"components": [
{
"name": "r",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "vs",
"type": "bytes32",
"internalType": "bytes32"
}
]
},
{
"name": "porSecret",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "params",
"type": "tuple",
"internalType": "struct HoprCrypto.VRFParameters",
"components": [
{
"name": "vx",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "vy",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "s",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "h",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "sBx",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "sBy",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "hVx",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "hVy",
"type": "uint256",
"internalType": "uint256"
}
]
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "token",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IERC20"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "tokensReceived",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "from",
"type": "address",
"internalType": "address"
},
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "userData",
"type": "bytes",
"internalType": "bytes"
},
{
"name": "",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "updateDomainSeparator",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "updateLedgerDomainSeparator",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "event",
"name": "ChannelBalanceDecreased",
"inputs": [
{
"name": "channelId",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "newBalance",
"type": "uint96",
"indexed": false,
"internalType": "HoprChannels.Balance"
}
],
"anonymous": false
},
{
"type": "event",
"name": "ChannelBalanceIncreased",
"inputs": [
{
"name": "channelId",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "newBalance",
"type": "uint96",
"indexed": false,
"internalType": "HoprChannels.Balance"
}
],
"anonymous": false
},
{
"type": "event",
"name": "ChannelClosed",
"inputs": [
{
"name": "channelId",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
}
],
"anonymous": false
},
{
"type": "event",
"name": "ChannelOpened",
"inputs": [
{
"name": "source",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "destination",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "DomainSeparatorUpdated",
"inputs": [
{
"name": "domainSeparator",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
}
],
"anonymous": false
},
{
"type": "event",
"name": "LedgerDomainSeparatorUpdated",
"inputs": [
{
"name": "ledgerDomainSeparator",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
}
],
"anonymous": false
},
{
"type": "event",
"name": "OutgoingChannelClosureInitiated",
"inputs": [
{
"name": "channelId",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "closureTime",
"type": "uint32",
"indexed": false,
"internalType": "HoprChannels.Timestamp"
}
],
"anonymous": false
},
{
"type": "event",
"name": "TicketRedeemed",
"inputs": [
{
"name": "channelId",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "newTicketIndex",
"type": "uint48",
"indexed": false,
"internalType": "HoprChannels.TicketIndex"
}
],
"anonymous": false
},
{
"type": "error",
"name": "AlreadyInitialized",
"inputs": []
},
{
"type": "error",
"name": "BalanceExceedsGlobalPerChannelAllowance",
"inputs": []
},
{
"type": "error",
"name": "ContractNotResponsible",
"inputs": []
},
{
"type": "error",
"name": "InsufficientChannelBalance",
"inputs": []
},
{
"type": "error",
"name": "InvalidAggregatedTicketInterval",
"inputs": []
},
{
"type": "error",
"name": "InvalidBalance",
"inputs": []
},
{
"type": "error",
"name": "InvalidCurvePoint",
"inputs": []
},
{
"type": "error",
"name": "InvalidFieldElement",
"inputs": []
},
{
"type": "error",
"name": "InvalidNoticePeriod",
"inputs": []
},
{
"type": "error",
"name": "InvalidPointWitness",
"inputs": []
},
{
"type": "error",
"name": "InvalidSafeAddress",
"inputs": []
},
{
"type": "error",
"name": "InvalidTicketSignature",
"inputs": []
},
{
"type": "error",
"name": "InvalidTokenRecipient",
"inputs": []
},
{
"type": "error",
"name": "InvalidTokensReceivedUsage",
"inputs": []
},
{
"type": "error",
"name": "InvalidVRFProof",
"inputs": []
},
{
"type": "error",
"name": "MultiSigUninitialized",
"inputs": []
},
{
"type": "error",
"name": "NoticePeriodNotDue",
"inputs": []
},
{
"type": "error",
"name": "SourceEqualsDestination",
"inputs": []
},
{
"type": "error",
"name": "TicketIsNotAWin",
"inputs": []
},
{
"type": "error",
"name": "TokenTransferFailed",
"inputs": []
},
{
"type": "error",
"name": "WrongChannelState",
"inputs": [
{
"name": "reason",
"type": "string",
"internalType": "string"
}
]
},
{
"type": "error",
"name": "WrongToken",
"inputs": []
},
{
"type": "error",
"name": "ZeroAddress",
"inputs": [
{
"name": "reason",
"type": "string",
"internalType": "string"
}
]
}
]
Structs§
- Already
Initialized - Custom error with signature
AlreadyInitialized()
and selector0x0dc149f0
. - Balance
- Balance
Exceeds Global PerChannel Allowance - Custom error with signature
BalanceExceedsGlobalPerChannelAllowance()
and selector0xa4f3bbe4
. - Channel
Balance Decreased - Event with signature
ChannelBalanceDecreased(bytes32,uint96)
and selector0x22e2a422a8860656a3a33cfa1daf771e76798ce5649747957235025de12e0b24
. - Channel
Balance Increased - Event with signature
ChannelBalanceIncreased(bytes32,uint96)
and selector0x5fa17246d3a5d68d42baa94cde33042180b783a399c02bf63ac2076e0f708738
. - Channel
Closed - Event with signature
ChannelClosed(bytes32)
and selector0xceeab2eef998c17fe96f30f83fbf3c55fc5047f6e40c55a0cf72d236e9d2ba72
. - Channel
Epoch - Channel
Opened - Event with signature
ChannelOpened(address,address)
and selector0xdd90f938230335e59dc925c57ecb0e27a28c2d87356e31f00cd5554abd6c1b2d
. - Channel
Status - Contract
NotResponsible - Custom error with signature
ContractNotResponsible()
and selector0xacd5a823
. - Domain
Separator Updated - Event with signature
DomainSeparatorUpdated(bytes32)
and selector0x771f5240ae5fd8a7640d3fb82fa70aab2fb1dbf35f2ef464f8509946717664c5
. - ERC777_
HOOK_ FUND_ CHANNEL_ MULTI_ SIZE Call - Function with signature
ERC777_HOOK_FUND_CHANNEL_MULTI_SIZE()
and selector0x78d8016d
. - ERC777_
HOOK_ FUND_ CHANNEL_ MULTI_ SIZE Return - Container type for the return parameters of the
ERC777_HOOK_FUND_CHANNEL_MULTI_SIZE()
function. - ERC777_
HOOK_ FUND_ CHANNEL_ SIZE Call - Function with signature
ERC777_HOOK_FUND_CHANNEL_SIZE()
and selector0x44dae6f8
. - ERC777_
HOOK_ FUND_ CHANNEL_ SIZE Return - Container type for the return parameters of the
ERC777_HOOK_FUND_CHANNEL_SIZE()
function. - Hopr
Channels Instance - A
HoprChannels
instance. - Insufficient
Channel Balance - Custom error with signature
InsufficientChannelBalance()
and selector0xb147636c
. - Invalid
Aggregated Ticket Interval - Custom error with signature
InvalidAggregatedTicketInterval()
and selector0xd0dc3c1e
. - Invalid
Balance - Custom error with signature
InvalidBalance()
and selector0xc52e3eff
. - Invalid
Curve Point - Custom error with signature
InvalidCurvePoint()
and selector0x72454a82
. - Invalid
Field Element - Custom error with signature
InvalidFieldElement()
and selector0x3ae4ed6b
. - Invalid
Notice Period - Custom error with signature
InvalidNoticePeriod()
and selector0xf9ee9107
. - Invalid
Point Witness - Custom error with signature
InvalidPointWitness()
and selector0xedfdcd98
. - Invalid
Safe Address - Custom error with signature
InvalidSafeAddress()
and selector0x8e9d7c5e
. - Invalid
Ticket Signature - Custom error with signature
InvalidTicketSignature()
and selector0xcddd5356
. - Invalid
Token Recipient - Custom error with signature
InvalidTokenRecipient()
and selector0xb9c49108
. - Invalid
Tokens Received Usage - Custom error with signature
InvalidTokensReceivedUsage()
and selector0x69ee6f28
. - InvalidVRF
Proof - Custom error with signature
InvalidVRFProof()
and selector0x95fdbdb8
. - LEDGER_
VERSION Call - Function with signature
LEDGER_VERSION()
and selector0xddad1902
. - LEDGER_
VERSION Return - Container type for the return parameters of the
LEDGER_VERSION()
function. - Ledger
Domain Separator Updated - Event with signature
LedgerDomainSeparatorUpdated(bytes32)
and selector0xa43fad83920fd09445855e854e73c9c532e17402c9ceb09993a2392843a5bdb9
. - MAX_
USED_ BALANCE Call - Function with signature
MAX_USED_BALANCE()
and selector0x5d2f07c5
. - MAX_
USED_ BALANCE Return - Container type for the return parameters of the
MAX_USED_BALANCE()
function. - MIN_
USED_ BALANCE Call - Function with signature
MIN_USED_BALANCE()
and selector0x29392e32
. - MIN_
USED_ BALANCE Return - Container type for the return parameters of the
MIN_USED_BALANCE()
function. - Multi
SigUninitialized - Custom error with signature
MultiSigUninitialized()
and selector0x454a20c8
. - Notice
Period NotDue - Custom error with signature
NoticePeriodNotDue()
and selector0x7164032a
. - Outgoing
Channel Closure Initiated - Event with signature
OutgoingChannelClosureInitiated(bytes32,uint32)
and selector0x07b5c950597fc3bed92e2ad37fa84f701655acb372982e486f5fad3607f04a5c
. - Redeemable
Ticket - Source
Equals Destination - Custom error with signature
SourceEqualsDestination()
and selector0x97a3aed2
. - TOKENS_
RECIPIENT_ INTERFACE_ HASH Call - Function with signature
TOKENS_RECIPIENT_INTERFACE_HASH()
and selector0x72581cc0
. - TOKENS_
RECIPIENT_ INTERFACE_ HASH Return - Container type for the return parameters of the
TOKENS_RECIPIENT_INTERFACE_HASH()
function. - Ticket
Data - Ticket
Index - Ticket
Index Offset - Ticket
IsNotA Win - Custom error with signature
TicketIsNotAWin()
and selector0xee835c89
. - Ticket
Redeemed - Event with signature
TicketRedeemed(bytes32,uint48)
and selector0x7165e2ebc7ce35cc98cb7666f9945b3617f3f36326b76d18937ba5fecf18739a
. - Timestamp
- Token
Transfer Failed - Custom error with signature
TokenTransferFailed()
and selector0x045c4b02
. - VERSION
Call - Function with signature
VERSION()
and selector0xffa1ad74
. - VERSION
Return - Container type for the return parameters of the
VERSION()
function. - WinProb
- Wrong
Channel State - Custom error with signature
WrongChannelState(string)
and selector0x499463c1
. - Wrong
Token - Custom error with signature
WrongToken()
and selector0xa0f3feea
. - Zero
Address - Custom error with signature
ZeroAddress(string)
and selector0xeac0d389
. - _current
Block Timestamp Call - Function with signature
_currentBlockTimestamp()
and selector0xb920deed
. - _current
Block Timestamp Return - Container type for the return parameters of the
_currentBlockTimestamp()
function. - _get
Channel IdCall - Function with signature
_getChannelId(address,address)
and selector0xbe9babdc
. - _get
Channel IdReturn - Container type for the return parameters of the
_getChannelId(address,address)
function. - _get
Ticket Hash Call - Function with signature
_getTicketHash(((bytes32,uint96,uint48,uint32,uint24,uint56),(bytes32,bytes32),uint256))
and selector0x24086cc2
. - _get
Ticket Hash Return - Container type for the return parameters of the
_getTicketHash(((bytes32,uint96,uint48,uint32,uint24,uint56),(bytes32,bytes32),uint256))
function. - _isWinning
Ticket Call - Function with signature
_isWinningTicket(bytes32,((bytes32,uint96,uint48,uint32,uint24,uint56),(bytes32,bytes32),uint256),(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))
and selector0x8c3710c9
. - _isWinning
Ticket Return - Container type for the return parameters of the
_isWinningTicket(bytes32,((bytes32,uint96,uint48,uint32,uint24,uint56),(bytes32,bytes32),uint256),(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))
function. - canImplement
Interface ForAddress Call - Function with signature
canImplementInterfaceForAddress(bytes32,address)
and selector0x249cb3fa
. - canImplement
Interface ForAddress Return - Container type for the return parameters of the
canImplementInterfaceForAddress(bytes32,address)
function. - channels
Call - Function with signature
channels(bytes32)
and selector0x7a7ebd7b
. - channels
Return - Container type for the return parameters of the
channels(bytes32)
function. - close
Incoming Channel Call - Function with signature
closeIncomingChannel(address)
and selector0x1a7ffe7a
. - close
Incoming Channel Return - Container type for the return parameters of the
closeIncomingChannel(address)
function. - close
Incoming Channel Safe Call - Function with signature
closeIncomingChannelSafe(address,address)
and selector0x54a2edf5
. - close
Incoming Channel Safe Return - Container type for the return parameters of the
closeIncomingChannelSafe(address,address)
function. - constructor
Call - Constructor`.
- domain
Separator Call - Function with signature
domainSeparator()
and selector0xf698da25
. - domain
Separator Return - Container type for the return parameters of the
domainSeparator()
function. - finalize
Outgoing Channel Closure Call - Function with signature
finalizeOutgoingChannelClosure(address)
and selector0x23cb3ac0
. - finalize
Outgoing Channel Closure Return - Container type for the return parameters of the
finalizeOutgoingChannelClosure(address)
function. - finalize
Outgoing Channel Closure Safe Call - Function with signature
finalizeOutgoingChannelClosureSafe(address,address)
and selector0x651514bf
. - finalize
Outgoing Channel Closure Safe Return - Container type for the return parameters of the
finalizeOutgoingChannelClosureSafe(address,address)
function. - fund
Channel Call - Function with signature
fundChannel(address,uint96)
and selector0xfc55309a
. - fund
Channel Return - Container type for the return parameters of the
fundChannel(address,uint96)
function. - fund
Channel Safe Call - Function with signature
fundChannelSafe(address,address,uint96)
and selector0x0abec58f
. - fund
Channel Safe Return - Container type for the return parameters of the
fundChannelSafe(address,address,uint96)
function. - initiate
Outgoing Channel Closure Call - Function with signature
initiateOutgoingChannelClosure(address)
and selector0x7c8e28da
. - initiate
Outgoing Channel Closure Return - Container type for the return parameters of the
initiateOutgoingChannelClosure(address)
function. - initiate
Outgoing Channel Closure Safe Call - Function with signature
initiateOutgoingChannelClosureSafe(address,address)
and selector0xbda65f45
. - initiate
Outgoing Channel Closure Safe Return - Container type for the return parameters of the
initiateOutgoingChannelClosureSafe(address,address)
function. - ledger
Domain Separator Call - Function with signature
ledgerDomainSeparator()
and selector0xc966c4fe
. - ledger
Domain Separator Return - Container type for the return parameters of the
ledgerDomainSeparator()
function. - multicall
Call - Function with signature
multicall(bytes[])
and selector0xac9650d8
. - multicall
Return - Container type for the return parameters of the
multicall(bytes[])
function. - notice
Period Channel Closure Call - Function with signature
noticePeriodChannelClosure()
and selector0x87352d65
. - notice
Period Channel Closure Return - Container type for the return parameters of the
noticePeriodChannelClosure()
function. - redeem
Ticket Call - Function with signature
redeemTicket(((bytes32,uint96,uint48,uint32,uint24,uint56),(bytes32,bytes32),uint256),(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))
and selector0xfcb7796f
. - redeem
Ticket Return - Container type for the return parameters of the
redeemTicket(((bytes32,uint96,uint48,uint32,uint24,uint56),(bytes32,bytes32),uint256),(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))
function. - redeem
Ticket Safe Call - Function with signature
redeemTicketSafe(address,((bytes32,uint96,uint48,uint32,uint24,uint56),(bytes32,bytes32),uint256),(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))
and selector0x0cd88d72
. - redeem
Ticket Safe Return - Container type for the return parameters of the
redeemTicketSafe(address,((bytes32,uint96,uint48,uint32,uint24,uint56),(bytes32,bytes32),uint256),(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))
function. - token
Call - Function with signature
token()
and selector0xfc0c546a
. - token
Return - Container type for the return parameters of the
token()
function. - tokens
Received Call - Function with signature
tokensReceived(address,address,address,uint256,bytes,bytes)
and selector0x0023de29
. - tokens
Received Return - Container type for the return parameters of the
tokensReceived(address,address,address,uint256,bytes,bytes)
function. - update
Domain Separator Call - Function with signature
updateDomainSeparator()
and selector0x89ccfe89
. - update
Domain Separator Return - Container type for the return parameters of the
updateDomainSeparator()
function. - update
Ledger Domain Separator Call - Function with signature
updateLedgerDomainSeparator()
and selector0xdc96fd50
. - update
Ledger Domain Separator Return - Container type for the return parameters of the
updateLedgerDomainSeparator()
function.
Enums§
- Hopr
Channels Calls - Container for all the
HoprChannels
function calls. - Hopr
Channels Errors - Container for all the
HoprChannels
custom errors. - Hopr
Channels Events - Container for all the
HoprChannels
events.
Statics§
- BYTECODE
- The creation / init bytecode of the contract.
- DEPLOYED_
BYTECODE - The runtime bytecode of the contract, as deployed on the network.
Functions§
- deploy
- Deploys this contract using the given
provider
and constructor arguments, if any. - deploy_
builder - Creates a
RawCallBuilder
for deploying this contract using the givenprovider
and constructor arguments, if any. - new
- Creates a new wrapper around an on-chain
HoprChannels
contract instance.