@lukso/lsp-smart-contracts
Version:
The reference smart contract implementation for the LUKSO LSP standards
1,915 lines (1,914 loc) • 930 kB
JavaScript
'use strict';
const extension4337Abi = [
{
type: "constructor",
inputs: [{ name: "entryPoint_", internalType: "address", type: "address" }],
stateMutability: "nonpayable"
},
{
type: "function",
inputs: [],
name: "VERSION",
outputs: [{ name: "", internalType: "string", type: "string" }],
stateMutability: "view"
},
{
type: "function",
inputs: [],
name: "entryPoint",
outputs: [{ name: "", internalType: "address", type: "address" }],
stateMutability: "view"
},
{
type: "function",
inputs: [{ name: "interfaceId", internalType: "bytes4", type: "bytes4" }],
name: "supportsInterface",
outputs: [{ name: "", internalType: "bool", type: "bool" }],
stateMutability: "view"
},
{
type: "function",
inputs: [
{
name: "userOp",
internalType: "struct UserOperation",
type: "tuple",
components: [
{ name: "sender", internalType: "address", type: "address" },
{ name: "nonce", internalType: "uint256", type: "uint256" },
{ name: "initCode", internalType: "bytes", type: "bytes" },
{ name: "callData", internalType: "bytes", type: "bytes" },
{ name: "callGasLimit", internalType: "uint256", type: "uint256" },
{
name: "verificationGasLimit",
internalType: "uint256",
type: "uint256"
},
{
name: "preVerificationGas",
internalType: "uint256",
type: "uint256"
},
{ name: "maxFeePerGas", internalType: "uint256", type: "uint256" },
{
name: "maxPriorityFeePerGas",
internalType: "uint256",
type: "uint256"
},
{ name: "paymasterAndData", internalType: "bytes", type: "bytes" },
{ name: "signature", internalType: "bytes", type: "bytes" }
]
},
{ name: "userOpHash", internalType: "bytes32", type: "bytes32" },
{ name: "", internalType: "uint256", type: "uint256" }
],
name: "validateUserOp",
outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
stateMutability: "nonpayable"
}
];
const iAccessControlExtendedAbi = [
{
type: "event",
anonymous: false,
inputs: [
{ name: "role", internalType: "bytes32", type: "bytes32", indexed: true },
{
name: "previousAdminRole",
internalType: "bytes32",
type: "bytes32",
indexed: true
},
{
name: "newAdminRole",
internalType: "bytes32",
type: "bytes32",
indexed: true
}
],
name: "RoleAdminChanged"
},
{
type: "event",
anonymous: false,
inputs: [
{ name: "role", internalType: "bytes32", type: "bytes32", indexed: true },
{
name: "account",
internalType: "address",
type: "address",
indexed: true
},
{
name: "sender",
internalType: "address",
type: "address",
indexed: true
}
],
name: "RoleGranted"
},
{
type: "event",
anonymous: false,
inputs: [
{ name: "role", internalType: "bytes32", type: "bytes32", indexed: true },
{
name: "account",
internalType: "address",
type: "address",
indexed: true
},
{
name: "sender",
internalType: "address",
type: "address",
indexed: true
}
],
name: "RoleRevoked"
},
{
type: "function",
inputs: [{ name: "role", internalType: "bytes32", type: "bytes32" }],
name: "getRoleAdmin",
outputs: [{ name: "", internalType: "bytes32", type: "bytes32" }],
stateMutability: "view"
},
{
type: "function",
inputs: [
{ name: "role", internalType: "bytes32", type: "bytes32" },
{ name: "index", internalType: "uint256", type: "uint256" }
],
name: "getRoleMember",
outputs: [{ name: "", internalType: "address", type: "address" }],
stateMutability: "view"
},
{
type: "function",
inputs: [{ name: "role", internalType: "bytes32", type: "bytes32" }],
name: "getRoleMemberCount",
outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
stateMutability: "view"
},
{
type: "function",
inputs: [{ name: "role", internalType: "bytes32", type: "bytes32" }],
name: "getRoleMembers",
outputs: [{ name: "", internalType: "address[]", type: "address[]" }],
stateMutability: "view"
},
{
type: "function",
inputs: [
{ name: "role", internalType: "bytes32", type: "bytes32" },
{ name: "account", internalType: "address", type: "address" }
],
name: "grantRole",
outputs: [],
stateMutability: "nonpayable"
},
{
type: "function",
inputs: [
{ name: "role", internalType: "bytes32", type: "bytes32" },
{ name: "account", internalType: "address", type: "address" }
],
name: "hasRole",
outputs: [{ name: "", internalType: "bool", type: "bool" }],
stateMutability: "view"
},
{
type: "function",
inputs: [
{ name: "role", internalType: "bytes32", type: "bytes32" },
{ name: "account", internalType: "address", type: "address" }
],
name: "renounceRole",
outputs: [],
stateMutability: "nonpayable"
},
{
type: "function",
inputs: [
{ name: "role", internalType: "bytes32", type: "bytes32" },
{ name: "account", internalType: "address", type: "address" }
],
name: "revokeRole",
outputs: [],
stateMutability: "nonpayable"
},
{
type: "function",
inputs: [{ name: "account", internalType: "address", type: "address" }],
name: "rolesOf",
outputs: [{ name: "", internalType: "bytes32[]", type: "bytes32[]" }],
stateMutability: "view"
},
{
type: "function",
inputs: [
{ name: "role", internalType: "bytes32", type: "bytes32" },
{ name: "adminRole", internalType: "bytes32", type: "bytes32" }
],
name: "setRoleAdmin",
outputs: [],
stateMutability: "nonpayable"
}
];
const ilsp11SocialRecoveryAbi = [
{
type: "event",
anonymous: false,
inputs: [
{
name: "account",
internalType: "address",
type: "address",
indexed: true
},
{
name: "guardian",
internalType: "address",
type: "address",
indexed: true
}
],
name: "GuardianAdded"
},
{
type: "event",
anonymous: false,
inputs: [
{
name: "account",
internalType: "address",
type: "address",
indexed: true
},
{
name: "guardian",
internalType: "address",
type: "address",
indexed: true
}
],
name: "GuardianRemoved"
},
{
type: "event",
anonymous: false,
inputs: [
{
name: "account",
internalType: "address",
type: "address",
indexed: true
},
{
name: "recoveryCounter",
internalType: "uint256",
type: "uint256",
indexed: false
},
{
name: "guardian",
internalType: "address",
type: "address",
indexed: true
},
{
name: "guardianVotedAddress",
internalType: "address",
type: "address",
indexed: true
}
],
name: "GuardianVotedFor"
},
{
type: "event",
anonymous: false,
inputs: [
{
name: "account",
internalType: "address",
type: "address",
indexed: true
},
{
name: "guardianThreshold",
internalType: "uint256",
type: "uint256",
indexed: true
}
],
name: "GuardiansThresholdChanged"
},
{
type: "event",
anonymous: false,
inputs: [
{
name: "account",
internalType: "address",
type: "address",
indexed: true
},
{
name: "previousRecoveryCounter",
internalType: "uint256",
type: "uint256",
indexed: true
}
],
name: "RecoveryCancelled"
},
{
type: "event",
anonymous: false,
inputs: [
{
name: "account",
internalType: "address",
type: "address",
indexed: true
},
{
name: "recoveryDelay",
internalType: "uint256",
type: "uint256",
indexed: true
}
],
name: "RecoveryDelayChanged"
},
{
type: "event",
anonymous: false,
inputs: [
{
name: "account",
internalType: "address",
type: "address",
indexed: true
},
{
name: "recoveryCounter",
internalType: "uint256",
type: "uint256",
indexed: true
},
{
name: "guardianVotedAddress",
internalType: "address",
type: "address",
indexed: true
},
{
name: "calldataExecuted",
internalType: "bytes",
type: "bytes",
indexed: false
}
],
name: "RecoveryProcessSuccessful"
},
{
type: "event",
anonymous: false,
inputs: [
{
name: "account",
internalType: "address",
type: "address",
indexed: true
},
{
name: "secretHash",
internalType: "bytes32",
type: "bytes32",
indexed: true
}
],
name: "SecretHashChanged"
},
{
type: "event",
anonymous: false,
inputs: [
{
name: "account",
internalType: "address",
type: "address",
indexed: true
},
{
name: "recoveryCounter",
internalType: "uint256",
type: "uint256",
indexed: false
},
{
name: "committedBy",
internalType: "address",
type: "address",
indexed: true
},
{
name: "commitment",
internalType: "bytes32",
type: "bytes32",
indexed: true
}
],
name: "SecretHashCommitted"
},
{
type: "function",
inputs: [
{ name: "account", internalType: "address", type: "address" },
{ name: "newGuardian", internalType: "address", type: "address" }
],
name: "addGuardian",
outputs: [],
stateMutability: "nonpayable"
},
{
type: "function",
inputs: [{ name: "account", internalType: "address", type: "address" }],
name: "cancelRecoveryProcess",
outputs: [],
stateMutability: "nonpayable"
},
{
type: "function",
inputs: [
{ name: "account", internalType: "address", type: "address" },
{ name: "votedAddress", internalType: "address", type: "address" },
{ name: "commitment", internalType: "bytes32", type: "bytes32" }
],
name: "commitToRecover",
outputs: [],
stateMutability: "nonpayable"
},
{
type: "function",
inputs: [
{ name: "account", internalType: "address", type: "address" },
{ name: "recoveryCounter", internalType: "uint256", type: "uint256" },
{ name: "committedBy", internalType: "address", type: "address" }
],
name: "getCommitmentInfoOf",
outputs: [
{ name: "", internalType: "bytes32", type: "bytes32" },
{ name: "", internalType: "uint256", type: "uint256" }
],
stateMutability: "view"
},
{
type: "function",
inputs: [
{ name: "account", internalType: "address", type: "address" },
{ name: "recoveryCounter", internalType: "uint256", type: "uint256" }
],
name: "getFirstRecoveryTimestampOf",
outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
stateMutability: "view"
},
{
type: "function",
inputs: [{ name: "account", internalType: "address", type: "address" }],
name: "getGuardiansOf",
outputs: [{ name: "", internalType: "address[]", type: "address[]" }],
stateMutability: "view"
},
{
type: "function",
inputs: [{ name: "account", internalType: "address", type: "address" }],
name: "getGuardiansThresholdOf",
outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
stateMutability: "view"
},
{
type: "function",
inputs: [{ name: "account", internalType: "address", type: "address" }],
name: "getRecoveryCounterOf",
outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
stateMutability: "view"
},
{
type: "function",
inputs: [{ name: "account", internalType: "address", type: "address" }],
name: "getRecoveryDelayOf",
outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
stateMutability: "view"
},
{
type: "function",
inputs: [{ name: "account", internalType: "address", type: "address" }],
name: "getSecretHashOf",
outputs: [{ name: "", internalType: "bytes32", type: "bytes32" }],
stateMutability: "view"
},
{
type: "function",
inputs: [
{ name: "account", internalType: "address", type: "address" },
{ name: "recoveryCounter", internalType: "uint256", type: "uint256" },
{ name: "guardian", internalType: "address", type: "address" }
],
name: "getVotedAddressByGuardian",
outputs: [{ name: "", internalType: "address", type: "address" }],
stateMutability: "view"
},
{
type: "function",
inputs: [
{ name: "account", internalType: "address", type: "address" },
{ name: "recoveryCounter", internalType: "uint256", type: "uint256" },
{ name: "votedAddress", internalType: "address", type: "address" }
],
name: "getVotesOfGuardianVotedAddress",
outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
stateMutability: "view"
},
{
type: "function",
inputs: [
{ name: "account", internalType: "address", type: "address" },
{ name: "recoveryCounter", internalType: "uint256", type: "uint256" },
{ name: "votedAddress", internalType: "address", type: "address" }
],
name: "hasReachedThreshold",
outputs: [{ name: "", internalType: "bool", type: "bool" }],
stateMutability: "view"
},
{
type: "function",
inputs: [
{ name: "account", internalType: "address", type: "address" },
{ name: "guardianAddress", internalType: "address", type: "address" }
],
name: "isGuardianOf",
outputs: [{ name: "", internalType: "bool", type: "bool" }],
stateMutability: "view"
},
{
type: "function",
inputs: [
{ name: "votedAddress", internalType: "address", type: "address" },
{ name: "account", internalType: "address", type: "address" },
{ name: "secretHash", internalType: "bytes32", type: "bytes32" },
{ name: "newSecretHash", internalType: "bytes32", type: "bytes32" },
{ name: "calldataToExecute", internalType: "bytes", type: "bytes" }
],
name: "recoverAccess",
outputs: [{ name: "", internalType: "bytes", type: "bytes" }],
stateMutability: "payable"
},
{
type: "function",
inputs: [
{ name: "account", internalType: "address", type: "address" },
{ name: "existingGuardian", internalType: "address", type: "address" }
],
name: "removeGuardian",
outputs: [],
stateMutability: "nonpayable"
},
{
type: "function",
inputs: [
{ name: "account", internalType: "address", type: "address" },
{ name: "newThreshold", internalType: "uint256", type: "uint256" }
],
name: "setGuardiansThreshold",
outputs: [],
stateMutability: "nonpayable"
},
{
type: "function",
inputs: [
{ name: "account", internalType: "address", type: "address" },
{ name: "recoveryDelay", internalType: "uint256", type: "uint256" }
],
name: "setRecoveryDelay",
outputs: [],
stateMutability: "nonpayable"
},
{
type: "function",
inputs: [
{ name: "account", internalType: "address", type: "address" },
{
name: "newRecoverSecretHash",
internalType: "bytes32",
type: "bytes32"
}
],
name: "setRecoverySecretHash",
outputs: [],
stateMutability: "nonpayable"
},
{
type: "function",
inputs: [
{ name: "account", internalType: "address", type: "address" },
{ name: "guardian", internalType: "address", type: "address" },
{
name: "guardianVotedAddress",
internalType: "address",
type: "address"
}
],
name: "voteForRecovery",
outputs: [],
stateMutability: "nonpayable"
}
];
const ilsp14Ownable2StepAbi = [
{ type: "event", anonymous: false, inputs: [], name: "OwnershipRenounced" },
{
type: "event",
anonymous: false,
inputs: [
{
name: "previousOwner",
internalType: "address",
type: "address",
indexed: true
},
{
name: "newOwner",
internalType: "address",
type: "address",
indexed: true
}
],
name: "OwnershipTransferStarted"
},
{
type: "event",
anonymous: false,
inputs: [],
name: "RenounceOwnershipStarted"
},
{
type: "function",
inputs: [],
name: "acceptOwnership",
outputs: [],
stateMutability: "nonpayable"
},
{
type: "function",
inputs: [],
name: "pendingOwner",
outputs: [{ name: "", internalType: "address", type: "address" }],
stateMutability: "view"
},
{
type: "function",
inputs: [],
name: "renounceOwnership",
outputs: [],
stateMutability: "nonpayable"
},
{
type: "function",
inputs: [{ name: "newOwner", internalType: "address", type: "address" }],
name: "transferOwnership",
outputs: [],
stateMutability: "nonpayable"
}
];
const ilsp1UniversalReceiverAbi = [
{
type: "event",
anonymous: false,
inputs: [
{ name: "from", internalType: "address", type: "address", indexed: true },
{
name: "value",
internalType: "uint256",
type: "uint256",
indexed: true
},
{
name: "typeId",
internalType: "bytes32",
type: "bytes32",
indexed: true
},
{
name: "receivedData",
internalType: "bytes",
type: "bytes",
indexed: false
},
{
name: "returnedValue",
internalType: "bytes",
type: "bytes",
indexed: false
}
],
name: "UniversalReceiver"
},
{
type: "function",
inputs: [
{ name: "typeId", internalType: "bytes32", type: "bytes32" },
{ name: "data", internalType: "bytes", type: "bytes" }
],
name: "universalReceiver",
outputs: [{ name: "", internalType: "bytes", type: "bytes" }],
stateMutability: "payable"
}
];
const ilsp1UniversalReceiverDelegateAbi = [
{
type: "function",
inputs: [
{ name: "sender", internalType: "address", type: "address" },
{ name: "value", internalType: "uint256", type: "uint256" },
{ name: "typeId", internalType: "bytes32", type: "bytes32" },
{ name: "data", internalType: "bytes", type: "bytes" }
],
name: "universalReceiverDelegate",
outputs: [{ name: "", internalType: "bytes", type: "bytes" }],
stateMutability: "nonpayable"
}
];
const ilsp20CallVerifierAbi = [
{
type: "function",
inputs: [
{ name: "requestor", internalType: "address", type: "address" },
{ name: "target", internalType: "address", type: "address" },
{ name: "caller", internalType: "address", type: "address" },
{ name: "value", internalType: "uint256", type: "uint256" },
{ name: "callData", internalType: "bytes", type: "bytes" }
],
name: "lsp20VerifyCall",
outputs: [
{ name: "returnedStatus", internalType: "bytes4", type: "bytes4" }
],
stateMutability: "nonpayable"
},
{
type: "function",
inputs: [
{ name: "callHash", internalType: "bytes32", type: "bytes32" },
{ name: "callResult", internalType: "bytes", type: "bytes" }
],
name: "lsp20VerifyCallResult",
outputs: [{ name: "", internalType: "bytes4", type: "bytes4" }],
stateMutability: "nonpayable"
}
];
const ilsp23LinkedContractsFactoryAbi = [
{
type: "event",
anonymous: false,
inputs: [
{
name: "primaryContract",
internalType: "address",
type: "address",
indexed: true
},
{
name: "secondaryContract",
internalType: "address",
type: "address",
indexed: true
},
{
name: "primaryContractDeployment",
internalType: "struct ILSP23LinkedContractsFactory.PrimaryContractDeployment",
type: "tuple",
components: [
{ name: "salt", internalType: "bytes32", type: "bytes32" },
{ name: "fundingAmount", internalType: "uint256", type: "uint256" },
{ name: "creationBytecode", internalType: "bytes", type: "bytes" }
],
indexed: false
},
{
name: "secondaryContractDeployment",
internalType: "struct ILSP23LinkedContractsFactory.SecondaryContractDeployment",
type: "tuple",
components: [
{ name: "fundingAmount", internalType: "uint256", type: "uint256" },
{ name: "creationBytecode", internalType: "bytes", type: "bytes" },
{
name: "addPrimaryContractAddress",
internalType: "bool",
type: "bool"
},
{
name: "extraConstructorParams",
internalType: "bytes",
type: "bytes"
}
],
indexed: false
},
{
name: "postDeploymentModule",
internalType: "address",
type: "address",
indexed: false
},
{
name: "postDeploymentModuleCalldata",
internalType: "bytes",
type: "bytes",
indexed: false
}
],
name: "DeployedContracts"
},
{
type: "event",
anonymous: false,
inputs: [
{
name: "primaryContract",
internalType: "address",
type: "address",
indexed: true
},
{
name: "secondaryContract",
internalType: "address",
type: "address",
indexed: true
},
{
name: "primaryContractDeploymentInit",
internalType: "struct ILSP23LinkedContractsFactory.PrimaryContractDeploymentInit",
type: "tuple",
components: [
{ name: "salt", internalType: "bytes32", type: "bytes32" },
{ name: "fundingAmount", internalType: "uint256", type: "uint256" },
{
name: "implementationContract",
internalType: "address",
type: "address"
},
{
name: "initializationCalldata",
internalType: "bytes",
type: "bytes"
}
],
indexed: false
},
{
name: "secondaryContractDeploymentInit",
internalType: "struct ILSP23LinkedContractsFactory.SecondaryContractDeploymentInit",
type: "tuple",
components: [
{ name: "fundingAmount", internalType: "uint256", type: "uint256" },
{
name: "implementationContract",
internalType: "address",
type: "address"
},
{
name: "initializationCalldata",
internalType: "bytes",
type: "bytes"
},
{
name: "addPrimaryContractAddress",
internalType: "bool",
type: "bool"
},
{
name: "extraInitializationParams",
internalType: "bytes",
type: "bytes"
}
],
indexed: false
},
{
name: "postDeploymentModule",
internalType: "address",
type: "address",
indexed: false
},
{
name: "postDeploymentModuleCalldata",
internalType: "bytes",
type: "bytes",
indexed: false
}
],
name: "DeployedERC1167Proxies"
},
{
type: "function",
inputs: [
{
name: "primaryContractDeployment",
internalType: "struct ILSP23LinkedContractsFactory.PrimaryContractDeployment",
type: "tuple",
components: [
{ name: "salt", internalType: "bytes32", type: "bytes32" },
{ name: "fundingAmount", internalType: "uint256", type: "uint256" },
{ name: "creationBytecode", internalType: "bytes", type: "bytes" }
]
},
{
name: "secondaryContractDeployment",
internalType: "struct ILSP23LinkedContractsFactory.SecondaryContractDeployment",
type: "tuple",
components: [
{ name: "fundingAmount", internalType: "uint256", type: "uint256" },
{ name: "creationBytecode", internalType: "bytes", type: "bytes" },
{
name: "addPrimaryContractAddress",
internalType: "bool",
type: "bool"
},
{
name: "extraConstructorParams",
internalType: "bytes",
type: "bytes"
}
]
},
{
name: "postDeploymentModule",
internalType: "address",
type: "address"
},
{
name: "postDeploymentModuleCalldata",
internalType: "bytes",
type: "bytes"
}
],
name: "computeAddresses",
outputs: [
{
name: "primaryContractAddress",
internalType: "address",
type: "address"
},
{
name: "secondaryContractAddress",
internalType: "address",
type: "address"
}
],
stateMutability: "view"
},
{
type: "function",
inputs: [
{
name: "primaryContractDeploymentInit",
internalType: "struct ILSP23LinkedContractsFactory.PrimaryContractDeploymentInit",
type: "tuple",
components: [
{ name: "salt", internalType: "bytes32", type: "bytes32" },
{ name: "fundingAmount", internalType: "uint256", type: "uint256" },
{
name: "implementationContract",
internalType: "address",
type: "address"
},
{
name: "initializationCalldata",
internalType: "bytes",
type: "bytes"
}
]
},
{
name: "secondaryContractDeploymentInit",
internalType: "struct ILSP23LinkedContractsFactory.SecondaryContractDeploymentInit",
type: "tuple",
components: [
{ name: "fundingAmount", internalType: "uint256", type: "uint256" },
{
name: "implementationContract",
internalType: "address",
type: "address"
},
{
name: "initializationCalldata",
internalType: "bytes",
type: "bytes"
},
{
name: "addPrimaryContractAddress",
internalType: "bool",
type: "bool"
},
{
name: "extraInitializationParams",
internalType: "bytes",
type: "bytes"
}
]
},
{
name: "postDeploymentModule",
internalType: "address",
type: "address"
},
{
name: "postDeploymentModuleCalldata",
internalType: "bytes",
type: "bytes"
}
],
name: "computeERC1167Addresses",
outputs: [
{
name: "primaryContractAddress",
internalType: "address",
type: "address"
},
{
name: "secondaryContractAddress",
internalType: "address",
type: "address"
}
],
stateMutability: "view"
},
{
type: "function",
inputs: [
{
name: "primaryContractDeployment",
internalType: "struct ILSP23LinkedContractsFactory.PrimaryContractDeployment",
type: "tuple",
components: [
{ name: "salt", internalType: "bytes32", type: "bytes32" },
{ name: "fundingAmount", internalType: "uint256", type: "uint256" },
{ name: "creationBytecode", internalType: "bytes", type: "bytes" }
]
},
{
name: "secondaryContractDeployment",
internalType: "struct ILSP23LinkedContractsFactory.SecondaryContractDeployment",
type: "tuple",
components: [
{ name: "fundingAmount", internalType: "uint256", type: "uint256" },
{ name: "creationBytecode", internalType: "bytes", type: "bytes" },
{
name: "addPrimaryContractAddress",
internalType: "bool",
type: "bool"
},
{
name: "extraConstructorParams",
internalType: "bytes",
type: "bytes"
}
]
},
{
name: "postDeploymentModule",
internalType: "address",
type: "address"
},
{
name: "postDeploymentModuleCalldata",
internalType: "bytes",
type: "bytes"
}
],
name: "deployContracts",
outputs: [
{
name: "primaryContractAddress",
internalType: "address",
type: "address"
},
{
name: "secondaryContractAddress",
internalType: "address",
type: "address"
}
],
stateMutability: "payable"
},
{
type: "function",
inputs: [
{
name: "primaryContractDeploymentInit",
internalType: "struct ILSP23LinkedContractsFactory.PrimaryContractDeploymentInit",
type: "tuple",
components: [
{ name: "salt", internalType: "bytes32", type: "bytes32" },
{ name: "fundingAmount", internalType: "uint256", type: "uint256" },
{
name: "implementationContract",
internalType: "address",
type: "address"
},
{
name: "initializationCalldata",
internalType: "bytes",
type: "bytes"
}
]
},
{
name: "secondaryContractDeploymentInit",
internalType: "struct ILSP23LinkedContractsFactory.SecondaryContractDeploymentInit",
type: "tuple",
components: [
{ name: "fundingAmount", internalType: "uint256", type: "uint256" },
{
name: "implementationContract",
internalType: "address",
type: "address"
},
{
name: "initializationCalldata",
internalType: "bytes",
type: "bytes"
},
{
name: "addPrimaryContractAddress",
internalType: "bool",
type: "bool"
},
{
name: "extraInitializationParams",
internalType: "bytes",
type: "bytes"
}
]
},
{
name: "postDeploymentModule",
internalType: "address",
type: "address"
},
{
name: "postDeploymentModuleCalldata",
internalType: "bytes",
type: "bytes"
}
],
name: "deployERC1167Proxies",
outputs: [
{
name: "primaryContractAddress",
internalType: "address",
type: "address"
},
{
name: "secondaryContractAddress",
internalType: "address",
type: "address"
}
],
stateMutability: "payable"
}
];
const ilsp25ExecuteRelayCallAbi = [
{
type: "function",
inputs: [
{ name: "signature", internalType: "bytes", type: "bytes" },
{ name: "nonce", internalType: "uint256", type: "uint256" },
{ name: "validityTimestamps", internalType: "uint256", type: "uint256" },
{ name: "payload", internalType: "bytes", type: "bytes" }
],
name: "executeRelayCall",
outputs: [{ name: "", internalType: "bytes", type: "bytes" }],
stateMutability: "payable"
},
{
type: "function",
inputs: [
{ name: "signatures", internalType: "bytes[]", type: "bytes[]" },
{ name: "nonces", internalType: "uint256[]", type: "uint256[]" },
{
name: "validityTimestamps",
internalType: "uint256[]",
type: "uint256[]"
},
{ name: "values", internalType: "uint256[]", type: "uint256[]" },
{ name: "payloads", internalType: "bytes[]", type: "bytes[]" }
],
name: "executeRelayCallBatch",
outputs: [{ name: "", internalType: "bytes[]", type: "bytes[]" }],
stateMutability: "payable"
},
{
type: "function",
inputs: [
{ name: "from", internalType: "address", type: "address" },
{ name: "channelId", internalType: "uint128", type: "uint128" }
],
name: "getNonce",
outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
stateMutability: "view"
}
];
const ilsp26FollowerSystemAbi = [
{
type: "event",
anonymous: false,
inputs: [
{
name: "follower",
internalType: "address",
type: "address",
indexed: false
},
{
name: "addr",
internalType: "address",
type: "address",
indexed: false
}
],
name: "Follow"
},
{
type: "event",
anonymous: false,
inputs: [
{
name: "unfollower",
internalType: "address",
type: "address",
indexed: false
},
{
name: "addr",
internalType: "address",
type: "address",
indexed: false
}
],
name: "Unfollow"
},
{
type: "function",
inputs: [{ name: "addr", internalType: "address", type: "address" }],
name: "follow",
outputs: [],
stateMutability: "nonpayable"
},
{
type: "function",
inputs: [
{ name: "addresses", internalType: "address[]", type: "address[]" }
],
name: "followBatch",
outputs: [],
stateMutability: "nonpayable"
},
{
type: "function",
inputs: [{ name: "addr", internalType: "address", type: "address" }],
name: "followerCount",
outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
stateMutability: "view"
},
{
type: "function",
inputs: [{ name: "addr", internalType: "address", type: "address" }],
name: "followingCount",
outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
stateMutability: "view"
},
{
type: "function",
inputs: [
{ name: "addr", internalType: "address", type: "address" },
{ name: "startIndex", internalType: "uint256", type: "uint256" },
{ name: "endIndex", internalType: "uint256", type: "uint256" }
],
name: "getFollowersByIndex",
outputs: [{ name: "", internalType: "address[]", type: "address[]" }],
stateMutability: "view"
},
{
type: "function",
inputs: [
{ name: "addr", internalType: "address", type: "address" },
{ name: "startIndex", internalType: "uint256", type: "uint256" },
{ name: "endIndex", internalType: "uint256", type: "uint256" }
],
name: "getFollowsByIndex",
outputs: [{ name: "", internalType: "address[]", type: "address[]" }],
stateMutability: "view"
},
{
type: "function",
inputs: [
{ name: "follower", internalType: "address", type: "address" },
{ name: "addr", internalType: "address", type: "address" }
],
name: "isFollowing",
outputs: [{ name: "", internalType: "bool", type: "bool" }],
stateMutability: "view"
},
{
type: "function",
inputs: [{ name: "addr", internalType: "address", type: "address" }],
name: "unfollow",
outputs: [],
stateMutability: "nonpayable"
},
{
type: "function",
inputs: [
{ name: "addresses", internalType: "address[]", type: "address[]" }
],
name: "unfollowBatch",
outputs: [],
stateMutability: "nonpayable"
}
];
const ilsp6KeyManagerAbi = [
{
type: "event",
anonymous: false,
inputs: [
{
name: "signer",
internalType: "address",
type: "address",
indexed: true
},
{
name: "value",
internalType: "uint256",
type: "uint256",
indexed: true
},
{
name: "selector",
internalType: "bytes4",
type: "bytes4",
indexed: true
}
],
name: "PermissionsVerified"
},
{
type: "function",
inputs: [{ name: "payload", internalType: "bytes", type: "bytes" }],
name: "execute",
outputs: [{ name: "", internalType: "bytes", type: "bytes" }],
stateMutability: "payable"
},
{
type: "function",
inputs: [
{ name: "values", internalType: "uint256[]", type: "uint256[]" },
{ name: "payloads", internalType: "bytes[]", type: "bytes[]" }
],
name: "executeBatch",
outputs: [{ name: "", internalType: "bytes[]", type: "bytes[]" }],
stateMutability: "payable"
},
{
type: "function",
inputs: [
{ name: "hash", internalType: "bytes32", type: "bytes32" },
{ name: "signature", internalType: "bytes", type: "bytes" }
],
name: "isValidSignature",
outputs: [{ name: "magicValue", internalType: "bytes4", type: "bytes4" }],
stateMutability: "view"
},
{
type: "function",
inputs: [],
name: "target",
outputs: [{ name: "", internalType: "address", type: "address" }],
stateMutability: "view"
}
];
const ilsp7CappedBalanceAbi = [
{
type: "function",
inputs: [],
name: "tokenBalanceCap",
outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
stateMutability: "view"
}
];
const ilsp7CappedSupplyAbi = [
{
type: "function",
inputs: [],
name: "tokenSupplyCap",
outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
stateMutability: "view"
}
];
const ilsp7DigitalAssetAbi = [
{
type: "event",
anonymous: false,
inputs: [
{
name: "operator",
internalType: "address",
type: "address",
indexed: true
},
{
name: "tokenOwner",
internalType: "address",
type: "address",
indexed: true
},
{
name: "amount",
internalType: "uint256",
type: "uint256",
indexed: true
},
{
name: "operatorNotificationData",
internalType: "bytes",
type: "bytes",
indexed: false
}
],
name: "OperatorAuthorizationChanged"
},
{
type: "event",
anonymous: false,
inputs: [
{
name: "operator",
internalType: "address",
type: "address",
indexed: true
},
{
name: "tokenOwner",
internalType: "address",
type: "address",
indexed: true
},
{ name: "notified", internalType: "bool", type: "bool", indexed: true },
{
name: "operatorNotificationData",
internalType: "bytes",
type: "bytes",
indexed: false
}
],
name: "OperatorRevoked"
},
{
type: "event",
anonymous: false,
inputs: [
{
name: "operator",
internalType: "address",
type: "address",
indexed: true
},
{ name: "from", internalType: "address", type: "address", indexed: true },
{ name: "to", internalType: "address", type: "address", indexed: true },
{
name: "amount",
internalType: "uint256",
type: "uint256",
indexed: false
},
{ name: "force", internalType: "bool", type: "bool", indexed: false },
{ name: "data", internalType: "bytes", type: "bytes", indexed: false }
],
name: "Transfer"
},
{
type: "function",
inputs: [
{ name: "operator", internalType: "address", type: "address" },
{ name: "amount", internalType: "uint256", type: "uint256" },
{
name: "operatorNotificationData",
internalType: "bytes",
type: "bytes"
}
],
name: "authorizeOperator",
outputs: [],
stateMutability: "nonpayable"
},
{
type: "function",
inputs: [
{ name: "operator", internalType: "address", type: "address" },
{ name: "tokenOwner", internalType: "address", type: "address" }
],
name: "authorizedAmountFor",
outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
stateMutability: "view"
},
{
type: "function",
inputs: [{ name: "tokenOwner", internalType: "address", type: "address" }],
name: "balanceOf",
outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
stateMutability: "view"
},
{
type: "function",
inputs: [{ name: "data", internalType: "bytes[]", type: "bytes[]" }],
name: "batchCalls",
outputs: [{ name: "results", internalType: "bytes[]", type: "bytes[]" }],
stateMutability: "nonpayable"
},
{
type: "function",
inputs: [],
name: "decimals",
outputs: [{ name: "", internalType: "uint8", type: "uint8" }],
stateMutability: "view"
},
{
type: "function",
inputs: [
{ name: "operator", internalType: "address", type: "address" },
{ name: "tokenOwner", internalType: "address", type: "address" },
{ name: "subtractedAmount", internalType: "uint256", type: "uint256" },
{
name: "operatorNotificationData",
internalType: "bytes",
type: "bytes"
}
],
name: "decreaseAllowance",
outputs: [],
stateMutability: "nonpayable"
},
{
type: "function",
inputs: [{ name: "tokenOwner", internalType: "address", type: "address" }],
name: "getOperatorsOf",
outputs: [{ name: "", internalType: "address[]", type: "address[]" }],
stateMutability: "view"
},
{
type: "function",
inputs: [
{ name: "operator", internalType: "address", type: "address" },
{ name: "addedAmount", internalType: "uint256", type: "uint256" },
{
name: "operatorNotificationData",
internalType: "bytes",
type: "bytes"
}
],
name: "increaseAllowance",
outputs: [],
stateMutability: "nonpayable"
},
{
type: "function",
inputs: [
{ name: "operator", internalType: "address", type: "address" },
{ name: "tokenOwner", internalType: "address", type: "address" },
{ name: "notify", internalType: "bool", type: "bool" },
{
name: "operatorNotificationData",
internalType: "bytes",
type: "bytes"
}
],
name: "revokeOperator",
outputs: [],
stateMutability: "nonpayable"
},
{
type: "function",
inputs: [],
name: "totalSupply",
outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
stateMutability: "view"
},
{
type: "function",
inputs: [
{ name: "from", internalType: "address", type: "address" },
{ name: "to", internalType: "address", type: "address" },
{ name: "amount", internalType: "uint256", type: "uint256" },
{ name: "force", internalType: "bool", type: "bool" },
{ name: "data", internalType: "bytes", type: "bytes" }
],
name: "transfer",
outputs: [],
stateMutability: "nonpayable"
},
{
type: "function",
inputs: [
{ name: "from", internalType: "address[]", type: "address[]" },
{ name: "to", internalType: "address[]", type: "address[]" },
{ name: "amount", internalType: "uint256[]", type: "uint256[]" },
{ name: "force", internalType: "bool[]", type: "bool[]" },
{ name: "data", internalType: "bytes[]", type: "bytes[]" }
],
name: "transferBatch",
outputs: [],
stateMutability: "nonpayable"
}
];
const ilsp7MintableAbi = [
{
type: "event",
anonymous: false,
inputs: [
{ name: "enabled", internalType: "bool", type: "bool", indexed: true }
],
name: "MintingStatusChanged"
},
{
type: "function",
inputs: [],
name: "disableMinting",
outputs: [],
stateMutability: "nonpayable"
},
{
type: "function",
inputs: [
{ name: "to", internalType: "address", type: "address" },
{ name: "amount", internalType: "uint256", type: "uint256" },
{ name: "force", internalType: "bool", type: "bool" },
{ name: "data", internalType: "bytes", type: "bytes" }
],
name: "mint",
outputs: [],
stateMutability: "nonpayable"
}
];
const ilsp7NonTransferableAbi = [
{
type: "event",
anonymous: false,
inputs: [
{
name: "start",
internalType: "uint256",
type: "uint256",
indexed: true
},
{ name: "end", internalType: "uint256", type: "uint256", indexed: true }
],
name: "TransferLockPeriodChanged"
},
{
type: "function",
inputs: [],
name: "isTransferable",
outputs: [{ name: "", internalType: "bool", type: "bool" }],
stateMutability: "view"
},
{
type: "function",
inputs: [],
name: "makeTransferable",
outputs: [],
stateMutability: "nonpayable"
},
{
type: "function",
inputs: [],
name: "transferLockEnabled",
outputs: [{ name: "", internalType: "bool", type: "bool" }],
stateMutability: "view"
},
{
type: "function",
inputs: [],
name: "transferLockEnd",
outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
stateMutability: "view"
},
{
type: "function",
inputs: [],
name: "transferLockStart",
outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
stateMutability: "view"
},
{
type: "function",
inputs: [
{
name: "newTransferLockStart",
internalType: "uint256",
type: "uint256"
},
{ name: "newTransferLockEnd", internalType: "uint256", type: "uint256" }
],
name: "updateTransferLockPeriod",
outputs: [],
stateMutability: "nonpayable"
}
];
const ilsp7RevokableAbi = [
{
type: "event",
anonymous: false,
inputs: [
{ name: "enabled", internalType: "bool", type: "bool", indexed: true }
],
name: "RevokableStatusChanged"
},
{
type: "function",
inputs: [],
name: "disableRevokable",
outputs: [],
stateMutability: "nonpayable"
},
{
type: "function",
inputs: [],
name: "isRevokable",
outputs: [{ name: "", internalType: "bool", type: "bool" }],
stateMutability: "view"
},
{
type: "function",
inputs: [
{ name: "from", internalType: "address", type: "address" },
{ name: "to", internalType: "address", type: "address" },
{ name: "amount", internalType: "uint256", type: "uint256" },
{ name: "data", internalType: "bytes", type: "bytes" }
],
name: "revoke",
outputs: [],
stateMutability: "nonpayable"
}
];
const ilsp8CappedBalanceAbi = [
{
type: "function",
inputs: [],
name: "tokenBalanceCap",
outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
stateMutability: "view"
}
];
const ilsp8CappedSupplyAbi = [
{
type: "function",
inputs: [],
name: "tokenSupplyCap",
outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
stateMutability: "view"
}
];
const ilsp8IdentifiableDigitalAssetAbi = [
{
type: "event",
anonymous: false,
inputs: [
{
name: "operator",
internalType: "address",
type: "address",
indexed: true
},
{
name: "tokenOwner",
internalType: "address",
type: "address",
indexed: true
},
{
name: "tokenId",
internalType: "bytes32",
type: "bytes32",
indexed: true
},
{
name: "operatorNotificationData",
internalType: "bytes",
type: "bytes",
indexed: false
}
],
name: "OperatorAuthorizationChanged"
},
{
type: "event",
anonymous: false,
inputs: [
{
name: "operator",
internalType: "address",
type: "address",
indexed: true
},
{
name: "tokenOwner",
internalType: "address",
type: "address",
indexed: true
},
{
name: "tokenId",
internalType: "bytes32",
type: "bytes32",
indexed: true
},
{ name: "notified", internalType: "bool", type: "bool", indexed: false },
{
name: "operatorNotificationData",
internalType: "bytes",
type: "bytes",
indexed: false
}
],
name: "OperatorRevoked"
},
{
type: "event",
anonymous: false,
inputs: [
{
name: "tokenId",
internalType: "bytes32",
type: "bytes32",
indexed: true
},
{
name: "dataKey",
internalType: "bytes32",
type: "bytes32",
indexed: true
},
{
name: "dataValue",
internalType: "bytes",
type: "bytes",
indexed: false
}
],
name: "TokenIdDataChanged"
},
{
type: "event",
anonymous: false,
inputs: [
{
name: "operator",
internalType: "address",
type: "address",
indexed: false
},
{ name: "from", internalType: "address", type: "address", indexed: true },
{ name: "to", internalType: "address", type: "address", indexed: true },
{
name: "tokenId",
internalType: "bytes32",
type: "bytes32",
indexed: true
},
{ name: "force", internalType: "bool", type: "bool", indexed: false },
{ name: "data", internalType: "bytes", type: "bytes", indexed: false }
],
name: "Transfer"
},
{
type: "function",
inputs: [
{ name: "operator", internalType: "address", type: "address" },
{ name: "tokenId", internalType: "bytes32", type: "bytes32" },
{
name: "operatorNotificationData",
internalType: "bytes",
type: "bytes"
}
],
name: "authorizeOperator",
outputs: [],
stateMutability: "nonpayable"
},
{
type: "function",
inputs: [{ n