Foreshock
EN 订阅

产品 · Radar

此刻谁能冻结你的资产

Radar 里长期有价值的不是告警,而是:对你持有的每一项资产,你始终知道此刻是哪一方握有冻结权限,这个权限一旦变化你当天就会知道,并且每一个答复都会告诉你——这份权力我们哪里看得见、哪里看不见。实时执法信号叠在这之上——它只与你自己的地址簿做匹配,不做别的。

范围
your address book
响应
match-only
投递
webhook · ws · email · im

常态冻结权限

你今天上的一个币,明天可能就换成另一方能冻结它——你这边什么都没变,也没有任何地方发过公告。Radar 读取链上此刻实际生效的控制权限,与在册记录做对账,任何不一致都会告警。

谁握有权限
对你持有的每一项资产,此刻能冻结、扣押或使其无法转移的是哪一方——从链上读,不是从文档或新闻稿里读。
权限发生转移时
控制方发生变化本身就是一条独立告警,与任何执法事件无关。即使当天没有任何冻结,权限的移动本身就是信息。
一套模型,多种机制
拒付名单式封锁、冻结权限、以及永久委托或回收权,被归一化进同一套事件模型,因此合约毫无共同点的资产也共用同一种告警形状。不落入既有类别的机制会被明确标注为需要定制适配,而不是被悄悄近似处理。
上币之前
在你接受一项资产之前,对它做静态权限检查——包括「你控制之外的一方能否把它从你持有的钱包里直接转走」。在 Solana 上粒度是 token account 而不是钱包,同一钱包下的两个账户分别作答。

信号生命周期

六个状态。每一个对你都有含义,不只是对我们的管道有含义。其中两个是陷阱,表格下面分别写清楚。

状态 对你意味着什么 你该做什么
PROPOSED 已有一笔针对某地址的冻结被提交,尚未执行。 立刻开始拒收来自它的入金。提前拒收就是这个状态存在的全部理由。
CONFIRMING 该提交正在向阈值累积确认数,进度随时更新。 用它判断紧迫程度,不要用它判断最终结果。
EXECUTED 冻结已生效。该条目转为正式名单条目,并记下时间差。 从此按已确认的名单命中处理,并预期它会进入回溯性的公开记录。
EXPIRED 该提交超过配置窗口仍未执行。它被降权,而不是被删除。 把权重降下来。但不要据此认为那个意图已经消失。
REVOKED 该提交被撤回,地址退出你的匹配集。这与「无风险」不是一回事。 你把它从本地名单移除,理由必须是「收到了这条事件」,而不是「它不再出现了」。撤回之后完全可能换一笔重新提交。
STALE 我们当前无法验证这条记录——注册条目失效,或采集器断连。数据不可信,而不可信不等于安全。 把它当作盲区,对这部分敞口回退到更保守的策略。

一条匹配返回什么

API 回答的是关于你自己地址的问题,不回答关于别人地址的问题。

是你的哪个地址
指向你自有地址簿中某一条的不透明引用。它不是任何簿外对象的查询键。
以什么关系
一个关系类别——直接、上游、或经由路径——不会更细。
有多严重
一个严重程度类别。不是数字,不是百分比,也不是那种能拿去排序、然后被误当成精确度的东西。
处于哪个状态、什么时候
上表中的生命周期状态,附观测到的时间,UTC。
证据在哪里
指向本次匹配所依据的那份留存记录的内容寻址引用。

投递

四条通道。同样的载荷、同样的顺序,只是目的地不同。

Webhook
带签名,至少投递一次,指数退避;重试窗口结束仍未送达的进死信队列,你可以从队列里重放。
WebSocket
基于游标的流,断线重连从你停下的位置续上,而不是从头重放或者直接跳过缺口。
邮件
给那些不在值班表上、但需要收件箱里留下这条记录的人。
IM
推到你的值班团队真正在看的那个频道——没人读的告警不算告警。

覆盖健康度

每个响应都带一段覆盖健康度:对每一个我们本应在看的权限,当时是否可观测、采集器落后多少。它不是一个状态页,而是你正在读的这个响应里的一个字段。