@ledgerhq/coin-canton 0.9.0-nightly.2 → 0.9.0-nightly.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +11 -0
- package/lib/bridge/onboard.d.ts.map +1 -1
- package/lib/bridge/onboard.js +2 -2
- package/lib/bridge/onboard.js.map +1 -1
- package/lib/bridge/signOperation.js +2 -2
- package/lib/bridge/signOperation.js.map +1 -1
- package/lib/common-logic/transaction/sign.d.ts +2 -2
- package/lib/common-logic/transaction/sign.d.ts.map +1 -1
- package/lib/common-logic/transaction/sign.js +20 -2
- package/lib/common-logic/transaction/sign.js.map +1 -1
- package/lib/network/gateway.d.ts +4 -1
- package/lib/network/gateway.d.ts.map +1 -1
- package/lib/network/gateway.js +4 -2
- package/lib/network/gateway.js.map +1 -1
- package/lib/types/signer.d.ts +5 -1
- package/lib/types/signer.d.ts.map +1 -1
- package/lib-es/bridge/onboard.d.ts.map +1 -1
- package/lib-es/bridge/onboard.js +2 -2
- package/lib-es/bridge/onboard.js.map +1 -1
- package/lib-es/bridge/signOperation.js +2 -2
- package/lib-es/bridge/signOperation.js.map +1 -1
- package/lib-es/common-logic/transaction/sign.d.ts +2 -2
- package/lib-es/common-logic/transaction/sign.d.ts.map +1 -1
- package/lib-es/common-logic/transaction/sign.js +20 -2
- package/lib-es/common-logic/transaction/sign.js.map +1 -1
- package/lib-es/network/gateway.d.ts +4 -1
- package/lib-es/network/gateway.d.ts.map +1 -1
- package/lib-es/network/gateway.js +4 -2
- package/lib-es/network/gateway.js.map +1 -1
- package/lib-es/types/signer.d.ts +5 -1
- package/lib-es/types/signer.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/bridge/onboard.ts +3 -2
- package/src/bridge/signOperation.test.ts +21 -6
- package/src/bridge/signOperation.ts +2 -2
- package/src/common-logic/transaction/sign.test.ts +83 -11
- package/src/common-logic/transaction/sign.ts +32 -6
- package/src/network/gateway.integ.test.ts +3 -6
- package/src/network/gateway.ts +9 -2
- package/src/types/signer.ts +5 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
> @ledgerhq/coin-canton@0.9.0-nightly.
|
|
2
|
+
> @ledgerhq/coin-canton@0.9.0-nightly.2 build /home/runner/work/ledger-live/ledger-live/libs/coin-modules/coin-canton
|
|
3
3
|
> tsc && tsc -m esnext --moduleResolution bundler --outDir lib-es
|
|
4
4
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# @ledgerhq/coin-canton
|
|
2
2
|
|
|
3
|
+
## 0.9.0-nightly.3
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#12405](https://github.com/LedgerHQ/ledger-live/pull/12405) [`0a5188a`](https://github.com/LedgerHQ/ledger-live/commit/0a5188aecac545b677cd5d4e8256bbb97081d269) Thanks [@ishaba](https://github.com/ishaba)! - add challenge support for canton onboarding request
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [[`eb176c2`](https://github.com/LedgerHQ/ledger-live/commit/eb176c201d711f1d28f74de831c4a6cd0c2d4a50)]:
|
|
12
|
+
- @ledgerhq/coin-framework@6.8.0-nightly.3
|
|
13
|
+
|
|
3
14
|
## 0.9.0-nightly.2
|
|
4
15
|
|
|
5
16
|
### Minor Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboard.d.ts","sourceRoot":"","sources":["../../src/bridge/onboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAiBnE,OAAO,EAGL,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,kBAAkB,GAAU,UAAU,cAAc,EAAE,WAAW,MAAM;;;;;;EAYnF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAU,UAAU,cAAc,EAAE,SAAS,MAAM,qBAOtF,CAAC;AAkBF,eAAO,MAAM,mBAAmB,GAC7B,eAAe,aAAa,CAAC,YAAY,CAAC,MAEzC,UAAU,cAAc,EACxB,UAAU,MAAM,EAChB,SAAS,OAAO,KACf,UAAU,CAAC,qBAAqB,GAAG,mBAAmB,
|
|
1
|
+
{"version":3,"file":"onboard.d.ts","sourceRoot":"","sources":["../../src/bridge/onboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAiBnE,OAAO,EAGL,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,kBAAkB,GAAU,UAAU,cAAc,EAAE,WAAW,MAAM;;;;;;EAYnF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAU,UAAU,cAAc,EAAE,SAAS,MAAM,qBAOtF,CAAC;AAkBF,eAAO,MAAM,mBAAmB,GAC7B,eAAe,aAAa,CAAC,YAAY,CAAC,MAEzC,UAAU,cAAc,EACxB,UAAU,MAAM,EAChB,SAAS,OAAO,KACf,UAAU,CAAC,qBAAqB,GAAG,mBAAmB,CAgDrD,CAAC;AAEP,eAAO,MAAM,yBAAyB,GACnC,eAAe,aAAa,CAAC,YAAY,CAAC,MAEzC,UAAU,cAAc,EACxB,UAAU,MAAM,EAChB,SAAS,OAAO,EAChB,SAAS,MAAM,KACd,UAAU,CAAC,uBAAuB,GAAG,qBAAqB,CA6DzD,CAAC"}
|
package/lib/bridge/onboard.js
CHANGED
|
@@ -88,7 +88,7 @@ const buildAuthorizePreapproval = (signerContext) => (currency, deviceId, accoun
|
|
|
88
88
|
o.next({ status: onboard_1.AuthorizeStatus.PREPARE });
|
|
89
89
|
const preparedTransaction = await (0, gateway_1.preparePreApprovalTransaction)(currency, partyId);
|
|
90
90
|
o.next({ status: onboard_1.AuthorizeStatus.SIGN });
|
|
91
|
-
const signature = await signerContext(deviceId, async (signer) => {
|
|
91
|
+
const { signature } = await signerContext(deviceId, async (signer) => {
|
|
92
92
|
return await (0, sign_1.signTransaction)(signer, account.freshAddressPath, preparedTransaction);
|
|
93
93
|
});
|
|
94
94
|
o.next({ status: onboard_1.AuthorizeStatus.SUBMIT });
|
|
@@ -101,7 +101,7 @@ const buildAuthorizePreapproval = (signerContext) => (currency, deviceId, accoun
|
|
|
101
101
|
const { serialized, hash } = await (0, gateway_1.prepareTapRequest)(currency, { partyId });
|
|
102
102
|
if (serialized && hash) {
|
|
103
103
|
o.next({ status: onboard_1.AuthorizeStatus.SIGN });
|
|
104
|
-
const signature = await signerContext(deviceId, signer => signer.signTransaction(account.freshAddressPath, hash));
|
|
104
|
+
const { signature } = await signerContext(deviceId, signer => signer.signTransaction(account.freshAddressPath, hash));
|
|
105
105
|
o.next({ status: onboard_1.AuthorizeStatus.SUBMIT });
|
|
106
106
|
await (0, gateway_1.submitTapRequest)(currency, {
|
|
107
107
|
partyId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboard.js","sourceRoot":"","sources":["../../src/bridge/onboard.ts"],"names":[],"mappings":";;;;;;AAAA,+BAAkC;AAIlC,yCAAqC;AACrC,6CAAgG;AAChG,0EAA6E;AAE7E,gDAU4B;AAC5B,2DAAmE;AACnE,8CAO0B;AAC1B,uDAAiC;AAG1B,MAAM,kBAAkB,GAAG,KAAK,EAAE,QAAwB,EAAE,SAAiB,EAAE,EAAE;IACtF,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,0BAAgB,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAEjE,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QAChC,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAChC,CAAC;AACH,CAAC,CAAC;AAZW,QAAA,kBAAkB,sBAY7B;AAEK,MAAM,uBAAuB,GAAG,KAAK,EAAE,QAAwB,EAAE,OAAe,EAAE,EAAE;IACzF,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,gCAAsB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjF,MAAM,UAAU,GAAG,QAAQ,KAAK,OAAO,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IAEpD,MAAM,aAAa,GAAG,CAAC,SAAS,IAAI,UAAU,CAAC;IAC/C,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAPW,QAAA,uBAAuB,2BAOlC;AAEF,MAAM,sBAAsB,GAAG,CAC7B,OAAgB,EAChB,OAAe,EACf,QAAwB,EACf,EAAE,CAAC,CAAC;IACb,GAAG,OAAO;IACV,IAAI,EAAE,OAAO;IACb,EAAE,EAAE,IAAA,2BAAe,EAAC;QAClB,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,GAAG;QACZ,UAAU,EAAE,QAAQ,CAAC,EAAE;QACvB,aAAa,EAAE,OAAO;QACtB,cAAc,EAAE,OAAO,CAAC,cAAc;KACvC,CAAC;CACH,CAAC,CAAC;AAEI,MAAM,mBAAmB,GAC9B,CAAC,aAA0C,EAAE,EAAE,CAC/C,CACE,QAAwB,EACxB,QAAgB,EAChB,OAAgB,EACyC,EAAE,CAC3D,IAAI,iBAAU,CAAC,CAAC,CAAC,EAAE;IACjB,KAAK,UAAU,IAAI;QACjB,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,uBAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QAEvC,MAAM,UAAU,GAAG,IAAA,gBAAQ,EAAC,aAAa,CAAC,CAAC;QAC3C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE;YAC/C,IAAI,EAAE,OAAO,CAAC,gBAAgB;YAC9B,QAAQ;YACR,cAAc,EAAE,OAAO,CAAC,cAAc;SACvC,CAAC,CAAC;QAEH,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,uBAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAE1C,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,0BAAkB,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"onboard.js","sourceRoot":"","sources":["../../src/bridge/onboard.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,12 +32,12 @@ const buildSignOperation = (signerContext) => ({ account, deviceId, transaction
|
|
|
32
32
|
const { nativeTransaction, serializedTransaction, hash } = await (0, common_logic_1.craftTransaction)(account.currency, {
|
|
33
33
|
address,
|
|
34
34
|
}, params);
|
|
35
|
-
const
|
|
35
|
+
const { signature } = await (0, sign_1.signTransaction)(signer, derivationPath, {
|
|
36
36
|
json: nativeTransaction,
|
|
37
37
|
serialized: serializedTransaction,
|
|
38
38
|
hash: hash,
|
|
39
39
|
});
|
|
40
|
-
return (0, common_logic_1.combine)(serializedTransaction, `${
|
|
40
|
+
return (0, common_logic_1.combine)(serializedTransaction, `${signature}__PARTY__${address}`);
|
|
41
41
|
});
|
|
42
42
|
o.next({
|
|
43
43
|
type: "device-signature-granted",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signOperation.js","sourceRoot":"","sources":["../../src/bridge/signOperation.ts"],"names":[],"mappings":";;;AAAA,+BAAkC;AAElC,6CAAgD;AAGhD,kEAAuE;AACvE,8DAAmE;AACnE,kDAA4D;AAC5D,2DAAmE;AAG5D,MAAM,kBAAkB,GAC7B,CAAC,aAA0C,EAA+C,EAAE,CAC5F,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,CACrC,IAAI,iBAAU,CAAC,CAAC,CAAC,EAAE;IACjB,KAAK,UAAU,IAAI;QACjB,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC;QAC5B,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,qBAAY,EAAE,CAAC;QAEnC,IAAI,CAAC;YACH,8EAA8E;YAC9E,CAAC,CAAC,IAAI,CAAC;gBACL,IAAI,EAAE,4BAA4B;aACnC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;gBAC7D,MAAM,EAAE,EAAE,EAAE,gBAAgB,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;gBAC/D,MAAM,OAAO,GAAG,IAAI,IAAI,IAAA,yBAAe,EAAC,EAAE,CAAC,CAAC,aAAa,CAAC;gBAC1D,MAAM,MAAM,GAMR;oBACF,SAAS,EAAE,WAAW,CAAC,SAAS;oBAChC,MAAM,EAAE,WAAW,CAAC,MAAM;oBAC1B,eAAe,EAAE,EAAE,GAAG,EAAE;oBACxB,OAAO,EAAE,WAAW,CAAC,OAAO;iBAC7B,CAAC;gBACF,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;oBACrB,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;gBACjC,CAAC;gBAED,MAAM,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,+BAAgB,EAC/E,OAAO,CAAC,QAAQ,EAChB;oBACE,OAAO;iBACR,EACD,MAAM,CACP,CAAC;gBAEF,MAAM,
|
|
1
|
+
{"version":3,"file":"signOperation.js","sourceRoot":"","sources":["../../src/bridge/signOperation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { OnboardingPrepareResponse, PrepareTransferResponse } from "../../network/gateway";
|
|
2
2
|
import { PrepareTransactionResponse } from "../../types/onboard";
|
|
3
|
-
import { CantonSigner } from "../../types/signer";
|
|
3
|
+
import { CantonSigner, CantonSignature } from "../../types/signer";
|
|
4
4
|
/**
|
|
5
5
|
* Sign a Canton transaction - handles both prepared transactions and untyped versioned messages
|
|
6
6
|
*/
|
|
7
|
-
export declare function signTransaction(signer: CantonSigner, derivationPath: string, transactionData: PrepareTransferResponse |
|
|
7
|
+
export declare function signTransaction(signer: CantonSigner, derivationPath: string, transactionData: PrepareTransferResponse | PrepareTransactionResponse | OnboardingPrepareResponse): Promise<CantonSignature>;
|
|
8
8
|
//# sourceMappingURL=sign.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sign.d.ts","sourceRoot":"","sources":["../../../src/common-logic/transaction/sign.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"sign.d.ts","sourceRoot":"","sources":["../../../src/common-logic/transaction/sign.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGnE;;GAEG;AAEH,wBAAsB,eAAe,CACnC,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,uBAAuB,GAAG,0BAA0B,GAAG,yBAAyB,GAChG,OAAO,CAAC,eAAe,CAAC,CA0B1B"}
|
|
@@ -12,16 +12,34 @@ async function signTransaction(signer, derivationPath, transactionData) {
|
|
|
12
12
|
signature = await signer.signTransaction(derivationPath, components);
|
|
13
13
|
}
|
|
14
14
|
else {
|
|
15
|
+
const challenge = getTransactionChallenge(transactionData);
|
|
15
16
|
const transactions = [
|
|
16
17
|
transactionData.transactions.namespace_transaction.serialized,
|
|
17
18
|
transactionData.transactions.party_to_key_transaction.serialized,
|
|
18
19
|
transactionData.transactions.party_to_participant_transaction.serialized,
|
|
19
20
|
];
|
|
20
|
-
signature = await signer.signTransaction(derivationPath, {
|
|
21
|
+
signature = await signer.signTransaction(derivationPath, {
|
|
22
|
+
transactions,
|
|
23
|
+
...(challenge && { challenge }),
|
|
24
|
+
});
|
|
21
25
|
}
|
|
22
|
-
if (!signature
|
|
26
|
+
if (!signature?.signature) {
|
|
23
27
|
throw new Error("Device returned empty signature");
|
|
24
28
|
}
|
|
25
29
|
return signature;
|
|
26
30
|
}
|
|
31
|
+
const getTransactionChallenge = ({ challenge_nonce, challenge_deadline, }) => {
|
|
32
|
+
if (!challenge_nonce || !challenge_deadline) {
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
try {
|
|
36
|
+
const deadlineHex = Buffer.alloc(8);
|
|
37
|
+
deadlineHex.writeBigInt64BE(BigInt(challenge_deadline), 0);
|
|
38
|
+
// Format: [length (1B) = 0x18][challenge (16 bytes)][deadline (8 bytes)]
|
|
39
|
+
return "18" + challenge_nonce.toLowerCase() + deadlineHex.toString("hex");
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
27
45
|
//# sourceMappingURL=sign.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sign.js","sourceRoot":"","sources":["../../../src/common-logic/transaction/sign.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"sign.js","sourceRoot":"","sources":["../../../src/common-logic/transaction/sign.ts"],"names":[],"mappings":";;AASA,0CA8BC;AApCD,mCAA2C;AAE3C;;GAEG;AAEI,KAAK,UAAU,eAAe,CACnC,MAAoB,EACpB,cAAsB,EACtB,eAAiG;IAEjG,IAAI,SAA0B,CAAC;IAE/B,IAAI,MAAM,IAAI,eAAe,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAA,wBAAgB,EAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1D,SAAS,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IACvE,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,GAAG,uBAAuB,CAAC,eAAe,CAAC,CAAC;QAE3D,MAAM,YAAY,GAAG;YACnB,eAAe,CAAC,YAAY,CAAC,qBAAqB,CAAC,UAAU;YAC7D,eAAe,CAAC,YAAY,CAAC,wBAAwB,CAAC,UAAU;YAChE,eAAe,CAAC,YAAY,CAAC,gCAAgC,CAAC,UAAU;SACzE,CAAC;QAEF,SAAS,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,cAAc,EAAE;YACvD,YAAY;YACZ,GAAG,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;SAChC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,uBAAuB,GAAG,CAAC,EAC/B,eAAe,EACf,kBAAkB,GACQ,EAAE,EAAE;IAC9B,IAAI,CAAC,eAAe,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpC,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3D,yEAAyE;QACzE,OAAO,IAAI,GAAG,eAAe,CAAC,WAAW,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC"}
|
package/lib/network/gateway.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { PrepareTransactionResponse } from "../types/onboard";
|
|
2
2
|
import type { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
|
|
3
|
+
import type { CantonSignature } from "../types/signer";
|
|
3
4
|
export type OnboardingPrepareResponse = {
|
|
4
5
|
party_id: string;
|
|
5
6
|
party_name: string;
|
|
@@ -22,6 +23,8 @@ export type OnboardingPrepareResponse = {
|
|
|
22
23
|
};
|
|
23
24
|
combined_hash: string;
|
|
24
25
|
};
|
|
26
|
+
challenge_nonce?: string;
|
|
27
|
+
challenge_deadline?: number;
|
|
25
28
|
};
|
|
26
29
|
export type PrepareTransferResponse = {
|
|
27
30
|
hash: string;
|
|
@@ -238,7 +241,7 @@ export type OperationInfo = {
|
|
|
238
241
|
};
|
|
239
242
|
export declare const getNetworkType: (currency: CryptoCurrency) => "mainnet" | "devnet" | "testnet" | "localnet";
|
|
240
243
|
export declare function prepareOnboarding(currency: CryptoCurrency, pubKey: string): Promise<OnboardingPrepareResponse>;
|
|
241
|
-
export declare function submitOnboarding(currency: CryptoCurrency, publicKey: string, prepareResponse: OnboardingPrepareResponse, signature:
|
|
244
|
+
export declare function submitOnboarding(currency: CryptoCurrency, publicKey: string, prepareResponse: OnboardingPrepareResponse, { signature, applicationSignature }: CantonSignature): Promise<OnboardingSubmitResponse>;
|
|
242
245
|
export declare function submit(currency: CryptoCurrency, partyId: string, serialized: string, signature: string): Promise<TransactionSubmitResponse>;
|
|
243
246
|
export declare function getBalance(currency: CryptoCurrency, partyId: string): Promise<InstrumentBalance[]>;
|
|
244
247
|
export declare function getPartyById(currency: CryptoCurrency, partyId: string): Promise<PartyInfo>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/network/gateway.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,0BAA0B,EAI3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/network/gateway.ts"],"names":[],"mappings":"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"}
|
package/lib/network/gateway.js
CHANGED
|
@@ -49,7 +49,7 @@ async function prepareOnboarding(currency, pubKey) {
|
|
|
49
49
|
});
|
|
50
50
|
return data;
|
|
51
51
|
}
|
|
52
|
-
async function submitOnboarding(currency, publicKey, prepareResponse, signature) {
|
|
52
|
+
async function submitOnboarding(currency, publicKey, prepareResponse, { signature, applicationSignature }) {
|
|
53
53
|
try {
|
|
54
54
|
const { data } = await gatewayNetwork({
|
|
55
55
|
method: "POST",
|
|
@@ -61,6 +61,7 @@ async function submitOnboarding(currency, publicKey, prepareResponse, signature)
|
|
|
61
61
|
},
|
|
62
62
|
prepare_response: prepareResponse,
|
|
63
63
|
signature,
|
|
64
|
+
...(applicationSignature ? { application_signature: applicationSignature } : {}),
|
|
64
65
|
},
|
|
65
66
|
});
|
|
66
67
|
return data;
|
|
@@ -124,11 +125,12 @@ var TransactionType;
|
|
|
124
125
|
TransactionType["TRANSFER_PRE_APPROVAL_PROPOSAL"] = "transfer-pre-approval-proposal";
|
|
125
126
|
})(TransactionType || (TransactionType = {}));
|
|
126
127
|
async function prepareTapRequest(currency, { partyId, amount = 1000000 }) {
|
|
128
|
+
const fixedPointAmount = BigInt(amount) * BigInt(10) ** BigInt(38);
|
|
127
129
|
const { data } = await gatewayNetwork({
|
|
128
130
|
method: "POST",
|
|
129
131
|
url: `${getGatewayUrl(currency)}/v1/node/${getNodeId(currency)}/party/${partyId}/transaction/prepare`,
|
|
130
132
|
data: {
|
|
131
|
-
amount:
|
|
133
|
+
amount: fixedPointAmount.toString(),
|
|
132
134
|
type: TransactionType.TAP_REQUEST,
|
|
133
135
|
},
|
|
134
136
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/network/gateway.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/network/gateway.ts"],"names":[],"mappings":"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"}
|
package/lib/types/signer.d.ts
CHANGED
|
@@ -3,7 +3,10 @@ export type CantonAddress = {
|
|
|
3
3
|
address: string;
|
|
4
4
|
path: string;
|
|
5
5
|
};
|
|
6
|
-
export type CantonSignature =
|
|
6
|
+
export type CantonSignature = {
|
|
7
|
+
signature: string;
|
|
8
|
+
applicationSignature?: string;
|
|
9
|
+
};
|
|
7
10
|
export interface CantonPreparedTransaction {
|
|
8
11
|
damlTransaction: Uint8Array;
|
|
9
12
|
nodes: Uint8Array[];
|
|
@@ -12,6 +15,7 @@ export interface CantonPreparedTransaction {
|
|
|
12
15
|
}
|
|
13
16
|
export interface CantonUntypedVersionedMessage {
|
|
14
17
|
transactions: string[];
|
|
18
|
+
challenge?: string;
|
|
15
19
|
}
|
|
16
20
|
export interface CantonSigner {
|
|
17
21
|
getAddress(path: string, display?: boolean): Promise<CantonAddress>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/types/signer.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/types/signer.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,MAAM,WAAW,yBAAyB;IACxC,eAAe,EAAE,UAAU,CAAC;IAC5B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,QAAQ,EAAE,UAAU,CAAC;IACrB,cAAc,EAAE,UAAU,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,6BAA6B;IAC5C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACpE,eAAe,CACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,yBAAyB,GAAG,6BAA6B,GAAG,MAAM,GACvE,OAAO,CAAC,eAAe,CAAC,CAAC;CAC7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboard.d.ts","sourceRoot":"","sources":["../../src/bridge/onboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAiBnE,OAAO,EAGL,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,kBAAkB,GAAU,UAAU,cAAc,EAAE,WAAW,MAAM;;;;;;EAYnF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAU,UAAU,cAAc,EAAE,SAAS,MAAM,qBAOtF,CAAC;AAkBF,eAAO,MAAM,mBAAmB,GAC7B,eAAe,aAAa,CAAC,YAAY,CAAC,MAEzC,UAAU,cAAc,EACxB,UAAU,MAAM,EAChB,SAAS,OAAO,KACf,UAAU,CAAC,qBAAqB,GAAG,mBAAmB,
|
|
1
|
+
{"version":3,"file":"onboard.d.ts","sourceRoot":"","sources":["../../src/bridge/onboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAiBnE,OAAO,EAGL,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,kBAAkB,GAAU,UAAU,cAAc,EAAE,WAAW,MAAM;;;;;;EAYnF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAU,UAAU,cAAc,EAAE,SAAS,MAAM,qBAOtF,CAAC;AAkBF,eAAO,MAAM,mBAAmB,GAC7B,eAAe,aAAa,CAAC,YAAY,CAAC,MAEzC,UAAU,cAAc,EACxB,UAAU,MAAM,EAChB,SAAS,OAAO,KACf,UAAU,CAAC,qBAAqB,GAAG,mBAAmB,CAgDrD,CAAC;AAEP,eAAO,MAAM,yBAAyB,GACnC,eAAe,aAAa,CAAC,YAAY,CAAC,MAEzC,UAAU,cAAc,EACxB,UAAU,MAAM,EAChB,SAAS,OAAO,EAChB,SAAS,MAAM,KACd,UAAU,CAAC,uBAAuB,GAAG,qBAAqB,CA6DzD,CAAC"}
|
package/lib-es/bridge/onboard.js
CHANGED
|
@@ -79,7 +79,7 @@ export const buildAuthorizePreapproval = (signerContext) => (currency, deviceId,
|
|
|
79
79
|
o.next({ status: AuthorizeStatus.PREPARE });
|
|
80
80
|
const preparedTransaction = await preparePreApprovalTransaction(currency, partyId);
|
|
81
81
|
o.next({ status: AuthorizeStatus.SIGN });
|
|
82
|
-
const signature = await signerContext(deviceId, async (signer) => {
|
|
82
|
+
const { signature } = await signerContext(deviceId, async (signer) => {
|
|
83
83
|
return await signTransaction(signer, account.freshAddressPath, preparedTransaction);
|
|
84
84
|
});
|
|
85
85
|
o.next({ status: AuthorizeStatus.SUBMIT });
|
|
@@ -92,7 +92,7 @@ export const buildAuthorizePreapproval = (signerContext) => (currency, deviceId,
|
|
|
92
92
|
const { serialized, hash } = await prepareTapRequest(currency, { partyId });
|
|
93
93
|
if (serialized && hash) {
|
|
94
94
|
o.next({ status: AuthorizeStatus.SIGN });
|
|
95
|
-
const signature = await signerContext(deviceId, signer => signer.signTransaction(account.freshAddressPath, hash));
|
|
95
|
+
const { signature } = await signerContext(deviceId, signer => signer.signTransaction(account.freshAddressPath, hash));
|
|
96
96
|
o.next({ status: AuthorizeStatus.SUBMIT });
|
|
97
97
|
await submitTapRequest(currency, {
|
|
98
98
|
partyId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboard.js","sourceRoot":"","sources":["../../src/bridge/onboard.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"onboard.js","sourceRoot":"","sources":["../../src/bridge/onboard.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,12 +29,12 @@ export const buildSignOperation = (signerContext) => ({ account, deviceId, trans
|
|
|
29
29
|
const { nativeTransaction, serializedTransaction, hash } = await craftTransaction(account.currency, {
|
|
30
30
|
address,
|
|
31
31
|
}, params);
|
|
32
|
-
const
|
|
32
|
+
const { signature } = await signTransaction(signer, derivationPath, {
|
|
33
33
|
json: nativeTransaction,
|
|
34
34
|
serialized: serializedTransaction,
|
|
35
35
|
hash: hash,
|
|
36
36
|
});
|
|
37
|
-
return combine(serializedTransaction, `${
|
|
37
|
+
return combine(serializedTransaction, `${signature}__PARTY__${address}`);
|
|
38
38
|
});
|
|
39
39
|
o.next({
|
|
40
40
|
type: "device-signature-granted",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signOperation.js","sourceRoot":"","sources":["../../src/bridge/signOperation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAGnE,MAAM,CAAC,MAAM,kBAAkB,GAC7B,CAAC,aAA0C,EAA+C,EAAE,CAC5F,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,CACrC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE;IACjB,KAAK,UAAU,IAAI;QACjB,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC;QAC5B,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,YAAY,EAAE,CAAC;QAEnC,IAAI,CAAC;YACH,8EAA8E;YAC9E,CAAC,CAAC,IAAI,CAAC;gBACL,IAAI,EAAE,4BAA4B;aACnC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;gBAC7D,MAAM,EAAE,EAAE,EAAE,gBAAgB,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;gBAC/D,MAAM,OAAO,GAAG,IAAI,IAAI,eAAe,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC;gBAC1D,MAAM,MAAM,GAMR;oBACF,SAAS,EAAE,WAAW,CAAC,SAAS;oBAChC,MAAM,EAAE,WAAW,CAAC,MAAM;oBAC1B,eAAe,EAAE,EAAE,GAAG,EAAE;oBACxB,OAAO,EAAE,WAAW,CAAC,OAAO;iBAC7B,CAAC;gBACF,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;oBACrB,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;gBACjC,CAAC;gBAED,MAAM,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,IAAI,EAAE,GAAG,MAAM,gBAAgB,CAC/E,OAAO,CAAC,QAAQ,EAChB;oBACE,OAAO;iBACR,EACD,MAAM,CACP,CAAC;gBAEF,MAAM,
|
|
1
|
+
{"version":3,"file":"signOperation.js","sourceRoot":"","sources":["../../src/bridge/signOperation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { OnboardingPrepareResponse, PrepareTransferResponse } from "../../network/gateway";
|
|
2
2
|
import { PrepareTransactionResponse } from "../../types/onboard";
|
|
3
|
-
import { CantonSigner } from "../../types/signer";
|
|
3
|
+
import { CantonSigner, CantonSignature } from "../../types/signer";
|
|
4
4
|
/**
|
|
5
5
|
* Sign a Canton transaction - handles both prepared transactions and untyped versioned messages
|
|
6
6
|
*/
|
|
7
|
-
export declare function signTransaction(signer: CantonSigner, derivationPath: string, transactionData: PrepareTransferResponse |
|
|
7
|
+
export declare function signTransaction(signer: CantonSigner, derivationPath: string, transactionData: PrepareTransferResponse | PrepareTransactionResponse | OnboardingPrepareResponse): Promise<CantonSignature>;
|
|
8
8
|
//# sourceMappingURL=sign.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sign.d.ts","sourceRoot":"","sources":["../../../src/common-logic/transaction/sign.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"sign.d.ts","sourceRoot":"","sources":["../../../src/common-logic/transaction/sign.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGnE;;GAEG;AAEH,wBAAsB,eAAe,CACnC,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,uBAAuB,GAAG,0BAA0B,GAAG,yBAAyB,GAChG,OAAO,CAAC,eAAe,CAAC,CA0B1B"}
|
|
@@ -9,16 +9,34 @@ export async function signTransaction(signer, derivationPath, transactionData) {
|
|
|
9
9
|
signature = await signer.signTransaction(derivationPath, components);
|
|
10
10
|
}
|
|
11
11
|
else {
|
|
12
|
+
const challenge = getTransactionChallenge(transactionData);
|
|
12
13
|
const transactions = [
|
|
13
14
|
transactionData.transactions.namespace_transaction.serialized,
|
|
14
15
|
transactionData.transactions.party_to_key_transaction.serialized,
|
|
15
16
|
transactionData.transactions.party_to_participant_transaction.serialized,
|
|
16
17
|
];
|
|
17
|
-
signature = await signer.signTransaction(derivationPath, {
|
|
18
|
+
signature = await signer.signTransaction(derivationPath, {
|
|
19
|
+
transactions,
|
|
20
|
+
...(challenge && { challenge }),
|
|
21
|
+
});
|
|
18
22
|
}
|
|
19
|
-
if (!signature
|
|
23
|
+
if (!signature?.signature) {
|
|
20
24
|
throw new Error("Device returned empty signature");
|
|
21
25
|
}
|
|
22
26
|
return signature;
|
|
23
27
|
}
|
|
28
|
+
const getTransactionChallenge = ({ challenge_nonce, challenge_deadline, }) => {
|
|
29
|
+
if (!challenge_nonce || !challenge_deadline) {
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
try {
|
|
33
|
+
const deadlineHex = Buffer.alloc(8);
|
|
34
|
+
deadlineHex.writeBigInt64BE(BigInt(challenge_deadline), 0);
|
|
35
|
+
// Format: [length (1B) = 0x18][challenge (16 bytes)][deadline (8 bytes)]
|
|
36
|
+
return "18" + challenge_nonce.toLowerCase() + deadlineHex.toString("hex");
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
return undefined;
|
|
40
|
+
}
|
|
41
|
+
};
|
|
24
42
|
//# sourceMappingURL=sign.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sign.js","sourceRoot":"","sources":["../../../src/common-logic/transaction/sign.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C;;GAEG;
|
|
1
|
+
{"version":3,"file":"sign.js","sourceRoot":"","sources":["../../../src/common-logic/transaction/sign.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C;;GAEG;AAEH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAoB,EACpB,cAAsB,EACtB,eAAiG;IAEjG,IAAI,SAA0B,CAAC;IAE/B,IAAI,MAAM,IAAI,eAAe,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1D,SAAS,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IACvE,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,GAAG,uBAAuB,CAAC,eAAe,CAAC,CAAC;QAE3D,MAAM,YAAY,GAAG;YACnB,eAAe,CAAC,YAAY,CAAC,qBAAqB,CAAC,UAAU;YAC7D,eAAe,CAAC,YAAY,CAAC,wBAAwB,CAAC,UAAU;YAChE,eAAe,CAAC,YAAY,CAAC,gCAAgC,CAAC,UAAU;SACzE,CAAC;QAEF,SAAS,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,cAAc,EAAE;YACvD,YAAY;YACZ,GAAG,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;SAChC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,uBAAuB,GAAG,CAAC,EAC/B,eAAe,EACf,kBAAkB,GACQ,EAAE,EAAE;IAC9B,IAAI,CAAC,eAAe,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpC,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3D,yEAAyE;QACzE,OAAO,IAAI,GAAG,eAAe,CAAC,WAAW,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { PrepareTransactionResponse } from "../types/onboard";
|
|
2
2
|
import type { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
|
|
3
|
+
import type { CantonSignature } from "../types/signer";
|
|
3
4
|
export type OnboardingPrepareResponse = {
|
|
4
5
|
party_id: string;
|
|
5
6
|
party_name: string;
|
|
@@ -22,6 +23,8 @@ export type OnboardingPrepareResponse = {
|
|
|
22
23
|
};
|
|
23
24
|
combined_hash: string;
|
|
24
25
|
};
|
|
26
|
+
challenge_nonce?: string;
|
|
27
|
+
challenge_deadline?: number;
|
|
25
28
|
};
|
|
26
29
|
export type PrepareTransferResponse = {
|
|
27
30
|
hash: string;
|
|
@@ -238,7 +241,7 @@ export type OperationInfo = {
|
|
|
238
241
|
};
|
|
239
242
|
export declare const getNetworkType: (currency: CryptoCurrency) => "mainnet" | "devnet" | "testnet" | "localnet";
|
|
240
243
|
export declare function prepareOnboarding(currency: CryptoCurrency, pubKey: string): Promise<OnboardingPrepareResponse>;
|
|
241
|
-
export declare function submitOnboarding(currency: CryptoCurrency, publicKey: string, prepareResponse: OnboardingPrepareResponse, signature:
|
|
244
|
+
export declare function submitOnboarding(currency: CryptoCurrency, publicKey: string, prepareResponse: OnboardingPrepareResponse, { signature, applicationSignature }: CantonSignature): Promise<OnboardingSubmitResponse>;
|
|
242
245
|
export declare function submit(currency: CryptoCurrency, partyId: string, serialized: string, signature: string): Promise<TransactionSubmitResponse>;
|
|
243
246
|
export declare function getBalance(currency: CryptoCurrency, partyId: string): Promise<InstrumentBalance[]>;
|
|
244
247
|
export declare function getPartyById(currency: CryptoCurrency, partyId: string): Promise<PartyInfo>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/network/gateway.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,0BAA0B,EAI3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/network/gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,7 +28,7 @@ export async function prepareOnboarding(currency, pubKey) {
|
|
|
28
28
|
});
|
|
29
29
|
return data;
|
|
30
30
|
}
|
|
31
|
-
export async function submitOnboarding(currency, publicKey, prepareResponse, signature) {
|
|
31
|
+
export async function submitOnboarding(currency, publicKey, prepareResponse, { signature, applicationSignature }) {
|
|
32
32
|
try {
|
|
33
33
|
const { data } = await gatewayNetwork({
|
|
34
34
|
method: "POST",
|
|
@@ -40,6 +40,7 @@ export async function submitOnboarding(currency, publicKey, prepareResponse, sig
|
|
|
40
40
|
},
|
|
41
41
|
prepare_response: prepareResponse,
|
|
42
42
|
signature,
|
|
43
|
+
...(applicationSignature ? { application_signature: applicationSignature } : {}),
|
|
43
44
|
},
|
|
44
45
|
});
|
|
45
46
|
return data;
|
|
@@ -103,11 +104,12 @@ var TransactionType;
|
|
|
103
104
|
TransactionType["TRANSFER_PRE_APPROVAL_PROPOSAL"] = "transfer-pre-approval-proposal";
|
|
104
105
|
})(TransactionType || (TransactionType = {}));
|
|
105
106
|
export async function prepareTapRequest(currency, { partyId, amount = 1000000 }) {
|
|
107
|
+
const fixedPointAmount = BigInt(amount) * BigInt(10) ** BigInt(38);
|
|
106
108
|
const { data } = await gatewayNetwork({
|
|
107
109
|
method: "POST",
|
|
108
110
|
url: `${getGatewayUrl(currency)}/v1/node/${getNodeId(currency)}/party/${partyId}/transaction/prepare`,
|
|
109
111
|
data: {
|
|
110
|
-
amount:
|
|
112
|
+
amount: fixedPointAmount.toString(),
|
|
111
113
|
type: TransactionType.TAP_REQUEST,
|
|
112
114
|
},
|
|
113
115
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/network/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,UAAU,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/network/gateway.ts"],"names":[],"mappings":"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"}
|
package/lib-es/types/signer.d.ts
CHANGED
|
@@ -3,7 +3,10 @@ export type CantonAddress = {
|
|
|
3
3
|
address: string;
|
|
4
4
|
path: string;
|
|
5
5
|
};
|
|
6
|
-
export type CantonSignature =
|
|
6
|
+
export type CantonSignature = {
|
|
7
|
+
signature: string;
|
|
8
|
+
applicationSignature?: string;
|
|
9
|
+
};
|
|
7
10
|
export interface CantonPreparedTransaction {
|
|
8
11
|
damlTransaction: Uint8Array;
|
|
9
12
|
nodes: Uint8Array[];
|
|
@@ -12,6 +15,7 @@ export interface CantonPreparedTransaction {
|
|
|
12
15
|
}
|
|
13
16
|
export interface CantonUntypedVersionedMessage {
|
|
14
17
|
transactions: string[];
|
|
18
|
+
challenge?: string;
|
|
15
19
|
}
|
|
16
20
|
export interface CantonSigner {
|
|
17
21
|
getAddress(path: string, display?: boolean): Promise<CantonAddress>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/types/signer.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/types/signer.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,MAAM,WAAW,yBAAyB;IACxC,eAAe,EAAE,UAAU,CAAC;IAC5B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,QAAQ,EAAE,UAAU,CAAC;IACrB,cAAc,EAAE,UAAU,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,6BAA6B;IAC5C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACpE,eAAe,CACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,yBAAyB,GAAG,6BAA6B,GAAG,MAAM,GACvE,OAAO,CAAC,eAAe,CAAC,CAAC;CAC7B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ledgerhq/coin-canton",
|
|
3
|
-
"version": "0.9.0-nightly.
|
|
3
|
+
"version": "0.9.0-nightly.3",
|
|
4
4
|
"description": "Canton coin integration",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Ledger",
|
|
@@ -102,8 +102,8 @@
|
|
|
102
102
|
"invariant": "^2.2.4",
|
|
103
103
|
"protobufjs": "7.5.4",
|
|
104
104
|
"rxjs": "^7.8.1",
|
|
105
|
+
"@ledgerhq/coin-framework": "^6.8.0-nightly.3",
|
|
105
106
|
"@ledgerhq/cryptoassets": "^13.32.0-nightly.1",
|
|
106
|
-
"@ledgerhq/coin-framework": "^6.8.0-nightly.2",
|
|
107
107
|
"@ledgerhq/devices": "8.6.2-nightly.0",
|
|
108
108
|
"@ledgerhq/errors": "^6.27.0-nightly.0",
|
|
109
109
|
"@ledgerhq/live-env": "^2.19.0",
|
package/src/bridge/onboard.ts
CHANGED
|
@@ -89,6 +89,7 @@ export const buildOnboardAccount =
|
|
|
89
89
|
o.next({ status: OnboardStatus.PREPARE });
|
|
90
90
|
|
|
91
91
|
let { partyId } = await isAccountOnboarded(currency, publicKey);
|
|
92
|
+
|
|
92
93
|
if (partyId) {
|
|
93
94
|
const onboardedAccount = createOnboardedAccount(account, partyId, currency);
|
|
94
95
|
o.next({ partyId, account: onboardedAccount }); // success
|
|
@@ -144,7 +145,7 @@ export const buildAuthorizePreapproval =
|
|
|
144
145
|
|
|
145
146
|
o.next({ status: AuthorizeStatus.SIGN });
|
|
146
147
|
|
|
147
|
-
const signature = await signerContext(deviceId, async signer => {
|
|
148
|
+
const { signature } = await signerContext(deviceId, async signer => {
|
|
148
149
|
return await signTransaction(signer, account.freshAddressPath, preparedTransaction);
|
|
149
150
|
});
|
|
150
151
|
o.next({ status: AuthorizeStatus.SUBMIT });
|
|
@@ -162,7 +163,7 @@ export const buildAuthorizePreapproval =
|
|
|
162
163
|
if (serialized && hash) {
|
|
163
164
|
o.next({ status: AuthorizeStatus.SIGN });
|
|
164
165
|
|
|
165
|
-
const signature = await signerContext(deviceId, signer =>
|
|
166
|
+
const { signature } = await signerContext(deviceId, signer =>
|
|
166
167
|
signer.signTransaction(account.freshAddressPath, hash),
|
|
167
168
|
);
|
|
168
169
|
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { BigNumber } from "bignumber.js";
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
CantonSigner,
|
|
4
|
+
CantonPreparedTransaction,
|
|
5
|
+
CantonSignature,
|
|
6
|
+
CantonUntypedVersionedMessage,
|
|
7
|
+
} from "../types";
|
|
3
8
|
import { Transaction } from "../types";
|
|
4
9
|
import { craftTransaction } from "../common-logic";
|
|
5
10
|
import prepareTransferMock from "../test/prepare-transfer.json";
|
|
@@ -26,12 +31,22 @@ class MockCantonSigner implements CantonSigner {
|
|
|
26
31
|
|
|
27
32
|
async signTransaction(
|
|
28
33
|
path: string,
|
|
29
|
-
data: CantonPreparedTransaction |
|
|
30
|
-
) {
|
|
31
|
-
if ("
|
|
32
|
-
return `
|
|
34
|
+
data: CantonPreparedTransaction | CantonUntypedVersionedMessage | string,
|
|
35
|
+
): Promise<CantonSignature> {
|
|
36
|
+
if (typeof data === "string") {
|
|
37
|
+
return { signature: `txhash-signature-${data}` };
|
|
38
|
+
} else if ("transactions" in data) {
|
|
39
|
+
const result: CantonSignature = {
|
|
40
|
+
signature: `untyped-signature-${data.transactions.length}`,
|
|
41
|
+
};
|
|
42
|
+
if (data.challenge) {
|
|
43
|
+
result.applicationSignature = `challenge-signature-${data.challenge}`;
|
|
44
|
+
}
|
|
45
|
+
return result;
|
|
33
46
|
} else {
|
|
34
|
-
return
|
|
47
|
+
return {
|
|
48
|
+
signature: `prepared-transaction-signature-${data.damlTransaction.length}-${data.nodes.length}`,
|
|
49
|
+
};
|
|
35
50
|
}
|
|
36
51
|
}
|
|
37
52
|
}
|
|
@@ -50,13 +50,13 @@ export const buildSignOperation =
|
|
|
50
50
|
params,
|
|
51
51
|
);
|
|
52
52
|
|
|
53
|
-
const
|
|
53
|
+
const { signature } = await signTransaction(signer, derivationPath, {
|
|
54
54
|
json: nativeTransaction,
|
|
55
55
|
serialized: serializedTransaction,
|
|
56
56
|
hash: hash,
|
|
57
57
|
});
|
|
58
58
|
|
|
59
|
-
return combine(serializedTransaction, `${
|
|
59
|
+
return combine(serializedTransaction, `${signature}__PARTY__${address}`);
|
|
60
60
|
});
|
|
61
61
|
|
|
62
62
|
o.next({
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { OnboardingPrepareResponse, PrepareTransferResponse } from "../../network/gateway";
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
CantonPreparedTransaction,
|
|
4
|
+
CantonSigner,
|
|
5
|
+
CantonSignature,
|
|
6
|
+
CantonUntypedVersionedMessage,
|
|
7
|
+
} from "../../types/signer";
|
|
3
8
|
import { signTransaction } from "./sign";
|
|
4
9
|
|
|
5
10
|
class MockCantonSigner implements CantonSigner {
|
|
@@ -13,12 +18,22 @@ class MockCantonSigner implements CantonSigner {
|
|
|
13
18
|
|
|
14
19
|
async signTransaction(
|
|
15
20
|
path: string,
|
|
16
|
-
data: CantonPreparedTransaction |
|
|
17
|
-
) {
|
|
18
|
-
if ("
|
|
19
|
-
return `
|
|
21
|
+
data: CantonPreparedTransaction | CantonUntypedVersionedMessage | string,
|
|
22
|
+
): Promise<CantonSignature> {
|
|
23
|
+
if (typeof data === "string") {
|
|
24
|
+
return { signature: `txhash-signature-${data}` };
|
|
25
|
+
} else if ("transactions" in data) {
|
|
26
|
+
const result: CantonSignature = {
|
|
27
|
+
signature: `untyped-signature-${data.transactions.length}`,
|
|
28
|
+
};
|
|
29
|
+
if (data.challenge) {
|
|
30
|
+
result.applicationSignature = `challenge-signature-${data.challenge}`;
|
|
31
|
+
}
|
|
32
|
+
return result;
|
|
20
33
|
} else {
|
|
21
|
-
return
|
|
34
|
+
return {
|
|
35
|
+
signature: `prepared-transaction-signature-${data.damlTransaction.length}-${data.nodes.length}`,
|
|
36
|
+
};
|
|
22
37
|
}
|
|
23
38
|
}
|
|
24
39
|
}
|
|
@@ -85,7 +100,7 @@ describe("signTransaction", () => {
|
|
|
85
100
|
);
|
|
86
101
|
|
|
87
102
|
// THEN
|
|
88
|
-
expect(result).
|
|
103
|
+
expect(result).toEqual({ signature: "prepared-transaction-signature-10-1" });
|
|
89
104
|
});
|
|
90
105
|
|
|
91
106
|
it("should sign untyped versioned message", async () => {
|
|
@@ -122,7 +137,7 @@ describe("signTransaction", () => {
|
|
|
122
137
|
);
|
|
123
138
|
|
|
124
139
|
// THEN
|
|
125
|
-
expect(result).
|
|
140
|
+
expect(result).toEqual({ signature: "untyped-signature-3" });
|
|
126
141
|
});
|
|
127
142
|
|
|
128
143
|
it("should handle empty signature from signer", async () => {
|
|
@@ -201,7 +216,7 @@ describe("signTransaction", () => {
|
|
|
201
216
|
|
|
202
217
|
it("should call signer with correct parameters for prepared transaction", async () => {
|
|
203
218
|
// GIVEN
|
|
204
|
-
const mockSignerSpy = jest.fn().mockResolvedValue("test-signature");
|
|
219
|
+
const mockSignerSpy = jest.fn().mockResolvedValue({ signature: "test-signature" });
|
|
205
220
|
const mockSignerWithSpy = {
|
|
206
221
|
...mockSigner,
|
|
207
222
|
signTransaction: mockSignerSpy,
|
|
@@ -270,9 +285,9 @@ describe("signTransaction", () => {
|
|
|
270
285
|
);
|
|
271
286
|
});
|
|
272
287
|
|
|
273
|
-
it("should call signer with correct parameters for untyped versioned message", async () => {
|
|
288
|
+
it("should call signer with correct parameters for untyped versioned message without challenge", async () => {
|
|
274
289
|
// GIVEN
|
|
275
|
-
const mockSignerSpy = jest.fn().mockResolvedValue("test-signature");
|
|
290
|
+
const mockSignerSpy = jest.fn().mockResolvedValue({ signature: "test-signature" });
|
|
276
291
|
const mockSignerWithSpy = {
|
|
277
292
|
...mockSigner,
|
|
278
293
|
signTransaction: mockSignerSpy,
|
|
@@ -314,4 +329,61 @@ describe("signTransaction", () => {
|
|
|
314
329
|
],
|
|
315
330
|
});
|
|
316
331
|
});
|
|
332
|
+
|
|
333
|
+
it("should call signer with correct parameters for untyped versioned message with challenge", async () => {
|
|
334
|
+
const mockSignerSpy = jest.fn().mockResolvedValue({
|
|
335
|
+
signature: "main-signature",
|
|
336
|
+
applicationSignature: "challenge-signature",
|
|
337
|
+
});
|
|
338
|
+
const mockSignerWithSpy = {
|
|
339
|
+
...mockSigner,
|
|
340
|
+
signTransaction: mockSignerSpy,
|
|
341
|
+
} as unknown as CantonSigner;
|
|
342
|
+
|
|
343
|
+
const mockOnboardingPrepareResponse: OnboardingPrepareResponse = {
|
|
344
|
+
party_id: "test-party-id",
|
|
345
|
+
party_name: "test-party-name",
|
|
346
|
+
public_key_fingerprint: "test-fingerprint",
|
|
347
|
+
challenge_nonce: "1234567890abcdef",
|
|
348
|
+
challenge_deadline: 1735689599,
|
|
349
|
+
transactions: {
|
|
350
|
+
namespace_transaction: {
|
|
351
|
+
serialized: "namespace-transaction-data",
|
|
352
|
+
json: {},
|
|
353
|
+
hash: "namespace-hash",
|
|
354
|
+
},
|
|
355
|
+
party_to_key_transaction: {
|
|
356
|
+
serialized: "party-to-key-transaction-data",
|
|
357
|
+
json: {},
|
|
358
|
+
hash: "party-to-key-hash",
|
|
359
|
+
},
|
|
360
|
+
party_to_participant_transaction: {
|
|
361
|
+
serialized: "party-to-participant-transaction-data",
|
|
362
|
+
json: {},
|
|
363
|
+
hash: "party-to-participant-hash",
|
|
364
|
+
},
|
|
365
|
+
combined_hash: "combined-hash",
|
|
366
|
+
},
|
|
367
|
+
};
|
|
368
|
+
|
|
369
|
+
const result = await signTransaction(
|
|
370
|
+
mockSignerWithSpy,
|
|
371
|
+
mockDerivationPath,
|
|
372
|
+
mockOnboardingPrepareResponse,
|
|
373
|
+
);
|
|
374
|
+
|
|
375
|
+
expect(result).toEqual({
|
|
376
|
+
signature: "main-signature",
|
|
377
|
+
applicationSignature: "challenge-signature",
|
|
378
|
+
});
|
|
379
|
+
|
|
380
|
+
expect(mockSignerSpy).toHaveBeenCalledWith(mockDerivationPath, {
|
|
381
|
+
transactions: [
|
|
382
|
+
"namespace-transaction-data",
|
|
383
|
+
"party-to-key-transaction-data",
|
|
384
|
+
"party-to-participant-transaction-data",
|
|
385
|
+
],
|
|
386
|
+
challenge: "181234567890abcdef000000006774857f",
|
|
387
|
+
});
|
|
388
|
+
});
|
|
317
389
|
});
|
|
@@ -1,33 +1,59 @@
|
|
|
1
1
|
import { OnboardingPrepareResponse, PrepareTransferResponse } from "../../network/gateway";
|
|
2
2
|
import { PrepareTransactionResponse } from "../../types/onboard";
|
|
3
|
-
import { CantonSigner } from "../../types/signer";
|
|
3
|
+
import { CantonSigner, CantonSignature } from "../../types/signer";
|
|
4
4
|
import { splitTransaction } from "./split";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Sign a Canton transaction - handles both prepared transactions and untyped versioned messages
|
|
8
8
|
*/
|
|
9
|
+
|
|
9
10
|
export async function signTransaction(
|
|
10
11
|
signer: CantonSigner,
|
|
11
12
|
derivationPath: string,
|
|
12
|
-
transactionData: PrepareTransferResponse |
|
|
13
|
-
): Promise<
|
|
14
|
-
let signature:
|
|
13
|
+
transactionData: PrepareTransferResponse | PrepareTransactionResponse | OnboardingPrepareResponse,
|
|
14
|
+
): Promise<CantonSignature> {
|
|
15
|
+
let signature: CantonSignature;
|
|
15
16
|
|
|
16
17
|
if ("json" in transactionData) {
|
|
17
18
|
const components = splitTransaction(transactionData.json);
|
|
18
19
|
signature = await signer.signTransaction(derivationPath, components);
|
|
19
20
|
} else {
|
|
21
|
+
const challenge = getTransactionChallenge(transactionData);
|
|
22
|
+
|
|
20
23
|
const transactions = [
|
|
21
24
|
transactionData.transactions.namespace_transaction.serialized,
|
|
22
25
|
transactionData.transactions.party_to_key_transaction.serialized,
|
|
23
26
|
transactionData.transactions.party_to_participant_transaction.serialized,
|
|
24
27
|
];
|
|
25
|
-
|
|
28
|
+
|
|
29
|
+
signature = await signer.signTransaction(derivationPath, {
|
|
30
|
+
transactions,
|
|
31
|
+
...(challenge && { challenge }),
|
|
32
|
+
});
|
|
26
33
|
}
|
|
27
34
|
|
|
28
|
-
if (!signature
|
|
35
|
+
if (!signature?.signature) {
|
|
29
36
|
throw new Error("Device returned empty signature");
|
|
30
37
|
}
|
|
31
38
|
|
|
32
39
|
return signature;
|
|
33
40
|
}
|
|
41
|
+
|
|
42
|
+
const getTransactionChallenge = ({
|
|
43
|
+
challenge_nonce,
|
|
44
|
+
challenge_deadline,
|
|
45
|
+
}: OnboardingPrepareResponse) => {
|
|
46
|
+
if (!challenge_nonce || !challenge_deadline) {
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
try {
|
|
51
|
+
const deadlineHex = Buffer.alloc(8);
|
|
52
|
+
deadlineHex.writeBigInt64BE(BigInt(challenge_deadline), 0);
|
|
53
|
+
|
|
54
|
+
// Format: [length (1B) = 0x18][challenge (16 bytes)][deadline (8 bytes)]
|
|
55
|
+
return "18" + challenge_nonce.toLowerCase() + deadlineHex.toString("hex");
|
|
56
|
+
} catch (error) {
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
59
|
+
};
|
|
@@ -83,12 +83,9 @@ describe("gateway (devnet)", () => {
|
|
|
83
83
|
const signature = keyPair.sign(prepareResponse.transactions.combined_hash);
|
|
84
84
|
|
|
85
85
|
// WHEN
|
|
86
|
-
const response = await submitOnboarding(
|
|
87
|
-
mockCurrency,
|
|
88
|
-
keyPair.publicKeyHex,
|
|
89
|
-
prepareResponse,
|
|
86
|
+
const response = await submitOnboarding(mockCurrency, keyPair.publicKeyHex, prepareResponse, {
|
|
90
87
|
signature,
|
|
91
|
-
);
|
|
88
|
+
});
|
|
92
89
|
|
|
93
90
|
// Save onboarded account for next tests that need a valid party ID
|
|
94
91
|
onboardedAccount = {
|
|
@@ -118,7 +115,7 @@ describe("gateway (devnet)", () => {
|
|
|
118
115
|
mockCurrency,
|
|
119
116
|
keyPair.publicKeyHex,
|
|
120
117
|
prepareResponse!,
|
|
121
|
-
signature,
|
|
118
|
+
{ signature },
|
|
122
119
|
);
|
|
123
120
|
|
|
124
121
|
// THEN
|
package/src/network/gateway.ts
CHANGED
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
PreApprovalResult,
|
|
11
11
|
} from "../types/onboard";
|
|
12
12
|
import type { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
|
|
13
|
+
import type { CantonSignature } from "../types/signer";
|
|
13
14
|
|
|
14
15
|
export type OnboardingPrepareResponse = {
|
|
15
16
|
party_id: string;
|
|
@@ -33,6 +34,8 @@ export type OnboardingPrepareResponse = {
|
|
|
33
34
|
};
|
|
34
35
|
combined_hash: string;
|
|
35
36
|
};
|
|
37
|
+
challenge_nonce?: string;
|
|
38
|
+
challenge_deadline?: number;
|
|
36
39
|
};
|
|
37
40
|
|
|
38
41
|
type OnboardingPrepareRequest = {
|
|
@@ -59,6 +62,7 @@ type OnboardingSubmitRequest = {
|
|
|
59
62
|
prepare_request: OnboardingPrepareRequest;
|
|
60
63
|
prepare_response: OnboardingPrepareResponse;
|
|
61
64
|
signature: string;
|
|
65
|
+
application_signature?: string;
|
|
62
66
|
};
|
|
63
67
|
|
|
64
68
|
type OnboardingSubmitResponse = {
|
|
@@ -325,7 +329,7 @@ export async function submitOnboarding(
|
|
|
325
329
|
currency: CryptoCurrency,
|
|
326
330
|
publicKey: string,
|
|
327
331
|
prepareResponse: OnboardingPrepareResponse,
|
|
328
|
-
signature:
|
|
332
|
+
{ signature, applicationSignature }: CantonSignature,
|
|
329
333
|
) {
|
|
330
334
|
try {
|
|
331
335
|
const { data } = await gatewayNetwork<OnboardingSubmitResponse, OnboardingSubmitRequest>({
|
|
@@ -338,6 +342,7 @@ export async function submitOnboarding(
|
|
|
338
342
|
},
|
|
339
343
|
prepare_response: prepareResponse,
|
|
340
344
|
signature,
|
|
345
|
+
...(applicationSignature ? { application_signature: applicationSignature } : {}),
|
|
341
346
|
},
|
|
342
347
|
});
|
|
343
348
|
return data;
|
|
@@ -449,11 +454,13 @@ export async function prepareTapRequest(
|
|
|
449
454
|
currency: CryptoCurrency,
|
|
450
455
|
{ partyId, amount = 1000000 }: PrepareTapRequest,
|
|
451
456
|
) {
|
|
457
|
+
const fixedPointAmount = BigInt(amount) * BigInt(10) ** BigInt(38);
|
|
458
|
+
|
|
452
459
|
const { data } = await gatewayNetwork<PrepareTapResponse, { amount: string; type: string }>({
|
|
453
460
|
method: "POST",
|
|
454
461
|
url: `${getGatewayUrl(currency)}/v1/node/${getNodeId(currency)}/party/${partyId}/transaction/prepare`,
|
|
455
462
|
data: {
|
|
456
|
-
amount:
|
|
463
|
+
amount: fixedPointAmount.toString(),
|
|
457
464
|
type: TransactionType.TAP_REQUEST,
|
|
458
465
|
},
|
|
459
466
|
});
|
package/src/types/signer.ts
CHANGED
|
@@ -4,7 +4,10 @@ export type CantonAddress = {
|
|
|
4
4
|
path: string;
|
|
5
5
|
};
|
|
6
6
|
|
|
7
|
-
export type CantonSignature =
|
|
7
|
+
export type CantonSignature = {
|
|
8
|
+
signature: string;
|
|
9
|
+
applicationSignature?: string;
|
|
10
|
+
};
|
|
8
11
|
|
|
9
12
|
export interface CantonPreparedTransaction {
|
|
10
13
|
damlTransaction: Uint8Array;
|
|
@@ -15,6 +18,7 @@ export interface CantonPreparedTransaction {
|
|
|
15
18
|
|
|
16
19
|
export interface CantonUntypedVersionedMessage {
|
|
17
20
|
transactions: string[];
|
|
21
|
+
challenge?: string;
|
|
18
22
|
}
|
|
19
23
|
|
|
20
24
|
export interface CantonSigner {
|