export const ProfileRegistryAbi = [ { type: 'function', name: 'getAddressByName', inputs: [ { name: 'baseName', type: 'string', internalType: 'string' }, { name: 'name', type: 'string', internalType: 'string' }, ], outputs: [{ name: '', type: 'address', internalType: 'address' }], stateMutability: 'view', }, { type: 'function', name: 'getProfile', inputs: [{ name: 'user', type: 'address', internalType: 'address' }], outputs: [ { name: '', type: 'tuple', internalType: 'struct ProfileView', components: [ { name: 'nameAddress', type: 'address', internalType: 'address' }, { name: 'name', type: 'string', internalType: 'string' }, { name: 'image', type: 'tuple', internalType: 'struct Resource', components: [ { name: 'nftContract', type: 'address', internalType: 'address' }, { name: 'tokenId', type: 'uint256', internalType: 'uint256' }, ], }, { name: 'metadata', type: 'bytes32', internalType: 'bytes32' }, ], }, ], stateMutability: 'view', }, { type: 'function', name: 'nameGroups', inputs: [{ name: '', type: 'string', internalType: 'string' }], outputs: [{ name: '', type: 'address', internalType: 'address' }], stateMutability: 'view', }, { type: 'function', name: 'profiles', inputs: [{ name: '', type: 'address', internalType: 'address' }], outputs: [ { name: 'nameAddress', type: 'address', internalType: 'address' }, { name: 'image', type: 'tuple', internalType: 'struct Resource', components: [ { name: 'nftContract', type: 'address', internalType: 'address' }, { name: 'tokenId', type: 'uint256', internalType: 'uint256' }, ], }, { name: 'metadata', type: 'bytes32', internalType: 'bytes32' }, ], stateMutability: 'view', }, { type: 'function', name: 'registerProfileContract', inputs: [ { name: 'baseName', type: 'string', internalType: 'string' }, { name: 'profileNameGroup', type: 'address', internalType: 'address' }, ], outputs: [], stateMutability: 'nonpayable', }, { type: 'function', name: 'setProfileImage', inputs: [ { name: 'nftContract', type: 'address', internalType: 'address' }, { name: 'tokenId', type: 'uint256', internalType: 'uint256' }, ], outputs: [], stateMutability: 'nonpayable', }, { type: 'function', name: 'setProfileMetadata', inputs: [{ name: 'metadata', type: 'bytes32', internalType: 'bytes32' }], outputs: [], stateMutability: 'nonpayable', }, { type: 'function', name: 'setProfileName', inputs: [ { name: 'nameContract', type: 'address', internalType: 'address' }, { name: 'newName', type: 'string', internalType: 'string' }, ], outputs: [], stateMutability: 'nonpayable', }, { type: 'function', name: 'updateProfile', inputs: [ { name: 'nameContract', type: 'address', internalType: 'address' }, { name: 'newName', type: 'string', internalType: 'string' }, { name: 'nftContract', type: 'address', internalType: 'address' }, { name: 'tokenId', type: 'uint256', internalType: 'uint256' }, { name: 'metadata', type: 'bytes32', internalType: 'bytes32' }, ], outputs: [], stateMutability: 'nonpayable', }, { type: 'function', name: 'validateProfileImage', inputs: [{ name: 'user', type: 'address', internalType: 'address' }], outputs: [{ name: '', type: 'bool', internalType: 'bool' }], stateMutability: 'view', }, { type: 'event', name: 'ProfileImageUpdated', inputs: [ { name: 'user', type: 'address', indexed: true, internalType: 'address' }, { name: 'nftContract', type: 'address', indexed: false, internalType: 'address', }, { name: 'tokenId', type: 'uint256', indexed: false, internalType: 'uint256', }, ], anonymous: false, }, { type: 'event', name: 'ProfileMetadataUpdated', inputs: [ { name: 'user', type: 'address', indexed: true, internalType: 'address' }, { name: 'metadata', type: 'bytes32', indexed: false, internalType: 'bytes32', }, ], anonymous: false, }, { type: 'event', name: 'ProfileNameGroupCreated', inputs: [ { name: 'nameContract', type: 'address', indexed: true, internalType: 'address', }, { name: 'baseName', type: 'string', indexed: false, internalType: 'string', }, ], anonymous: false, }, { type: 'event', name: 'ProfileNameUpdated', inputs: [ { name: 'user', type: 'address', indexed: true, internalType: 'address' }, { name: 'nameContract', type: 'address', indexed: false, internalType: 'address', }, { name: 'name', type: 'string', indexed: false, internalType: 'string' }, ], anonymous: false, }, ] as const;