{"version":"1.2.0","category":"rebalancing","label":"Rebalancing","targets":["0x1a3be5383d51f2e47488e01c3d975ef58c88090f"],"may":[{"to":"0x1a3be5383d51f2e47488e01c3d975ef58c88090f","target":"RecipientBound, forwarding to PancakeSwap V3 Positions","signature":"mint(uint24,int24,int24,uint256,uint256,uint256,uint256,uint256)","plain":"open a liquidity position for you","recipient":{"boundTo":"session owner","by":"wrapper","note":"written by the wrapper from immutable storage; the signature has no recipient parameter for the agent to pass"}},{"to":"0x1a3be5383d51f2e47488e01c3d975ef58c88090f","target":"RecipientBound, forwarding to PancakeSwap V3 Positions","signature":"increaseLiquidity(uint256,uint256,uint256,uint256,uint256,uint256)","plain":"add to a position you already own","recipient":null},{"to":"0x1a3be5383d51f2e47488e01c3d975ef58c88090f","target":"RecipientBound, forwarding to PancakeSwap V3 Positions","signature":"decreaseLiquidity(uint256,uint128,uint256,uint256,uint256)","plain":"withdraw liquidity from your position","recipient":null},{"to":"0x1a3be5383d51f2e47488e01c3d975ef58c88090f","target":"RecipientBound, forwarding to PancakeSwap V3 Positions","signature":"collect(uint256,uint128,uint128)","plain":"collect fees and withdrawn principal","recipient":{"boundTo":"session owner","by":"wrapper","note":"written by the wrapper from immutable storage; the signature has no recipient parameter for the agent to pass"}}],"mayNot":[{"signature":"sweepToken(address,uint256,address)","because":"sends any token balance to an arbitrary address"},{"signature":"refundETH()","because":"returns native value to the caller, which is the agent, not you"},{"signature":"unwrapWETH9(uint256,address)","because":"unwraps to an arbitrary recipient"},{"signature":"multicall(bytes[])","because":"batches the three above past a per-selector allowlist"},{"signature":"burn(uint256)","because":"destroys a position; closing one is decreaseLiquidity then collect"},{"signature":"safeTransferFrom(address,address,uint256)","because":"moves the position NFT itself out of your ownership"},{"signature":"approve(address,uint256)","because":"delegates your position to a fourth party"}],"bounds":{"cap":"a spend cap in wei, enforced by the session key, never larger than the capital under mandate","expiry":"a unix timestamp on the session key, and on the wrapper where one is used","revocation":"one transaction from the desk; the key stops working the moment it lands"},"invariant":"granted is a subset of proven: the calls in this grant are the category's calls intersected with the protocols the chain has shown this agent using.","binding":"mint and collect take a recipient argument, and a session key binds a target and a selector, never an argument. So this grant is not issued on the position manager. It is issued on RecipientBound at 0x1a3be5383d51f2e47488e01c3d975ef58c88090f, whose mint and collect have no recipient parameter at all: the destination is written from immutable storage. There is nothing for the agent to pass, and nothing to get wrong."}