public VaspContractInfo getVaspContractInfo()

in src/main/java/org/openvasp/client/service/impl/ContractServiceImpl.java [44:80]


    public VaspContractInfo getVaspContractInfo(@NonNull final EthAddr vaspSmartContracAddress) {
        VaspContractInfo result = cache.get(vaspSmartContracAddress);
        if (result != null) {
            return result;
        }

        log.debug("Request for the contract info at the address {}", vaspSmartContracAddress);

        val contract = VASP.load(vaspSmartContracAddress.getData(), web3j, Credentials.create("0x0"), new DefaultGasProvider());

        val postalAddress = contract.postalAddress().send();
        val address = PostalAddress.builder()
                .street(postalAddress.component1())
                .number(postalAddress.component2())
                .adrline(postalAddress.component3())
                .postCode(postalAddress.component4())
                .town(postalAddress.component5())
                .country(Country.ALL.get(postalAddress.component6()))
                .build();

        result = VaspContractInfo.builder()
                .name(contract.name().send())
                .vaspCode(new VaspCode(Hex.toHexString(contract.code().send())))
                .channels((List<Long>) contract.channels().send())
                .handshakeKey(contract.handshakeKey().send())
                .signingKey(contract.signingKey().send())
                .ownerAddress(contract.owner().send())
                .email(contract.email().send())
                .website(contract.website().send())
                .address(address)
                .build();
        cache.putIfAbsent(vaspSmartContracAddress, result);

        log.debug("The contract information received, VASP code = {}", result.getVaspCode());

        return result;
    }