Execution Delegate
The ExecutionDelegate
contract is a proxy contract to manage user token approvals.
Methods
transferERC721()
function transferERC721(address collection, address from, address to, uint256 tokenId)
Transfer a ERC721 token using safeTransferFrom
.
collection
address
address of the NFT collection
from
address
address to send the NFT
to
address
address to receive the NFT
tokenId
uint256
token id to transfer
transferERC1155()
function transferERC1155(address collection, address from, address to, uint256 tokenId, uint256 amount)
Transfer ERC1155 tokens using safeTransferFrom
.
collection
address
address of the NFT collection
from
address
address to send the NFT
to
address
address to receive the NFT
tokenId
uint256
token id to transfer
amount
uint256
amount of tokens to transfer
transferERC20()
function transferERC20(address token, address from, address to, uint256 amount)
Transfer ERC20 tokens.
token
address
address of the token
from
address
address to send the tokens
to
address
address to receive the tokens
amount
uint256
amount of tokens to transfer
ABI
Execution Delegate ABI
{
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_contract",
"type": "address"
}
],
"name": "approveContract",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_contract",
"type": "address"
}
],
"name": "denyContract",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "grantApproval",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "revokeApproval",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "collection",
"type": "address"
},
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transferERC1155",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transferERC20",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "collection",
"type": "address"
},
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "transferERC721",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "collection",
"type": "address"
},
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "transferERC721Unsafe",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": {
"object": "0x",
"sourceMap": "",
"linkReferences": {}
},
"deployedBytecode": {
"object": "0x",
"sourceMap": "",
"linkReferences": {}
},
"methodIdentifiers": {
"approveContract(address)": "07f7aafb",
"denyContract(address)": "b7e2077e",
"grantApproval()": "a8034df1",
"revokeApproval()": "90d02b3c",
"transferERC1155(address,address,address,uint256,uint256)": "74a9402e",
"transferERC20(address,address,address,uint256)": "da3e8ce4",
"transferERC721(address,address,address,uint256)": "789f93f6",
"transferERC721Unsafe(address,address,address,uint256)": "ca72da8e"
},
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.16+commit.07a7930e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contract\",\"type\":\"address\"}],\"name\":\"approveContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contract\",\"type\":\"address\"}],\"name\":\"denyContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"grantApproval\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"revokeApproval\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"collection\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferERC1155\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferERC20\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"collection\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferERC721\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"collection\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferERC721Unsafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interfaces/IExecutionDelegate.sol\":\"IExecutionDelegate\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=lib/chainlink/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":chainlink/=lib/chainlink/integration-tests/contracts/ethereum/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"src/interfaces/IExecutionDelegate.sol\":{\"keccak256\":\"0x9def180c3c45c492a967182aac61849fc1a77ca9f958abd3f27b689b01e61401\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cf406e8af1c9fa6373a66615022cd5c7edc41c169c46d660d5383df6647d3a5d\",\"dweb:/ipfs/QmRz7aDGbabWAw3BGFV2kbSmehGizSz3f7W87k6VXR3ggR\"]}},\"version\":1}",
"metadata": {
"compiler": {
"version": "0.8.16+commit.07a7930e"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_contract",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "approveContract"
},
{
"inputs": [
{
"internalType": "address",
"name": "_contract",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "denyContract"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "grantApproval"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "revokeApproval"
},
{
"inputs": [
{
"internalType": "address",
"name": "collection",
"type": "address"
},
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "transferERC1155"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "transferERC20"
},
{
"inputs": [
{
"internalType": "address",
"name": "collection",
"type": "address"
},
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "transferERC721"
},
{
"inputs": [
{
"internalType": "address",
"name": "collection",
"type": "address"
},
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "transferERC721Unsafe"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"remappings": [
":@chainlink/=lib/chainlink/",
":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
":chainlink/=lib/chainlink/integration-tests/contracts/ethereum/src/",
":ds-test/=lib/forge-std/lib/ds-test/src/",
":forge-std/=lib/forge-std/src/"
],
"optimizer": {
"enabled": true,
"runs": 200
},
"metadata": {
"bytecodeHash": "ipfs"
},
"compilationTarget": {
"src/interfaces/IExecutionDelegate.sol": "IExecutionDelegate"
},
"libraries": {}
},
"sources": {
"src/interfaces/IExecutionDelegate.sol": {
"keccak256": "0x9def180c3c45c492a967182aac61849fc1a77ca9f958abd3f27b689b01e61401",
"urls": [
"bzz-raw://cf406e8af1c9fa6373a66615022cd5c7edc41c169c46d660d5383df6647d3a5d",
"dweb:/ipfs/QmRz7aDGbabWAw3BGFV2kbSmehGizSz3f7W87k6VXR3ggR"
],
"license": "MIT"
}
},
"version": 1
},
"ast": {
"absolutePath": "src/interfaces/IExecutionDelegate.sol",
"id": 49195,
"exportedSymbols": {
"IExecutionDelegate": [
49194
]
},
"nodeType": "SourceUnit",
"src": "32:673:111",
"nodes": [
{
"id": 49131,
"nodeType": "PragmaDirective",
"src": "32:23:111",
"nodes": [],
"literals": [
"solidity",
"0.8",
".16"
]
},
{
"id": 49194,
"nodeType": "ContractDefinition",
"src": "57:648:111",
"nodes": [
{
"id": 49136,
"nodeType": "FunctionDefinition",
"src": "92:53:111",
"nodes": [],
"functionSelector": "07f7aafb",
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "approveContract",
"nameLocation": "101:15:111",
"parameters": {
"id": 49134,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 49133,
"mutability": "mutable",
"name": "_contract",
"nameLocation": "125:9:111",
"nodeType": "VariableDeclaration",
"scope": 49136,
"src": "117:17:111",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 49132,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "117:7:111",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "116:19:111"
},
"returnParameters": {
"id": 49135,
"nodeType": "ParameterList",
"parameters": [],
"src": "144:0:111"
},
"scope": 49194,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"id": 49141,
"nodeType": "FunctionDefinition",
"src": "150:50:111",
"nodes": [],
"functionSelector": "b7e2077e",
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "denyContract",
"nameLocation": "159:12:111",
"parameters": {
"id": 49139,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 49138,
"mutability": "mutable",
"name": "_contract",
"nameLocation": "180:9:111",
"nodeType": "VariableDeclaration",
"scope": 49141,
"src": "172:17:111",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 49137,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "172:7:111",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "171:19:111"
},
"returnParameters": {
"id": 49140,
"nodeType": "ParameterList",
"parameters": [],
"src": "199:0:111"
},
"scope": 49194,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"id": 49144,
"nodeType": "FunctionDefinition",
"src": "205:35:111",
"nodes": [],
"functionSelector": "90d02b3c",
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "revokeApproval",
"nameLocation": "214:14:111",
"parameters": {
"id": 49142,
"nodeType": "ParameterList",
"parameters": [],
"src": "228:2:111"
},
"returnParameters": {
"id": 49143,
"nodeType": "ParameterList",
"parameters": [],
"src": "239:0:111"
},
"scope": 49194,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"id": 49147,
"nodeType": "FunctionDefinition",
"src": "245:34:111",
"nodes": [],
"functionSelector": "a8034df1",
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "grantApproval",
"nameLocation": "254:13:111",
"parameters": {
"id": 49145,
"nodeType": "ParameterList",
"parameters": [],
"src": "267:2:111"
},
"returnParameters": {
"id": 49146,
"nodeType": "ParameterList",
"parameters": [],
"src": "278:0:111"
},
"scope": 49194,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"id": 49158,
"nodeType": "FunctionDefinition",
"src": "285:102:111",
"nodes": [],
"functionSelector": "ca72da8e",
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "transferERC721Unsafe",
"nameLocation": "294:20:111",
"parameters": {
"id": 49156,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 49149,
"mutability": "mutable",
"name": "collection",
"nameLocation": "323:10:111",
"nodeType": "VariableDeclaration",
"scope": 49158,
"src": "315:18:111",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 49148,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "315:7:111",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 49151,
"mutability": "mutable",
"name": "from",
"nameLocation": "343:4:111",
"nodeType": "VariableDeclaration",
"scope": 49158,
"src": "335:12:111",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 49150,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "335:7:111",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 49153,
"mutability": "mutable",
"name": "to",
"nameLocation": "357:2:111",
"nodeType": "VariableDeclaration",
"scope": 49158,
"src": "349:10:111",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 49152,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "349:7:111",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 49155,
"mutability": "mutable",
"name": "tokenId",
"nameLocation": "369:7:111",
"nodeType": "VariableDeclaration",
"scope": 49158,
"src": "361:15:111",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 49154,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "361:7:111",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "314:63:111"
},
"returnParameters": {
"id": 49157,
"nodeType": "ParameterList",
"parameters": [],
"src": "386:0:111"
},
"scope": 49194,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"id": 49169,
"nodeType": "FunctionDefinition",
"src": "393:96:111",
"nodes": [],
"functionSelector": "789f93f6",
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "transferERC721",
"nameLocation": "402:14:111",
"parameters": {
"id": 49167,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 49160,
"mutability": "mutable",
"name": "collection",
"nameLocation": "425:10:111",
"nodeType": "VariableDeclaration",
"scope": 49169,
"src": "417:18:111",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 49159,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "417:7:111",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 49162,
"mutability": "mutable",
"name": "from",
"nameLocation": "445:4:111",
"nodeType": "VariableDeclaration",
"scope": 49169,
"src": "437:12:111",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 49161,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "437:7:111",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 49164,
"mutability": "mutable",
"name": "to",
"nameLocation": "459:2:111",
"nodeType": "VariableDeclaration",
"scope": 49169,
"src": "451:10:111",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 49163,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "451:7:111",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 49166,
"mutability": "mutable",
"name": "tokenId",
"nameLocation": "471:7:111",
"nodeType": "VariableDeclaration",
"scope": 49169,
"src": "463:15:111",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 49165,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "463:7:111",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "416:63:111"
},
"returnParameters": {
"id": 49168,
"nodeType": "ParameterList",
"parameters": [],
"src": "488:0:111"
},
"scope": 49194,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"id": 49182,
"nodeType": "FunctionDefinition",
"src": "495:113:111",
"nodes": [],
"functionSelector": "74a9402e",
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "transferERC1155",
"nameLocation": "504:15:111",
"parameters": {
"id": 49180,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 49171,
"mutability": "mutable",
"name": "collection",
"nameLocation": "528:10:111",
"nodeType": "VariableDeclaration",
"scope": 49182,
"src": "520:18:111",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 49170,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "520:7:111",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 49173,
"mutability": "mutable",
"name": "from",
"nameLocation": "548:4:111",
"nodeType": "VariableDeclaration",
"scope": 49182,
"src": "540:12:111",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 49172,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "540:7:111",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 49175,
"mutability": "mutable",
"name": "to",
"nameLocation": "562:2:111",
"nodeType": "VariableDeclaration",
"scope": 49182,
"src": "554:10:111",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 49174,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "554:7:111",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 49177,
"mutability": "mutable",
"name": "tokenId",
"nameLocation": "574:7:111",
"nodeType": "VariableDeclaration",
"scope": 49182,
"src": "566:15:111",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 49176,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "566:7:111",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 49179,
"mutability": "mutable",
"name": "amount",
"nameLocation": "591:6:111",
"nodeType": "VariableDeclaration",
"scope": 49182,
"src": "583:14:111",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 49178,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "583:7:111",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "519:79:111"
},
"returnParameters": {
"id": 49181,
"nodeType": "ParameterList",
"parameters": [],
"src": "607:0:111"
},
"scope": 49194,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"id": 49193,
"nodeType": "FunctionDefinition",
"src": "614:89:111",
"nodes": [],
"functionSelector": "da3e8ce4",
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "transferERC20",
"nameLocation": "623:13:111",
"parameters": {
"id": 49191,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 49184,
"mutability": "mutable",
"name": "token",
"nameLocation": "645:5:111",
"nodeType": "VariableDeclaration",
"scope": 49193,
"src": "637:13:111",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 49183,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "637:7:111",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 49186,
"mutability": "mutable",
"name": "from",
"nameLocation": "660:4:111",
"nodeType": "VariableDeclaration",
"scope": 49193,
"src": "652:12:111",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 49185,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "652:7:111",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 49188,
"mutability": "mutable",
"name": "to",
"nameLocation": "674:2:111",
"nodeType": "VariableDeclaration",
"scope": 49193,
"src": "666:10:111",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 49187,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "666:7:111",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 49190,
"mutability": "mutable",
"name": "amount",
"nameLocation": "686:6:111",
"nodeType": "VariableDeclaration",
"scope": 49193,
"src": "678:14:111",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 49189,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "678:7:111",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "636:57:111"
},
"returnParameters": {
"id": 49192,
"nodeType": "ParameterList",
"parameters": [],
"src": "702:0:111"