Enabled modules
Full code example
https://github.com/lens-protocol/api-examples/blob/master/src/module/enabled-modules.ts
This request is protected by authentication
hint: this means it requires an x-access-token header put in the request with your authentication token.
This query returns to you all the modules that the server knows about and information about those modules.
API Design
query CollectModules {
enabledModules {
collectModules {
moduleName
contractAddress
inputParams {
name
type
}
redeemParams {
name
type
}
returnDataParms {
name
type
}
}
followModules {
moduleName
contractAddress
inputParams {
name
type
}
redeemParams {
name
type
}
returnDataParms {
name
type
}
}
referenceModules {
moduleName
contractAddress
inputParams {
name
type
}
redeemParams {
name
type
}
returnDataParms {
name
type
}
}
}
}
{
"data": {
"enabledModules": {
"collectModules": [
{
"moduleName": "FeeCollectModule",
"contractAddress": "0xeb4f3EC9d01856Cec2413bA5338bF35CeF932D82",
"inputParams": [
{
"name": "amount",
"type": "uint256"
},
{
"name": "currency",
"type": "address"
},
{
"name": "recipient",
"type": "address"
},
{
"name": "referralFee",
"type": "uint16"
},
{
"name": "followerOnly",
"type": "bool"
}
],
"redeemParams": [
{
"name": "currency",
"type": "address"
},
{
"name": "amount",
"type": "uint256"
}
],
"returnDataParms": [
{
"name": "amount",
"type": "uint256"
},
{
"name": "currency",
"type": "address"
},
{
"name": "recipient",
"type": "address"
},
{
"name": "referralFee",
"type": "uint16"
},
{
"name": "followerOnly",
"type": "bool"
}
]
},
{
"moduleName": "LimitedFeeCollectModule",
"contractAddress": "0xFCDA2801a31ba70dfe542793020a934F880D54aB",
"inputParams": [
{
"name": "collectLimit",
"type": "uint256"
},
{
"name": "amount",
"type": "uint256"
},
{
"name": "currency",
"type": "address"
},
{
"name": "recipient",
"type": "address"
},
{
"name": "referralFee",
"type": "uint16"
},
{
"name": "followerOnly",
"type": "bool"
}
],
"redeemParams": [
{
"name": "currency",
"type": "address"
},
{
"name": "amount",
"type": "uint256"
}
],
"returnDataParms": [
{
"name": "collectLimit",
"type": "uint256"
},
{
"name": "amount",
"type": "uint256"
},
{
"name": "currency",
"type": "address"
},
{
"name": "recipient",
"type": "address"
},
{
"name": "referralFee",
"type": "uint16"
},
{
"name": "followerOnly",
"type": "bool"
}
]
},
{
"moduleName": "LimitedTimedFeeCollectModule",
"contractAddress": "0xDa76E44775C441eF53B9c769d175fB2948F15e1C",
"inputParams": [
{
"name": "collectLimit",
"type": "uint256"
},
{
"name": "amount",
"type": "uint256"
},
{
"name": "currency",
"type": "address"
},
{
"name": "recipient",
"type": "address"
},
{
"name": "referralFee",
"type": "uint16"
},
{
"name": "followerOnly",
"type": "bool"
}
],
"redeemParams": [
{
"name": "currency",
"type": "address"
},
{
"name": "amount",
"type": "uint256"
}
],
"returnDataParms": [
{
"name": "collectLimit",
"type": "uint256"
},
{
"name": "amount",
"type": "uint256"
},
{
"name": "currency",
"type": "address"
},
{
"name": "recipient",
"type": "address"
},
{
"name": "referralFee",
"type": "uint16"
},
{
"name": "followerOnly",
"type": "bool"
},
{
"name": "endTimestamp",
"type": "uint40"
}
]
},
{
"moduleName": "RevertCollectModule",
"contractAddress": "0x5E70fFD2C6D04d65C3abeBa64E93082cfA348dF8",
"inputParams": [],
"redeemParams": [],
"returnDataParms": []
},
{
"moduleName": "TimedFeeCollectModule",
"contractAddress": "0x36447b496ebc97DDA6d8c8113Fe30A30dC0126Db",
"inputParams": [
{
"name": "amount",
"type": "uint256"
},
{
"name": "currency",
"type": "address"
},
{
"name": "recipient",
"type": "address"
},
{
"name": "referralFee",
"type": "uint16"
},
{
"name": "followerOnly",
"type": "bool"
}
],
"redeemParams": [
{
"name": "currency",
"type": "address"
},
{
"name": "amount",
"type": "uint256"
}
],
"returnDataParms": [
{
"name": "amount",
"type": "uint256"
},
{
"name": "currency",
"type": "address"
},
{
"name": "recipient",
"type": "address"
},
{
"name": "referralFee",
"type": "uint16"
},
{
"name": "followerOnly",
"type": "bool"
},
{
"name": "endTimestamp",
"type": "uint40"
}
]
},
{
"moduleName": "FreeCollectModule",
"contractAddress": "0x0BE6bD7092ee83D44a6eC1D949626FeE48caB30c",
"inputParams": [
{
"name": "followerOnly",
"type": "bool"
}
],
"redeemParams": [],
"returnDataParms": [
{
"name": "followerOnly",
"type": "bool"
}
]
}
],
"followModules": [
{
"moduleName": "FeeFollowModule",
"contractAddress": "0xe7AB9BA11b97EAC820DbCc861869092b52B65C06",
"inputParams": [
{
"name": "amount",
"type": "uint256"
},
{
"name": "currency",
"type": "address"
},
{
"name": "recipient",
"type": "address"
}
],
"redeemParams": [
{
"name": "currency",
"type": "address"
},
{
"name": "amount",
"type": "uint256"
}
],
"returnDataParms": [
{
"name": "amount",
"type": "uint256"
},
{
"name": "currency",
"type": "address"
},
{
"name": "recipient",
"type": "address"
}
]
},
{
"moduleName": "RevertFollowModule",
"contractAddress": "0x8c822Fc029EBdE62Da1Ed1072534c5e112dAE48c",
"inputParams": [],
"redeemParams": [],
"returnDataParms": []
},
{
"moduleName": "ProfileFollowModule",
"contractAddress": "0x8c32203df6b1A04E25145346e2DaAD0B4712C20D",
"inputParams": [],
"redeemParams": [
{
"name": "followerProfileId",
"type": "uint256"
}
],
"returnDataParms": []
}
],
"referenceModules": [
{
"moduleName": "FollowerOnlyReferenceModule",
"contractAddress": "0x7Ea109eC988a0200A1F79Ae9b78590F92D357a16",
"inputParams": [],
"redeemParams": [],
"returnDataParms": []
}
]
}
}
}
type Query {
enabledModules: EnabledModules!
}
type EnabledModules {
collectModules: [EnabledModule!]!
followModules: [EnabledModule!]!
referenceModules: [EnabledModule!]!
}
type EnabledModule {
moduleName: String!
contractAddress: ContractAddress!
inputParams: [ModuleInfo!]!
redeemParams: [ModuleInfo!]!
returnDataParms: [ModuleInfo!]!
}
type ModuleInfo {
name: String!
type: String!
}
# Contract address custom scalar type
scalar ContractAddress
Using LensClient SDK
const result = await lensClient.modules.fetchEnabled()
Updated 6 months ago