Package disc
Interface AcceptanceAct
- All Superinterfaces:
BlockchainContract
Акт приемки работ по [суб]контракту. Акт создается исполнителем и отдельно подписывается принимающей стороной,
заказчиком. Подписанный акт регистрируется на блокчейне и автоматически учитывается при получении средств, выделенных
под обеспечение расчетов (
ProvisionPayment).
Изначально акт не зарегистрирован в сети и не подписан. Для активации акта, необходимо его подписать обеими сторонами сделки, и зарегистрировать в блокчейне.
Чтобы обеспечить необходимый уровень безопасности, акт должен подписываться независимо, прриватные ключи исопльзуемые при подписи не должны сохраняться или передаваться в незашифрованном виде.
Зарегистрированный контракт можно проврерить в блокчейне как обычно;
Пример использования:
ProvisionPayment payment;
AcceptanceAct act = payment.createdAct(BigDecimal(100000), "принятые работы п1");
act.signWith(decryptCustomerPrivateKey());
act.signWith(decryptPerformerPrivateKey());
act.registerInBlockchain();
-
Method Summary
Modifier and TypeMethodDescription@NonNull ZonedDateTime@NonNull Party@NonNull BigDecimaldefault booleandefault boolean@NonNull Party@Nullable ZonedDateTime@Nullable ZonedDateTimevoidsignWith(@NonNull PrivateKey key) Подписать акт ключом участника, причем ключ должен принадлежать исполнителю или заказчику, если ключ не относится к контракту, выдаем исключение.Methods inherited from interface disc.BlockchainContract
getBlockchainContractBinary, getBlockchainId, getOriginBlockchainId, isApprovedByBlockchain, refresh, registerInBlockchain
-
Method Details
-
customerParty
@NonNull Party customerParty()- Returns:
- участника выполняющего функцию заказчика, т.е. принимающей и оплачиваюшей стороны
-
performerParty
@NonNull Party performerParty()- Returns:
- участник выполняющего функцию подрядчика, исполнителя.
-
getAmount
@NonNull BigDecimal getAmount()- Returns:
- сумма актирования
-
createdAt
@NonNull ZonedDateTime createdAt()- Returns:
- момент создания черновика акта
-
signedByCustomerAt
@Nullable ZonedDateTime signedByCustomerAt()- Returns:
- момент успешной подписи акта принимающей стороной или null если не подписан
-
signedByPerformerAt
@Nullable ZonedDateTime signedByPerformerAt()- Returns:
- момент успешной подписи акта исполнителем стороной или null если не подписан
-
isSignedByCustomer
default boolean isSignedByCustomer()- Returns:
- true если акт подписан принимающей стороной (в этом случае он либо уже зарегистирован в блокчейне, либо находится в процессе обработки.
-
isSignedByPerformer
default boolean isSignedByPerformer() -
signWith
Подписать акт ключом участника, причем ключ должен принадлежать исполнителю или заказчику, если ключ не относится к контракту, выдаем исключение. Повторная подпись допускается, при этом меняется дата регистрации соответствующей подписи.- Parameters:
key- ключ для подписи
-