Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions packages/ur-registry-tron/__test__/TronSignRequest.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import {
TronSignRequest,
CryptoKeypath,
PathComponent,
DataType
} from "../src";
import * as uuid from "uuid";

Expand All @@ -30,6 +31,7 @@ describe("tron-sign-request", () => {
const tronSignRequest = new TronSignRequest({
requestId: Buffer.from(idBuffer),
signData: tronData,
dataType: DataType.transaction,
derivationPath: signKeyPath,
address: "",
origin: "tron wallet",
Expand All @@ -39,7 +41,7 @@ describe("tron-sign-request", () => {
const ur = tronSignRequest.toUREncoder(1000).nextPart();

expect(ur).toBe(
"ur:tron-sign-request/oxadtpdagdndcawmgtfrkigrpmndutdnbtkgfssbjnaohdtybkaoatmhcpayvyrhuegomtihswjsfzlassmsldrkdwhtpladayctbgptadbkehjykkjoihdmiojljliojzihhsjoinjkdmiajljndljojpjljyjliajljzdmghjpinioioihjpgujnhsjpjyfxjljtjyjphsiajybgjybkbzfpstneaahygtfdpmlgplaevaoljsgtplckaebkursnbgbzfpbtdtdwmkonwpnbjzcxlpzmytmunliecntkiysofrcpfyptahnsrkaeaeaeaeaeaeaeaeaeaeaeaendrfvwcxtalrsrrhhtttbnqzvldrmomwvaeolgotaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaebsfwfzjortrpvtltrkdwmhadlamwwmuoaxaxtaaddyoeadlocsdwykcssrykaeykaeykaocybgbgbgbgahjejyjpjljtcxkthsjzjzihjymwlrhkst"
"ur:tron-sign-request/onadtpdagdndcawmgtfrkigrpmndutdnbtkgfssbjnaohdtybkaoatmhcpayvyrhuegomtihswjsfzlassmsldrkdwhtpladayctbgptadbkehjykkjoihdmiojljliojzihhsjoinjkdmiajljndljojpjljyjliajljzdmghjpinioioihjpgujnhsjpjyfxjljtjyjphsiajybgjybkbzfpstneaahygtfdpmlgplaevaoljsgtplckaebkursnbgbzfpbtdtdwmkonwpnbjzcxlpzmytmunliecntkiysofrcpfyptahnsrkaeaeaeaeaeaeaeaeaeaeaeaendrfvwcxtalrsrrhhtttbnqzvldrmomwvaeolgotaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaebsfwfzjortrpvtltrkdwmhadlamwwmuoaxaxadaataaddyoeadlocsdwykcssrykaeykaeykaocybgbgbgbgamjejyjpjljtcxkthsjzjzihjyjtrnneiy"
);
const tronSignRequestDecoded = TronSignRequest.fromCBOR(
Buffer.from(cborHex, "hex")
Expand All @@ -48,6 +50,7 @@ describe("tron-sign-request", () => {
tronRequestId
);
expect(tronSignRequest.getOrigin()).toBe("tron wallet");
expect(tronSignRequestDecoded.getDataType()).toBe(1);
expect(tronSignRequestDecoded.getSignData().toString("hex")).toEqual(
"0a0207902208e1b9de559665c6714080c49789bb2c5aae01081f12a9010a31747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e54726967676572536d617274436f6e747261637412740a1541c79f045e4d48ad8dae00e6a6714dae1e000adfcd1215410d292c98a5eca06c2085fff993996423cf66c93b2244a9059cbb0000000000000000000000009bbce520d984c3b95ad10cb4e32a9294e6338da300000000000000000000000000000000000000000000000000000000000f424070c0b6e087bb2c90018094ebdc03"
);
Expand All @@ -68,6 +71,7 @@ describe("tron-sign-request", () => {

const request = TronSignRequest.constructTronRequest(
tronData,
DataType.transaction,
derivationHdPath,
xfp,
requestID,
Expand All @@ -76,7 +80,7 @@ describe("tron-sign-request", () => {
);
const ur = request.toUREncoder(1000).nextPart();
expect(ur).toBe(
"ur:tron-sign-request/oxadtpdagdndcawmgtfrkigrpmndutdnbtkgfssbjnaohdtybkaoatmhcpayvyrhuegomtihswjsfzlassmsldrkdwhtpladayctbgptadbkehjykkjoihdmiojljliojzihhsjoinjkdmiajljndljojpjljyjliajljzdmghjpinioioihjpgujnhsjpjyfxjljtjyjphsiajybgjybkbzfpstneaahygtfdpmlgplaevaoljsgtplckaebkursnbgbzfpbtdtdwmkonwpnbjzcxlpzmytmunliecntkiysofrcpfyptahnsrkaeaeaeaeaeaeaeaeaeaeaeaendrfvwcxtalrsrrhhtttbnqzvldrmomwvaeolgotaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaebsfwfzjortrpvtltrkdwmhadlamwwmuoaxaxtaaddyoeadlocsdwykcssrykaeykaeykaocybgbgbgbgahjejyjpjljtcxkthsjzjzihjymwlrhkst"
"ur:tron-sign-request/onadtpdagdndcawmgtfrkigrpmndutdnbtkgfssbjnaohdtybkaoatmhcpayvyrhuegomtihswjsfzlassmsldrkdwhtpladayctbgptadbkehjykkjoihdmiojljliojzihhsjoinjkdmiajljndljojpjljyjliajljzdmghjpinioioihjpgujnhsjpjyfxjljtjyjphsiajybgjybkbzfpstneaahygtfdpmlgplaevaoljsgtplckaebkursnbgbzfpbtdtdwmkonwpnbjzcxlpzmytmunliecntkiysofrcpfyptahnsrkaeaeaeaeaeaeaeaeaeaeaeaendrfvwcxtalrsrrhhtttbnqzvldrmomwvaeolgotaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaebsfwfzjortrpvtltrkdwmhadlamwwmuoaxaxadaataaddyoeadlocsdwykcssrykaeykaeykaocybgbgbgbgamjejyjpjljtcxkthsjzjzihjyjtrnneiy"
);
});
});
19 changes: 17 additions & 2 deletions packages/ur-registry-tron/src/TronSignRequest.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,21 @@ const { decodeToDataItem, RegistryTypes } = extend;
enum Keys {
requestId = 1,
signData,
dataType,
derivationPath,
address,
origin,
Comment on lines 16 to 20
}

export enum DataType {
transaction = 1,
personalMessage = 2,
}
Comment on lines +23 to +26

type SignRequestProps = {
requestId?: Buffer;
signData: Buffer;
dataType: DataType;
derivationPath: CryptoKeypath;
address?: Buffer;
origin?: string;
Expand All @@ -30,6 +37,7 @@ type SignRequestProps = {
export class TronSignRequest extends RegistryItem {
private requestId?: Buffer;
private signData: Buffer;
private dataType: DataType;
private derivationPath: CryptoKeypath;
private address?: Buffer;
private origin?: string;
Expand All @@ -40,20 +48,23 @@ export class TronSignRequest extends RegistryItem {
super();
this.requestId = args.requestId;
this.signData = args.signData;
this.dataType = args.dataType;
this.derivationPath = args.derivationPath;
this.address = args.address;
this.origin = args.origin;
}

public getRequestId = () => this.requestId;
public getSignData = () => this.signData;
public getDerivationPath= () => this.derivationPath.getPath();
public getDataType = () => this.dataType;
public getDerivationPath = () => this.derivationPath.getPath();
public getAddress = () => this.address;
public getOrigin = () => this.origin;

public toDataItem = () => {
const map: DataItemMap = {};
map[Keys.signData] = this.signData;
map[Keys.dataType] = this.dataType;

const derivationPath = this.derivationPath.toDataItem();
derivationPath.setTag(this.derivationPath.getRegistryType().getTag());
Expand Down Expand Up @@ -87,6 +98,7 @@ export class TronSignRequest extends RegistryItem {
return new TronSignRequest({
requestId,
signData: map[Keys.signData],
dataType: map[Keys.dataType],
Comment on lines 98 to +101
derivationPath: CryptoKeypath.fromDataItem(map[Keys.derivationPath]),
address: map[Keys.address],
origin: map[Keys.origin],
Expand All @@ -113,7 +125,8 @@ export class TronSignRequest extends RegistryItem {

public static constructTronRequest(
signData: Buffer,
derivationHDPath: string,
dataType: DataType,
derivationHDPath: string,
xfp: string,
uuidString?: string,
address?: Buffer,
Expand All @@ -122,9 +135,11 @@ export class TronSignRequest extends RegistryItem {
return new TronSignRequest({
requestId: uuidString ? Buffer.from(uuidParse(uuidString) as Uint8Array) : undefined,
signData,
dataType,
derivationPath: TronSignRequest.parsePath(derivationHDPath, xfp),
address,
origin,
});
}
}

2 changes: 1 addition & 1 deletion packages/ur-registry-tron/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ patchTags(
.map(rt => rt.getTag()) as number[]
);

export { TronSignRequest } from "./TronSignRequest";
export { TronSignRequest, DataType } from "./TronSignRequest";
export { TronSignature } from "./TronSignature";
Loading