{
  "_format": "hh-sol-artifact-1",
  "contractName": "TRC6909ContentURI",
  "sourceName": "contracts/token/TRC6909/extensions/TRC6909ContentURI.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "allowance",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "needed",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "TRC6909InsufficientAllowance",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "sender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "balance",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "needed",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "TRC6909InsufficientBalance",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "approver",
          "type": "address"
        }
      ],
      "name": "TRC6909InvalidApprover",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "receiver",
          "type": "address"
        }
      ],
      "name": "TRC6909InvalidReceiver",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "sender",
          "type": "address"
        }
      ],
      "name": "TRC6909InvalidSender",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        }
      ],
      "name": "TRC6909InvalidSpender",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "Approval",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [],
      "name": "ContractURIUpdated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bool",
          "name": "approved",
          "type": "bool"
        }
      ],
      "name": "OperatorSet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "caller",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "sender",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "receiver",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "value",
          "type": "string"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "URI",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "allowance",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "approve",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "contractURI",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        }
      ],
      "name": "isOperator",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "internalType": "bool",
          "name": "approved",
          "type": "bool"
        }
      ],
      "name": "setOperator",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "interfaceId",
          "type": "bytes4"
        }
      ],
      "name": "supportsInterface",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "tokenURI",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "receiver",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "transfer",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "sender",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "receiver",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "transferFrom",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60808060405234601d57d3601d57d2601d576108bd90816100228239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c908162fdd58e146106725750806301ffc9a7146105f8578063095bcdb6146105d6578063426a84931461054d578063558a729714610486578063598af9e714610422578063b6363cf2146103c1578063c87b56dd146102d1578063e8a3d485146101ac5763fe99049a14610089575f80fd5b346101a857d36101a857d26101a85760803660031901126101a8576100ac6106ba565b6100b46106d9565b6001600160a01b0382169160643591604435913385141580610185575b6100eb575b6100e09450610755565b602060405160018152f35b5f85815260026020908152604080832033845282528083208684529091529020545f19811061011b575b506100d6565b8481106101575784906100e0965f52600260205260405f2060018060a01b0333165f5260205260405f20855f526020520360405f20555f610115565b604051630681656b60e51b815233600482015260248101919091526044810185905260648101849052608490fd5b505f85815260016020908152604080832033845290915290205460ff16156100d1565b5f80fd5b346101a857d36101a857d26101a8575f3660031901126101a8576040515f6003548060011c906001811680156102c7575b6020831081146102b3578285529081156102975750600114610242575b50819003601f01601f191681019067ffffffffffffffff82118183101761022e5761022a8291826040528261072b565b0390f35b634e487b7160e01b5f52604160045260245ffd5b905060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5f905b828210610281575060209150820101826101fa565b600181602092548385880101520191019061026c565b90506020925060ff191682840152151560051b820101826101fa565b634e487b7160e01b5f52602260045260245ffd5b91607f16916101dd565b346101a857d36101a857d26101a85760203660031901126101a8576004355f52600460205260405f20604051905f908054908160011c916001811680156103b7575b6020841081146102b3578386529081156103995750600114610361575b5050819003601f01601f191681019067ffffffffffffffff82118183101761022e5761022a8291826040528261072b565b9091505f5260205f205f905b8282106103835750602091508201018280610330565b600181602092548385880101520191019061036d565b9150506020925060ff191682840152151560051b8201018280610330565b92607f1692610313565b346101a857d36101a857d26101a85760403660031901126101a8576103e46106ba565b6103ec6106d9565b9060018060a01b03165f52600160205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b346101a857d36101a857d26101a85760603660031901126101a8576104456106ba565b61044d6106d9565b6001600160a01b039182165f90815260026020908152604080832094909316825292835281812060443582528352819020549051908152f35b346101a857d36101a857d26101a85760403660031901126101a8576104a96106ba565b602435908115158092036101a857331561053a576001600160a01b031690811561052757335f52600160205260405f20825f5260205260405f2060ff1981541660ff83161790556040519081527fceb576d9f15e4e200fdb5096d64d5dfd667e16def20c1eefd14256d8e3faa26760203392a3602060405160018152f35b631c99e77f60e31b5f525f60045260245ffd5b6379ce1f7760e01b5f525f60045260245ffd5b346101a857d36101a857d26101a857610565366106f8565b9091331561053a576001600160a01b031690811561052757335f52600260205260405f20825f5260205260405f20835f526020528060405f20556040519081527fb3fd5071835887567a0671151121894ddccc2842f1d10bedad13e0d17cace9a760203392a4602060405160018152f35b346101a857d36101a857d26101a8576100e06105f1366106f8565b9133610755565b346101a857d36101a857d26101a85760203660031901126101a85760043563ffffffff60e01b81168091036101a85760209063041b104b60e31b8114908115610647575b506040519015158152f35b630f632fb360e01b811491508115610661575b508261063c565b6301ffc9a760e01b1490508261065a565b346101a857d36101a857d26101a85760403660031901126101a8576020906001600160a01b036106a06106ba565b165f525f825260405f206024355f52825260405f20548152f35b6004356001600160a81b03811681036101a8576001600160a01b031690565b6024356001600160a81b03811681036101a8576001600160a01b031690565b60609060031901126101a8576004356001600160a81b03811681036101a8576001600160a01b0316906024359060443590565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b91926001600160a01b038316918215610866576001600160a01b031692831561085357825f525f60205260405f20855f5260205260405f20549082821061081a57508190835f525f60205260405f20865f526020520360405f2055825f525f60205260405f20845f5260205260405f20805491808301809311610806577f1b3d7edb2e9c0b0e7c525b20aaaef0f5940d2ed71663c7d39266ecafac72885992604092558151903382526020820152a4565b634e487b7160e01b5f52601160045260245ffd5b604051630cc122ef60e11b81526001600160a01b0391909116600482015260248101919091526044810182905260648101859052608490fd5b63102e5fab60e31b5f525f60045260245ffd5b634cdfa10760e11b5f525f60045260245ffdfea36474726f6e582212207c25cdaae9fdd3790257fc4384760682b5a62b5007fc7af5729e5db9a9f7604e6c6578706572696d656e74616cf564736f6c634300081a0041",
  "deployedBytecode": "0x6080806040526004361015610012575f80fd5b5f3560e01c908162fdd58e146106725750806301ffc9a7146105f8578063095bcdb6146105d6578063426a84931461054d578063558a729714610486578063598af9e714610422578063b6363cf2146103c1578063c87b56dd146102d1578063e8a3d485146101ac5763fe99049a14610089575f80fd5b346101a857d36101a857d26101a85760803660031901126101a8576100ac6106ba565b6100b46106d9565b6001600160a01b0382169160643591604435913385141580610185575b6100eb575b6100e09450610755565b602060405160018152f35b5f85815260026020908152604080832033845282528083208684529091529020545f19811061011b575b506100d6565b8481106101575784906100e0965f52600260205260405f2060018060a01b0333165f5260205260405f20855f526020520360405f20555f610115565b604051630681656b60e51b815233600482015260248101919091526044810185905260648101849052608490fd5b505f85815260016020908152604080832033845290915290205460ff16156100d1565b5f80fd5b346101a857d36101a857d26101a8575f3660031901126101a8576040515f6003548060011c906001811680156102c7575b6020831081146102b3578285529081156102975750600114610242575b50819003601f01601f191681019067ffffffffffffffff82118183101761022e5761022a8291826040528261072b565b0390f35b634e487b7160e01b5f52604160045260245ffd5b905060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5f905b828210610281575060209150820101826101fa565b600181602092548385880101520191019061026c565b90506020925060ff191682840152151560051b820101826101fa565b634e487b7160e01b5f52602260045260245ffd5b91607f16916101dd565b346101a857d36101a857d26101a85760203660031901126101a8576004355f52600460205260405f20604051905f908054908160011c916001811680156103b7575b6020841081146102b3578386529081156103995750600114610361575b5050819003601f01601f191681019067ffffffffffffffff82118183101761022e5761022a8291826040528261072b565b9091505f5260205f205f905b8282106103835750602091508201018280610330565b600181602092548385880101520191019061036d565b9150506020925060ff191682840152151560051b8201018280610330565b92607f1692610313565b346101a857d36101a857d26101a85760403660031901126101a8576103e46106ba565b6103ec6106d9565b9060018060a01b03165f52600160205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b346101a857d36101a857d26101a85760603660031901126101a8576104456106ba565b61044d6106d9565b6001600160a01b039182165f90815260026020908152604080832094909316825292835281812060443582528352819020549051908152f35b346101a857d36101a857d26101a85760403660031901126101a8576104a96106ba565b602435908115158092036101a857331561053a576001600160a01b031690811561052757335f52600160205260405f20825f5260205260405f2060ff1981541660ff83161790556040519081527fceb576d9f15e4e200fdb5096d64d5dfd667e16def20c1eefd14256d8e3faa26760203392a3602060405160018152f35b631c99e77f60e31b5f525f60045260245ffd5b6379ce1f7760e01b5f525f60045260245ffd5b346101a857d36101a857d26101a857610565366106f8565b9091331561053a576001600160a01b031690811561052757335f52600260205260405f20825f5260205260405f20835f526020528060405f20556040519081527fb3fd5071835887567a0671151121894ddccc2842f1d10bedad13e0d17cace9a760203392a4602060405160018152f35b346101a857d36101a857d26101a8576100e06105f1366106f8565b9133610755565b346101a857d36101a857d26101a85760203660031901126101a85760043563ffffffff60e01b81168091036101a85760209063041b104b60e31b8114908115610647575b506040519015158152f35b630f632fb360e01b811491508115610661575b508261063c565b6301ffc9a760e01b1490508261065a565b346101a857d36101a857d26101a85760403660031901126101a8576020906001600160a01b036106a06106ba565b165f525f825260405f206024355f52825260405f20548152f35b6004356001600160a81b03811681036101a8576001600160a01b031690565b6024356001600160a81b03811681036101a8576001600160a01b031690565b60609060031901126101a8576004356001600160a81b03811681036101a8576001600160a01b0316906024359060443590565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b91926001600160a01b038316918215610866576001600160a01b031692831561085357825f525f60205260405f20855f5260205260405f20549082821061081a57508190835f525f60205260405f20865f526020520360405f2055825f525f60205260405f20845f5260205260405f20805491808301809311610806577f1b3d7edb2e9c0b0e7c525b20aaaef0f5940d2ed71663c7d39266ecafac72885992604092558151903382526020820152a4565b634e487b7160e01b5f52601160045260245ffd5b604051630cc122ef60e11b81526001600160a01b0391909116600482015260248101919091526044810182905260648101859052608490fd5b63102e5fab60e31b5f525f60045260245ffd5b634cdfa10760e11b5f525f60045260245ffdfea36474726f6e582212207c25cdaae9fdd3790257fc4384760682b5a62b5007fc7af5729e5db9a9f7604e6c6578706572696d656e74616cf564736f6c634300081a0041",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
