@allo-team/allo-v2-sdk
Version:
916 lines (912 loc) • 17.6 kB
text/typescript
import { Address, Chain } from "viem";
const DEFAULT_ADDRESS: Address = "0x4AAcca72145e1dF2aeC137E1f3C5E3D75DB8b5f3";
export const getAddress = (chain: Chain): `0x${string}` => {
switch (chain.id) {
case 300: // ZkSync Era Testnet
case 324: // ZkSync Era Mainnet
return "0xaa376Ef759c1f5A8b0B5a1e2FEC5C23f3bF30246";
case 314159: // Filecoin Calibration
return "0xb91DBEb018789d712EDC1a9e6C6AdC891BD5Ec2c"
default:
return DEFAULT_ADDRESS;
}
};
export const abi = [
{
inputs: [
{
internalType: "address",
name: "_owner",
type: "address",
},
],
stateMutability: "nonpayable",
type: "constructor",
},
{
inputs: [],
name: "AMOUNT_MISMATCH",
type: "error",
},
{
inputs: [],
name: "NONCE_NOT_AVAILABLE",
type: "error",
},
{
inputs: [],
name: "NOT_PENDING_OWNER",
type: "error",
},
{
inputs: [],
name: "UNAUTHORIZED",
type: "error",
},
{
inputs: [],
name: "ZERO_ADDRESS",
type: "error",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "bytes32",
name: "profileId",
type: "bytes32",
},
{
indexed: false,
internalType: "uint256",
name: "nonce",
type: "uint256",
},
{
indexed: false,
internalType: "string",
name: "name",
type: "string",
},
{
components: [
{
internalType: "uint256",
name: "protocol",
type: "uint256",
},
{
internalType: "string",
name: "pointer",
type: "string",
},
],
indexed: false,
internalType: "struct Metadata",
name: "metadata",
type: "tuple",
},
{
indexed: false,
internalType: "address",
name: "owner",
type: "address",
},
{
indexed: false,
internalType: "address",
name: "anchor",
type: "address",
},
],
name: "ProfileCreated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "bytes32",
name: "profileId",
type: "bytes32",
},
{
components: [
{
internalType: "uint256",
name: "protocol",
type: "uint256",
},
{
internalType: "string",
name: "pointer",
type: "string",
},
],
indexed: false,
internalType: "struct Metadata",
name: "metadata",
type: "tuple",
},
],
name: "ProfileMetadataUpdated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "bytes32",
name: "profileId",
type: "bytes32",
},
{
indexed: false,
internalType: "string",
name: "name",
type: "string",
},
{
indexed: false,
internalType: "address",
name: "anchor",
type: "address",
},
],
name: "ProfileNameUpdated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "bytes32",
name: "profileId",
type: "bytes32",
},
{
indexed: false,
internalType: "address",
name: "owner",
type: "address",
},
],
name: "ProfileOwnerUpdated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "bytes32",
name: "profileId",
type: "bytes32",
},
{
indexed: false,
internalType: "address",
name: "pendingOwner",
type: "address",
},
],
name: "ProfilePendingOwnerUpdated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "bytes32",
name: "role",
type: "bytes32",
},
{
indexed: true,
internalType: "bytes32",
name: "previousAdminRole",
type: "bytes32",
},
{
indexed: true,
internalType: "bytes32",
name: "newAdminRole",
type: "bytes32",
},
],
name: "RoleAdminChanged",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "bytes32",
name: "role",
type: "bytes32",
},
{
indexed: true,
internalType: "address",
name: "account",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "sender",
type: "address",
},
],
name: "RoleGranted",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "bytes32",
name: "role",
type: "bytes32",
},
{
indexed: true,
internalType: "address",
name: "account",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "sender",
type: "address",
},
],
name: "RoleRevoked",
type: "event",
},
{
inputs: [],
name: "ALLO_OWNER",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "DEFAULT_ADMIN_ROLE",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "NATIVE",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "bytes32",
name: "_profileId",
type: "bytes32",
},
],
name: "acceptProfileOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "bytes32",
name: "_profileId",
type: "bytes32",
},
{
internalType: "address[]",
name: "_members",
type: "address[]",
},
],
name: "addMembers",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
name: "anchorToProfileId",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "_nonce",
type: "uint256",
},
{
internalType: "string",
name: "_name",
type: "string",
},
{
components: [
{
internalType: "uint256",
name: "protocol",
type: "uint256",
},
{
internalType: "string",
name: "pointer",
type: "string",
},
],
internalType: "struct Metadata",
name: "_metadata",
type: "tuple",
},
{
internalType: "address",
name: "_owner",
type: "address",
},
{
internalType: "address[]",
name: "_members",
type: "address[]",
},
],
name: "createProfile",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "_anchor",
type: "address",
},
],
name: "getProfileByAnchor",
outputs: [
{
components: [
{
internalType: "bytes32",
name: "id",
type: "bytes32",
},
{
internalType: "uint256",
name: "nonce",
type: "uint256",
},
{
internalType: "string",
name: "name",
type: "string",
},
{
components: [
{
internalType: "uint256",
name: "protocol",
type: "uint256",
},
{
internalType: "string",
name: "pointer",
type: "string",
},
],
internalType: "struct Metadata",
name: "metadata",
type: "tuple",
},
{
internalType: "address",
name: "owner",
type: "address",
},
{
internalType: "address",
name: "anchor",
type: "address",
},
],
internalType: "struct IRegistry.Profile",
name: "",
type: "tuple",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "bytes32",
name: "profileId",
type: "bytes32",
},
],
name: "getProfileById",
outputs: [
{
components: [
{
internalType: "bytes32",
name: "id",
type: "bytes32",
},
{
internalType: "uint256",
name: "nonce",
type: "uint256",
},
{
internalType: "string",
name: "name",
type: "string",
},
{
components: [
{
internalType: "uint256",
name: "protocol",
type: "uint256",
},
{
internalType: "string",
name: "pointer",
type: "string",
},
],
internalType: "struct Metadata",
name: "metadata",
type: "tuple",
},
{
internalType: "address",
name: "owner",
type: "address",
},
{
internalType: "address",
name: "anchor",
type: "address",
},
],
internalType: "struct IRegistry.Profile",
name: "",
type: "tuple",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "bytes32",
name: "role",
type: "bytes32",
},
],
name: "getRoleAdmin",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "bytes32",
name: "role",
type: "bytes32",
},
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "grantRole",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "bytes32",
name: "role",
type: "bytes32",
},
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "hasRole",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "bytes32",
name: "_profileId",
type: "bytes32",
},
{
internalType: "address",
name: "_member",
type: "address",
},
],
name: "isMemberOfProfile",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "bytes32",
name: "_profileId",
type: "bytes32",
},
{
internalType: "address",
name: "_owner",
type: "address",
},
],
name: "isOwnerOfProfile",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "bytes32",
name: "_profileId",
type: "bytes32",
},
{
internalType: "address",
name: "_account",
type: "address",
},
],
name: "isOwnerOrMemberOfProfile",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
name: "profileIdToPendingOwner",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
name: "profilesById",
outputs: [
{
internalType: "bytes32",
name: "id",
type: "bytes32",
},
{
internalType: "uint256",
name: "nonce",
type: "uint256",
},
{
internalType: "string",
name: "name",
type: "string",
},
{
components: [
{
internalType: "uint256",
name: "protocol",
type: "uint256",
},
{
internalType: "string",
name: "pointer",
type: "string",
},
],
internalType: "struct Metadata",
name: "metadata",
type: "tuple",
},
{
internalType: "address",
name: "owner",
type: "address",
},
{
internalType: "address",
name: "anchor",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "_token",
type: "address",
},
{
internalType: "address",
name: "_recipient",
type: "address",
},
],
name: "recoverFunds",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "bytes32",
name: "_profileId",
type: "bytes32",
},
{
internalType: "address[]",
name: "_members",
type: "address[]",
},
],
name: "removeMembers",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "bytes32",
name: "role",
type: "bytes32",
},
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "renounceRole",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "bytes32",
name: "role",
type: "bytes32",
},
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "revokeRole",
outputs: [],
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: "bytes32",
name: "_profileId",
type: "bytes32",
},
{
components: [
{
internalType: "uint256",
name: "protocol",
type: "uint256",
},
{
internalType: "string",
name: "pointer",
type: "string",
},
],
internalType: "struct Metadata",
name: "_metadata",
type: "tuple",
},
],
name: "updateProfileMetadata",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "bytes32",
name: "_profileId",
type: "bytes32",
},
{
internalType: "string",
name: "_name",
type: "string",
},
],
name: "updateProfileName",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "bytes32",
name: "_profileId",
type: "bytes32",
},
{
internalType: "address",
name: "_pendingOwner",
type: "address",
},
],
name: "updateProfilePendingOwner",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
] as const;