Files
liquid/remappings.txt
zeekay 56bc98b403 compliance: delegate LiquidComplianceGate to ERC-3643 + ONCHAINID
Replace the ad-hoc whitelist/KYC-level table with pure delegation to the
T-REX IIdentityRegistry and ONCHAINID claims:

  canRedeem(account, vault) :=
      registry.isVerified(account)
   && !blockedCountry[registry.investorCountry(account)]
   && every requiredTopic[i] resolves to a non-empty claim set
      on registry.identity(account)

Per-vault config:
  setVaultRegistry(vault, IIdentityRegistry)
  setRequiredTopics(vault, uint256[] topicIds)
  setCountryBlock(vault, uint16 countryCode, bool)

No local KYC state, no shadow whitelists. Deletes the old
approve/whitelisted/kycLevel/requiredLevel surface entirely.

Adds:
  lib/erc-3643      (luxfi/erc-3643)
  lib/onchain-id    (luxfi/onchain-id)

remappings:
  @luxfi/oz/             → lib/openzeppelin-contracts/contracts/
  @luxfi/oz-upgradeable/ → lib/openzeppelin-contracts-upgradeable/contracts/
  @luxfi/erc-3643/       → lib/erc-3643/
  @luxfi/onchain-id/     → lib/onchain-id/
  @onchain-id/solidity/  → lib/onchain-id/  (transitive imports inside T-REX)

Tests rewritten (7/7 pass) using mock IIdentityRegistry + IIdentity to
exercise: unconfigured-vault block, verified+no-topics pass, unverified
block, country block, required-topic present pass, required-topic missing
block, owner-only configuration.

DeployLocal.s.sol no longer calls gate.approve() — gates start unconfigured
and need a real Identity Registry wired per vault before redemptions work.
2026-04-28 12:30:57 -07:00

12 lines
525 B
Plaintext

ds-test/=../lib/ds-test/src/
forge-std/=lib/forge-std/src/
@permit2=lib/permit2/src/
@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/
openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/
@chainlink/contracts/=lib/chainlink-brownie-contracts/contracts/
@luxfi/oz/=lib/openzeppelin-contracts/contracts/
@luxfi/oz-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/
@luxfi/erc-3643/=lib/erc-3643/
@luxfi/onchain-id/=lib/onchain-id/
@onchain-id/solidity/=lib/onchain-id/