PaySwap
中国人
中国人
  • PaySwap简介
    • 入门指南
      • 创建钱包
      • 获取代币
      • 在不使用中心化交易所的情况下使用PaySwap
      • 将您的钱包连接到 PaySwap
      • 出售/购买原生代币
    • 点击这里获取帮助
      • 故障排除错误
      • 什么是批准交易?
      • 修复 MetaMask 上卡住的待处理事务
  • 🐲雷维坦
    • 👚服装、美容与化妆利维坦
    • 🚰饮料利未坦
    • 🎥文化与娱乐 利维坦
    • 🔌能源利维坦
    • 🥕食品利维坦
    • 😷医疗利维坦
    • 🪖法律与秩序利维坦
    • 🪓采矿利维坦
    • 😈不适合工作的利维坦
    • 🏠房地产利维坦
    • 💻软件、电信和其他利维坦
    • 🚌交通利维坦
    • 🏦金库银行
    • NWO
  • 产品
    • 🌉ARPs
      • 手动 ARPs
        • 设置公司的工资单
        • 设置摩天轮计划
        • 出售资产股份
      • 基于百分比的 ARP
        • 室友一起支付账单
      • 自动ARP
      • 铸造和领取纸币
    • 🟪审核员
      • 自然资源审计
      • SSID 审核
      • 房地产代币化
      • 个人财产代币化
      • 自然代币
      • 赏金猎人
    • 🔮投注合约
      • 无字母编码的投注
      • 使用字母编码的投注
      • 合作伙伴投注活动
    • 💧账单
      • 税收
      • 簿记
      • 银行账户
      • 出售资产股份
    • 🖼️CanCan
      • 产品与服务
        • 列出产品/服务
        • 购买产品/服务
          • 用钱包购买
          • 通过 StakeMarket 购买
          • 通过 StakeMarket 出售
          • 通过 Valuepools/DAOs 购买
      • 文章
        • 列表文章
        • 小费作家
      • 付费专区
        • 列表付费专区
        • 将项目添加到付费专区
        • 从付费专区中删除项目
        • 与付费墙合作
        • 购买付费墙订阅
        • 激活付费专区订阅
      • NFTickets
      • 折扣和现金返还
        • 折扣
        • 现金返还
        • 手动奖励
      • Valuepools 合作伙伴名单
      • 公告
      • 评论
      • 动态定价
      • 合作伙伴
      • 会员资格
      • 身份要求
      • 赞助
      • 拍卖与投标
      • 滴
      • 投票数
    • 🧑‍⚖️dRamps
      • 添加代币市场
      • 部署和添加额外的令牌
      • 激活代币市场
      • 更新代币市场上的价格
      • 自动斜坡
        • 铸造 tFIAT 代币
        • 燃烧 tFIAT 代币
      • 手动斜坡
        • 铸造 tFIAT 代币
        • 燃烧 tFIAT 代币
      • 赞助商 dRamp
      • dRamps Valuepool
      • 出售/购买原生代币
      • 合作伙伴
      • 自举
      • 销售代币市场
      • 用例
        • 支付学费
        • 支付产品/服务费用
        • 汇款
        • 外汇
        • 区块链桥
        • 价值储存
    • 🖼️eCollectibles
      • 默认铸币者
      • 定制铸币厂
      • 列出预先铸造的 NFT
    • 🔄交换
      • 代币互换
      • 如何交易
      • 费用和路线
      • 流动资金池
      • 如何添加/删除流动性
      • 常问问题
    • 🧈未来的抵押品
    • 🎮游戏
      • 游戏对象
      • 游戏奖学金
    • 🎟️彩票
      • 如何玩彩票
      • 彩票常见问题解答
      • 市场彩票
      • 英国金融时报彩票
      • NFT彩票
    • 💳支付卡
      • 市场购买
    • 🐞轮廓
      • 建立你的社交图谱
      • 转账
      • 信用报告
      • 安全及其他
    • 💹收入分成
      • 加速器
      • 企业
      • 贡献者
      • 推荐人
    • 🍯赞助商
    • 🍏SSI
      • 创建数据
      • 创建 SSID
      • 创建独特的个人资料
    • 📈StakeMarket
      • 购买上市产品
      • 招标
      • 抵押贷款
      • 股份申请
      • 诉讼
    • 🖥️TrustBounties
      • 英国《金融时报》赏金
      • NFT 赏金
      • 批准
    • 🌐ValuePools/DAOs
      • 铸造 NFT 代币
      • 赞助价值池
      • 通过 Valuepool 购物
      • 通过价值池进行贷款和投资
      • 创建提案
    • 👾遗嘱
      • 立下遗嘱
      • 使用遗嘱进行存储
    • 🛍️世界赛
      • 红色药丸世界
      • 蓝色药丸世界
      • 绿色世界
  • 用例
    • CanCan
      • 商品市场:Amazon
      • 物品市场:租赁
      • 人才市场
      • AirBnB
      • 乘车服务
      • 送货应用程序
      • Rent The Runway
      • 订阅应用程序
      • 约会应用程序
      • Friend.tech
      • 远程医疗
      • 产品混音
    • Valuepools
      • 法国银行应用程序
      • 集团投资应用程序
      • 保险应用程序
      • 营销应用程序
      • 储蓄应用程序
    • ARPs
      • Budgetting
      • Group Vacation Planning
      • 代理投资
      • Spend Management
      • Loan Management
      • Rent Management
      • Tipping
      • Play & Earn Loan Management
    • Bills
      • Flexible Loan Management
      • Bill Payment
      • Taxes
      • 代理投资
    • Auditors
      • Address Verification
      • Identity Verification
      • Luxury Item Authentication
      • Awards & Trophees
      • Credit Wothiness
    • Games
      • Play To Earn For Your Game
      • Play To Earn For Tripe A Game
      • Betting
    • Betting
      • Stock Market
      • Sports
      • General
      • Companies
      • Swaps
    • Lottery
      • Data Collection
      • Sale Incentive
    • SSI
      • Supply Chain
      • Medical Records
      • Zero Knowledge Proofs
      • Background Checks
      • 单点登录
    • StakeMarket
      • 售前
      • Construction Contract
      • Collateralized Employment Contract
    • TrustBounty
      • 波动性对冲
  • 治理与代币经济学
  • 文化与愿景
  • 路线图
  • 开发商
    • Smart Contracts (EVM)
      • PaySwap Exchange
        • v3 contracts
          • PancakeV3Factory
          • SmartRouterV3
            • V3SwapRouter
            • V2SwapRouter
            • StableSwapRouter
          • NonfungiblePositionManager
          • PancakeV3Pool
      • MasterChef
        • MasterChef V3
      • dRamps
        • dRamp Contract
      • Lottery
        • Lottery Contract
  • 团队
  • 联系我们
    • 客户支持
    • 社交帐户和社区
Powered by GitBook
On this page
  • Contract Info
  • Solidity API

Was this helpful?

  1. 开发商
  2. Smart Contracts (EVM)
  3. PaySwap Exchange
  4. v3 contracts

NonfungiblePositionManager

Wraps Pancake V3 positions in the ERC721 non-fungible token interface

PreviousStableSwapRouterNextPancakeV3Pool

Last updated 1 year ago

Was this helpful?

Contract Info

Solidity API

Position

struct Position {
  uint96 nonce;
  address operator;
  uint80 poolId;
  int24 tickLower;
  int24 tickUpper;
  uint128 liquidity;
  uint256 feeGrowthInside0LastX128;
  uint256 feeGrowthInside1LastX128;
  uint128 tokensOwed0;
  uint128 tokensOwed1;
}

constructor

constructor(address _deployer, address _factory, address _WETH9, address _tokenDescriptor_) public

positions

function positions(uint256 tokenId) external view returns (uint96 nonce, address operator, address token0, address token1, uint24 fee, int24 tickLower, int24 tickUpper, uint128 liquidity, uint256 feeGrowthInside0LastX128, uint256 feeGrowthInside1LastX128, uint128 tokensOwed0, uint128 tokensOwed1)

Returns the position information associated with a given token ID.

Throws if the token ID is not valid.

Parameters

Name
Type
Description

tokenId

uint256

The ID of the token that represents the position

Return Values

Name
Type
Description

nonce

uint96

The nonce for permits

operator

address

The address that is approved for spending

token0

address

The address of the token0 for a specific pool

token1

address

The address of the token1 for a specific pool

fee

uint24

The fee associated with the pool

tickLower

int24

The lower end of the tick range for the position

tickUpper

int24

The higher end of the tick range for the position

liquidity

uint128

The liquidity of the position

feeGrowthInside0LastX128

uint256

The fee growth of token0 as of the last action on the individual position

feeGrowthInside1LastX128

uint256

The fee growth of token1 as of the last action on the individual position

tokensOwed0

uint128

The uncollected amount of token0 owed to the position as of the last computation

tokensOwed1

uint128

The uncollected amount of token1 owed to the position as of the last computation

mint

function mint(struct INonfungiblePositionManager.MintParams params) external payable returns (uint256 tokenId, uint128 liquidity, uint256 amount0, uint256 amount1)

Creates a new position wrapped in a NFT

Call this when the pool does exist and is initialized. Note that if the pool is created but not initialized a method does not exist, i.e. the pool is assumed to be initialized.

Parameters

Name
Type
Description

params

struct INonfungiblePositionManager.MintParams

The params necessary to mint a position, encoded as MintParams in calldata

Return Values

Name
Type
Description

tokenId

uint256

The ID of the token that represents the minted position

liquidity

uint128

The amount of liquidity for this position

amount0

uint256

The amount of token0

amount1

uint256

The amount of token1

isAuthorizedForToken

modifier isAuthorizedForToken(uint256 tokenId)

tokenURI

function tokenURI(uint256 tokenId) public view returns (string)

baseURI

function baseURI() public pure returns (string)

_Returns the base URI set via {setBaseURI}. This will be automatically added as a prefix in {tokenURI} to each token's URI, or to the token ID if no specific URI is set for that token ID.

increaseLiquidity

function increaseLiquidity(struct INonfungiblePositionManager.IncreaseLiquidityParams params) external payable returns (uint128 liquidity, uint256 amount0, uint256 amount1)

Increases the amount of liquidity in a position, with tokens paid by the msg.sender

Parameters

Name
Type
Description

params

struct INonfungiblePositionManager.IncreaseLiquidityParams

tokenId The ID of the token for which liquidity is being increased, amount0Desired The desired amount of token0 to be spent, amount1Desired The desired amount of token1 to be spent, amount0Min The minimum amount of token0 to spend, which serves as a slippage check, amount1Min The minimum amount of token1 to spend, which serves as a slippage check, deadline The time by which the transaction must be included to effect the change

Return Values

Name
Type
Description

liquidity

uint128

The new liquidity amount as a result of the increase

amount0

uint256

The amount of token0 to acheive resulting liquidity

amount1

uint256

The amount of token1 to acheive resulting liquidity

decreaseLiquidity

function decreaseLiquidity(struct INonfungiblePositionManager.DecreaseLiquidityParams params) external payable returns (uint256 amount0, uint256 amount1)

Decreases the amount of liquidity in a position and accounts it to the position

Parameters

Name
Type
Description

params

struct INonfungiblePositionManager.DecreaseLiquidityParams

tokenId The ID of the token for which liquidity is being decreased, amount The amount by which liquidity will be decreased, amount0Min The minimum amount of token0 that should be accounted for the burned liquidity, amount1Min The minimum amount of token1 that should be accounted for the burned liquidity, deadline The time by which the transaction must be included to effect the change

Return Values

Name
Type
Description

amount0

uint256

The amount of token0 accounted to the position's tokens owed

amount1

uint256

The amount of token1 accounted to the position's tokens owed

collect

function collect(struct INonfungiblePositionManager.CollectParams params) external payable returns (uint256 amount0, uint256 amount1)

Collects up to a maximum amount of fees owed to a specific position to the recipient

Parameters

Name
Type
Description

params

struct INonfungiblePositionManager.CollectParams

tokenId The ID of the NFT for which tokens are being collected, recipient The account that should receive the tokens, amount0Max The maximum amount of token0 to collect, amount1Max The maximum amount of token1 to collect

Return Values

Name
Type
Description

amount0

uint256

The amount of fees collected in token0

amount1

uint256

The amount of fees collected in token1

burn

function burn(uint256 tokenId) external payable

Burns a token ID, which deletes it from the NFT contract. The token must have 0 liquidity and all tokens must be collected first.

Parameters

Name
Type
Description

tokenId

uint256

The ID of the token that is being burned

_getAndIncrementNonce

function _getAndIncrementNonce(uint256 tokenId) internal returns (uint256)

Gets the current nonce for a token ID and then increments it, returning the original value

getApproved

function getApproved(uint256 tokenId) public view returns (address)

_Returns the account approved for tokenId token.

Requirements:

  • tokenId must exist._

_approve

function _approve(address to, uint256 tokenId) internal

_Overrides approve to use the operator in the position, which is packed with the position permit nonce

Contract address