Functions library API Reference
Consumer contract developers use the Functions library to build their requests.
Types and Constants
DEFAULT_BUFFER_SIZE
uint256 DEFAULT_BUFFER_SIZELocation
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 pureInitializes 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 pureInitializes 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 pureAdds 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 pureAdds 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 pureAdds 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) |