lens-modules 3.1.6 → 3.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +674 -19
- package/contracts/actions/account/TippingAccountAction.sol +1 -2
- package/contracts/actions/account/base/BaseAccountAction.sol +1 -2
- package/contracts/actions/account/base/OwnableMetadataBasedAccountAction.sol +1 -2
- package/contracts/actions/base/BaseAction.sol +1 -2
- package/contracts/actions/post/TippingPostAction.sol +1 -2
- package/contracts/actions/post/base/BasePostAction.sol +1 -2
- package/contracts/actions/post/base/OwnableMetadataBasedPostAction.sol +1 -2
- package/contracts/actions/post/collect/IERC7572.sol +1 -2
- package/contracts/actions/post/collect/ISimpleCollectAction.sol +1 -2
- package/contracts/actions/post/collect/LensCollectedPost.sol +1 -2
- package/contracts/actions/post/collect/SimpleCollectAction.sol +1 -2
- package/contracts/core/access/AccessControlled.sol +1 -2
- package/contracts/core/access/Ownable.sol +1 -2
- package/contracts/core/access/RoleBasedAccessControl.sol +1 -2
- package/contracts/core/base/BaseSource.sol +1 -2
- package/contracts/core/base/LensERC721.sol +1 -2
- package/contracts/core/base/RuleBasedPrimitive.sol +1 -2
- package/contracts/core/interfaces/IAccessControl.sol +1 -2
- package/contracts/core/interfaces/IAccessControlled.sol +1 -2
- package/contracts/core/interfaces/IAccountGroupAdditionSettings.sol +1 -2
- package/contracts/core/interfaces/IERC4906Events.sol +1 -2
- package/contracts/core/interfaces/IERC721Namespace.sol +1 -2
- package/contracts/core/interfaces/IFeed.sol +1 -2
- package/contracts/core/interfaces/IFeedRule.sol +1 -2
- package/contracts/core/interfaces/IFollowRule.sol +1 -2
- package/contracts/core/interfaces/IGraph.sol +1 -2
- package/contracts/core/interfaces/IGraphRule.sol +1 -2
- package/contracts/core/interfaces/IGroup.sol +1 -2
- package/contracts/core/interfaces/IGroupRule.sol +1 -2
- package/contracts/core/interfaces/ILock.sol +1 -2
- package/contracts/core/interfaces/IMetadataBased.sol +1 -2
- package/contracts/core/interfaces/INamespace.sol +1 -2
- package/contracts/core/interfaces/INamespaceRule.sol +1 -2
- package/contracts/core/interfaces/IOwnable.sol +1 -2
- package/contracts/core/interfaces/IPostRule.sol +1 -2
- package/contracts/core/interfaces/IRequestBasedGroupRule.sol +1 -2
- package/contracts/core/interfaces/IRoleBasedAccessControl.sol +1 -2
- package/contracts/core/interfaces/ISource.sol +1 -2
- package/contracts/core/interfaces/ITokenURIProvider.sol +1 -2
- package/contracts/core/interfaces/IVersionedBeacon.sol +1 -2
- package/contracts/core/libraries/AccessControlLib.sol +1 -2
- package/contracts/core/libraries/CallLib.sol +1 -2
- package/contracts/core/libraries/EIP712EncodingLib.sol +1 -2
- package/contracts/core/libraries/KeyValueLib.sol +1 -2
- package/contracts/core/libraries/KeyValueStorageLib.sol +1 -2
- package/contracts/core/libraries/RulesLib.sol +1 -2
- package/contracts/core/primitives/feed/Feed.sol +1 -2
- package/contracts/core/primitives/feed/FeedCore.sol +1 -2
- package/contracts/core/primitives/feed/RuleBasedFeed.sol +1 -2
- package/contracts/core/primitives/graph/Graph.sol +1 -2
- package/contracts/core/primitives/graph/GraphCore.sol +1 -2
- package/contracts/core/primitives/graph/RuleBasedGraph.sol +1 -2
- package/contracts/core/primitives/group/Group.sol +1 -2
- package/contracts/core/primitives/group/GroupCore.sol +1 -2
- package/contracts/core/primitives/group/RuleBasedGroup.sol +1 -2
- package/contracts/core/primitives/namespace/LensUsernameTokenURIProvider.sol +1 -2
- package/contracts/core/primitives/namespace/Namespace.sol +1 -2
- package/contracts/core/primitives/namespace/NamespaceCore.sol +1 -2
- package/contracts/core/primitives/namespace/RuleBasedNamespace.sol +1 -2
- package/contracts/core/types/Constants.sol +1 -2
- package/contracts/core/types/Errors.sol +1 -2
- package/contracts/core/types/Events.sol +1 -2
- package/contracts/core/types/Types.sol +1 -2
- package/contracts/core/upgradeability/Beacon.sol +1 -2
- package/contracts/core/upgradeability/BeaconProxy.sol +1 -2
- package/contracts/core/upgradeability/EmptyImplementation.sol +1 -2
- package/contracts/core/upgradeability/Initializable.sol +1 -2
- package/contracts/core/upgradeability/LegacyBeaconProxy.sol +1 -2
- package/contracts/core/upgradeability/LensCreate2.sol +1 -2
- package/contracts/core/upgradeability/Lock.sol +1 -2
- package/contracts/core/upgradeability/ProxyAdmin.sol +1 -2
- package/contracts/extensions/access/OwnerAdminOnlyAccessControl.sol +1 -2
- package/contracts/extensions/access/PermissionlessAccessControl.sol +1 -2
- package/contracts/extensions/account/Account.sol +1 -2
- package/contracts/extensions/account/IAccount.sol +1 -2
- package/contracts/extensions/actions/ActionHub.sol +1 -2
- package/contracts/extensions/factories/AccessControlFactory.sol +1 -2
- package/contracts/extensions/factories/AccountFactory.sol +1 -2
- package/contracts/extensions/factories/AppFactory.sol +1 -2
- package/contracts/extensions/factories/FeedFactory.sol +1 -2
- package/contracts/extensions/factories/GraphFactory.sol +1 -2
- package/contracts/extensions/factories/GroupFactory.sol +1 -2
- package/contracts/extensions/factories/LensFactory.sol +1 -2
- package/contracts/extensions/factories/NamespaceFactory.sol +1 -2
- package/contracts/extensions/factories/PrimitiveFactory.sol +1 -2
- package/contracts/extensions/fees/LensFees.sol +1 -2
- package/contracts/extensions/fees/LensNativePaymentHelper.sol +1 -2
- package/contracts/extensions/fees/LensPaymentHandler.sol +1 -2
- package/contracts/extensions/fees/LensRulePaymentHandler.sol +1 -2
- package/contracts/extensions/misc/TokenDistributor.sol +1 -2
- package/contracts/extensions/primitives/app/App.sol +1 -2
- package/contracts/extensions/primitives/app/AppCore.sol +1 -2
- package/contracts/extensions/primitives/app/IApp.sol +1 -2
- package/contracts/migration/WhitelistedAddresses.sol +1 -2
- package/contracts/migration/factories/MigrationAccessControlFactory.sol +1 -2
- package/contracts/migration/factories/MigrationAccountFactory.sol +1 -2
- package/contracts/migration/factories/MigrationAppFactory.sol +1 -2
- package/contracts/migration/factories/MigrationFeedFactory.sol +1 -2
- package/contracts/migration/factories/MigrationGraphFactory.sol +1 -2
- package/contracts/migration/factories/MigrationLensFactory.sol +1 -2
- package/contracts/migration/factories/MigrationNamespaceFactory.sol +1 -2
- package/contracts/migration/primitives/MigrationAccount.sol +1 -2
- package/contracts/migration/primitives/MigrationApp.sol +1 -2
- package/contracts/migration/primitives/MigrationFeed.sol +1 -2
- package/contracts/migration/primitives/MigrationGraph.sol +1 -2
- package/contracts/migration/primitives/MigrationNamespace.sol +1 -2
- package/contracts/rules/AccountBlockingRule.sol +1 -2
- package/contracts/rules/base/OwnableMetadataBasedRule.sol +1 -2
- package/contracts/rules/base/RestrictedSignersRule.sol +1 -2
- package/contracts/rules/base/SimplePaymentRule.sol +1 -2
- package/contracts/rules/base/TokenGatedRule.sol +1 -2
- package/contracts/rules/base/TrustBasedRule.sol +1 -2
- package/contracts/rules/feed/GroupGatedFeedRule.sol +1 -2
- package/contracts/rules/feed/RestrictedSignersFeedRule.sol +1 -2
- package/contracts/rules/feed/SimplePaymentFeedRule.sol +1 -2
- package/contracts/rules/feed/TokenGatedFeedRule.sol +1 -2
- package/contracts/rules/follow/SimplePaymentFollowRule.sol +1 -2
- package/contracts/rules/follow/TokenGatedFollowRule.sol +1 -2
- package/contracts/rules/graph/GroupGatedGraphRule.sol +1 -2
- package/contracts/rules/graph/RestrictedSignersGraphRule.sol +1 -2
- package/contracts/rules/graph/TokenGatedGraphRule.sol +1 -2
- package/contracts/rules/group/AdditionRemovalPidGroupRule.sol +1 -2
- package/contracts/rules/group/BanMemberGroupRule.sol +1 -2
- package/contracts/rules/group/MembershipApprovalGroupRule.sol +1 -2
- package/contracts/rules/group/SimplePaymentGroupRule.sol +1 -2
- package/contracts/rules/group/TokenGatedGroupRule.sol +1 -2
- package/contracts/rules/namespace/SimplePaymentNamespaceRule.sol +1 -2
- package/contracts/rules/namespace/TokenGatedNamespaceRule.sol +1 -2
- package/contracts/rules/namespace/UsernameCharsetNamespaceRule.sol +1 -2
- package/contracts/rules/namespace/UsernameLengthNamespaceRule.sol +1 -2
- package/contracts/rules/namespace/UsernamePricePerLengthNamespaceRule.sol +1 -2
- package/contracts/rules/namespace/UsernameReservedNamespaceRule.sol +1 -2
- package/contracts/rules/namespace/UsernameSimpleCharsetNamespaceRule.sol +1 -2
- package/contracts/rules/post/FollowersOnlyPostRule.sol +1 -2
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +0 -2
- package/dist/index.d.ts +0 -2
- package/dist/index.js +1 -1
- package/package.json +2 -2
- package/dist/utils.cjs +0 -1
- package/dist/utils.d.cts +0 -31
- package/dist/utils.d.ts +0 -31
- package/dist/utils.js +0 -1
package/dist/utils.d.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { Hex } from 'viem';
|
|
2
|
-
|
|
3
|
-
interface DecodedAction {
|
|
4
|
-
target: string;
|
|
5
|
-
contractType?: string;
|
|
6
|
-
action: string;
|
|
7
|
-
data?: Hex;
|
|
8
|
-
parameters?: Record<string, any>;
|
|
9
|
-
rawData?: string;
|
|
10
|
-
selector?: string;
|
|
11
|
-
error?: string;
|
|
12
|
-
transactionIndex?: number;
|
|
13
|
-
}
|
|
14
|
-
interface DecodedTransaction {
|
|
15
|
-
type?: string;
|
|
16
|
-
target?: string;
|
|
17
|
-
value?: string;
|
|
18
|
-
data?: string;
|
|
19
|
-
transactions?: Transaction[];
|
|
20
|
-
decodedActions: DecodedAction[];
|
|
21
|
-
error?: string;
|
|
22
|
-
calldata?: string;
|
|
23
|
-
}
|
|
24
|
-
interface Transaction {
|
|
25
|
-
target: string;
|
|
26
|
-
value: string;
|
|
27
|
-
data: string;
|
|
28
|
-
}
|
|
29
|
-
declare function decodeDelegatedTransaction(calldata: Hex): DecodedTransaction;
|
|
30
|
-
|
|
31
|
-
export { decodeDelegatedTransaction };
|
package/dist/utils.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{decodeFunctionData,parseAbi}from"viem";import{accountAbi,feedAbi,graphAbi,groupAbi,namespaceAbi,appAbi}from"./abis";const functionMap=new Map;function addFunctionsToMap(abi,contractName){abi.forEach(item=>{if(item.type==="function"&&item.name){functionMap.set(item.name,{abi:[item],contractName,functionName:item.name})}})}addFunctionsToMap([...accountAbi],"Account");addFunctionsToMap([...feedAbi],"Feed");addFunctionsToMap([...graphAbi],"Graph");addFunctionsToMap([...groupAbi],"Group");addFunctionsToMap([...namespaceAbi],"Namespace");addFunctionsToMap([...appAbi],"App");function decodeDelegatedTransaction(calldata){try{try{const executeTransactionAbi=parseAbi(["function executeTransaction(address target, uint256 value, bytes data) returns (bytes)"]);const decoded=decodeFunctionData({abi:executeTransactionAbi,data:calldata});if(decoded.functionName==="executeTransaction"){const result={type:"executeTransaction",target:decoded.args[0],value:decoded.args[1].toString(),data:decoded.args[2],decodedActions:[]};const innerAction=decodeInnerAction(decoded.args[0],decoded.args[2]);if(innerAction){result.decodedActions.push(innerAction)}return result}}catch{}try{const executeTransactionsAbi=parseAbi(["function executeTransactions((address target, uint256 value, bytes data)[] transactions) returns (bytes[])"]);const decoded=decodeFunctionData({abi:executeTransactionsAbi,data:calldata});if(decoded.functionName==="executeTransactions"){const result={type:"executeTransactions",transactions:decoded.args[0].map(tx=>({target:tx.target,value:tx.value.toString(),data:tx.data})),decodedActions:[]};decoded.args[0].forEach((tx,index)=>{const innerAction=decodeInnerAction(tx.target,tx.data);if(innerAction){result.decodedActions.push({transactionIndex:index,...innerAction})}});return result}}catch{}return{error:"Could not decode as executeTransaction or executeTransactions",calldata,decodedActions:[]}}catch(error){return{error:`Decoding failed: ${error.message}`,calldata,decodedActions:[]}}}function decodeInnerAction(target,data){try{if(!data||data==="0x"){return{target,action:"raw_transaction",data:data||"0x"}}const selector=data.slice(0,10);const commonFunctions=["createPost","follow","unfollow","addToGroup","removeFromGroup","createGraph","createGroup","createFeed","createApp","mintUsername","tip","collect"];for(const funcName of commonFunctions){if(functionMap.has(funcName)){try{const{abi,contractName}=functionMap.get(funcName);const decoded=decodeFunctionData({abi,data});if(decoded.functionName===funcName){return{target,contractType:contractName,action:funcName,parameters:formatParameters([...decoded.args],abi[0].inputs||[]),rawData:data}}}catch{}}}const abiSets=[{abi:feedAbi,name:"Feed"},{abi:graphAbi,name:"Graph"},{abi:groupAbi,name:"Group"},{abi:namespaceAbi,name:"Namespace"},{abi:appAbi,name:"App"},{abi:accountAbi,name:"Account"}];for(const{abi,name}of abiSets){if(!abi||!abi.length)continue;try{const decoded=decodeFunctionData({abi,data});return{target,contractType:name,action:decoded.functionName,parameters:formatParameters([...decoded.args],abi.filter(item=>item.type==="function").find(item=>item.name===decoded.functionName)?.inputs||[]),rawData:data}}catch{}}return{target,action:"unknown_function",selector,data,error:"Could not decode function call"}}catch(error){return{target,action:"decode_error",error:error.message,data}}}function formatParameters(args,inputs){if(!args||!inputs)return{};const formatted={};inputs.forEach((input,index)=>{if(index>=args.length)return;const value=args[index];try{if(input.type==="address"){formatted[input.name]=value}else if(input.type.includes("uint")||input.type.includes("int")){formatted[input.name]=typeof value==="bigint"?value.toString():String(value)}else if(input.type==="bool"){formatted[input.name]=Boolean(value)}else if(input.type==="string"){formatted[input.name]=String(value)}else if(input.type==="bytes"||input.type.startsWith("bytes")){formatted[input.name]=value}else if(input.type==="tuple"){formatted[input.name]=formatTupleParameters(value,input.components||[])}else if(input.type==="tuple[]"){formatted[input.name]=Array.isArray(value)?value.map(v=>formatTupleParameters(v,input.components||[])):[]}else if(input.type.includes("[]")){formatted[input.name]=Array.isArray(value)?value.map(v=>typeof v==="bigint"?v.toString():v):value}else{formatted[input.name]=value}}catch(error){formatted[input.name]=`<formatting error: ${error.message}>`}});return formatted}function formatTupleParameters(tupleValue,components){if(!tupleValue||!components)return{};const formatted={};components.forEach((component,index)=>{const value=tupleValue[component.name]!==void 0?tupleValue[component.name]:tupleValue[index];try{if(component.type==="address"){formatted[component.name]=value}else if(component.type.includes("uint")||component.type.includes("int")){formatted[component.name]=typeof value==="bigint"?value.toString():String(value)}else if(component.type==="bool"){formatted[component.name]=Boolean(value)}else if(component.type==="string"){formatted[component.name]=String(value)}else if(component.type==="bytes"||component.type.startsWith("bytes")){formatted[component.name]=value}else if(component.type==="tuple"){formatted[component.name]=formatTupleParameters(value,component.components||[])}else if(component.type==="tuple[]"){formatted[component.name]=Array.isArray(value)?value.map(v=>formatTupleParameters(v,component.components||[])):[]}else if(component.type.includes("[]")){formatted[component.name]=Array.isArray(value)?value.map(v=>typeof v==="bigint"?v.toString():v):value}else{formatted[component.name]=value}}catch(error){formatted[component.name]=`<formatting error: ${error.message}>`}});return formatted}export{decodeDelegatedTransaction};
|