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;
}