@payburner/payburner-xch-model
Version:
Models library for XCH
55 lines (47 loc) • 1.78 kB
text/typescript
import {
XCHCurrencies,
XCHFlattenedPaymentStatusImpl,
XCHParser,
XCHStatusEnum,
XCHTypeEnum
} from "../src";
import {PayburnerCoreModelParser} from "@payburner/payburner-core-model/dist/npm";
describe('Parsing [Test Runner]', function() {
const signedRequestData = {
delivery_type: 'nacl',
jku: 'random-jku',
kid: 'random-kid',
payload: JSON.stringify({}),
sig: 'random-sig'
};
const signedRequest = new PayburnerCoreModelParser().toSignedPayload(signedRequestData);
const paymentRequestData = {
xch_type: XCHTypeEnum.XCH_REQUEST_FOR_PAYMENT,
request_id: 'random-request-id',
from_address: 'random-from-address',
to_address: 'random-to-address',
amount: '589',
currency: XCHCurrencies.XRP,
reference_id: 'random-purchase-id',
message: 'random-message',
created_timestamp: new Date().toISOString(),
deadline_timestamp: new Date().toISOString()
}
const paymentRequest = XCHParser.toXCHRequestForPayment(paymentRequestData);
const paymentStatusData = {
xch_type: XCHTypeEnum.XCH_PAYMENT_STATUS,
status: XCHStatusEnum.REQUESTED,
request: paymentRequest,
signed_request: signedRequest,
update_timestamp: new Date().toISOString()
}
const paymentStatus = XCHParser.toXCHPaymentStatus(paymentStatusData);
const flattened = XCHFlattenedPaymentStatusImpl.flatten(paymentStatus);
console.log('flattened:' + flattened);
if (flattened !== undefined) {
console.log('FLATTEND:' + JSON.stringify(flattened, null, 2));
console.log('RECONSTITUTED:' + JSON.stringify(flattened.deepen(), null, 2));
} else {
// assert false;
}
})