Skip to main content
在订单簿之外管理持仓。你可以将 pUSD 拆分为完整持仓,将完整持仓合并回 pUSD,或在结算后赎回持仓。

持仓路径

持仓系统决定代币账本、调用目标和授权。SDK 工作流会根据市场 condition 选择路径。直接调用者必须根据市场响应选择路径。 SDK 示例所需的授权设置请参阅钱包与身份验证。
示例使用已经配置的 SecureClient。客户端设置请参阅连接账户。

拆分持仓

拆分 1 pUSD 会创建 1 个 YES 持仓和 1 个 NO 持仓。数量使用六位小数,因此 1_000_000 表示 1 pUSD 和每个结果的 1 份持仓。
使用市场 condition ID 调用 splitPosition()。客户端会选择正确路径。

合并持仓

合并数量相等的 YES 和 NO 余额,会返还相同数量的 pUSD。直接调用者不能合并超过较小一边余额的数量。
调用 mergePositions()。传入 "max" 可合并账户中最大的完整持仓。

赎回已结算持仓

赎回会销毁已结算持仓,并按支付比例返还 pUSD。赎回没有截止日期。
使用 condition ID 或市场 ID 调用 redeemPositions()。对于 Gnosis CTF 持仓,客户端会赎回两个结果余额。对于 Polymarket Protocol V2 持仓,客户端会为每个非零结果余额提交一次 Router 调用。

自动赎回

AutoRedeemer 可以代表已授权账户赎回已结算持仓。operator 提交赎回,用户只需授予 ERC-1155 授权。 AutoRedeemer 支持标准 CTF 持仓、负风险 CTF 持仓,以及来自所有已注册模块的 PositionManager 持仓。标准交易授权设置包含这两项授权。

迁移已注册 CTF 持仓

迁移是可选操作。它会将符合条件的 Gnosis CTF 持仓移动到等价的 PositionManager 持仓。正常交易、拆分、合并或赎回不需要迁移。
只能迁移 Polymarket 已注册的 condition 或事件。未注册的迁移调用会回滚。
该路径使用直接合约调用。先在 Conditional Tokens 上通过 setApprovalForAll() 授权目标模块,再使用已排序的旧 condition ID 调用该模块。
三个数组的长度必须相同。每个结果索引使用 0 表示 YES,1 表示 NO。按旧 condition ID 升序排列条目。模块会转移已授权的 CTF 余额,并在 PositionManager 中铸造相同数量。

后续步骤

持仓运作方式

比较两种持仓账本和标识符。

组合持仓

了解 Combo 持仓如何使用 CombinatorialModule。