NEW

Connect the world's APIs to Web3 with Chainlink Functions. Get started

Functions library API Reference

Consumer contract developers use the Functions library to build their requests.

Types and Constants

DEFAULT_BUFFER_SIZE

uint256 DEFAULT_BUFFER_SIZE

Location

enum Location {
  Inline,
  Remote
}

CodeLanguage

enum CodeLanguage {
  JavaScript
}

Request

struct Request {
  enum Functions.Location codeLocation;
  enum Functions.Location secretsLocation;
  enum Functions.CodeLanguage language;
  string source;
  bytes secrets;
  string[] args;
}

Errors

EmptySource

error EmptySource()

EmptyUrl

error EmptyUrl()

EmptySecrets

error EmptySecrets()

EmptyArgs

error EmptyArgs()

Functions

encodeCBOR

function encodeCBOR(struct Functions.Request self) internal pure returns (bytes)

Encodes a Request to CBOR encoded bytes

Parameters

Name Type Description
self struct Functions.Request The request to encode

Return Values

Name Type Description
[0] bytes CBOR encoded bytes

initializeRequest

function initializeRequest(struct Functions.Request self, enum Functions.Location location, enum Functions.CodeLanguage language, string source) internal pure

Initializes a Chainlink Functions Request

Sets the codeLocation and code on the request

Parameters

Name Type Description
self struct Functions.Request The uninitialized request
location enum Functions.Location The user provided source code location
language enum Functions.CodeLanguage The programming language of the user code
source string The user provided source code or a url

initializeRequestForInlineJavaScript

function initializeRequestForInlineJavaScript(struct Functions.Request self, string javaScriptSource) internal pure

Initializes a Chainlink Functions Request

Simplified version of initializeRequest for PoC

Parameters

Name Type Description
self struct Functions.Request The uninitialized request
javaScriptSource string The user provided JS code (must not be empty)

addInlineSecrets

function addInlineSecrets(struct Functions.Request self, bytes secrets) internal pure

Adds Inline user encrypted secrets to a Request

Parameters

Name Type Description
self struct Functions.Request The initialized request
secrets bytes The user encrypted secrets (must not be empty)

addRemoteSecrets

function addRemoteSecrets(struct Functions.Request self, bytes encryptedSecretsURLs) internal pure

Adds Remote user encrypted secrets to a Request

Parameters

Name Type Description
self struct Functions.Request The initialized request
encryptedSecretsURLs bytes Encrypted comma-separated string of URLs pointing to off-chain secrets

addArgs

function addArgs(struct Functions.Request self, string[] args) internal pure

Adds args for the user run function

Parameters

Name Type Description
self struct Functions.Request The initialized request
args string[] The array of args (must not be empty)

Stay updated on the latest Chainlink news