Skip to content

Smart Contracts Index

All AsiliChain contracts deploy to Mantle Network (chainId 5000). Every contract is UUPS-upgradeable via OpenZeppelin’s proxy pattern, gated by a 3-of-5 multisig DEFAULT_ADMIN_ROLE.

Deployment order is strict — each contract’s initializer requires addresses from previously deployed contracts.

StepContractTypeDepends on
1FarmerRegistry.solUUPS ProxyNothing — deploy first
2CreditScore.solUUPS ProxyNothing — deploy second
3BatchToken.solERC-1155 + UUPSFarmerRegistry
4TraceLog.solUUPS ProxyBatchToken
5PurchaseOrder.solUUPS ProxyBatchToken + TraceLog
6ProtocolFee.solUUPS ProxyNothing — deploy independently
7LendingVault.solERC-4626 + UUPSAll of the above

See Deployment Guide for the full deployment script with role grants.

ContractCore jobKey callers
FarmerRegistryStores verified farmer identities and GPS referencesAPI (registration), BatchToken (mint-time check)
CreditScoreTracks repayment history. Permanent, public, portable.LendingVault (repayment/default), API (delivery)
BatchTokenERC-1155 semi-fungible coffee batch token. Primary collateral.API (mint), LendingVault (lock/unlock/burn)
TraceLogRecords 8-stage custody journey per batchAPI (stage updates), LendingVault (EXPORTED trigger)
PurchaseOrderRecords buyer commitment. Upgrades collateral tier.Buyer portal (create), Cooperative (confirm)
ProtocolFeeCollects 4% margin per settlement. 3-of-5 multisig withdrawals.LendingVault (collect on SETTLED)
LendingVaultERC-4626 vault. MFI deposits, loan origination, auto-repayment.API (originate), TraceLog (EXPORTED event)

All contracts implement:

  • UUPS Upgradeability (@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol)
  • AccessControl (@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol)
  • Pausable (emergency circuit breaker — 3-of-5 multisig required)
  • ReentrancyGuard on all state-changing external functions in LendingVault
OperationApprox gasCost at $0.002/proof
FarmerRegistry.registerFarmer~85,000$0.0002
BatchToken.mintBatch~120,000$0.0003
TraceLog.updateStage~65,000$0.0001
LendingVault.originate~180,000$0.0004
LendingVault.onExported (auto-repayment)~220,000$0.0004
PurchaseOrder.confirmPurchaseOrder~95,000$0.0002

Annual gas cost for a 500-batch cooperative: ~$7 USD.