How to use the @requestnetwork/utils.identity function in @requestnetwork/utils

To help you get started, we’ve selected a few @requestnetwork/utils examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github RequestNetwork / requestNetwork / packages / advanced-logic / src / extensions / payment-network / address-based.ts View on Github external
actionSigner: IdentityTypes.IIdentity,
  timestamp: number,
): ExtensionTypes.IState {
  if (
    extensionAction.parameters.paymentAddress &&
    !isValidAddress(extensionAction.parameters.paymentAddress)
  ) {
    throw Error('paymentAddress is not a valid address');
  }
  if (extensionState.values.paymentAddress) {
    throw Error(`Payment address already given`);
  }
  if (!requestState.payee) {
    throw Error(`The request must have a payee`);
  }
  if (!Utils.identity.areEqual(actionSigner, requestState.payee)) {
    throw Error(`The signer must be the payee`);
  }

  const copiedExtensionState: ExtensionTypes.IState = Utils.deepCopy(extensionState);

  // update payment address
  copiedExtensionState.values.paymentAddress = extensionAction.parameters.paymentAddress;
  // update events
  copiedExtensionState.events.push({
    name: ExtensionTypes.PnAddressBased.ACTION.ADD_PAYMENT_ADDRESS,
    parameters: { paymentAddress: extensionAction.parameters.paymentAddress },
    timestamp,
  });

  return copiedExtensionState;
}
github RequestNetwork / requestNetwork / packages / advanced-logic / src / extensions / payment-network / declarative.ts View on Github external
function applyDeclareSentPayment(
  extensionState: ExtensionTypes.IState,
  extensionAction: ExtensionTypes.IAction,
  requestState: RequestLogicTypes.IRequest,
  actionSigner: IdentityTypes.IIdentity,
  timestamp: number,
): ExtensionTypes.IState {
  if (!requestState.payer) {
    throw Error(`The request must have a payer`);
  }
  if (!Utils.identity.areEqual(actionSigner, requestState.payer)) {
    throw Error(`The signer must be the payer`);
  }
  if (!Utils.amount.isValid(extensionAction.parameters.amount)) {
    throw Error(`The amount is not an integer`);
  }

  const copiedExtensionState: ExtensionTypes.IState = Utils.deepCopy(extensionState);

  // increment sentPaymentAmount
  copiedExtensionState.values.sentPaymentAmount = Utils.amount.add(
    copiedExtensionState.values.sentPaymentAmount,
    extensionAction.parameters.amount,
  );

  // update events
  copiedExtensionState.events.push({
github RequestNetwork / requestNetwork / packages / request-logic / src / role.ts View on Github external
function getRole(identity: IdentityTypes.IIdentity, parameters: any): RequestLogicTypes.ROLE {
  if (parameters.payee && Utils.identity.areEqual(parameters.payee, identity)) {
    return RequestLogicTypes.ROLE.PAYEE;
  }
  if (parameters.payer && Utils.identity.areEqual(parameters.payer, identity)) {
    return RequestLogicTypes.ROLE.PAYER;
  }

  return RequestLogicTypes.ROLE.THIRD_PARTY;
}
github RequestNetwork / requestNetwork / packages / request-logic / src / role.ts View on Github external
function getRole(identity: IdentityTypes.IIdentity, parameters: any): RequestLogicTypes.ROLE {
  if (parameters.payee && Utils.identity.areEqual(parameters.payee, identity)) {
    return RequestLogicTypes.ROLE.PAYEE;
  }
  if (parameters.payer && Utils.identity.areEqual(parameters.payer, identity)) {
    return RequestLogicTypes.ROLE.PAYER;
  }

  return RequestLogicTypes.ROLE.THIRD_PARTY;
}