Contract 72acff3c98c3670a06bd20c7a6f04b6676e1e12a06dad46d7e588ab55c3765c4

← Back to Index 📥 Download WASM

Meta

rssdkver 22.0.8#f46e9e0610213bbb72285566f9dd960ff96d03d8
rsver 1.90.0

Instances

  • CANGSLTDX4J4EVNBQ4LIAO733U72JEDFY7V6CC6BIMIPTLDV7RZNVOX3
  • CAOXSK6EC23PQMA3O3JR5PLOWW5X3WXSACJ7VQJ2LMIHZJANDI476VVL
  • CARLMHYCFAX7EN2NCU4OISB7YVUJC6MDQLAUSWBMPMYJ3QQQGUO5YCG5
  • CB6ZKNNU6PGLLBBHIWPO4WW3TEHL3DZPOVRV532T3OIKNVISWPTABTU4
  • CBE4XTKM7GP26GQ2YX734RC5EJ4JRBUIGB6CBSXXZN6MCZP4NKZSTII7
  • CC224YSHU27J75QQB5AEVUV2AILYCQBYDTLCRZZ7BU6KSPVIWD4ZO7FH
  • CCBT3TQENORNVT4XLNJVSK6IK7UMCH3KTRWPZNBJT7FA734KGHJXUHL6
  • CCEZC4MGAXHQFFMLFADTE4W25Z6PSLTGR67ZIHF47ALNNDV6YT6UBSZA
  • CCMG7ZG3E6AT2DC3DOEVDEUWTL4EPQXIIHSW4O4VQA4VKMD7QDS3VVQ6
  • CCMLRHSYD5I73EMB7F44VMQHDRT3BQAT3GT3TVUGEBB7VA3A7G335IMJ
  • CCNUXT6D3MSBEENQZ6HAU5NP7WLOXILUOUQUS25TA32AWW6X5SQGAKPU
  • CCRP4LL2TOF4AFFDW3PJPMEPV7S2CK5VPSFYBDPUN4CZIF24QU4KMOKC
  • CD2QEDIQM5ZRLDFL37G6RKFR4UVD7HPST7YQB3J4HV54MOQLGEX6VDNA
  • CD5BBYTGEHND7KFJYIZ4MD3VUDA2OBTVC65ZY54E5ROUXXWC5JOJB7TA
  • CDK3ZHXEB2V6ACKYTPGJ754MNEZDL33A4FPQSCLO3NDB7YL5X4K444QZ
  • CDUMS46M6YVLI7DUKF7EX72LBIF3ONGIOUSRIIRLD625V3T6QCS3TMNB
  • CDVSZ5A6XMEJ7ZOOL6TMWT7QHTSSLK2RZMS2PKXL3E6IHX3AJR2BMYYA

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 que sabemos que funciona

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

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
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) ▶