219fda39d9
Constraint: CHANGELOG 覆盖 v1.6.0 以来 ~340 个提交 Confidence: high Tested: git diff --stat 11 files, sync_version.py 通过
2.2 KiB
2.2 KiB
PolyWeatherCheckout PolygonScan 验证(v1.7.0)
最后更新:2026-03-20
1. 目标
对生产收款合约完成源码验证,降低钱包风控误报并提升用户信任。
当前说明:
- 现网合约仍为 V1:
contracts/PolyWeatherCheckout.sol - V2 只是升级草案:
contracts/PolyWeatherCheckoutV2.sol - 当前 PolygonScan 验证流程默认针对 V1
2. 当前部署参数(示例)
- 链:Polygon Mainnet(
chainId=137) - 合约:
PolyWeatherCheckout - 编译器:
v0.8.24+commit.e11b9ed9 - 优化器:
Enabled,runs=200
实际地址以线上配置为准:
POLYWEATHER_PAYMENT_RECEIVER_CONTRACT。
3. 构造参数编码
使用仓库脚本生成构造参数:
python scripts/encode_checkout_constructor.py \
--token 0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174 \
--treasury 0xe581D578EF101c80e3F32263e97E6eA28A0B170e
将输出填入 PolygonScan 的 Constructor Arguments ABI-encoded。
4. PolygonScan 操作步骤
- 打开合约页 ->
Contract->Verify and Publish。 - 选择
Solidity (Single file)。 - 粘贴
contracts/PolyWeatherCheckout.sol源码。 - 填写编译器/优化器参数。
- 粘贴构造参数并提交。
5. 验证后检查
Read Contract:可见owner / treasury / allowedToken / paidOrderWrite Contract:可见pay / setTreasury / setTokenAllowed- 标签显示
Contract Source Code Verified
6. 双币种开启(USDC + USDC.e)
验证后可通过 setTokenAllowed 开启两种代币:
- USDC.e:
0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174 - Native USDC:
0x3c499c542cef5e3811e1192ce70d8cc03d5c3359
7. V2 说明(尚未部署)
如果后续升级到 V2,请改用:
python scripts/encode_checkout_v2_constructor.py \
--owner 0xYourMultiSig \
--treasury 0xYourTreasury \
--signer 0xYourBackendSigner
V2 相关文档:
8. 说明
- 源码验证能显著降低“欺诈/不可信”误报,但钱包风险缓存更新存在延迟。
- 生产商用环境可使用私有升级版合约;公开仓库保留标准实现与验证流程。