UNPKG

@lukso/lsp-smart-contracts

Version:

The reference smart contract implementation for the LUKSO LSP standards

1,915 lines (1,914 loc) 930 kB
'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