Inicia el escrow
Implementa el contrato de escrow y define sus propieades.
POST
deployer/invoke-deployer-contract
Encabezado
Content-Type
application/json
Authorization
Bearer <token>
Parámetros del cuerpo:
signer
string
Entidad que firma la transacción que implementa e inicia el escrow.
engagementId
string
ID que el usuario quien creó el escrow utiliza para identificarlo.
title
string
Nombre del escrow.
description
string
Texto que describe la función del escrow.
approver
string
Dirección de la entidad que requiere el servicio.
serviceProvider
string
Dirección de la entidad que provee el servicio.
platformAddress
string
Dirección de la plataforma propietaria del escrow.
amount
string
Cantidad a transferir al completarse los hitos del escrow.
plataformFee
string
Comisión que la plataforma recibirá cuando el escrow se complete.
milestones
Milestones<Array>
Objetivos a completar en el escrow para que este llegue a marcarse como completo.
disputeResolver
string
Dirección a cargo de resolver disputas en el escrow.
releaseSigner
string
Dirección del usuario a cargo de liberar los fondos del escrow al proveedor de servicios.
trustline
string
Dirección del token que administrará los movimientos de USDC.
trustlineDecimals
number
Número de dígitos decimales que determinan la divisibilidad de la unidad base del token (trustline).
receiver
string
Dirección del usuario a quien los fondos están destinados.
receiverMemo (Optional)
number
Campo usado para identificar la dirección del receptor en trasacciónes a través de una cuenta intermediaria. Este valor está incluido como un memo en la transacción y permite que los fondos sean encaminados correctamente a la wallet del receptor especificado.
Milestone (Hito)
description
string
Texto que describe la función del hito.
status
string
Estado del hito. Por ejemplo: Approved (aprobado), In dispute (en disputa), etc.
approved_flag
boolean
Flag que indica si un hito ha sido aprobado por el aprobador.
Ejemplo:
{
signer: "GAD4T6Z63N5NJLQYY3J5MVYFHH5I5UB7NDUUYZD7HHB3RMS6X3H4YK7P",
engagementId: "ENG12345",
title: "Project Title",
description: "This is a detailed description of the project.",
approver: "GAHJZHVKFLATA7RVGXSFKXAKT5H4RXJ4LU2UR2W2IDFXOJQ2BR7RHW62",
serviceProvider: "GDWPCWWH7IXQJHDF7FJUI7VOGD5IT72T7YX55F4BR2H4WXFRBVMBK6A3",
platformAddress: "GBC5DVYUBTBSXJ3ZMRPGXDDDLKTALIFGRW73B33AF5EFSZBUECKSFO4R",
amount: "1000.00",
platformFee: "50.00",
milestones: [
{ description: "Initial phase of the project", status: "Pending", approved_flag: false },
{ description: "Completion of design work", status: "Pending", approved_flag: false }
],
releaseSigner: "GBDKXCG6FHJMTUBWGAVVOD5PB5QXLYTRJGCH4NR4IMJVPXHHTBBXPY3V",
disputeResolver: "GDJVCNR5GPOJH7XMOVMHBKZV7V7WQ3B7QK75C76HLOBD4AKHFG5OCARJ"
};
Respuestas Posibles
{
"status": "SUCCESS",
"unsignedTransaction": "AAAAAgAAAABfQAm/gS..." // XDR Hash Transaction
}
Ejemplo de uso (con axios):
import axios from "axios";
const http = axios.create({
baseURL: "https://dev.api.trustlesswork.com",
timeout: 10000,
headers: {
"Content-Type": "application/json",
Authorization: `Bearer your_api_key`,
},
});
export const useExample = async () => {
// Get the signer address
const { address } = await kit.getAddress();
// Execute the endpoint
const response = await http.post(
"/deployer/invoke-deployer-contract",
{
// body requested for the endpoint
},
);
// Get the unsigned transaction hash
const { unsignedTransaction } = response.data;
// Sign the transaction by wallet
const { signedTxXdr } = await signTransaction(unsignedTransaction, {
address,
networkPassphrase: WalletNetwork.TESTNET,
});
// Send the transaction to Stellar Network
const tx = await http.post("/helper/send-transaction", {
signedXdr: signedTxXdr,
returnValueIsRequired: true,
});
const { data } = tx;
return data;
}
Last updated
Was this helpful?