@ledgerhq/coin-canton 0.5.0 → 0.5.1-nightly.1
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 +21 -0
- package/lib/api/getBalance.integ.test.js +9 -5
- package/lib/api/getBalance.integ.test.js.map +1 -1
- package/lib/api/index.d.ts.map +1 -1
- package/lib/api/index.js +20 -25
- package/lib/api/index.js.map +1 -1
- package/lib/api/lastBlock.integ.test.js +1 -1
- package/lib/api/lastBlock.integ.test.js.map +1 -1
- package/lib/api/listOperations.integ.test.js +1 -1
- package/lib/api/listOperations.integ.test.js.map +1 -1
- package/lib/bridge/broadcast.d.ts.map +1 -1
- package/lib/bridge/broadcast.js +3 -2
- package/lib/bridge/broadcast.js.map +1 -1
- package/lib/bridge/broadcast.test.js +9 -0
- package/lib/bridge/broadcast.test.js.map +1 -1
- package/lib/bridge/createTransaction.js +1 -1
- package/lib/bridge/createTransaction.js.map +1 -1
- package/lib/bridge/getTransactionStatus.js +1 -1
- package/lib/bridge/getTransactionStatus.js.map +1 -1
- package/lib/bridge/index.d.ts.map +1 -1
- package/lib/bridge/index.js +3 -0
- package/lib/bridge/index.js.map +1 -1
- package/lib/bridge/onboard.d.ts +7 -5
- package/lib/bridge/onboard.d.ts.map +1 -1
- package/lib/bridge/onboard.integ.test.js +14 -11
- package/lib/bridge/onboard.integ.test.js.map +1 -1
- package/lib/bridge/onboard.js +110 -42
- package/lib/bridge/onboard.js.map +1 -1
- package/lib/bridge/prepareTransaction.d.ts.map +1 -1
- package/lib/bridge/prepareTransaction.js +5 -7
- package/lib/bridge/prepareTransaction.js.map +1 -1
- package/lib/bridge/serialization.d.ts +4 -0
- package/lib/bridge/serialization.d.ts.map +1 -0
- package/lib/bridge/serialization.js +31 -0
- package/lib/bridge/serialization.js.map +1 -0
- package/lib/bridge/signOperation.d.ts.map +1 -1
- package/lib/bridge/signOperation.js +14 -11
- package/lib/bridge/signOperation.js.map +1 -1
- package/lib/bridge/sync.d.ts +2 -1
- package/lib/bridge/sync.d.ts.map +1 -1
- package/lib/bridge/sync.integ.test.d.ts +2 -0
- package/lib/bridge/sync.integ.test.d.ts.map +1 -0
- package/lib/bridge/sync.integ.test.js +175 -0
- package/lib/bridge/sync.integ.test.js.map +1 -0
- package/lib/bridge/sync.js +50 -27
- package/lib/bridge/sync.js.map +1 -1
- package/lib/bridge/updateTransaction.d.ts.map +1 -1
- package/lib/bridge/updateTransaction.js +0 -4
- package/lib/bridge/updateTransaction.js.map +1 -1
- package/lib/common-logic/account/getBalance.d.ts +2 -1
- package/lib/common-logic/account/getBalance.d.ts.map +1 -1
- package/lib/common-logic/account/getBalance.js +7 -7
- package/lib/common-logic/account/getBalance.js.map +1 -1
- package/lib/common-logic/account/getBalance.unit.test.js +6 -3
- package/lib/common-logic/account/getBalance.unit.test.js.map +1 -1
- package/lib/common-logic/history/lastBlock.d.ts +2 -1
- package/lib/common-logic/history/lastBlock.d.ts.map +1 -1
- package/lib/common-logic/history/lastBlock.js +3 -3
- package/lib/common-logic/history/lastBlock.js.map +1 -1
- package/lib/common-logic/history/lastBlock.test.js +5 -2
- package/lib/common-logic/history/lastBlock.test.js.map +1 -1
- package/lib/common-logic/history/listOperations.d.ts +2 -1
- package/lib/common-logic/history/listOperations.d.ts.map +1 -1
- package/lib/common-logic/history/listOperations.js +2 -2
- package/lib/common-logic/history/listOperations.js.map +1 -1
- package/lib/common-logic/transaction/broadcast.d.ts +2 -1
- package/lib/common-logic/transaction/broadcast.d.ts.map +1 -1
- package/lib/common-logic/transaction/broadcast.js +5 -4
- package/lib/common-logic/transaction/broadcast.js.map +1 -1
- package/lib/common-logic/transaction/broadcast.test.js +8 -5
- package/lib/common-logic/transaction/broadcast.test.js.map +1 -1
- package/lib/common-logic/transaction/combine.d.ts +1 -1
- package/lib/common-logic/transaction/combine.d.ts.map +1 -1
- package/lib/common-logic/transaction/combine.js +2 -3
- package/lib/common-logic/transaction/combine.js.map +1 -1
- package/lib/common-logic/transaction/combine.test.js +3 -13
- package/lib/common-logic/transaction/combine.test.js.map +1 -1
- package/lib/common-logic/transaction/craftTransaction.d.ts +8 -4
- package/lib/common-logic/transaction/craftTransaction.d.ts.map +1 -1
- package/lib/common-logic/transaction/craftTransaction.js +15 -12
- package/lib/common-logic/transaction/craftTransaction.js.map +1 -1
- package/lib/common-logic/transaction/estimateFees.d.ts +2 -1
- package/lib/common-logic/transaction/estimateFees.d.ts.map +1 -1
- package/lib/common-logic/transaction/estimateFees.js +7 -3
- package/lib/common-logic/transaction/estimateFees.js.map +1 -1
- package/lib/config.d.ts +1 -0
- package/lib/config.d.ts.map +1 -1
- package/lib/config.js.map +1 -1
- package/lib/network/gateway.d.ts +41 -17
- package/lib/network/gateway.d.ts.map +1 -1
- package/lib/network/gateway.integ.test.js +19 -15
- package/lib/network/gateway.integ.test.js.map +1 -1
- package/lib/network/gateway.js +74 -48
- package/lib/network/gateway.js.map +1 -1
- package/lib/network/node.d.ts +2 -2
- package/lib/network/node.d.ts.map +1 -1
- package/lib/network/node.js.map +1 -1
- package/lib/network/types.d.ts +1 -1
- package/lib/network/types.d.ts.map +1 -1
- package/lib/signer/getAddress.d.ts.map +1 -1
- package/lib/signer/getAddress.js +2 -2
- package/lib/signer/getAddress.js.map +1 -1
- package/lib/types/bridge.d.ts +18 -3
- package/lib/types/bridge.d.ts.map +1 -1
- package/lib/types/index.d.ts +0 -10
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/onboard.d.ts +2 -0
- package/lib/types/onboard.d.ts.map +1 -1
- package/lib/types/onboard.js.map +1 -1
- package/lib/types/signer.d.ts +2 -1
- package/lib/types/signer.d.ts.map +1 -1
- package/lib-es/api/getBalance.integ.test.js +9 -5
- package/lib-es/api/getBalance.integ.test.js.map +1 -1
- package/lib-es/api/index.d.ts.map +1 -1
- package/lib-es/api/index.js +19 -24
- package/lib-es/api/index.js.map +1 -1
- package/lib-es/api/lastBlock.integ.test.js +1 -1
- package/lib-es/api/lastBlock.integ.test.js.map +1 -1
- package/lib-es/api/listOperations.integ.test.js +1 -1
- package/lib-es/api/listOperations.integ.test.js.map +1 -1
- package/lib-es/bridge/broadcast.d.ts.map +1 -1
- package/lib-es/bridge/broadcast.js +3 -2
- package/lib-es/bridge/broadcast.js.map +1 -1
- package/lib-es/bridge/broadcast.test.js +9 -0
- package/lib-es/bridge/broadcast.test.js.map +1 -1
- package/lib-es/bridge/createTransaction.js +1 -1
- package/lib-es/bridge/createTransaction.js.map +1 -1
- package/lib-es/bridge/getTransactionStatus.js +1 -1
- package/lib-es/bridge/getTransactionStatus.js.map +1 -1
- package/lib-es/bridge/index.d.ts.map +1 -1
- package/lib-es/bridge/index.js +3 -0
- package/lib-es/bridge/index.js.map +1 -1
- package/lib-es/bridge/onboard.d.ts +7 -5
- package/lib-es/bridge/onboard.d.ts.map +1 -1
- package/lib-es/bridge/onboard.integ.test.js +14 -11
- package/lib-es/bridge/onboard.integ.test.js.map +1 -1
- package/lib-es/bridge/onboard.js +107 -42
- package/lib-es/bridge/onboard.js.map +1 -1
- package/lib-es/bridge/prepareTransaction.d.ts.map +1 -1
- package/lib-es/bridge/prepareTransaction.js +6 -8
- package/lib-es/bridge/prepareTransaction.js.map +1 -1
- package/lib-es/bridge/serialization.d.ts +4 -0
- package/lib-es/bridge/serialization.d.ts.map +1 -0
- package/lib-es/bridge/serialization.js +27 -0
- package/lib-es/bridge/serialization.js.map +1 -0
- package/lib-es/bridge/signOperation.d.ts.map +1 -1
- package/lib-es/bridge/signOperation.js +15 -12
- package/lib-es/bridge/signOperation.js.map +1 -1
- package/lib-es/bridge/sync.d.ts +2 -1
- package/lib-es/bridge/sync.d.ts.map +1 -1
- package/lib-es/bridge/sync.integ.test.d.ts +2 -0
- package/lib-es/bridge/sync.integ.test.d.ts.map +1 -0
- package/lib-es/bridge/sync.integ.test.js +137 -0
- package/lib-es/bridge/sync.integ.test.js.map +1 -0
- package/lib-es/bridge/sync.js +51 -28
- package/lib-es/bridge/sync.js.map +1 -1
- package/lib-es/bridge/updateTransaction.d.ts.map +1 -1
- package/lib-es/bridge/updateTransaction.js +0 -4
- package/lib-es/bridge/updateTransaction.js.map +1 -1
- package/lib-es/common-logic/account/getBalance.d.ts +2 -1
- package/lib-es/common-logic/account/getBalance.d.ts.map +1 -1
- package/lib-es/common-logic/account/getBalance.js +7 -7
- package/lib-es/common-logic/account/getBalance.js.map +1 -1
- package/lib-es/common-logic/account/getBalance.unit.test.js +6 -3
- package/lib-es/common-logic/account/getBalance.unit.test.js.map +1 -1
- package/lib-es/common-logic/history/lastBlock.d.ts +2 -1
- package/lib-es/common-logic/history/lastBlock.d.ts.map +1 -1
- package/lib-es/common-logic/history/lastBlock.js +3 -3
- package/lib-es/common-logic/history/lastBlock.js.map +1 -1
- package/lib-es/common-logic/history/lastBlock.test.js +5 -2
- package/lib-es/common-logic/history/lastBlock.test.js.map +1 -1
- package/lib-es/common-logic/history/listOperations.d.ts +2 -1
- package/lib-es/common-logic/history/listOperations.d.ts.map +1 -1
- package/lib-es/common-logic/history/listOperations.js +2 -2
- package/lib-es/common-logic/history/listOperations.js.map +1 -1
- package/lib-es/common-logic/transaction/broadcast.d.ts +2 -1
- package/lib-es/common-logic/transaction/broadcast.d.ts.map +1 -1
- package/lib-es/common-logic/transaction/broadcast.js +5 -4
- package/lib-es/common-logic/transaction/broadcast.js.map +1 -1
- package/lib-es/common-logic/transaction/broadcast.test.js +8 -5
- package/lib-es/common-logic/transaction/broadcast.test.js.map +1 -1
- package/lib-es/common-logic/transaction/combine.d.ts +1 -1
- package/lib-es/common-logic/transaction/combine.d.ts.map +1 -1
- package/lib-es/common-logic/transaction/combine.js +2 -3
- package/lib-es/common-logic/transaction/combine.js.map +1 -1
- package/lib-es/common-logic/transaction/combine.test.js +3 -13
- package/lib-es/common-logic/transaction/combine.test.js.map +1 -1
- package/lib-es/common-logic/transaction/craftTransaction.d.ts +8 -4
- package/lib-es/common-logic/transaction/craftTransaction.d.ts.map +1 -1
- package/lib-es/common-logic/transaction/craftTransaction.js +15 -12
- package/lib-es/common-logic/transaction/craftTransaction.js.map +1 -1
- package/lib-es/common-logic/transaction/estimateFees.d.ts +2 -1
- package/lib-es/common-logic/transaction/estimateFees.d.ts.map +1 -1
- package/lib-es/common-logic/transaction/estimateFees.js +4 -3
- package/lib-es/common-logic/transaction/estimateFees.js.map +1 -1
- package/lib-es/config.d.ts +1 -0
- package/lib-es/config.d.ts.map +1 -1
- package/lib-es/config.js.map +1 -1
- package/lib-es/network/gateway.d.ts +41 -17
- package/lib-es/network/gateway.d.ts.map +1 -1
- package/lib-es/network/gateway.integ.test.js +19 -15
- package/lib-es/network/gateway.integ.test.js.map +1 -1
- package/lib-es/network/gateway.js +73 -48
- package/lib-es/network/gateway.js.map +1 -1
- package/lib-es/network/node.d.ts +2 -2
- package/lib-es/network/node.d.ts.map +1 -1
- package/lib-es/network/node.js.map +1 -1
- package/lib-es/network/types.d.ts +1 -1
- package/lib-es/network/types.d.ts.map +1 -1
- package/lib-es/signer/getAddress.d.ts.map +1 -1
- package/lib-es/signer/getAddress.js +2 -2
- package/lib-es/signer/getAddress.js.map +1 -1
- package/lib-es/types/bridge.d.ts +18 -3
- package/lib-es/types/bridge.d.ts.map +1 -1
- package/lib-es/types/index.d.ts +0 -10
- package/lib-es/types/index.d.ts.map +1 -1
- package/lib-es/types/onboard.d.ts +2 -0
- package/lib-es/types/onboard.d.ts.map +1 -1
- package/lib-es/types/onboard.js.map +1 -1
- package/lib-es/types/signer.d.ts +2 -1
- package/lib-es/types/signer.d.ts.map +1 -1
- package/package.json +8 -8
- package/src/api/getBalance.integ.test.ts +9 -6
- package/src/api/index.ts +22 -44
- package/src/api/lastBlock.integ.test.ts +1 -1
- package/src/api/listOperations.integ.test.ts +1 -1
- package/src/bridge/broadcast.test.ts +11 -0
- package/src/bridge/broadcast.ts +4 -2
- package/src/bridge/createTransaction.ts +1 -1
- package/src/bridge/getTransactionStatus.ts +1 -1
- package/src/bridge/index.ts +3 -0
- package/src/bridge/onboard.integ.test.ts +25 -13
- package/src/bridge/onboard.ts +143 -51
- package/src/bridge/prepareTransaction.ts +6 -15
- package/src/bridge/serialization.ts +36 -0
- package/src/bridge/signOperation.ts +26 -20
- package/src/bridge/sync.integ.test.ts +180 -0
- package/src/bridge/sync.ts +61 -33
- package/src/bridge/updateTransaction.ts +0 -5
- package/src/common-logic/account/getBalance.ts +12 -7
- package/src/common-logic/account/getBalance.unit.test.ts +8 -3
- package/src/common-logic/history/lastBlock.test.ts +7 -2
- package/src/common-logic/history/lastBlock.ts +5 -3
- package/src/common-logic/history/listOperations.ts +3 -2
- package/src/common-logic/transaction/broadcast.test.ts +10 -5
- package/src/common-logic/transaction/broadcast.ts +7 -3
- package/src/common-logic/transaction/combine.test.ts +3 -13
- package/src/common-logic/transaction/combine.ts +2 -4
- package/src/common-logic/transaction/craftTransaction.ts +30 -15
- package/src/common-logic/transaction/estimateFees.ts +8 -3
- package/src/config.ts +1 -0
- package/src/network/gateway.integ.test.ts +31 -12
- package/src/network/gateway.ts +141 -62
- package/src/network/node.ts +3 -3
- package/src/network/types.ts +1 -1
- package/src/signer/getAddress.ts +6 -4
- package/src/types/bridge.ts +21 -0
- package/src/types/index.ts +0 -11
- package/src/types/onboard.ts +3 -0
- package/src/types/signer.ts +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/network/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE;QACJ,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,EAAE,EAAE;QACF,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,cAAc,GACtB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,GACjC;IACE,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AACN,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,IAAI,cAAc,CAEnE;AAED,MAAM,MAAM,UAAU,GAAG,YAAY,CAAC;AACtC,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB,GAAG,cAAc,CAAC;AAEnB,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/network/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE;QACJ,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,EAAE,EAAE;QACF,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,cAAc,GACtB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,GACjC;IACE,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AACN,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,IAAI,cAAc,CAEnE;AAED,MAAM,MAAM,UAAU,GAAG,YAAY,CAAC;AACtC,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB,GAAG,cAAc,CAAC;AAEnB,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,oBAAoB,EAAE,CAAC;CACtC,GAAG,cAAc,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAddress.d.ts","sourceRoot":"","sources":["../../src/signer/getAddress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"getAddress.d.ts","sourceRoot":"","sources":["../../src/signer/getAddress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAiB,MAAM,UAAU,CAAC;AAEvD,QAAA,MAAM,UAAU,GAAI,eAAe,aAAa,CAAC,YAAY,CAAC,KAAG,YAYhE,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const getAddress = (signerContext) => {
|
|
2
|
-
return async (deviceId, { path }) => {
|
|
3
|
-
const { address, publicKey } = await signerContext(deviceId, signer => signer.getAddress(path));
|
|
2
|
+
return async (deviceId, { path, verify }) => {
|
|
3
|
+
const { address, publicKey } = await signerContext(deviceId, signer => signer.getAddress(path, verify));
|
|
4
4
|
return {
|
|
5
5
|
path,
|
|
6
6
|
address,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAddress.js","sourceRoot":"","sources":["../../src/signer/getAddress.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,GAAG,CAAC,aAA0C,EAAgB,EAAE;IAC9E,OAAO,KAAK,EAAE,QAAgB,EAAE,EAAE,IAAI,EAAqB,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"getAddress.js","sourceRoot":"","sources":["../../src/signer/getAddress.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,GAAG,CAAC,aAA0C,EAAgB,EAAE;IAC9E,OAAO,KAAK,EAAE,QAAgB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAqB,EAAE,EAAE;QACrE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CACpE,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAChC,CAAC;QAEF,OAAO;YACL,IAAI;YACJ,OAAO;YACP,SAAS;SACc,CAAC;IAC5B,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
package/lib-es/types/bridge.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { BigNumber } from "bignumber.js";
|
|
2
2
|
import type { Observable } from "rxjs";
|
|
3
|
-
import type { CurrencyBridge, TransactionCommon, TransactionCommonRaw, TransactionStatusCommon, TransactionStatusCommonRaw } from "@ledgerhq/types-live";
|
|
3
|
+
import type { Account, AccountRaw, CurrencyBridge, TransactionCommon, TransactionCommonRaw, TransactionStatusCommon, TransactionStatusCommonRaw } from "@ledgerhq/types-live";
|
|
4
4
|
import type { CantonOnboardProgress, CantonOnboardResult, CantonPreApprovalProgress, CantonPreApprovalResult } from "./onboard";
|
|
5
|
+
import type { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
|
|
5
6
|
export interface CantonCurrencyBridge extends CurrencyBridge {
|
|
6
|
-
onboardAccount: (deviceId: string, derivationPath: string) => Observable<CantonOnboardProgress | CantonOnboardResult>;
|
|
7
|
-
authorizePreapproval: (deviceId: string, derivationPath: string, partyId: string) => Observable<CantonPreApprovalProgress | CantonPreApprovalResult>;
|
|
7
|
+
onboardAccount: (currency: CryptoCurrency, deviceId: string, derivationPath: string) => Observable<CantonOnboardProgress | CantonOnboardResult>;
|
|
8
|
+
authorizePreapproval: (currency: CryptoCurrency, deviceId: string, derivationPath: string, partyId: string) => Observable<CantonPreApprovalProgress | CantonPreApprovalResult>;
|
|
8
9
|
}
|
|
9
10
|
export type NetworkInfo = {
|
|
10
11
|
family: "canton";
|
|
@@ -19,11 +20,25 @@ export type NetworkInfoRaw = {
|
|
|
19
20
|
export type Transaction = TransactionCommon & {
|
|
20
21
|
family: "canton";
|
|
21
22
|
fee: BigNumber | null | undefined;
|
|
23
|
+
memo?: string;
|
|
22
24
|
};
|
|
23
25
|
export type TransactionRaw = TransactionCommonRaw & {
|
|
24
26
|
family: "canton";
|
|
25
27
|
fee: string | null | undefined;
|
|
28
|
+
memo?: string;
|
|
26
29
|
};
|
|
27
30
|
export type TransactionStatus = TransactionStatusCommon;
|
|
28
31
|
export type TransactionStatusRaw = TransactionStatusCommonRaw;
|
|
32
|
+
export type CantonResources = {
|
|
33
|
+
partyId: string;
|
|
34
|
+
};
|
|
35
|
+
export type CantonResourcesRaw = {
|
|
36
|
+
partyId: string;
|
|
37
|
+
};
|
|
38
|
+
export type CantonAccount = Account & {
|
|
39
|
+
cantonResources?: CantonResources;
|
|
40
|
+
};
|
|
41
|
+
export type CantonAccountRaw = AccountRaw & {
|
|
42
|
+
cantonResources: CantonResourcesRaw;
|
|
43
|
+
};
|
|
29
44
|
//# sourceMappingURL=bridge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/types/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/types/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,cAAc,EAAE,CACd,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,KACnB,UAAU,CAAC,qBAAqB,GAAG,mBAAmB,CAAC,CAAC;IAC7D,oBAAoB,EAAE,CACpB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,KACZ,UAAU,CAAC,yBAAyB,GAAG,uBAAuB,CAAC,CAAC;CACtE;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,SAAS,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG;IAC5C,MAAM,EAAE,QAAQ,CAAC;IACjB,GAAG,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG;IAClD,MAAM,EAAE,QAAQ,CAAC;IACjB,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AACxD,MAAM,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;AAE9D,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AACF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG;IACpC,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG;IAC1C,eAAe,EAAE,kBAAkB,CAAC;CACrC,CAAC"}
|
package/lib-es/types/index.d.ts
CHANGED
|
@@ -1,14 +1,4 @@
|
|
|
1
1
|
export * from "./bridge";
|
|
2
2
|
export * from "./onboard";
|
|
3
3
|
export * from "./signer";
|
|
4
|
-
export type BoilerplateNativeTransaction = {
|
|
5
|
-
TransactionType: "Payment";
|
|
6
|
-
Account: string;
|
|
7
|
-
Amount: string;
|
|
8
|
-
Destination: string;
|
|
9
|
-
Fee: string;
|
|
10
|
-
Sequence: number;
|
|
11
|
-
SigningPubKey?: string;
|
|
12
|
-
TxnSignature?: string;
|
|
13
|
-
};
|
|
14
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Account } from "@ledgerhq/types-live";
|
|
1
2
|
export declare enum OnboardStatus {
|
|
2
3
|
INIT = 0,
|
|
3
4
|
PREPARE = 1,
|
|
@@ -19,6 +20,7 @@ export type CantonOnboardProgress = {
|
|
|
19
20
|
};
|
|
20
21
|
export type CantonOnboardResult = {
|
|
21
22
|
partyId: string;
|
|
23
|
+
account: Partial<Account>;
|
|
22
24
|
};
|
|
23
25
|
export type CantonPreApprovalProgress = {
|
|
24
26
|
status: PreApprovalStatus;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboard.d.ts","sourceRoot":"","sources":["../../src/types/onboard.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACvB,IAAI,IAAA;IACJ,OAAO,IAAA;IACP,IAAI,IAAA;IACJ,MAAM,IAAA;IACN,OAAO,IAAA;IACP,KAAK,IAAA;CACN;AAED,oBAAY,iBAAiB;IAC3B,IAAI,IAAA;IACJ,OAAO,IAAA;IACP,IAAI,IAAA;IACJ,MAAM,IAAA;IACN,OAAO,IAAA;IACP,KAAK,IAAA;CACN;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"onboard.d.ts","sourceRoot":"","sources":["../../src/types/onboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,oBAAY,aAAa;IACvB,IAAI,IAAA;IACJ,OAAO,IAAA;IACP,IAAI,IAAA;IACJ,MAAM,IAAA;IACN,OAAO,IAAA;IACP,KAAK,IAAA;CACN;AAED,oBAAY,iBAAiB;IAC3B,IAAI,IAAA;IACJ,OAAO,IAAA;IACP,IAAI,IAAA;IACJ,MAAM,IAAA;IACN,OAAO,IAAA;IACP,KAAK,IAAA;CACN;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,iBAAiB,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;GAGG;AAEH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,gCAAgC,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,GAAG,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboard.js","sourceRoot":"","sources":["../../src/types/onboard.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"onboard.js","sourceRoot":"","sources":["../../src/types/onboard.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACvB,iDAAI,CAAA;IACJ,uDAAO,CAAA;IACP,iDAAI,CAAA;IACJ,qDAAM,CAAA;IACN,uDAAO,CAAA;IACP,mDAAK,CAAA;AACP,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB;AAED,MAAM,CAAN,IAAY,iBAOX;AAPD,WAAY,iBAAiB;IAC3B,yDAAI,CAAA;IACJ,+DAAO,CAAA;IACP,yDAAI,CAAA;IACJ,6DAAM,CAAA;IACN,+DAAO,CAAA;IACP,2DAAK,CAAA;AACP,CAAC,EAPW,iBAAiB,KAAjB,iBAAiB,QAO5B"}
|
package/lib-es/types/signer.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
export type CantonAddress = {
|
|
2
2
|
publicKey: string;
|
|
3
3
|
address: string;
|
|
4
|
+
path: string;
|
|
4
5
|
};
|
|
5
6
|
export type CantonSignature = string;
|
|
6
7
|
export interface CantonSigner {
|
|
7
|
-
getAddress(path: string): Promise<CantonAddress>;
|
|
8
|
+
getAddress(path: string, display?: boolean): Promise<CantonAddress>;
|
|
8
9
|
signTransaction(path: string, rawTx: string): Promise<CantonSignature>;
|
|
9
10
|
}
|
|
10
11
|
//# sourceMappingURL=signer.d.ts.map
|
|
@@ -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;
|
|
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;AAErC,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACpE,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACxE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ledgerhq/coin-canton",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.1-nightly.1",
|
|
4
4
|
"description": "Canton coin integration",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Ledger",
|
|
@@ -101,13 +101,13 @@
|
|
|
101
101
|
"bignumber.js": "^9.1.2",
|
|
102
102
|
"invariant": "^2.2.4",
|
|
103
103
|
"rxjs": "^7.8.1",
|
|
104
|
-
"@ledgerhq/coin-framework": "^6.4.
|
|
105
|
-
"@ledgerhq/cryptoassets": "^13.28.
|
|
106
|
-
"@ledgerhq/devices": "8.5.
|
|
104
|
+
"@ledgerhq/coin-framework": "^6.4.1-nightly.1",
|
|
105
|
+
"@ledgerhq/cryptoassets": "^13.28.1-nightly.1",
|
|
106
|
+
"@ledgerhq/devices": "8.5.2-nightly.0",
|
|
107
107
|
"@ledgerhq/errors": "^6.25.0",
|
|
108
|
-
"@ledgerhq/live-env": "^2.
|
|
109
|
-
"@ledgerhq/live-network": "^2.0.
|
|
110
|
-
"@ledgerhq/types-live": "^6.
|
|
108
|
+
"@ledgerhq/live-env": "^2.17.0-nightly.0",
|
|
109
|
+
"@ledgerhq/live-network": "^2.0.18-nightly.0",
|
|
110
|
+
"@ledgerhq/types-live": "^6.85.0-nightly.1"
|
|
111
111
|
},
|
|
112
112
|
"devDependencies": {
|
|
113
113
|
"@types/invariant": "^2.2.37",
|
|
@@ -117,7 +117,7 @@
|
|
|
117
117
|
"jest": "^29.7.0",
|
|
118
118
|
"ts-jest": "^29.1.1",
|
|
119
119
|
"typescript": "^5.4.5",
|
|
120
|
-
"@ledgerhq/types-cryptoassets": "^7.
|
|
120
|
+
"@ledgerhq/types-cryptoassets": "^7.27.0-nightly.0",
|
|
121
121
|
"@ledgerhq/disable-network-setup": "^0.0.0"
|
|
122
122
|
},
|
|
123
123
|
"scripts": {
|
|
@@ -3,15 +3,14 @@ import { createApi } from ".";
|
|
|
3
3
|
|
|
4
4
|
let api: AlpacaApi;
|
|
5
5
|
|
|
6
|
-
describe("devnet", () => {
|
|
6
|
+
describe.skip("devnet", () => {
|
|
7
7
|
beforeAll(() => {
|
|
8
8
|
api = createApi({
|
|
9
9
|
nodeUrl: "https://wallet-validator-devnet-canton.ledger-test.com/v2",
|
|
10
10
|
networkType: "devnet",
|
|
11
11
|
gatewayUrl: "https://canton-gateway.api.live.ledger-test.com",
|
|
12
12
|
useGateway: true,
|
|
13
|
-
nativeInstrumentId:
|
|
14
|
-
"6e9fc50fb94e56751b49f09ba2dc84da53a9d7cff08115ebb4f6b7a12d0c990c:Splice.Amulet:Amulet",
|
|
13
|
+
nativeInstrumentId: "Amulet",
|
|
15
14
|
});
|
|
16
15
|
});
|
|
17
16
|
|
|
@@ -20,9 +19,13 @@ describe("devnet", () => {
|
|
|
20
19
|
const balance = await api.getBalance(
|
|
21
20
|
"party-4f2e1485107adf5f::122027c6dbbbdbffe0fa3122ae05175f3b9328e879e9ce96b670354deb64a45683c1",
|
|
22
21
|
);
|
|
23
|
-
expect(balance.length).toBeGreaterThanOrEqual(
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
expect(balance.length).toBeGreaterThanOrEqual(0);
|
|
23
|
+
if (balance.length > 0) {
|
|
24
|
+
const nativeBalance = balance.find(b => b.asset.type === "native");
|
|
25
|
+
if (nativeBalance) {
|
|
26
|
+
expect(nativeBalance.value).toBeGreaterThanOrEqual(BigInt(0));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
26
29
|
});
|
|
27
30
|
});
|
|
28
31
|
});
|
package/src/api/index.ts
CHANGED
|
@@ -2,38 +2,42 @@ import {
|
|
|
2
2
|
AlpacaApi,
|
|
3
3
|
Block,
|
|
4
4
|
BlockInfo,
|
|
5
|
-
CraftedTransaction,
|
|
6
5
|
Cursor,
|
|
7
6
|
FeeEstimation,
|
|
8
7
|
Page,
|
|
9
8
|
Reward,
|
|
10
9
|
Stake,
|
|
11
10
|
TransactionIntent,
|
|
11
|
+
Operation,
|
|
12
|
+
Balance,
|
|
13
|
+
Pagination,
|
|
12
14
|
} from "@ledgerhq/coin-framework/api/index";
|
|
13
15
|
import coinConfig, { type CantonConfig } from "../config";
|
|
14
|
-
import {
|
|
15
|
-
broadcast,
|
|
16
|
-
combine,
|
|
17
|
-
craftTransaction,
|
|
18
|
-
estimateFees,
|
|
19
|
-
getBalance,
|
|
20
|
-
getNextValidSequence,
|
|
21
|
-
lastBlock,
|
|
22
|
-
listOperations,
|
|
23
|
-
} from "../common-logic";
|
|
24
|
-
import BigNumber from "bignumber.js";
|
|
16
|
+
import { combine } from "../common-logic/transaction/combine";
|
|
25
17
|
|
|
26
18
|
export function createApi(config: CantonConfig): AlpacaApi {
|
|
27
19
|
coinConfig.setCoinConfig(() => ({ ...config, status: { type: "active" } }));
|
|
28
20
|
|
|
29
21
|
return {
|
|
30
|
-
broadcast
|
|
22
|
+
broadcast: (_tx: string): Promise<string> => {
|
|
23
|
+
throw new Error("broadcast is not supported");
|
|
24
|
+
},
|
|
31
25
|
combine,
|
|
32
|
-
craftTransaction:
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
26
|
+
craftTransaction(_transactionIntent: TransactionIntent, _customFees?: FeeEstimation) {
|
|
27
|
+
throw new Error("craftTransaction is not supported");
|
|
28
|
+
},
|
|
29
|
+
estimateFees(_transactionIntent: TransactionIntent): Promise<FeeEstimation> {
|
|
30
|
+
throw new Error("estimateFees is not supported");
|
|
31
|
+
},
|
|
32
|
+
getBalance(_address: string): Promise<Balance[]> {
|
|
33
|
+
throw new Error("getBalance is not supported");
|
|
34
|
+
},
|
|
35
|
+
lastBlock(): Promise<BlockInfo> {
|
|
36
|
+
throw new Error("listOperations is not supported");
|
|
37
|
+
},
|
|
38
|
+
listOperations(_address: string, _pagination: Pagination): Promise<[Operation[], string]> {
|
|
39
|
+
throw new Error("listOperations is not supported");
|
|
40
|
+
},
|
|
37
41
|
getBlock(_height): Promise<Block> {
|
|
38
42
|
throw new Error("getBlock is not supported");
|
|
39
43
|
},
|
|
@@ -48,29 +52,3 @@ export function createApi(config: CantonConfig): AlpacaApi {
|
|
|
48
52
|
},
|
|
49
53
|
};
|
|
50
54
|
}
|
|
51
|
-
|
|
52
|
-
async function craft(transactionIntent: TransactionIntent): Promise<CraftedTransaction> {
|
|
53
|
-
const nextSequenceNumber = await getNextValidSequence(transactionIntent.sender);
|
|
54
|
-
const tx = await craftTransaction(
|
|
55
|
-
{ address: transactionIntent.sender, nextSequenceNumber },
|
|
56
|
-
{
|
|
57
|
-
recipient: transactionIntent.recipient,
|
|
58
|
-
amount: new BigNumber(transactionIntent.amount.toString()),
|
|
59
|
-
},
|
|
60
|
-
);
|
|
61
|
-
return { transaction: tx.serializedTransaction };
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
async function estimate(transactionIntent: TransactionIntent): Promise<FeeEstimation> {
|
|
65
|
-
const { serializedTransaction } = await craftTransaction(
|
|
66
|
-
{ address: transactionIntent.sender },
|
|
67
|
-
{
|
|
68
|
-
recipient: transactionIntent.recipient,
|
|
69
|
-
amount: new BigNumber(transactionIntent.amount.toString()),
|
|
70
|
-
},
|
|
71
|
-
);
|
|
72
|
-
|
|
73
|
-
const value = await estimateFees(serializedTransaction);
|
|
74
|
-
|
|
75
|
-
return { value };
|
|
76
|
-
}
|
|
@@ -4,6 +4,11 @@ jest.mock("@ledgerhq/coin-framework/operation");
|
|
|
4
4
|
jest.mock("../common-logic");
|
|
5
5
|
import { patchOperationWithHash } from "@ledgerhq/coin-framework/operation";
|
|
6
6
|
import { broadcast as broadcastLogic } from "../common-logic";
|
|
7
|
+
import { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
|
|
8
|
+
|
|
9
|
+
const mockCurrency = {
|
|
10
|
+
id: "canton_network",
|
|
11
|
+
} as unknown as CryptoCurrency;
|
|
7
12
|
|
|
8
13
|
describe("broadcast", () => {
|
|
9
14
|
let patchOperationSpy: jest.SpyInstance;
|
|
@@ -16,6 +21,9 @@ describe("broadcast", () => {
|
|
|
16
21
|
|
|
17
22
|
it("should broadcast", () => {
|
|
18
23
|
broadcast({
|
|
24
|
+
account: {
|
|
25
|
+
currency: mockCurrency,
|
|
26
|
+
},
|
|
19
27
|
signedOperation: {
|
|
20
28
|
signature: undefined,
|
|
21
29
|
operation: undefined,
|
|
@@ -26,6 +34,9 @@ describe("broadcast", () => {
|
|
|
26
34
|
|
|
27
35
|
it("should patch operation with hash", () => {
|
|
28
36
|
broadcast({
|
|
37
|
+
account: {
|
|
38
|
+
currency: mockCurrency,
|
|
39
|
+
},
|
|
29
40
|
signedOperation: {
|
|
30
41
|
signature: undefined,
|
|
31
42
|
operation: undefined,
|
package/src/bridge/broadcast.ts
CHANGED
|
@@ -4,8 +4,10 @@ import { broadcast as broadcastLogic } from "../common-logic";
|
|
|
4
4
|
import { Transaction } from "../types";
|
|
5
5
|
|
|
6
6
|
export const broadcast: AccountBridge<Transaction>["broadcast"] = async ({
|
|
7
|
-
|
|
7
|
+
account,
|
|
8
|
+
signedOperation,
|
|
8
9
|
}) => {
|
|
9
|
-
const
|
|
10
|
+
const { operation, signature } = signedOperation;
|
|
11
|
+
const hash = await broadcastLogic(account.currency, signature);
|
|
10
12
|
return patchOperationWithHash(operation, hash);
|
|
11
13
|
};
|
|
@@ -25,7 +25,7 @@ export const getTransactionStatus: AccountBridge<
|
|
|
25
25
|
const warnings: Record<string, Error> = {};
|
|
26
26
|
|
|
27
27
|
// reserveAmount is the minimum amount of currency that an account must hold in order to stay activated
|
|
28
|
-
const reserveAmount = new BigNumber(coinConfig.getCoinConfig().minReserve || 0);
|
|
28
|
+
const reserveAmount = new BigNumber(coinConfig.getCoinConfig(account.currency).minReserve || 0);
|
|
29
29
|
const estimatedFees = new BigNumber(transaction.fee || 0);
|
|
30
30
|
const totalSpent = new BigNumber(transaction.amount).plus(estimatedFees);
|
|
31
31
|
const amount = new BigNumber(transaction.amount);
|
package/src/bridge/index.ts
CHANGED
|
@@ -21,6 +21,7 @@ import { buildSignOperation } from "./signOperation";
|
|
|
21
21
|
import { getAccountShape } from "./sync";
|
|
22
22
|
import { updateTransaction } from "./updateTransaction";
|
|
23
23
|
import { buildOnboardAccount, buildAuthorizePreapproval } from "./onboard";
|
|
24
|
+
import { assignFromAccountRaw, assignToAccountRaw } from "./serialization";
|
|
24
25
|
|
|
25
26
|
export function createBridges(
|
|
26
27
|
signerContext: SignerContext<CantonSigner>,
|
|
@@ -62,6 +63,8 @@ export function createBridges(
|
|
|
62
63
|
sync,
|
|
63
64
|
receive,
|
|
64
65
|
signOperation,
|
|
66
|
+
assignToAccountRaw,
|
|
67
|
+
assignFromAccountRaw,
|
|
65
68
|
getSerializedAddressParameters,
|
|
66
69
|
};
|
|
67
70
|
|
|
@@ -10,10 +10,14 @@ import {
|
|
|
10
10
|
CantonPreApprovalResult,
|
|
11
11
|
} from "../types/onboard";
|
|
12
12
|
import coinConfig from "../config";
|
|
13
|
+
import { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
|
|
13
14
|
|
|
14
|
-
describe("onboard
|
|
15
|
+
describe("onboard (devnet)", () => {
|
|
15
16
|
const mockDeviceId = "test-device-id";
|
|
16
17
|
const mockDerivationPath = "44'/6767'/0'/0'/0'";
|
|
18
|
+
const mockCurrency = {
|
|
19
|
+
id: "canton_network",
|
|
20
|
+
} as unknown as CryptoCurrency;
|
|
17
21
|
|
|
18
22
|
let onboardedAccount: {
|
|
19
23
|
keyPair: ReturnType<typeof generateMockKeyPair>;
|
|
@@ -53,7 +57,7 @@ describe("onboard integration tests", () => {
|
|
|
53
57
|
|
|
54
58
|
const onboardObservable = buildOnboardAccount(mockSignerContext);
|
|
55
59
|
const onboardValues = await firstValueFrom(
|
|
56
|
-
onboardObservable(mockDeviceId, mockDerivationPath).pipe(toArray()),
|
|
60
|
+
onboardObservable(mockCurrency, mockDeviceId, mockDerivationPath).pipe(toArray()),
|
|
57
61
|
);
|
|
58
62
|
const onboardResult = onboardValues.find(
|
|
59
63
|
(value): value is CantonOnboardResult => "partyId" in value,
|
|
@@ -72,7 +76,7 @@ describe("onboard integration tests", () => {
|
|
|
72
76
|
};
|
|
73
77
|
|
|
74
78
|
// WHEN
|
|
75
|
-
const result = await isAccountOnboarded(keyPair.publicKeyHex);
|
|
79
|
+
const result = await isAccountOnboarded(mockCurrency, keyPair.publicKeyHex);
|
|
76
80
|
|
|
77
81
|
// THEN
|
|
78
82
|
expect(result).not.toBe(false);
|
|
@@ -87,10 +91,10 @@ describe("onboard integration tests", () => {
|
|
|
87
91
|
const keyPair = generateMockKeyPair();
|
|
88
92
|
|
|
89
93
|
// WHEN
|
|
90
|
-
const result = await isAccountOnboarded(keyPair.publicKeyHex);
|
|
94
|
+
const result = await isAccountOnboarded(mockCurrency, keyPair.publicKeyHex);
|
|
91
95
|
|
|
92
96
|
// THEN
|
|
93
|
-
expect(result).
|
|
97
|
+
expect(result).toEqual({ isOnboarded: false });
|
|
94
98
|
}, 15000);
|
|
95
99
|
|
|
96
100
|
it("should handle errors gracefully when checking non-existent party", async () => {
|
|
@@ -98,10 +102,10 @@ describe("onboard integration tests", () => {
|
|
|
98
102
|
const keyPair = generateMockKeyPair();
|
|
99
103
|
|
|
100
104
|
// WHEN
|
|
101
|
-
const result = await isAccountOnboarded(keyPair.publicKeyHex);
|
|
105
|
+
const result = await isAccountOnboarded(mockCurrency, keyPair.publicKeyHex);
|
|
102
106
|
|
|
103
107
|
// THEN
|
|
104
|
-
expect(result).
|
|
108
|
+
expect(result).toEqual({ isOnboarded: false });
|
|
105
109
|
}, 15000);
|
|
106
110
|
});
|
|
107
111
|
|
|
@@ -117,7 +121,7 @@ describe("onboard integration tests", () => {
|
|
|
117
121
|
|
|
118
122
|
// WHEN
|
|
119
123
|
const allValues = await firstValueFrom(
|
|
120
|
-
onboardObservable(mockDeviceId, mockDerivationPath).pipe(toArray()),
|
|
124
|
+
onboardObservable(mockCurrency, mockDeviceId, mockDerivationPath).pipe(toArray()),
|
|
121
125
|
);
|
|
122
126
|
const progressValues = allValues.filter(
|
|
123
127
|
(value): value is CantonOnboardProgress => "status" in value && !("partyId" in value),
|
|
@@ -149,7 +153,7 @@ describe("onboard integration tests", () => {
|
|
|
149
153
|
|
|
150
154
|
// WHEN
|
|
151
155
|
const secondOnboardValues = await firstValueFrom(
|
|
152
|
-
secondOnboardObservable(mockDeviceId, mockDerivationPath).pipe(toArray()),
|
|
156
|
+
secondOnboardObservable(mockCurrency, mockDeviceId, mockDerivationPath).pipe(toArray()),
|
|
153
157
|
);
|
|
154
158
|
const secondResult = secondOnboardValues.find(
|
|
155
159
|
(value): value is CantonOnboardResult => "partyId" in value,
|
|
@@ -170,9 +174,12 @@ describe("onboard integration tests", () => {
|
|
|
170
174
|
|
|
171
175
|
// WHEN
|
|
172
176
|
const preapprovalValues = await firstValueFrom(
|
|
173
|
-
preapprovalObservable(
|
|
174
|
-
|
|
175
|
-
|
|
177
|
+
preapprovalObservable(
|
|
178
|
+
mockCurrency,
|
|
179
|
+
mockDeviceId,
|
|
180
|
+
mockDerivationPath,
|
|
181
|
+
onboardResult.partyId,
|
|
182
|
+
).pipe(toArray()),
|
|
176
183
|
);
|
|
177
184
|
|
|
178
185
|
const progressValues = preapprovalValues.filter(
|
|
@@ -208,7 +215,12 @@ describe("onboard integration tests", () => {
|
|
|
208
215
|
// WHEN & THEN
|
|
209
216
|
try {
|
|
210
217
|
await firstValueFrom(
|
|
211
|
-
preapprovalObservable(
|
|
218
|
+
preapprovalObservable(
|
|
219
|
+
mockCurrency,
|
|
220
|
+
mockDeviceId,
|
|
221
|
+
mockDerivationPath,
|
|
222
|
+
"invalid-party-id-123",
|
|
223
|
+
),
|
|
212
224
|
);
|
|
213
225
|
expect(true).toBe(true);
|
|
214
226
|
} catch (error) {
|