Static
Readonly
abi
abi: readonly [{
inputs: readonly [{
internalType: "bool";
name: "nonUpgradable";
type: "bool";
}, {
internalType: "bool";
name: "appWhiteListingEnabled";
type: "bool";
}];
stateMutability: "nonpayable";
type: "constructor";
}, {
inputs: readonly [{
internalType: "uint256";
name: "_code";
type: "uint256";
}];
name: "APP_RULE";
type: "error";
}, {
inputs: readonly [];
name: "HOST_AGREEMENT_ALREADY_REGISTERED";
type: "error";
}, {
inputs: readonly [];
name: "HOST_AGREEMENT_CALLBACK_IS_NOT_ACTION";
type: "error";
}, {
inputs: readonly [];
name: "HOST_AGREEMENT_IS_NOT_REGISTERED";
type: "error";
}, {
inputs: readonly [];
name: "HOST_CALL_AGREEMENT_WITH_CTX_FROM_WRONG_ADDRESS";
type: "error";
}, {
inputs: readonly [];
name: "HOST_CALL_APP_ACTION_WITH_CTX_FROM_WRONG_ADDRESS";
type: "error";
}, {
inputs: readonly [];
name: "HOST_CANNOT_DOWNGRADE_TO_NON_UPGRADEABLE";
type: "error";
}, {
inputs: readonly [];
name: "HOST_INVALID_CONFIG_WORD";
type: "error";
}, {
inputs: readonly [];
name: "HOST_MAX_256_AGREEMENTS";
type: "error";
}, {
inputs: readonly [];
name: "HOST_MUST_BE_CONTRACT";
type: "error";
}, {
inputs: readonly [];
name: "HOST_NEED_MORE_GAS";
type: "error";
}, {
inputs: readonly [];
name: "HOST_NON_UPGRADEABLE";
type: "error";
}, {
inputs: readonly [];
name: "HOST_NON_ZERO_LENGTH_PLACEHOLDER_CTX";
type: "error";
}, {
inputs: readonly [];
name: "HOST_NOT_A_SUPER_APP";
type: "error";
}, {
inputs: readonly [];
name: "HOST_NO_APP_REGISTRATION_PERMISSION";
type: "error";
}, {
inputs: readonly [];
name: "HOST_ONLY_GOVERNANCE";
type: "error";
}, {
inputs: readonly [];
name: "HOST_ONLY_LISTED_AGREEMENT";
type: "error";
}, {
inputs: readonly [];
name: "HOST_RECEIVER_IS_NOT_SUPER_APP";
type: "error";
}, {
inputs: readonly [];
name: "HOST_SENDER_IS_NOT_SUPER_APP";
type: "error";
}, {
inputs: readonly [];
name: "HOST_SOURCE_APP_NEEDS_HIGHER_APP_LEVEL";
type: "error";
}, {
inputs: readonly [];
name: "HOST_SUPER_APP_ALREADY_REGISTERED";
type: "error";
}, {
inputs: readonly [];
name: "HOST_SUPER_APP_IS_JAILED";
type: "error";
}, {
inputs: readonly [];
name: "HOST_UNKNOWN_BATCH_CALL_OPERATION_TYPE";
type: "error";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "bytes32";
name: "agreementType";
type: "bytes32";
}, {
indexed: false;
internalType: "address";
name: "code";
type: "address";
}];
name: "AgreementClassRegistered";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "bytes32";
name: "agreementType";
type: "bytes32";
}, {
indexed: false;
internalType: "address";
name: "code";
type: "address";
}];
name: "AgreementClassUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "contract ISuperApp";
name: "app";
type: "address";
}];
name: "AppRegistered";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "bytes32";
name: "uuid";
type: "bytes32";
}, {
indexed: false;
internalType: "address";
name: "codeAddress";
type: "address";
}];
name: "CodeUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "contract ISuperfluidGovernance";
name: "oldGov";
type: "address";
}, {
indexed: false;
internalType: "contract ISuperfluidGovernance";
name: "newGov";
type: "address";
}];
name: "GovernanceReplaced";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "uint8";
name: "version";
type: "uint8";
}];
name: "Initialized";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "contract ISuperApp";
name: "app";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "reason";
type: "uint256";
}];
name: "Jail";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "beaconProxy";
type: "address";
}, {
indexed: false;
internalType: "address";
name: "newBeaconLogic";
type: "address";
}];
name: "PoolBeaconLogicUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "contract ISuperTokenFactory";
name: "newFactory";
type: "address";
}];
name: "SuperTokenFactoryUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "contract ISuperToken";
name: "token";
type: "address";
}, {
indexed: false;
internalType: "address";
name: "code";
type: "address";
}];
name: "SuperTokenLogicUpdated";
type: "event";
}, {
inputs: readonly [];
name: "APP_WHITE_LISTING_ENABLED";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "CALLBACK_GAS_LIMIT";
outputs: readonly [{
internalType: "uint64";
name: "";
type: "uint64";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "MAX_APP_CALLBACK_LEVEL";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "MAX_NUM_AGREEMENTS";
outputs: readonly [{
internalType: "uint32";
name: "";
type: "uint32";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "NON_UPGRADABLE_DEPLOYMENT";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "bitmap";
type: "uint256";
}, {
internalType: "bytes32";
name: "agreementType";
type: "bytes32";
}];
name: "addToAgreementClassesBitmap";
outputs: readonly [{
internalType: "uint256";
name: "newBitmap";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperApp";
name: "targetApp";
type: "address";
}];
name: "allowCompositeApp";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes";
name: "ctx";
type: "bytes";
}, {
internalType: "int256";
name: "appCreditUsedDelta";
type: "int256";
}];
name: "appCallbackPop";
outputs: readonly [{
internalType: "bytes";
name: "newCtx";
type: "bytes";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes";
name: "ctx";
type: "bytes";
}, {
internalType: "contract ISuperApp";
name: "app";
type: "address";
}, {
internalType: "uint256";
name: "appCreditGranted";
type: "uint256";
}, {
internalType: "int256";
name: "appCreditUsed";
type: "int256";
}, {
internalType: "contract ISuperfluidToken";
name: "appCreditToken";
type: "address";
}];
name: "appCallbackPush";
outputs: readonly [{
internalType: "bytes";
name: "appCtx";
type: "bytes";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
components: readonly [{
internalType: "uint32";
name: "operationType";
type: "uint32";
}, {
internalType: "address";
name: "target";
type: "address";
}, {
internalType: "bytes";
name: "data";
type: "bytes";
}];
internalType: "struct ISuperfluid.Operation[]";
name: "operations";
type: "tuple[]";
}];
name: "batchCall";
outputs: readonly [];
stateMutability: "payable";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperAgreement";
name: "agreementClass";
type: "address";
}, {
internalType: "bytes";
name: "callData";
type: "bytes";
}, {
internalType: "bytes";
name: "userData";
type: "bytes";
}];
name: "callAgreement";
outputs: readonly [{
internalType: "bytes";
name: "returnedData";
type: "bytes";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperAgreement";
name: "agreementClass";
type: "address";
}, {
internalType: "bytes";
name: "callData";
type: "bytes";
}, {
internalType: "bytes";
name: "userData";
type: "bytes";
}, {
internalType: "bytes";
name: "ctx";
type: "bytes";
}];
name: "callAgreementWithContext";
outputs: readonly [{
internalType: "bytes";
name: "newCtx";
type: "bytes";
}, {
internalType: "bytes";
name: "returnedData";
type: "bytes";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperApp";
name: "app";
type: "address";
}, {
internalType: "bytes";
name: "callData";
type: "bytes";
}];
name: "callAppAction";
outputs: readonly [{
internalType: "bytes";
name: "returnedData";
type: "bytes";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperApp";
name: "app";
type: "address";
}, {
internalType: "bytes";
name: "callData";
type: "bytes";
}, {
internalType: "bytes";
name: "ctx";
type: "bytes";
}];
name: "callAppActionWithContext";
outputs: readonly [{
internalType: "bytes";
name: "newCtx";
type: "bytes";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperApp";
name: "app";
type: "address";
}, {
internalType: "bytes";
name: "callData";
type: "bytes";
}, {
internalType: "bool";
name: "isTermination";
type: "bool";
}, {
internalType: "bytes";
name: "ctx";
type: "bytes";
}];
name: "callAppAfterCallback";
outputs: readonly [{
internalType: "bytes";
name: "newCtx";
type: "bytes";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperApp";
name: "app";
type: "address";
}, {
internalType: "bytes";
name: "callData";
type: "bytes";
}, {
internalType: "bool";
name: "isTermination";
type: "bool";
}, {
internalType: "bytes";
name: "ctx";
type: "bytes";
}];
name: "callAppBeforeCallback";
outputs: readonly [{
internalType: "bytes";
name: "cbdata";
type: "bytes";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [];
name: "castrate";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperToken";
name: "token";
type: "address";
}, {
internalType: "address";
name: "newAdmin";
type: "address";
}];
name: "changeSuperTokenAdmin";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes";
name: "ctx";
type: "bytes";
}, {
internalType: "int256";
name: "appCreditUsedMore";
type: "int256";
}];
name: "ctxUseCredit";
outputs: readonly [{
internalType: "bytes";
name: "newCtx";
type: "bytes";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes";
name: "ctx";
type: "bytes";
}];
name: "decodeCtx";
outputs: readonly [{
components: readonly [{
internalType: "uint8";
name: "appCallbackLevel";
type: "uint8";
}, {
internalType: "uint8";
name: "callType";
type: "uint8";
}, {
internalType: "uint256";
name: "timestamp";
type: "uint256";
}, {
internalType: "address";
name: "msgSender";
type: "address";
}, {
internalType: "bytes4";
name: "agreementSelector";
type: "bytes4";
}, {
internalType: "bytes";
name: "userData";
type: "bytes";
}, {
internalType: "uint256";
name: "appCreditGranted";
type: "uint256";
}, {
internalType: "uint256";
name: "appCreditWantedDeprecated";
type: "uint256";
}, {
internalType: "int256";
name: "appCreditUsed";
type: "int256";
}, {
internalType: "address";
name: "appAddress";
type: "address";
}, {
internalType: "contract ISuperfluidToken";
name: "appCreditToken";
type: "address";
}];
internalType: "struct ISuperfluid.Context";
name: "context";
type: "tuple";
}];
stateMutability: "pure";
type: "function";
}, {
inputs: readonly [{
components: readonly [{
internalType: "uint32";
name: "operationType";
type: "uint32";
}, {
internalType: "address";
name: "target";
type: "address";
}, {
internalType: "bytes";
name: "data";
type: "bytes";
}];
internalType: "struct ISuperfluid.Operation[]";
name: "operations";
type: "tuple[]";
}];
name: "forwardBatchCall";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes32";
name: "agreementType";
type: "bytes32";
}];
name: "getAgreementClass";
outputs: readonly [{
internalType: "contract ISuperAgreement";
name: "agreementClass";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperApp";
name: "appAddr";
type: "address";
}];
name: "getAppCallbackLevel";
outputs: readonly [{
internalType: "uint8";
name: "";
type: "uint8";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperApp";
name: "app";
type: "address";
}];
name: "getAppManifest";
outputs: readonly [{
internalType: "bool";
name: "isSuperApp";
type: "bool";
}, {
internalType: "bool";
name: "isJailed";
type: "bool";
}, {
internalType: "uint256";
name: "noopMask";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "getCodeAddress";
outputs: readonly [{
internalType: "address";
name: "codeAddress";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "getGovernance";
outputs: readonly [{
internalType: "contract ISuperfluidGovernance";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "getNow";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "getSuperTokenFactory";
outputs: readonly [{
internalType: "contract ISuperTokenFactory";
name: "factory";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "getSuperTokenFactoryLogic";
outputs: readonly [{
internalType: "address";
name: "logic";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperfluidGovernance";
name: "gov";
type: "address";
}];
name: "initialize";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperAgreement";
name: "agreementClass";
type: "address";
}];
name: "isAgreementClassListed";
outputs: readonly [{
internalType: "bool";
name: "yes";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes32";
name: "agreementType";
type: "bytes32";
}];
name: "isAgreementTypeListed";
outputs: readonly [{
internalType: "bool";
name: "yes";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperApp";
name: "app";
type: "address";
}];
name: "isApp";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperApp";
name: "app";
type: "address";
}];
name: "isAppJailed";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperApp";
name: "app";
type: "address";
}, {
internalType: "contract ISuperApp";
name: "targetApp";
type: "address";
}];
name: "isCompositeAppAllowed";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes";
name: "ctx";
type: "bytes";
}];
name: "isCtxValid";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "forwarder";
type: "address";
}];
name: "isTrustedForwarder";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes";
name: "ctx";
type: "bytes";
}, {
internalType: "contract ISuperApp";
name: "app";
type: "address";
}, {
internalType: "uint256";
name: "reason";
type: "uint256";
}];
name: "jailApp";
outputs: readonly [{
internalType: "bytes";
name: "newCtx";
type: "bytes";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "bitmap";
type: "uint256";
}];
name: "mapAgreementClasses";
outputs: readonly [{
internalType: "contract ISuperAgreement[]";
name: "agreementClasses";
type: "address[]";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "proxiableUUID";
outputs: readonly [{
internalType: "bytes32";
name: "";
type: "bytes32";
}];
stateMutability: "pure";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperAgreement";
name: "agreementClassLogic";
type: "address";
}];
name: "registerAgreementClass";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "configWord";
type: "uint256";
}];
name: "registerApp";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperApp";
name: "app";
type: "address";
}, {
internalType: "uint256";
name: "configWord";
type: "uint256";
}];
name: "registerApp";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperApp";
name: "app";
type: "address";
}, {
internalType: "uint256";
name: "configWord";
type: "uint256";
}];
name: "registerAppByFactory";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "configWord";
type: "uint256";
}, {
internalType: "string";
name: "registrationKey";
type: "string";
}];
name: "registerAppWithKey";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "bitmap";
type: "uint256";
}, {
internalType: "bytes32";
name: "agreementType";
type: "bytes32";
}];
name: "removeFromAgreementClassesBitmap";
outputs: readonly [{
internalType: "uint256";
name: "newBitmap";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperfluidGovernance";
name: "newGov";
type: "address";
}];
name: "replaceGovernance";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperAgreement";
name: "agreementClassLogic";
type: "address";
}];
name: "updateAgreementClass";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "newAddress";
type: "address";
}];
name: "updateCode";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "newLogic";
type: "address";
}];
name: "updatePoolBeaconLogic";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperTokenFactory";
name: "newFactory";
type: "address";
}];
name: "updateSuperTokenFactory";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperToken";
name: "token";
type: "address";
}, {
internalType: "address";
name: "newLogicOverride";
type: "address";
}];
name: "updateSuperTokenLogic";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [];
name: "versionRecipient";
outputs: readonly [{
internalType: "string";
name: "";
type: "string";
}];
stateMutability: "pure";
type: "function";
}]