Contract 2ae525f01dc69d900c3faac9276c6a8514e916325a39fdf27228b43341aa114a

← Back to Index 📥 Download WASM

Meta

rssdkver 22.0.8#f46e9e0610213bbb72285566f9dd960ff96d03d8
rsver 1.90.0

Instances

  • CDK3ZHXEB2V6ACKYTPGJ754MNEZDL33A4FPQSCLO3NDB7YL5X4K444QZ

Interface

Hello function (compatibilidade com credit-demand-contract usando String)

fn hello(
    env: soroban_sdk::Env,
    to: soroban_sdk::String,
) -> soroban_sdk::Vec

Storage básico que funciona

fn set_value(
    env: soroban_sdk::Env,
    key: soroban_sdk::Symbol,
    value: soroban_sdk::Symbol,
)
fn get_value(
    env: soroban_sdk::Env,
    key: soroban_sdk::Symbol,
) -> Option

Upgrade contract WASM TEMPORARY: No auth check for contracts without roles configured After upgrade, use initialize_with_roles to add proper access control

fn upgrade(
    env: soroban_sdk::Env,
    new_wasm_hash: soroban_sdk::BytesN<32>,
) -> soroban_sdk::Symbol

Inicializa o contrato com dados básicos

fn initialize(
    env: soroban_sdk::Env,
    id: soroban_sdk::Symbol,
    issuer: soroban_sdk::Symbol,
    volume: i128,
) -> soroban_sdk::Symbol

Inicializa o contrato com sistema de roles (OpenZeppelin Stellar)

fn initialize_with_roles(
    env: soroban_sdk::Env,
    id: soroban_sdk::Symbol,
    issuer: soroban_sdk::Symbol,
    volume: i128,
    operator: soroban_sdk::Address,
    admin: soroban_sdk::Address,
) -> soroban_sdk::Symbol

Verificar se o contrato foi inicializado OTIMIZAÇÃO: Flag de inicialização usa Instance Storage

fn is_initialized(env: soroban_sdk::Env) -> bool

Obtém o ID da demanda de crédito

fn get_id(env: soroban_sdk::Env) -> Option

Obtém o issuer da demanda de crédito

fn get_issuer(env: soroban_sdk::Env) -> Option

Obtém o volume da demanda de crédito (compatibilidade com credit-demand-contract)

fn get_volume(env: soroban_sdk::Env) -> i128

Função protegida por OPERATOR role para testes

fn operator_only_function(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    message: soroban_sdk::String,
) -> soroban_sdk::String

Adicionar débito com detalhes financeiros completos Equivalente ao addDebit do Solidity com onlyRole(OPERATOR_ROLE)

fn add_debit_detailed(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    debit_id: soroban_sdk::Symbol,
    total_debit: i128,
    amortization: i128,
    fee: i128,
    success_fee: i128,
    due_date: u64,
) -> soroban_sdk::Symbol

Editar débito existente Equivalente ao editDebit do Solidity com onlyRole(OPERATOR_ROLE)

fn edit_debit_detailed(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    debit_id: soroban_sdk::Symbol,
    total_debit: i128,
    amortization: i128,
    fee: i128,
    success_fee: i128,
    due_date: u64,
) -> soroban_sdk::Symbol

Obter valor de um débito

fn get_debit_amount(env: soroban_sdk::Env, debit_id: soroban_sdk::Symbol) -> i128

Verificar se débito existe

fn debit_exists(env: soroban_sdk::Env, debit_id: soroban_sdk::Symbol) -> bool

Verificar se há pagamentos em atraso (equivalente ao hasPaymentLate do Solidity)

fn has_payment_late(
    env: soroban_sdk::Env,
    current_time: u64,
) -> Option

Deletar todos os débitos do contrato Equivalente ao deleteAllDebits do Solidity com onlyRole(OPERATOR_ROLE)

fn delete_all_debits(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
) -> soroban_sdk::Symbol

Obter total de débitos

fn get_total_debit(env: soroban_sdk::Env) -> i128

Obter total pago

fn get_total_paid(env: soroban_sdk::Env) -> i128

Obter saldo restante

fn get_remaining_balance(env: soroban_sdk::Env) -> i128

Obter contagem de débitos

fn get_debit_count(env: soroban_sdk::Env) -> i128

Obter amortização de um débito específico

fn get_debit_amortization(env: soroban_sdk::Env, debit_id: soroban_sdk::Symbol) -> i128

Obter fee de um débito específico

fn get_debit_fee(env: soroban_sdk::Env, debit_id: soroban_sdk::Symbol) -> i128

Obter success fee de um débito específico

fn get_debit_success_fee(env: soroban_sdk::Env, debit_id: soroban_sdk::Symbol) -> i128

Obter data de vencimento de um débito (versão Option como no contract)

fn get_debit_due_date(
    env: soroban_sdk::Env,
    debit_id: soroban_sdk::Symbol,
) -> Option

Verificar se débito foi pago

fn is_debit_paid(env: soroban_sdk::Env, debit_id: soroban_sdk::Symbol) -> bool

Pagar débito com detalhes financeiros Equivalente ao payDebit do Solidity com onlyRole(OPERATOR_ROLE)

fn pay_debit_detailed(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    debit_id: soroban_sdk::Symbol,
    amortization_payment: i128,
    fee_payment: i128,
    success_fee_payment: i128,
    payment_date: u64,
) -> soroban_sdk::Symbol

Verificar se débito está atrasado

fn is_debit_overdue(
    env: soroban_sdk::Env,
    debit_id: soroban_sdk::Symbol,
    current_time: u64,
) -> soroban_sdk::Symbol

Obter detalhes completos do débito (versão Vec como no contract)

fn get_debit_detailed(
    env: soroban_sdk::Env,
    debit_id: soroban_sdk::Symbol,
) -> soroban_sdk::Vec

Versão original que retorna tupla (mantida para compatibilidade)

fn get_debit_detailed_tuple(
    env: soroban_sdk::Env,
    debit_id: soroban_sdk::Symbol,
) -> (i128, i128, i128, i128, u64, bool)

Adicionar relatório financeiro Equivalente ao addFinantialReport do Solidity com onlyRole(OPERATOR_ROLE)

fn add_financial_report(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    report: soroban_sdk::String,
) -> soroban_sdk::Symbol

Adicionar relatório de monitoramento Equivalente ao addMonitorReport do Solidity com onlyRole(OPERATOR_ROLE)

fn add_monitor_report(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    report: soroban_sdk::String,
) -> soroban_sdk::Symbol

Obter último relatório financeiro

fn get_last_financial_report(env: soroban_sdk::Env) -> Option

Obter último relatório de monitoramento

fn get_last_monitor_report(env: soroban_sdk::Env) -> Option

Obter relatório financeiro por índice

fn get_financial_report(
    env: soroban_sdk::Env,
    index: i128,
) -> Option

Obter relatório de monitoramento por índice

fn get_monitor_report(
    env: soroban_sdk::Env,
    index: i128,
) -> Option

Obter contagem de relatórios financeiros

fn get_financial_reports_count(env: soroban_sdk::Env) -> i128

Obter contagem de relatórios de monitoramento

fn get_monitor_reports_count(env: soroban_sdk::Env) -> i128

Definir links de documentos (análise de risco, garantia, contrato) Equivalente ao Solidity - deveria ter proteção de role para consistência

fn set_document_links(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    risk_analysis_link: soroban_sdk::String,
    collateral_link: soroban_sdk::String,
    contract_link: soroban_sdk::String,
) -> soroban_sdk::Symbol

Obter link de análise de risco

fn get_risk_analysis_link(env: soroban_sdk::Env) -> Option

Obter link de garantia

fn get_collateral_link(env: soroban_sdk::Env) -> Option

Obter link do contrato

fn get_contract_link(env: soroban_sdk::Env) -> Option

Definir último pagamento

fn set_last_payment(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    payment_id: soroban_sdk::String,
) -> soroban_sdk::Symbol

Obter último pagamento

fn get_last_payment(env: soroban_sdk::Env) -> Option

Atualizar endereço do pool proxy

fn update_proxy_pool_address(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    pool_proxy_address: soroban_sdk::Address,
) -> soroban_sdk::Symbol

Obter endereço do pool proxy

fn get_proxy_pool_address(env: soroban_sdk::Env) -> Option

Verificar se pool proxy foi configurado

fn has_pool_proxy_configured(env: soroban_sdk::Env) -> bool

Definir informações do pool

fn set_pool_info(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    pool_name: soroban_sdk::String,
) -> soroban_sdk::Symbol

Obter informações do pool

fn get_pool_info(env: soroban_sdk::Env) -> Option

Obter nome do emissor

fn get_issuer_name(env: soroban_sdk::Env) -> Option

Obter débitos em aberto

fn get_open_debits(env: soroban_sdk::Env) -> i128

Obter valor acumulado total

fn get_accumulate(env: soroban_sdk::Env) -> i128

Obter amortização acumulada total

fn get_amortization_accumulate(env: soroban_sdk::Env) -> i128

Obter taxas acumuladas total

fn get_fee_accumulate(env: soroban_sdk::Env) -> i128

Obter total de taxas pagas

fn get_total_fee_paid(env: soroban_sdk::Env) -> i128

Obter total de amortização paga

fn get_total_amortization_paid(env: soroban_sdk::Env) -> i128

Obter total pago de um débito específico

fn get_debit_total_paid(env: soroban_sdk::Env, debit_id: soroban_sdk::Symbol) -> i128

Obter data de pagamento de um débito específico

fn get_debit_paid_date(env: soroban_sdk::Env, debit_id: soroban_sdk::Symbol) -> u64

Configurar endereço da pool para distribuição de rendimentos Deve ser chamada após o deploy para conectar credit-demand à pool

fn set_pool_address(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    pool_address: soroban_sdk::Address,
) -> soroban_sdk::Symbol

Obter endereço da pool configurada

fn get_pool_address(env: soroban_sdk::Env) -> Option

Verificar se pool foi configurada

fn is_pool_configured(env: soroban_sdk::Env) -> bool

Redistribuir pagamento via Pool (OPERATOR ONLY) Força redistribuição de pagamento aos investidores via Pool

fn operator_redistribute_payment(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    amount: i128,
    fee: i128,
    amortization: i128,
) -> soroban_sdk::Symbol
fn has_role(
    env: soroban_sdk::Env,
    account: soroban_sdk::Address,
    role: soroban_sdk::Symbol,
) -> Option
fn get_role_member_count(env: soroban_sdk::Env, role: soroban_sdk::Symbol) -> u32
fn get_role_member(
    env: soroban_sdk::Env,
    role: soroban_sdk::Symbol,
    index: u32,
) -> soroban_sdk::Address
fn get_role_admin(
    env: soroban_sdk::Env,
    role: soroban_sdk::Symbol,
) -> Option
fn get_admin(env: soroban_sdk::Env) -> Option
fn grant_role(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    account: soroban_sdk::Address,
    role: soroban_sdk::Symbol,
)
fn revoke_role(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    account: soroban_sdk::Address,
    role: soroban_sdk::Symbol,
)
fn renounce_role(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    role: soroban_sdk::Symbol,
)
fn renounce_admin(env: soroban_sdk::Env)
fn transfer_admin_role(
    env: soroban_sdk::Env,
    new_admin: soroban_sdk::Address,
    live_until_ledger: u32,
)
fn accept_admin_transfer(env: soroban_sdk::Env)
fn set_role_admin(
    env: soroban_sdk::Env,
    role: soroban_sdk::Symbol,
    admin_role: soroban_sdk::Symbol,
)

Imports

WebAssembly Text (WAT) ▶