BuildapireferencegeneratedITangleServices

ITangleServices

Source: https://github.com/tangle-network/tnt-core/blob/main/src/interfaces/ITangleServices.sol

ITangleServices

Service lifecycle management interface

Functions

requestService

function requestService(uint64 blueprintId, address[] operators, bytes config, address[] permittedCallers, uint64 ttl, address paymentToken, uint256 paymentAmount) external payable returns (uint64 requestId)

Request a new service

requestServiceWithExposure

function requestServiceWithExposure(uint64 blueprintId, address[] operators, uint16[] exposureBps, bytes config, address[] permittedCallers, uint64 ttl, address paymentToken, uint256 paymentAmount) external payable returns (uint64 requestId)

Request a service with explicit exposure commitments

requestServiceWithSecurity

function requestServiceWithSecurity(uint64 blueprintId, address[] operators, struct Types.AssetSecurityRequirement[] securityRequirements, bytes config, address[] permittedCallers, uint64 ttl, address paymentToken, uint256 paymentAmount) external payable returns (uint64 requestId)

Request a service with multi-asset security requirements

Each operator must provide security commitments matching these requirements when approving

approveService

function approveService(uint64 requestId, uint8 stakingPercent) external

Approve a service request (as operator) - simple version

approveServiceWithCommitments

function approveServiceWithCommitments(uint64 requestId, struct Types.AssetSecurityCommitment[] commitments) external

Approve a service request with multi-asset security commitments

Commitments must match the security requirements specified in the request

rejectService

function rejectService(uint64 requestId) external

Reject a service request (as operator)

createServiceFromQuotes

function createServiceFromQuotes(uint64 blueprintId, struct Types.SignedQuote[] quotes, bytes config, address[] permittedCallers, uint64 ttl) external payable returns (uint64 serviceId)

Create a service instantly using pre-signed operator quotes

No approval flow needed - operators have pre-committed via signatures

Parameters
NameTypeDescription
blueprintIduint64The blueprint to use
quotesstruct Types.SignedQuote[]Array of signed quotes from operators
configbytesService configuration
permittedCallersaddress[]Addresses allowed to call jobs
ttluint64Service time-to-live (must match quotes)

extendServiceFromQuotes

function extendServiceFromQuotes(uint64 serviceId, struct Types.SignedQuote[] quotes, uint64 extensionDuration) external payable

Extend a service using pre-signed operator quotes

terminateService

function terminateService(uint64 serviceId) external

Terminate a service (as owner)

addPermittedCaller

function addPermittedCaller(uint64 serviceId, address caller) external

Add a permitted caller to a service

removePermittedCaller

function removePermittedCaller(uint64 serviceId, address caller) external

Remove a permitted caller from a service

joinService

function joinService(uint64 serviceId, uint16 exposureBps) external

Join an active service (Dynamic membership only)

joinServiceWithCommitments

function joinServiceWithCommitments(uint64 serviceId, uint16 exposureBps, struct Types.AssetSecurityCommitment[] commitments) external

Join an active service with per-asset security commitments (Dynamic membership only)

leaveService

function leaveService(uint64 serviceId) external

Leave an active service (Dynamic membership only)

scheduleExit

function scheduleExit(uint64 serviceId) external

Schedule exit from an active service when exit queues are enabled

executeExit

function executeExit(uint64 serviceId) external

Execute a scheduled exit after the queue delay

cancelExit

function cancelExit(uint64 serviceId) external

Cancel a scheduled exit before execution

forceExit

function forceExit(uint64 serviceId, address operator) external

Force exit an operator from a service (if permitted by config)

forceRemoveOperator

function forceRemoveOperator(uint64 serviceId, address operator) external

Force remove an operator from a service (blueprint manager only)

Parameters
NameTypeDescription
serviceIduint64The service ID
operatoraddressThe operator to remove

billSubscription

function billSubscription(uint64 serviceId) external

Bill a subscription service for the current period

billSubscriptionBatch

function billSubscriptionBatch(uint64[] serviceIds) external returns (uint256 totalBilled, uint256 billedCount)

Bill multiple subscription services in one call

getBillableServices

function getBillableServices(uint64[] serviceIds) external view returns (uint64[] billable)

Get billable services from a list of candidates

fundService

function fundService(uint64 serviceId, uint256 amount) external payable

Fund a service escrow balance

getServiceRequest

function getServiceRequest(uint64 requestId) external view returns (struct Types.ServiceRequest)

Get service request

getServiceRequestSecurityRequirements

function getServiceRequestSecurityRequirements(uint64 requestId) external view returns (struct Types.AssetSecurityRequirement[])

Get security requirements for a service request

getServiceRequestSecurityCommitments

function getServiceRequestSecurityCommitments(uint64 requestId, address operator) external view returns (struct Types.AssetSecurityCommitment[])

Get security commitments for a service request by operator

getService

function getService(uint64 serviceId) external view returns (struct Types.Service)

Get service info

isServiceActive

function isServiceActive(uint64 serviceId) external view returns (bool)

Check if service is active

isServiceOperator

function isServiceOperator(uint64 serviceId, address operator) external view returns (bool)

Check if address is operator in service

getServiceOperator

function getServiceOperator(uint64 serviceId, address operator) external view returns (struct Types.ServiceOperator)

Get operator info for a service

getServiceOperators

function getServiceOperators(uint64 serviceId) external view returns (address[])

Get the list of operators for a service

getServiceSecurityRequirements

function getServiceSecurityRequirements(uint64 serviceId) external view returns (struct Types.AssetSecurityRequirement[])

Get persisted security requirements for an active service

getServiceEscrow

function getServiceEscrow(uint64 serviceId) external view returns (struct PaymentLib.ServiceEscrow)

Get service escrow details

getExitRequest

function getExitRequest(uint64 serviceId, address operator) external view returns (struct Types.ExitRequest)

Get exit request for an operator

getExitStatus

function getExitStatus(uint64 serviceId, address operator) external view returns (enum Types.ExitStatus)

Get exit status for an operator

getExitConfig

function getExitConfig(uint64 serviceId) external view returns (struct Types.ExitConfig)

Get exit configuration for a service

canScheduleExit

function canScheduleExit(uint64 serviceId, address operator) external view returns (bool canExit, string reason)

Check if operator can schedule exit now

getServiceSecurityCommitments

function getServiceSecurityCommitments(uint64 serviceId, address operator) external view returns (struct Types.AssetSecurityCommitment[])

Get persisted security commitments for an active service by operator

isPermittedCaller

function isPermittedCaller(uint64 serviceId, address caller) external view returns (bool)

Check if address can call jobs on service

serviceCount

function serviceCount() external view returns (uint64)

Get current service count

Events

ServiceRequested

event ServiceRequested(uint64 requestId, uint64 blueprintId, address requester)

ServiceRequestedWithSecurity

event ServiceRequestedWithSecurity(uint64 requestId, uint64 blueprintId, address requester)

ServiceApproved

event ServiceApproved(uint64 requestId, address operator)

ServiceRejected

event ServiceRejected(uint64 requestId, address operator)

ServiceActivated

event ServiceActivated(uint64 serviceId, uint64 requestId, uint64 blueprintId)

ServiceTerminated

event ServiceTerminated(uint64 serviceId)

OperatorJoinedService

event OperatorJoinedService(uint64 serviceId, address operator, uint16 exposureBps)

OperatorLeftService

event OperatorLeftService(uint64 serviceId, address operator)

SubscriptionBilled

event SubscriptionBilled(uint64 serviceId, uint256 amount, uint64 period)