apiVersion: v1
kind: ConfigMap
metadata:
  name: firefly-config
  namespace: firefly
data:
  firefly.core.yml: |
    # Firefly Core Configuration
    # Connected to Besu network (ChainID 138)
    
    # Database
    db:
      type: postgres
      url: postgres://firefly:firefly@firefly-postgres:5432/firefly?sslmode=disable
    
    # Blockchain Configuration
    blockchain:
      type: ethereum
      ethereum:
        rpc:
          - http://besu-rpc-service:8545
        ws:
          - ws://besu-rpc-service:8546
        chainId: 138
        gasEstimationFactor: 1.5
        gasPrice:
          fixed:
            gasPrice: 20000000000
    
    # API Configuration
    api:
      publicURL: http://firefly-api:5000
      listenAddress: 0.0.0.0
      port: 5000
    
    # Node Configuration
    node:
      name: firefly-node-1
      description: "Firefly node for DeFi Oracle Meta Mainnet"
    
    # Messaging Configuration
    messaging:
      type: broadcast
      broadcast:
        batch:
          size: 100
          timeout: 500
    
    # Tokens Configuration
    tokens:
      - type: fungible
        name: default
        connector: erc20_erc721
      - type: nonfungible
        name: default
        connector: erc20_erc721
    
    # Plugins Configuration
    plugins:
      blockchain:
        - name: besu
          type: ethereum
      tokens:
        - name: erc20_erc721
          type: erc20_erc721
      database:
        - name: postgres
          type: postgres
      sharedstorage:
        - name: ipfs
          type: ipfs
    
    # IPFS Configuration
    ipfs:
      api:
        url: http://firefly-ipfs:5001
      gateway:
        url: http://firefly-ipfs:8080
    
    # Logging
    log:
      level: info
      utc: true

