- Start Here
- Networks
- Access Control List (ACL)
- Accounts (Addresses)
- Simulator
- Audits
- Unpack
- Abstract Syntax Tree (AST)
- Get Contract ASTGET
- Get Contract ConstantsGET
- Get Contract ConstructorsGET
- Get Contract DefinitionsGET
- Get Contract DocumentationGET
- Get Contract EnumsGET
- Get Contract ErrorsGET
- Get Contract EventsGET
- Get Contract FunctionsGET
- Get Contract ImportsGET
- Get Contract InterfacesGET
- Get Contract LibrariesGET
- Get Contract LicenseGET
- Get Contract State VariablesGET
- Get Contract StatisticsGET
- Get Contract StructsGET
- Control Flow Graphs (CFG)
- Constructors
- Contracts
- Metadata
- Tokens
- Variables
- Functions
- Events
- Standards
- Statistics
Get Contract Functions
GET
https://api.unpack.dev/v1/ast/{networkId}/{address}/functions
Abstract Syntax Tree (AST)
Last modified:2024-05-31 11:02:21
Request
Authorization
Provide your bearer token in the
Authorization
header when making requests to protected resources.Example:
Authorization: Bearer ********************
Path Params
networkId
integer <int64>
required
Default:
1
Example:
1
address
string
required
>= 42 characters<= 42 characters
Example:
0x5dbad78818d4c8958eff2d5b95b28385a22113cd
Request samples
Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request GET 'https://api.unpack.dev/v1/ast/1/0x5dbad78818d4c8958eff2d5b95b28385a22113cd/functions'
Responses
🟢200OK
application/json
Body
$schema
string <uri>
read-onlyoptional
Example:
https://api.unpack.dev/schemas/AstFunctions.json
contractAddress
string
required
contractId
string
required
functions
array[object (Function) {21}]
required
body
object (BodyNode)
required
id
integer <int64>
required
implemented
boolean
required
kind
integer <int32>
required
modifiers
array[object (ModifierInvocation) {8}]
required
name
string
required
nameLocation
object (SrcNode)
required
nodeType
integer <int32>
required
overrides
array[object (OverrideSpecifier) {6}]
required
parameters
object (ParameterList)
required
referencedDeclaration
integer <int64>
optional
returnParameters
object (ParameterList)
required
scope
integer <int64>
required
signature
string
required
signatureRaw
string
required
src
object (SrcNode)
required
stateMutability
integer <int32>
required
text
string
optional
typeDescription
object (TypeDescription)
required
virtual
boolean
required
visibility
integer <int32>
required
networkId
object (Int)
required
total
integer <int64>
required
Example
{
"$schema": "https://api.unpack.dev/schemas/AstFunctions.json",
"contractAddress": "string",
"contractId": "string",
"functions": [
{
"body": {
"id": 0,
"implemented": true,
"kind": 0,
"nodeType": 0,
"src": {
"column": 0,
"end": 0,
"length": 0,
"line": 0,
"parentIndex": 0,
"start": 0
},
"statements": [
null
]
},
"id": 0,
"implemented": true,
"kind": 0,
"modifiers": [
{
"argumentTypes": [
{
"typeIdentifier": "string",
"typeString": "string"
}
],
"arguments": [
null
],
"id": 0,
"kind": 0,
"modifierName": {
"id": 0,
"name": "string",
"nodeType": 0,
"src": {
"column": 0,
"end": 0,
"length": 0,
"line": 0,
"parentIndex": 0,
"start": 0
}
},
"name": "string",
"nodeType": 0,
"src": {
"column": 0,
"end": 0,
"length": 0,
"line": 0,
"parentIndex": 0,
"start": 0
}
}
],
"name": "string",
"nameLocation": {
"column": 0,
"end": 0,
"length": 0,
"line": 0,
"parentIndex": 0,
"start": 0
},
"nodeType": 0,
"overrides": [
{
"id": 0,
"nodeType": 0,
"overrides": [
{
"id": 0,
"name": "string",
"nodeType": 0,
"referencedDeclaration": 0,
"src": {
"column": 0,
"end": 0,
"length": 0,
"line": 0,
"parentIndex": 0,
"start": 0
},
"typeDescription": {
"typeIdentifier": "string",
"typeString": "string"
}
}
],
"referencedDeclaration": 0,
"src": {
"column": 0,
"end": 0,
"length": 0,
"line": 0,
"parentIndex": 0,
"start": 0
},
"typeDescriptions": {
"typeIdentifier": "string",
"typeString": "string"
}
}
],
"parameters": {
"id": 0,
"nodeType": 0,
"parameterTypes": [
{
"typeIdentifier": "string",
"typeString": "string"
}
],
"parameters": [
{
"constant": true,
"id": 0,
"indexed": true,
"name": "string",
"nameLocation": {
"column": 0,
"end": 0,
"length": 0,
"line": 0,
"parentIndex": 0,
"start": 0
},
"nodeType": 0,
"scope": 0,
"src": {
"column": 0,
"end": 0,
"length": 0,
"line": 0,
"parentIndex": 0,
"start": 0
},
"stateMutability": 0,
"stateVariable": true,
"storageLocation": 0,
"typeDescription": {
"typeIdentifier": "string",
"typeString": "string"
},
"typeName": {
"expression": null,
"id": 0,
"keyNameLocation": {
"column": 0,
"end": 0,
"length": 0,
"line": 0,
"parentIndex": 0,
"start": 0
},
"keyType": {},
"name": "string",
"nodeType": 0,
"pathNode": {
"id": 0,
"name": "string",
"nameLocation": {
"column": 0,
"end": 0,
"length": 0,
"line": 0,
"parentIndex": 0,
"start": 0
},
"nodeType": 0,
"referencedDeclaration": 0,
"src": {
"column": 0,
"end": 0,
"length": 0,
"line": 0,
"parentIndex": 0,
"start": 0
},
"typeDescription": {
"typeIdentifier": "string",
"typeString": "string"
}
},
"referencedDeclaration": 0,
"src": {
"column": 0,
"end": 0,
"length": 0,
"line": 0,
"parentIndex": 0,
"start": 0
},
"stateMutability": 0,
"typeDescription": {
"typeIdentifier": "string",
"typeString": "string"
},
"valueNameLocation": {
"column": 0,
"end": 0,
"length": 0,
"line": 0,
"parentIndex": 0,
"start": 0
},
"valueType": {}
},
"visibility": 0
}
],
"src": {
"column": 0,
"end": 0,
"length": 0,
"line": 0,
"parentIndex": 0,
"start": 0
}
},
"referencedDeclaration": 0,
"returnParameters": {
"id": 0,
"nodeType": 0,
"parameterTypes": [
{
"typeIdentifier": "string",
"typeString": "string"
}
],
"parameters": [
{
"constant": true,
"id": 0,
"indexed": true,
"name": "string",
"nameLocation": {
"column": 0,
"end": 0,
"length": 0,
"line": 0,
"parentIndex": 0,
"start": 0
},
"nodeType": 0,
"scope": 0,
"src": {
"column": 0,
"end": 0,
"length": 0,
"line": 0,
"parentIndex": 0,
"start": 0
},
"stateMutability": 0,
"stateVariable": true,
"storageLocation": 0,
"typeDescription": {
"typeIdentifier": "string",
"typeString": "string"
},
"typeName": {
"expression": null,
"id": 0,
"keyNameLocation": {
"column": 0,
"end": 0,
"length": 0,
"line": 0,
"parentIndex": 0,
"start": 0
},
"keyType": {},
"name": "string",
"nodeType": 0,
"pathNode": {
"id": 0,
"name": "string",
"nameLocation": {
"column": 0,
"end": 0,
"length": 0,
"line": 0,
"parentIndex": 0,
"start": 0
},
"nodeType": 0,
"referencedDeclaration": 0,
"src": {
"column": 0,
"end": 0,
"length": 0,
"line": 0,
"parentIndex": 0,
"start": 0
},
"typeDescription": {
"typeIdentifier": "string",
"typeString": "string"
}
},
"referencedDeclaration": 0,
"src": {
"column": 0,
"end": 0,
"length": 0,
"line": 0,
"parentIndex": 0,
"start": 0
},
"stateMutability": 0,
"typeDescription": {
"typeIdentifier": "string",
"typeString": "string"
},
"valueNameLocation": {
"column": 0,
"end": 0,
"length": 0,
"line": 0,
"parentIndex": 0,
"start": 0
},
"valueType": {}
},
"visibility": 0
}
],
"src": {
"column": 0,
"end": 0,
"length": 0,
"line": 0,
"parentIndex": 0,
"start": 0
}
},
"scope": 0,
"signature": "string",
"signatureRaw": "string",
"src": {
"column": 0,
"end": 0,
"length": 0,
"line": 0,
"parentIndex": 0,
"start": 0
},
"stateMutability": 0,
"text": "string",
"typeDescription": {
"typeIdentifier": "string",
"typeString": "string"
},
"virtual": true,
"visibility": 0
}
],
"networkId": {},
"total": 0
}
🔴500Error
Modified at 2024-05-31 11:02:21