[{"type":"constructor","inputs":[{"name":"artifactRegistry_","type":"address","internalType":"address"},{"name":"harnessRegistry_","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"ATTRIBUTION_ID_DOMAIN","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"MAX_ENTRIES","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_TAG_BYTES","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"SUBJECT_ID_DOMAIN","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"artifactRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IKeelArtifactRegistry"}],"stateMutability":"view"},{"type":"function","name":"attribution","inputs":[{"name":"subjectKind","type":"uint8","internalType":"enum KeelAttributionRegistry.SubjectKind"},{"name":"subjectId","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"},{"name":"tag","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"tuple","internalType":"struct KeelAttributionRegistry.Attribution","components":[{"name":"account","type":"address","internalType":"address"},{"name":"tagId","type":"bytes32","internalType":"bytes32"},{"name":"tag","type":"string","internalType":"string"},{"name":"createdAt","type":"uint64","internalType":"uint64"},{"name":"updatedAt","type":"uint64","internalType":"uint64"},{"name":"publisher","type":"address","internalType":"address"},{"name":"active","type":"bool","internalType":"bool"},{"name":"verified","type":"bool","internalType":"bool"},{"name":"exists","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"attributionById","inputs":[{"name":"id","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct KeelAttributionRegistry.Attribution","components":[{"name":"account","type":"address","internalType":"address"},{"name":"tagId","type":"bytes32","internalType":"bytes32"},{"name":"tag","type":"string","internalType":"string"},{"name":"createdAt","type":"uint64","internalType":"uint64"},{"name":"updatedAt","type":"uint64","internalType":"uint64"},{"name":"publisher","type":"address","internalType":"address"},{"name":"active","type":"bool","internalType":"bool"},{"name":"verified","type":"bool","internalType":"bool"},{"name":"exists","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"attributionCount","inputs":[{"name":"subjectKind","type":"uint8","internalType":"enum KeelAttributionRegistry.SubjectKind"},{"name":"subjectId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"attributionId","inputs":[{"name":"subjectKind","type":"uint8","internalType":"enum KeelAttributionRegistry.SubjectKind"},{"name":"subjectId","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"},{"name":"tag","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"canManage","inputs":[{"name":"subjectKind","type":"uint8","internalType":"enum KeelAttributionRegistry.SubjectKind"},{"name":"subjectId","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"harnessRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IKeelHarnessRegistry"}],"stateMutability":"view"},{"type":"function","name":"removeAttribution","inputs":[{"name":"subjectKind","type":"uint8","internalType":"enum KeelAttributionRegistry.SubjectKind"},{"name":"subjectId","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"},{"name":"tag","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setAttribution","inputs":[{"name":"subjectKind","type":"uint8","internalType":"enum KeelAttributionRegistry.SubjectKind"},{"name":"subjectId","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"},{"name":"tag","type":"string","internalType":"string"},{"name":"active","type":"bool","internalType":"bool"}],"outputs":[{"name":"id","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"subjectAttributionIds","inputs":[{"name":"subjectKind","type":"uint8","internalType":"enum KeelAttributionRegistry.SubjectKind"},{"name":"subjectId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"subjectKey","inputs":[{"name":"subjectKind","type":"uint8","internalType":"enum KeelAttributionRegistry.SubjectKind"},{"name":"subjectId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"tagIdFor","inputs":[{"name":"tag","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"event","name":"AttributionUpdated","inputs":[{"name":"subjectId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"subjectKind","type":"uint8","indexed":true,"internalType":"enum KeelAttributionRegistry.SubjectKind"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"tagId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"tag","type":"string","indexed":false,"internalType":"string"},{"name":"active","type":"bool","indexed":false,"internalType":"bool"},{"name":"verified","type":"bool","indexed":false,"internalType":"bool"},{"name":"publisher","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AttributionMissing","inputs":[]},{"type":"error","name":"InvalidAccount","inputs":[]},{"type":"error","name":"InvalidContract","inputs":[]},{"type":"error","name":"InvalidTag","inputs":[]},{"type":"error","name":"SubjectMissing","inputs":[]},{"type":"error","name":"TooManyAttributions","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]},{"type":"error","name":"ZeroAddress","inputs":[]}]
