機能 仕組み セキュリティ ドキュメント
EN CN TW JP

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