SDK
用于钱包集成和链上合规的 JavaScript SDK。
安装
npm
npm install @fidesorigin/sdk
yarn
yarn add @fidesorigin/sdk
快速开始
初始化 SDK
TypeScript
import { FidesOrigin } from '@fidesorigin/sdk';
const fides = new FidesOrigin({
apiKey: 'YOUR_API_KEY',
network: 'sepolia' // 或 'mainnet', 'base'
});
检查地址风险
TypeScript
const result = await fides.evaluateAddress('0x...');
console.log(result.riskTier); // 'LOW', 'MEDIUM', 'HIGH', 'CRITICAL'
console.log(result.isSanctioned); // true 或 false
订阅事件
TypeScript
fides.on('RiskDetected', (event) => {
console.log('检测到风险:', event.address, event.riskTier);
});
fides.on('SanctionAdded', (event) => {
console.log('新增制裁:', event.address);
});
核心 API
| 方法 | 返回 | 描述 |
|---|---|---|
connect(provider) | Promise<void> | 连接 Web3 提供商 |
evaluateAddress(addr) | Promise<RiskProfile> | 获取地址风险档案 |
evaluateTx(tx) | Promise<TxResult> | 交易预筛查 |
subscribe(event) | EventEmitter | 订阅链上事件 |
disconnect() | void | 清理连接 |
Solidity 集成
将 FidesOrigin 合约直接导入您的 Solidity 项目:
Solidity 0.8.20
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import "@fidesorigin/contracts/CompliantStableCoin.sol";
contract MyStableCoin is CompliantStableCoin {
constructor()
CompliantStableCoin("MyStableCoin", "MSC")
{
policy = IssuerPolicy({
maxTxAmount: 1_000_000 * 10**6,
dailyLimit: 10_000_000 * 10**6,
allowMediumRisk: true,
allowHighRisk: false,
blockMixer: true,
requireDestinationKYC: true,
cooldownPeriod: 24 hours
});
}
}
类型
TypeScript
interface RiskProfile {
address: string;
riskScore: number;
riskTier: 'UNKNOWN' | 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL';
isSanctioned: boolean;
tags: string[];
entityName: string;
lastUpdated: string;
}
interface TxResult {
allowed: boolean;
riskScore: number;
riskTier: string;
quarantineRequired: boolean;
reason: string | null;
}