@ledgerhq/coin-canton 0.8.0 → 0.8.1-nightly.0

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.
Files changed (212) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/lib/bridge/onboard.d.ts +1 -1
  3. package/lib/bridge/onboard.d.ts.map +1 -1
  4. package/lib/bridge/onboard.js +23 -9
  5. package/lib/bridge/onboard.js.map +1 -1
  6. package/lib/bridge/sync.d.ts.map +1 -1
  7. package/lib/bridge/sync.js +4 -2
  8. package/lib/bridge/sync.js.map +1 -1
  9. package/lib-es/bridge/onboard.d.ts +1 -1
  10. package/lib-es/bridge/onboard.d.ts.map +1 -1
  11. package/lib-es/bridge/onboard.js +21 -7
  12. package/lib-es/bridge/onboard.js.map +1 -1
  13. package/lib-es/bridge/sync.d.ts.map +1 -1
  14. package/lib-es/bridge/sync.js +5 -3
  15. package/lib-es/bridge/sync.js.map +1 -1
  16. package/package.json +6 -6
  17. package/src/bridge/onboard.test.ts +4 -4
  18. package/src/bridge/onboard.ts +26 -7
  19. package/src/bridge/sync.test.ts +1 -1
  20. package/src/bridge/sync.ts +5 -3
  21. package/lib/api/getBalance.integ.test.d.ts +0 -2
  22. package/lib/api/getBalance.integ.test.d.ts.map +0 -1
  23. package/lib/api/getBalance.integ.test.js +0 -28
  24. package/lib/api/getBalance.integ.test.js.map +0 -1
  25. package/lib/api/index.test.d.ts +0 -2
  26. package/lib/api/index.test.d.ts.map +0 -1
  27. package/lib/api/index.test.js +0 -16
  28. package/lib/api/index.test.js.map +0 -1
  29. package/lib/api/lastBlock.integ.test.d.ts +0 -2
  30. package/lib/api/lastBlock.integ.test.d.ts.map +0 -1
  31. package/lib/api/lastBlock.integ.test.js +0 -22
  32. package/lib/api/lastBlock.integ.test.js.map +0 -1
  33. package/lib/api/listOperations.integ.test.d.ts +0 -2
  34. package/lib/api/listOperations.integ.test.d.ts.map +0 -1
  35. package/lib/api/listOperations.integ.test.js +0 -24
  36. package/lib/api/listOperations.integ.test.js.map +0 -1
  37. package/lib/bridge/broadcast.test.d.ts +0 -2
  38. package/lib/bridge/broadcast.test.d.ts.map +0 -1
  39. package/lib/bridge/broadcast.test.js +0 -44
  40. package/lib/bridge/broadcast.test.js.map +0 -1
  41. package/lib/bridge/createTransaction.test.d.ts +0 -2
  42. package/lib/bridge/createTransaction.test.d.ts.map +0 -1
  43. package/lib/bridge/createTransaction.test.js +0 -12
  44. package/lib/bridge/createTransaction.test.js.map +0 -1
  45. package/lib/bridge/deviceTransactionConfig.test.d.ts +0 -2
  46. package/lib/bridge/deviceTransactionConfig.test.d.ts.map +0 -1
  47. package/lib/bridge/deviceTransactionConfig.test.js +0 -22
  48. package/lib/bridge/deviceTransactionConfig.test.js.map +0 -1
  49. package/lib/bridge/getTransactionStatus.test.d.ts +0 -2
  50. package/lib/bridge/getTransactionStatus.test.d.ts.map +0 -1
  51. package/lib/bridge/getTransactionStatus.test.js +0 -365
  52. package/lib/bridge/getTransactionStatus.test.js.map +0 -1
  53. package/lib/bridge/index.test.d.ts +0 -2
  54. package/lib/bridge/index.test.d.ts.map +0 -1
  55. package/lib/bridge/index.test.js +0 -31
  56. package/lib/bridge/index.test.js.map +0 -1
  57. package/lib/bridge/onboard.integ.test.d.ts +0 -2
  58. package/lib/bridge/onboard.integ.test.d.ts.map +0 -1
  59. package/lib/bridge/onboard.integ.test.js +0 -182
  60. package/lib/bridge/onboard.integ.test.js.map +0 -1
  61. package/lib/bridge/onboard.test.d.ts +0 -2
  62. package/lib/bridge/onboard.test.d.ts.map +0 -1
  63. package/lib/bridge/onboard.test.js +0 -84
  64. package/lib/bridge/onboard.test.js.map +0 -1
  65. package/lib/bridge/prepareTransaction.test.d.ts +0 -2
  66. package/lib/bridge/prepareTransaction.test.d.ts.map +0 -1
  67. package/lib/bridge/prepareTransaction.test.js +0 -42
  68. package/lib/bridge/prepareTransaction.test.js.map +0 -1
  69. package/lib/bridge/sync.integ.test.d.ts +0 -2
  70. package/lib/bridge/sync.integ.test.d.ts.map +0 -1
  71. package/lib/bridge/sync.integ.test.js +0 -198
  72. package/lib/bridge/sync.integ.test.js.map +0 -1
  73. package/lib/bridge/sync.test.d.ts +0 -2
  74. package/lib/bridge/sync.test.d.ts.map +0 -1
  75. package/lib/bridge/sync.test.js +0 -201
  76. package/lib/bridge/sync.test.js.map +0 -1
  77. package/lib/common-logic/account/getBalance.unit.test.d.ts +0 -2
  78. package/lib/common-logic/account/getBalance.unit.test.d.ts.map +0 -1
  79. package/lib/common-logic/account/getBalance.unit.test.js +0 -91
  80. package/lib/common-logic/account/getBalance.unit.test.js.map +0 -1
  81. package/lib/common-logic/history/lastBlock.test.d.ts +0 -2
  82. package/lib/common-logic/history/lastBlock.test.d.ts.map +0 -1
  83. package/lib/common-logic/history/lastBlock.test.js +0 -46
  84. package/lib/common-logic/history/lastBlock.test.js.map +0 -1
  85. package/lib/common-logic/transaction/broadcast.test.d.ts +0 -2
  86. package/lib/common-logic/transaction/broadcast.test.d.ts.map +0 -1
  87. package/lib/common-logic/transaction/broadcast.test.js +0 -71
  88. package/lib/common-logic/transaction/broadcast.test.js.map +0 -1
  89. package/lib/common-logic/transaction/combine.test.d.ts +0 -2
  90. package/lib/common-logic/transaction/combine.test.d.ts.map +0 -1
  91. package/lib/common-logic/transaction/combine.test.js +0 -18
  92. package/lib/common-logic/transaction/combine.test.js.map +0 -1
  93. package/lib/common-logic/transaction/estimateFees.test.d.ts +0 -2
  94. package/lib/common-logic/transaction/estimateFees.test.d.ts.map +0 -1
  95. package/lib/common-logic/transaction/estimateFees.test.js +0 -72
  96. package/lib/common-logic/transaction/estimateFees.test.js.map +0 -1
  97. package/lib/common-logic/utils.test.d.ts +0 -2
  98. package/lib/common-logic/utils.test.d.ts.map +0 -1
  99. package/lib/common-logic/utils.test.js +0 -104
  100. package/lib/common-logic/utils.test.js.map +0 -1
  101. package/lib/network/gateway.integ.test.d.ts +0 -2
  102. package/lib/network/gateway.integ.test.d.ts.map +0 -1
  103. package/lib/network/gateway.integ.test.js +0 -190
  104. package/lib/network/gateway.integ.test.js.map +0 -1
  105. package/lib/network/gateway.test.d.ts +0 -2
  106. package/lib/network/gateway.test.d.ts.map +0 -1
  107. package/lib/network/gateway.test.js +0 -59
  108. package/lib/network/gateway.test.js.map +0 -1
  109. package/lib/network/node.integ.test.d.ts +0 -2
  110. package/lib/network/node.integ.test.d.ts.map +0 -1
  111. package/lib/network/node.integ.test.js +0 -44
  112. package/lib/network/node.integ.test.js.map +0 -1
  113. package/lib/network/node.unit.test.d.ts +0 -2
  114. package/lib/network/node.unit.test.d.ts.map +0 -1
  115. package/lib/network/node.unit.test.js +0 -32
  116. package/lib/network/node.unit.test.js.map +0 -1
  117. package/lib-es/api/getBalance.integ.test.d.ts +0 -2
  118. package/lib-es/api/getBalance.integ.test.d.ts.map +0 -1
  119. package/lib-es/api/getBalance.integ.test.js +0 -26
  120. package/lib-es/api/getBalance.integ.test.js.map +0 -1
  121. package/lib-es/api/index.test.d.ts +0 -2
  122. package/lib-es/api/index.test.d.ts.map +0 -1
  123. package/lib-es/api/index.test.js +0 -14
  124. package/lib-es/api/index.test.js.map +0 -1
  125. package/lib-es/api/lastBlock.integ.test.d.ts +0 -2
  126. package/lib-es/api/lastBlock.integ.test.d.ts.map +0 -1
  127. package/lib-es/api/lastBlock.integ.test.js +0 -20
  128. package/lib-es/api/lastBlock.integ.test.js.map +0 -1
  129. package/lib-es/api/listOperations.integ.test.d.ts +0 -2
  130. package/lib-es/api/listOperations.integ.test.d.ts.map +0 -1
  131. package/lib-es/api/listOperations.integ.test.js +0 -22
  132. package/lib-es/api/listOperations.integ.test.js.map +0 -1
  133. package/lib-es/bridge/broadcast.test.d.ts +0 -2
  134. package/lib-es/bridge/broadcast.test.d.ts.map +0 -1
  135. package/lib-es/bridge/broadcast.test.js +0 -42
  136. package/lib-es/bridge/broadcast.test.js.map +0 -1
  137. package/lib-es/bridge/createTransaction.test.d.ts +0 -2
  138. package/lib-es/bridge/createTransaction.test.d.ts.map +0 -1
  139. package/lib-es/bridge/createTransaction.test.js +0 -10
  140. package/lib-es/bridge/createTransaction.test.js.map +0 -1
  141. package/lib-es/bridge/deviceTransactionConfig.test.d.ts +0 -2
  142. package/lib-es/bridge/deviceTransactionConfig.test.d.ts.map +0 -1
  143. package/lib-es/bridge/deviceTransactionConfig.test.js +0 -17
  144. package/lib-es/bridge/deviceTransactionConfig.test.js.map +0 -1
  145. package/lib-es/bridge/getTransactionStatus.test.d.ts +0 -2
  146. package/lib-es/bridge/getTransactionStatus.test.d.ts.map +0 -1
  147. package/lib-es/bridge/getTransactionStatus.test.js +0 -360
  148. package/lib-es/bridge/getTransactionStatus.test.js.map +0 -1
  149. package/lib-es/bridge/index.test.d.ts +0 -2
  150. package/lib-es/bridge/index.test.d.ts.map +0 -1
  151. package/lib-es/bridge/index.test.js +0 -29
  152. package/lib-es/bridge/index.test.js.map +0 -1
  153. package/lib-es/bridge/onboard.integ.test.d.ts +0 -2
  154. package/lib-es/bridge/onboard.integ.test.d.ts.map +0 -1
  155. package/lib-es/bridge/onboard.integ.test.js +0 -177
  156. package/lib-es/bridge/onboard.integ.test.js.map +0 -1
  157. package/lib-es/bridge/onboard.test.d.ts +0 -2
  158. package/lib-es/bridge/onboard.test.d.ts.map +0 -1
  159. package/lib-es/bridge/onboard.test.js +0 -49
  160. package/lib-es/bridge/onboard.test.js.map +0 -1
  161. package/lib-es/bridge/prepareTransaction.test.d.ts +0 -2
  162. package/lib-es/bridge/prepareTransaction.test.d.ts.map +0 -1
  163. package/lib-es/bridge/prepareTransaction.test.js +0 -37
  164. package/lib-es/bridge/prepareTransaction.test.js.map +0 -1
  165. package/lib-es/bridge/sync.integ.test.d.ts +0 -2
  166. package/lib-es/bridge/sync.integ.test.d.ts.map +0 -1
  167. package/lib-es/bridge/sync.integ.test.js +0 -160
  168. package/lib-es/bridge/sync.integ.test.js.map +0 -1
  169. package/lib-es/bridge/sync.test.d.ts +0 -2
  170. package/lib-es/bridge/sync.test.d.ts.map +0 -1
  171. package/lib-es/bridge/sync.test.js +0 -163
  172. package/lib-es/bridge/sync.test.js.map +0 -1
  173. package/lib-es/common-logic/account/getBalance.unit.test.d.ts +0 -2
  174. package/lib-es/common-logic/account/getBalance.unit.test.d.ts.map +0 -1
  175. package/lib-es/common-logic/account/getBalance.unit.test.js +0 -56
  176. package/lib-es/common-logic/account/getBalance.unit.test.js.map +0 -1
  177. package/lib-es/common-logic/history/lastBlock.test.d.ts +0 -2
  178. package/lib-es/common-logic/history/lastBlock.test.d.ts.map +0 -1
  179. package/lib-es/common-logic/history/lastBlock.test.js +0 -41
  180. package/lib-es/common-logic/history/lastBlock.test.js.map +0 -1
  181. package/lib-es/common-logic/transaction/broadcast.test.d.ts +0 -2
  182. package/lib-es/common-logic/transaction/broadcast.test.d.ts.map +0 -1
  183. package/lib-es/common-logic/transaction/broadcast.test.js +0 -36
  184. package/lib-es/common-logic/transaction/broadcast.test.js.map +0 -1
  185. package/lib-es/common-logic/transaction/combine.test.d.ts +0 -2
  186. package/lib-es/common-logic/transaction/combine.test.d.ts.map +0 -1
  187. package/lib-es/common-logic/transaction/combine.test.js +0 -16
  188. package/lib-es/common-logic/transaction/combine.test.js.map +0 -1
  189. package/lib-es/common-logic/transaction/estimateFees.test.d.ts +0 -2
  190. package/lib-es/common-logic/transaction/estimateFees.test.d.ts.map +0 -1
  191. package/lib-es/common-logic/transaction/estimateFees.test.js +0 -37
  192. package/lib-es/common-logic/transaction/estimateFees.test.js.map +0 -1
  193. package/lib-es/common-logic/utils.test.d.ts +0 -2
  194. package/lib-es/common-logic/utils.test.d.ts.map +0 -1
  195. package/lib-es/common-logic/utils.test.js +0 -99
  196. package/lib-es/common-logic/utils.test.js.map +0 -1
  197. package/lib-es/network/gateway.integ.test.d.ts +0 -2
  198. package/lib-es/network/gateway.integ.test.d.ts.map +0 -1
  199. package/lib-es/network/gateway.integ.test.js +0 -185
  200. package/lib-es/network/gateway.integ.test.js.map +0 -1
  201. package/lib-es/network/gateway.test.d.ts +0 -2
  202. package/lib-es/network/gateway.test.d.ts.map +0 -1
  203. package/lib-es/network/gateway.test.js +0 -54
  204. package/lib-es/network/gateway.test.js.map +0 -1
  205. package/lib-es/network/node.integ.test.d.ts +0 -2
  206. package/lib-es/network/node.integ.test.d.ts.map +0 -1
  207. package/lib-es/network/node.integ.test.js +0 -39
  208. package/lib-es/network/node.integ.test.js.map +0 -1
  209. package/lib-es/network/node.unit.test.d.ts +0 -2
  210. package/lib-es/network/node.unit.test.d.ts.map +0 -1
  211. package/lib-es/network/node.unit.test.js +0 -27
  212. package/lib-es/network/node.unit.test.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # @ledgerhq/coin-canton
2
2
 
3
+ ## 0.8.1-nightly.0
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [[`2c6a198`](https://github.com/LedgerHQ/ledger-live/commit/2c6a198ba28391695202a0787ce168c53768ff37)]:
8
+ - @ledgerhq/types-live@6.88.0-nightly.0
9
+ - @ledgerhq/coin-framework@6.7.1-nightly.0
10
+ - @ledgerhq/cryptoassets@13.31.1-nightly.0
11
+
3
12
  ## 0.8.0
4
13
 
5
14
  ### Minor Changes
@@ -11,7 +11,7 @@ export declare const isAccountOnboarded: (currency: CryptoCurrency, publicKey: s
11
11
  isOnboarded: boolean;
12
12
  partyId?: never;
13
13
  }>;
14
- export declare const isAccountAuthorized: (currency: CryptoCurrency, partyId: string) => Promise<boolean>;
14
+ export declare const isCantonCoinPreapproved: (currency: CryptoCurrency, partyId: string) => Promise<boolean>;
15
15
  export declare const buildOnboardAccount: (signerContext: SignerContext<CantonSigner>) => (currency: CryptoCurrency, deviceId: string, account: Account) => Observable<CantonOnboardProgress | CantonOnboardResult>;
16
16
  export declare const buildAuthorizePreapproval: (signerContext: SignerContext<CantonSigner>) => (currency: CryptoCurrency, deviceId: string, account: Account, partyId: string) => Observable<CantonAuthorizeProgress | CantonAuthorizeResult>;
17
17
  //# sourceMappingURL=onboard.d.ts.map
@@ -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;AAYnE,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,mBAAmB,GAAU,UAAU,cAAc,EAAE,SAAS,MAAM,qBAOlF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC7B,eAAe,aAAa,CAAC,YAAY,CAAC,MAEzC,UAAU,cAAc,EACxB,UAAU,MAAM,EAChB,SAAS,OAAO,KACf,UAAU,CAAC,qBAAqB,GAAG,mBAAmB,CA8CrD,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,CA0DzD,CAAC"}
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;AAanE,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,CA0DzD,CAAC"}
@@ -3,9 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.buildAuthorizePreapproval = exports.buildOnboardAccount = exports.isAccountAuthorized = exports.isAccountOnboarded = void 0;
6
+ exports.buildAuthorizePreapproval = exports.buildOnboardAccount = exports.isCantonCoinPreapproved = exports.isAccountOnboarded = void 0;
7
7
  const rxjs_1 = require("rxjs");
8
8
  const logs_1 = require("@ledgerhq/logs");
9
+ const accountId_1 = require("@ledgerhq/coin-framework/account/accountId");
9
10
  const gateway_1 = require("../network/gateway");
10
11
  const onboard_1 = require("../types/onboard");
11
12
  const signer_1 = __importDefault(require("../signer"));
@@ -24,14 +25,25 @@ const isAccountOnboarded = async (currency, publicKey) => {
24
25
  }
25
26
  };
26
27
  exports.isAccountOnboarded = isAccountOnboarded;
27
- const isAccountAuthorized = async (currency, partyId) => {
28
+ const isCantonCoinPreapproved = async (currency, partyId) => {
28
29
  const { expires_at, receiver } = await (0, gateway_1.getTransferPreApproval)(currency, partyId);
29
30
  const isReceiver = receiver === partyId;
30
31
  const isExpired = new Date(expires_at) < new Date();
31
- const isAuthorized = !isExpired && isReceiver;
32
- return isAuthorized;
32
+ const isPreapproved = !isExpired && isReceiver;
33
+ return isPreapproved;
33
34
  };
34
- exports.isAccountAuthorized = isAccountAuthorized;
35
+ exports.isCantonCoinPreapproved = isCantonCoinPreapproved;
36
+ const createOnboardedAccount = (account, partyId, currency) => ({
37
+ ...account,
38
+ xpub: partyId,
39
+ id: (0, accountId_1.encodeAccountId)({
40
+ type: "js",
41
+ version: "2",
42
+ currencyId: currency.id,
43
+ xpubOrAddress: partyId,
44
+ derivationMode: account.derivationMode,
45
+ }),
46
+ });
35
47
  const buildOnboardAccount = (signerContext) => (currency, deviceId, account) => new rxjs_1.Observable(o => {
36
48
  async function main() {
37
49
  o.next({ status: onboard_1.OnboardStatus.INIT });
@@ -44,7 +56,8 @@ const buildOnboardAccount = (signerContext) => (currency, deviceId, account) =>
44
56
  o.next({ status: onboard_1.OnboardStatus.PREPARE });
45
57
  let { partyId } = await (0, exports.isAccountOnboarded)(currency, publicKey);
46
58
  if (partyId) {
47
- o.next({ partyId, account }); // success
59
+ const onboardedAccount = createOnboardedAccount(account, partyId, currency);
60
+ o.next({ partyId, account: onboardedAccount }); // success
48
61
  return;
49
62
  }
50
63
  const preparedTransaction = await (0, gateway_1.prepareOnboarding)(currency, publicKey);
@@ -53,7 +66,8 @@ const buildOnboardAccount = (signerContext) => (currency, deviceId, account) =>
53
66
  const signature = await signerContext(deviceId, signer => signer.signTransaction(account.freshAddressPath, preparedTransaction.transactions.combined_hash));
54
67
  o.next({ status: onboard_1.OnboardStatus.SUBMIT });
55
68
  await (0, gateway_1.submitOnboarding)(currency, publicKey, preparedTransaction, signature);
56
- o.next({ partyId, account }); // success
69
+ const onboardedAccount = createOnboardedAccount(account, partyId, currency);
70
+ o.next({ partyId, account: onboardedAccount }); // success
57
71
  }
58
72
  main().then(() => o.complete(), error => {
59
73
  (0, logs_1.log)("[canton:onboard] onboardAccount failed:", error);
@@ -64,8 +78,8 @@ exports.buildOnboardAccount = buildOnboardAccount;
64
78
  const buildAuthorizePreapproval = (signerContext) => (currency, deviceId, account, partyId) => new rxjs_1.Observable(o => {
65
79
  async function main() {
66
80
  o.next({ status: onboard_1.AuthorizeStatus.INIT });
67
- const isAuthorized = await (0, exports.isAccountAuthorized)(currency, partyId);
68
- if (!isAuthorized) {
81
+ const isPreapproved = await (0, exports.isCantonCoinPreapproved)(currency, partyId);
82
+ if (!isPreapproved) {
69
83
  o.next({ status: onboard_1.AuthorizeStatus.PREPARE });
70
84
  const preparedTransaction = await (0, gateway_1.preparePreApprovalTransaction)(currency, partyId);
71
85
  o.next({ status: onboard_1.AuthorizeStatus.SIGN });
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/bridge/sync.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAY,MAAM,2CAA2C,CAAC;AAEtF,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAIhE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAkEvD,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,aAAa,CAAC,YAAY,CAAC,GACzC,eAAe,CAAC,aAAa,CAAC,CAsFhC"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/bridge/sync.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAY,MAAM,2CAA2C,CAAC;AAEtF,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAIhE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAkEvD,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,aAAa,CAAC,YAAY,CAAC,GACzC,eAAe,CAAC,aAAa,CAAC,CAwFhC"}
@@ -103,8 +103,10 @@ function makeGetAccountShape(signerContext) {
103
103
  const newOperations = filterOperations(transactionData.operations, accountId, xpubOrAddress);
104
104
  operations = (0, jsHelpers_1.mergeOps)(oldOperations, newOperations);
105
105
  }
106
- const isAuthorized = await (0, onboard_1.isAccountAuthorized)(currency, xpubOrAddress);
107
- const used = isAuthorized && totalBalance.gt(0);
106
+ const isPreapproved = xpubOrAddress
107
+ ? await (0, onboard_1.isCantonCoinPreapproved)(currency, xpubOrAddress)
108
+ : false;
109
+ const used = isPreapproved && totalBalance.gt(0);
108
110
  const blockHeight = await (0, gateway_1.getLedgerEnd)(currency);
109
111
  const creationDate = operations.length > 0
110
112
  ? new Date(Math.min(...operations.map(op => op.date.getTime())))
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/bridge/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/bridge/sync.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ export declare const isAccountOnboarded: (currency: CryptoCurrency, publicKey: s
11
11
  isOnboarded: boolean;
12
12
  partyId?: never;
13
13
  }>;
14
- export declare const isAccountAuthorized: (currency: CryptoCurrency, partyId: string) => Promise<boolean>;
14
+ export declare const isCantonCoinPreapproved: (currency: CryptoCurrency, partyId: string) => Promise<boolean>;
15
15
  export declare const buildOnboardAccount: (signerContext: SignerContext<CantonSigner>) => (currency: CryptoCurrency, deviceId: string, account: Account) => Observable<CantonOnboardProgress | CantonOnboardResult>;
16
16
  export declare const buildAuthorizePreapproval: (signerContext: SignerContext<CantonSigner>) => (currency: CryptoCurrency, deviceId: string, account: Account, partyId: string) => Observable<CantonAuthorizeProgress | CantonAuthorizeResult>;
17
17
  //# sourceMappingURL=onboard.d.ts.map
@@ -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;AAYnE,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,mBAAmB,GAAU,UAAU,cAAc,EAAE,SAAS,MAAM,qBAOlF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC7B,eAAe,aAAa,CAAC,YAAY,CAAC,MAEzC,UAAU,cAAc,EACxB,UAAU,MAAM,EAChB,SAAS,OAAO,KACf,UAAU,CAAC,qBAAqB,GAAG,mBAAmB,CA8CrD,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,CA0DzD,CAAC"}
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;AAanE,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,CA0DzD,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { Observable } from "rxjs";
2
2
  import { log } from "@ledgerhq/logs";
3
+ import { encodeAccountId } from "@ledgerhq/coin-framework/account/accountId";
3
4
  import { prepareOnboarding, submitOnboarding, getPartyByPubKey, preparePreApprovalTransaction, submitPreApprovalTransaction, prepareTapRequest, submitTapRequest, getTransferPreApproval, } from "../network/gateway";
4
5
  import { OnboardStatus, AuthorizeStatus, } from "../types/onboard";
5
6
  import resolver from "../signer";
@@ -17,13 +18,24 @@ export const isAccountOnboarded = async (currency, publicKey) => {
17
18
  return { isOnboarded: false };
18
19
  }
19
20
  };
20
- export const isAccountAuthorized = async (currency, partyId) => {
21
+ export const isCantonCoinPreapproved = async (currency, partyId) => {
21
22
  const { expires_at, receiver } = await getTransferPreApproval(currency, partyId);
22
23
  const isReceiver = receiver === partyId;
23
24
  const isExpired = new Date(expires_at) < new Date();
24
- const isAuthorized = !isExpired && isReceiver;
25
- return isAuthorized;
25
+ const isPreapproved = !isExpired && isReceiver;
26
+ return isPreapproved;
26
27
  };
28
+ const createOnboardedAccount = (account, partyId, currency) => ({
29
+ ...account,
30
+ xpub: partyId,
31
+ id: encodeAccountId({
32
+ type: "js",
33
+ version: "2",
34
+ currencyId: currency.id,
35
+ xpubOrAddress: partyId,
36
+ derivationMode: account.derivationMode,
37
+ }),
38
+ });
27
39
  export const buildOnboardAccount = (signerContext) => (currency, deviceId, account) => new Observable(o => {
28
40
  async function main() {
29
41
  o.next({ status: OnboardStatus.INIT });
@@ -36,7 +48,8 @@ export const buildOnboardAccount = (signerContext) => (currency, deviceId, accou
36
48
  o.next({ status: OnboardStatus.PREPARE });
37
49
  let { partyId } = await isAccountOnboarded(currency, publicKey);
38
50
  if (partyId) {
39
- o.next({ partyId, account }); // success
51
+ const onboardedAccount = createOnboardedAccount(account, partyId, currency);
52
+ o.next({ partyId, account: onboardedAccount }); // success
40
53
  return;
41
54
  }
42
55
  const preparedTransaction = await prepareOnboarding(currency, publicKey);
@@ -45,7 +58,8 @@ export const buildOnboardAccount = (signerContext) => (currency, deviceId, accou
45
58
  const signature = await signerContext(deviceId, signer => signer.signTransaction(account.freshAddressPath, preparedTransaction.transactions.combined_hash));
46
59
  o.next({ status: OnboardStatus.SUBMIT });
47
60
  await submitOnboarding(currency, publicKey, preparedTransaction, signature);
48
- o.next({ partyId, account }); // success
61
+ const onboardedAccount = createOnboardedAccount(account, partyId, currency);
62
+ o.next({ partyId, account: onboardedAccount }); // success
49
63
  }
50
64
  main().then(() => o.complete(), error => {
51
65
  log("[canton:onboard] onboardAccount failed:", error);
@@ -55,8 +69,8 @@ export const buildOnboardAccount = (signerContext) => (currency, deviceId, accou
55
69
  export const buildAuthorizePreapproval = (signerContext) => (currency, deviceId, account, partyId) => new Observable(o => {
56
70
  async function main() {
57
71
  o.next({ status: AuthorizeStatus.INIT });
58
- const isAuthorized = await isAccountAuthorized(currency, partyId);
59
- if (!isAuthorized) {
72
+ const isPreapproved = await isCantonCoinPreapproved(currency, partyId);
73
+ if (!isPreapproved) {
60
74
  o.next({ status: AuthorizeStatus.PREPARE });
61
75
  const preparedTransaction = await preparePreApprovalTransaction(currency, partyId);
62
76
  o.next({ status: AuthorizeStatus.SIGN });
@@ -1 +1 @@
1
- {"version":3,"file":"onboard.js","sourceRoot":"","sources":["../../src/bridge/onboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAIlC,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,6BAA6B,EAC7B,4BAA4B,EAC5B,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,aAAa,EACb,eAAe,GAKhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,QAAQ,MAAM,WAAW,CAAC;AAGjC,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,QAAwB,EAAE,SAAiB,EAAE,EAAE;IACtF,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,gBAAgB,CAAC,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;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,QAAwB,EAAE,OAAe,EAAE,EAAE;IACrF,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,sBAAsB,CAAC,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,YAAY,GAAG,CAAC,SAAS,IAAI,UAAU,CAAC;IAC9C,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAC9B,CAAC,aAA0C,EAAE,EAAE,CAC/C,CACE,QAAwB,EACxB,QAAgB,EAChB,OAAgB,EACyC,EAAE,CAC3D,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE;IACjB,KAAK,UAAU,IAAI;QACjB,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QAEvC,MAAM,UAAU,GAAG,QAAQ,CAAC,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,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAE1C,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAChE,IAAI,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,UAAU;YACxC,OAAO;QACT,CAAC;QAED,MAAM,mBAAmB,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACzE,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC;QAEvC,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QAEvC,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CACvD,MAAM,CAAC,eAAe,CACpB,OAAO,CAAC,gBAAgB,EACxB,mBAAmB,CAAC,YAAY,CAAC,aAAa,CAC/C,CACF,CAAC;QAEF,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;QAEzC,MAAM,gBAAgB,CAAC,QAAQ,EAAE,SAAS,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC;QAE5E,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,UAAU;IAC1C,CAAC;IAED,IAAI,EAAE,CAAC,IAAI,CACT,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,EAClB,KAAK,CAAC,EAAE;QACN,GAAG,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEP,MAAM,CAAC,MAAM,yBAAyB,GACpC,CAAC,aAA0C,EAAE,EAAE,CAC/C,CACE,QAAwB,EACxB,QAAgB,EAChB,OAAgB,EAChB,OAAe,EAC8C,EAAE,CAC/D,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE;IACjB,KAAK,UAAU,IAAI;QACjB,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;QAEzC,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAElE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YAE5C,MAAM,mBAAmB,GAAG,MAAM,6BAA6B,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEnF,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;YAEzC,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CACvD,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAC3E,CAAC;YAEF,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;YAE3C,MAAM,4BAA4B,CAAC,QAAQ,EAAE,OAAO,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC;QACxF,CAAC;QAED,CAAC,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU;QAExC,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;YAClC,IAAI,CAAC;gBACH,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gBAE5E,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;oBACvB,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;oBAEzC,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CACvD,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,CACvD,CAAC;oBAEF,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE3C,MAAM,gBAAgB,CAAC,QAAQ,EAAE;wBAC/B,OAAO;wBACP,UAAU;wBACV,SAAS;qBACV,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,6DAA6D;YAC/D,CAAC;QACH,CAAC,CAAC;QACF,MAAM,gBAAgB,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,EAAE,CAAC,IAAI,CACT,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,EAClB,KAAK,CAAC,EAAE;QACN,GAAG,CAAC,+CAA+C,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"onboard.js","sourceRoot":"","sources":["../../src/bridge/onboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAIlC,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,6BAA6B,EAC7B,4BAA4B,EAC5B,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,aAAa,EACb,eAAe,GAKhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,QAAQ,MAAM,WAAW,CAAC;AAGjC,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,QAAwB,EAAE,SAAiB,EAAE,EAAE;IACtF,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,gBAAgB,CAAC,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;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAAE,QAAwB,EAAE,OAAe,EAAE,EAAE;IACzF,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,sBAAsB,CAAC,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;AAEF,MAAM,sBAAsB,GAAG,CAC7B,OAAgB,EAChB,OAAe,EACf,QAAwB,EACf,EAAE,CAAC,CAAC;IACb,GAAG,OAAO;IACV,IAAI,EAAE,OAAO;IACb,EAAE,EAAE,eAAe,CAAC;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;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAC9B,CAAC,aAA0C,EAAE,EAAE,CAC/C,CACE,QAAwB,EACxB,QAAgB,EAChB,OAAgB,EACyC,EAAE,CAC3D,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE;IACjB,KAAK,UAAU,IAAI;QACjB,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QAEvC,MAAM,UAAU,GAAG,QAAQ,CAAC,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,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAE1C,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAChE,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC5E,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,UAAU;YAC1D,OAAO;QACT,CAAC;QAED,MAAM,mBAAmB,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACzE,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC;QAEvC,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QAEvC,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CACvD,MAAM,CAAC,eAAe,CACpB,OAAO,CAAC,gBAAgB,EACxB,mBAAmB,CAAC,YAAY,CAAC,aAAa,CAC/C,CACF,CAAC;QAEF,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;QAEzC,MAAM,gBAAgB,CAAC,QAAQ,EAAE,SAAS,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC;QAE5E,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC5E,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,UAAU;IAC5D,CAAC;IAED,IAAI,EAAE,CAAC,IAAI,CACT,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,EAClB,KAAK,CAAC,EAAE;QACN,GAAG,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEP,MAAM,CAAC,MAAM,yBAAyB,GACpC,CAAC,aAA0C,EAAE,EAAE,CAC/C,CACE,QAAwB,EACxB,QAAgB,EAChB,OAAgB,EAChB,OAAe,EAC8C,EAAE,CAC/D,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE;IACjB,KAAK,UAAU,IAAI;QACjB,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;QAEzC,MAAM,aAAa,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEvE,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YAE5C,MAAM,mBAAmB,GAAG,MAAM,6BAA6B,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEnF,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;YAEzC,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CACvD,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAC3E,CAAC;YAEF,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;YAE3C,MAAM,4BAA4B,CAAC,QAAQ,EAAE,OAAO,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC;QACxF,CAAC;QAED,CAAC,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU;QAExC,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;YAClC,IAAI,CAAC;gBACH,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gBAE5E,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;oBACvB,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;oBAEzC,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CACvD,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,CACvD,CAAC;oBAEF,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE3C,MAAM,gBAAgB,CAAC,QAAQ,EAAE;wBAC/B,OAAO;wBACP,UAAU;wBACV,SAAS;qBACV,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,6DAA6D;YAC/D,CAAC;QACH,CAAC,CAAC;QACF,MAAM,gBAAgB,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,EAAE,CAAC,IAAI,CACT,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,EAClB,KAAK,CAAC,EAAE;QACN,GAAG,CAAC,+CAA+C,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/bridge/sync.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAY,MAAM,2CAA2C,CAAC;AAEtF,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAIhE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAkEvD,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,aAAa,CAAC,YAAY,CAAC,GACzC,eAAe,CAAC,aAAa,CAAC,CAsFhC"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/bridge/sync.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAY,MAAM,2CAA2C,CAAC;AAEtF,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAIhE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAkEvD,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,aAAa,CAAC,YAAY,CAAC,GACzC,eAAe,CAAC,aAAa,CAAC,CAwFhC"}
@@ -5,7 +5,7 @@ import { encodeOperationId } from "@ledgerhq/coin-framework/operation";
5
5
  import { getBalance, getLedgerEnd, getOperations } from "../network/gateway";
6
6
  import coinConfig from "../config";
7
7
  import resolver from "../signer";
8
- import { isAccountOnboarded, isAccountAuthorized } from "./onboard";
8
+ import { isAccountOnboarded, isCantonCoinPreapproved } from "./onboard";
9
9
  const txInfoToOperationAdapter = (accountId, partyId) => (txInfo) => {
10
10
  const { transaction_hash, uid, block: { height, hash }, senders, recipients, transaction_timestamp, fee: { value: fee }, transfers: [{ value: transferValue, details }], } = txInfo;
11
11
  let type = "UNKNOWN";
@@ -97,8 +97,10 @@ export function makeGetAccountShape(signerContext) {
97
97
  const newOperations = filterOperations(transactionData.operations, accountId, xpubOrAddress);
98
98
  operations = mergeOps(oldOperations, newOperations);
99
99
  }
100
- const isAuthorized = await isAccountAuthorized(currency, xpubOrAddress);
101
- const used = isAuthorized && totalBalance.gt(0);
100
+ const isPreapproved = xpubOrAddress
101
+ ? await isCantonCoinPreapproved(currency, xpubOrAddress)
102
+ : false;
103
+ const used = isPreapproved && totalBalance.gt(0);
102
104
  const blockHeight = await getLedgerEnd(currency);
103
105
  const creationDate = operations.length > 0
104
106
  ? new Date(Math.min(...operations.map(op => op.date.getTime())))
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/bridge/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/bridge/sync.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/coin-canton",
3
- "version": "0.8.0",
3
+ "version": "0.8.1-nightly.0",
4
4
  "description": "Canton coin integration",
5
5
  "keywords": [
6
6
  "Ledger",
@@ -101,14 +101,14 @@
101
101
  "bignumber.js": "^9.1.2",
102
102
  "invariant": "^2.2.4",
103
103
  "rxjs": "^7.8.1",
104
- "@ledgerhq/coin-framework": "^6.7.0",
105
- "@ledgerhq/cryptoassets": "^13.31.0",
106
- "@ledgerhq/devices": "8.6.1",
107
- "@ledgerhq/errors": "^6.26.0",
104
+ "@ledgerhq/coin-framework": "^6.7.1-nightly.0",
105
+ "@ledgerhq/cryptoassets": "^13.31.1-nightly.0",
106
+ "@ledgerhq/devices": "8.6.2-nightly.0",
107
+ "@ledgerhq/errors": "^6.27.0-nightly.0",
108
108
  "@ledgerhq/live-env": "^2.19.0",
109
109
  "@ledgerhq/live-network": "^2.0.20",
110
110
  "@ledgerhq/logs": "^6.13.0",
111
- "@ledgerhq/types-live": "^6.87.0"
111
+ "@ledgerhq/types-live": "^6.88.0-nightly.0"
112
112
  },
113
113
  "devDependencies": {
114
114
  "@types/invariant": "^2.2.37",
@@ -1,5 +1,5 @@
1
1
  import { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
2
- import { isAccountAuthorized } from "./onboard";
2
+ import { isCantonCoinPreapproved } from "./onboard";
3
3
  import * as gateway from "../network/gateway";
4
4
 
5
5
  jest.mock("../network/gateway");
@@ -11,7 +11,7 @@ describe("onboard", () => {
11
11
  id: "canton_network",
12
12
  } as unknown as CryptoCurrency;
13
13
 
14
- describe("isAccountAuthorized", () => {
14
+ describe("isCantonCoinPreapproved", () => {
15
15
  it("should return true when contract exists and is not expired", async () => {
16
16
  // GIVEN
17
17
  const futureDate = new Date();
@@ -27,7 +27,7 @@ describe("onboard", () => {
27
27
  });
28
28
 
29
29
  // WHEN
30
- const result = await isAccountAuthorized(mockCurrency, mockPartyId);
30
+ const result = await isCantonCoinPreapproved(mockCurrency, mockPartyId);
31
31
 
32
32
  // THEN
33
33
  expect(result).toBe(true);
@@ -49,7 +49,7 @@ describe("onboard", () => {
49
49
  });
50
50
 
51
51
  // WHEN
52
- const result = await isAccountAuthorized(mockCurrency, mockPartyId);
52
+ const result = await isCantonCoinPreapproved(mockCurrency, mockPartyId);
53
53
 
54
54
  // THEN
55
55
  expect(result).toBe(false);
@@ -3,6 +3,7 @@ import { SignerContext } from "@ledgerhq/coin-framework/signer";
3
3
  import type { Account } from "@ledgerhq/types-live";
4
4
  import type { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
5
5
  import { log } from "@ledgerhq/logs";
6
+ import { encodeAccountId } from "@ledgerhq/coin-framework/account/accountId";
6
7
  import {
7
8
  prepareOnboarding,
8
9
  submitOnboarding,
@@ -38,15 +39,31 @@ export const isAccountOnboarded = async (currency: CryptoCurrency, publicKey: st
38
39
  }
39
40
  };
40
41
 
41
- export const isAccountAuthorized = async (currency: CryptoCurrency, partyId: string) => {
42
+ export const isCantonCoinPreapproved = async (currency: CryptoCurrency, partyId: string) => {
42
43
  const { expires_at, receiver } = await getTransferPreApproval(currency, partyId);
43
44
  const isReceiver = receiver === partyId;
44
45
  const isExpired = new Date(expires_at) < new Date();
45
46
 
46
- const isAuthorized = !isExpired && isReceiver;
47
- return isAuthorized;
47
+ const isPreapproved = !isExpired && isReceiver;
48
+ return isPreapproved;
48
49
  };
49
50
 
51
+ const createOnboardedAccount = (
52
+ account: Account,
53
+ partyId: string,
54
+ currency: CryptoCurrency,
55
+ ): Account => ({
56
+ ...account,
57
+ xpub: partyId,
58
+ id: encodeAccountId({
59
+ type: "js",
60
+ version: "2",
61
+ currencyId: currency.id,
62
+ xpubOrAddress: partyId,
63
+ derivationMode: account.derivationMode,
64
+ }),
65
+ });
66
+
50
67
  export const buildOnboardAccount =
51
68
  (signerContext: SignerContext<CantonSigner>) =>
52
69
  (
@@ -69,7 +86,8 @@ export const buildOnboardAccount =
69
86
 
70
87
  let { partyId } = await isAccountOnboarded(currency, publicKey);
71
88
  if (partyId) {
72
- o.next({ partyId, account }); // success
89
+ const onboardedAccount = createOnboardedAccount(account, partyId, currency);
90
+ o.next({ partyId, account: onboardedAccount }); // success
73
91
  return;
74
92
  }
75
93
 
@@ -89,7 +107,8 @@ export const buildOnboardAccount =
89
107
 
90
108
  await submitOnboarding(currency, publicKey, preparedTransaction, signature);
91
109
 
92
- o.next({ partyId, account }); // success
110
+ const onboardedAccount = createOnboardedAccount(account, partyId, currency);
111
+ o.next({ partyId, account: onboardedAccount }); // success
93
112
  }
94
113
 
95
114
  main().then(
@@ -113,9 +132,9 @@ export const buildAuthorizePreapproval =
113
132
  async function main() {
114
133
  o.next({ status: AuthorizeStatus.INIT });
115
134
 
116
- const isAuthorized = await isAccountAuthorized(currency, partyId);
135
+ const isPreapproved = await isCantonCoinPreapproved(currency, partyId);
117
136
 
118
- if (!isAuthorized) {
137
+ if (!isPreapproved) {
119
138
  o.next({ status: AuthorizeStatus.PREPARE });
120
139
 
121
140
  const preparedTransaction = await preparePreApprovalTransaction(currency, partyId);
@@ -18,7 +18,7 @@ const mockedGetLedgerEnd = gateway.getLedgerEnd as jest.Mock;
18
18
  const mockedGetOperations = gateway.getOperations as jest.Mock;
19
19
  const mockedResolver = resolver as jest.Mock;
20
20
  const mockedIsOnboarded = onboard.isAccountOnboarded as jest.Mock;
21
- const mockedIsAuthorized = onboard.isAccountAuthorized as jest.Mock;
21
+ const mockedIsAuthorized = onboard.isCantonCoinPreapproved as jest.Mock;
22
22
  const mockedCoinConfig = config.default.getCoinConfig as jest.Mock;
23
23
 
24
24
  const sampleCurrency = {
@@ -8,7 +8,7 @@ import { getBalance, getLedgerEnd, getOperations, type OperationInfo } from "../
8
8
  import coinConfig from "../config";
9
9
  import resolver from "../signer";
10
10
  import { CantonAccount, CantonSigner } from "../types";
11
- import { isAccountOnboarded, isAccountAuthorized } from "./onboard";
11
+ import { isAccountOnboarded, isCantonCoinPreapproved } from "./onboard";
12
12
 
13
13
  const txInfoToOperationAdapter =
14
14
  (accountId: string, partyId: string) =>
@@ -133,8 +133,10 @@ export function makeGetAccountShape(
133
133
  operations = mergeOps(oldOperations, newOperations);
134
134
  }
135
135
 
136
- const isAuthorized = await isAccountAuthorized(currency, xpubOrAddress);
137
- const used = isAuthorized && totalBalance.gt(0);
136
+ const isPreapproved = xpubOrAddress
137
+ ? await isCantonCoinPreapproved(currency, xpubOrAddress)
138
+ : false;
139
+ const used = isPreapproved && totalBalance.gt(0);
138
140
 
139
141
  const blockHeight = await getLedgerEnd(currency);
140
142
 
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=getBalance.integ.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getBalance.integ.test.d.ts","sourceRoot":"","sources":["../../src/api/getBalance.integ.test.ts"],"names":[],"mappings":""}
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const _1 = require(".");
4
- let api;
5
- describe.skip("devnet", () => {
6
- beforeAll(() => {
7
- api = (0, _1.createApi)({
8
- nodeUrl: "https://wallet-validator-devnet-canton.ledger-test.com/v2",
9
- networkType: "devnet",
10
- gatewayUrl: "https://canton-gateway.api.live.ledger-test.com",
11
- useGateway: true,
12
- nativeInstrumentId: "Amulet",
13
- });
14
- });
15
- describe("getBalance", () => {
16
- it("should return user balance", async () => {
17
- const balance = await api.getBalance("party-4f2e1485107adf5f::122027c6dbbbdbffe0fa3122ae05175f3b9328e879e9ce96b670354deb64a45683c1");
18
- expect(balance.length).toBeGreaterThanOrEqual(0);
19
- if (balance.length > 0) {
20
- const nativeBalance = balance.find(b => b.asset.type === "native");
21
- if (nativeBalance) {
22
- expect(nativeBalance.value).toBeGreaterThanOrEqual(BigInt(0));
23
- }
24
- }
25
- });
26
- });
27
- });
28
- //# sourceMappingURL=getBalance.integ.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getBalance.integ.test.js","sourceRoot":"","sources":["../../src/api/getBalance.integ.test.ts"],"names":[],"mappings":";;AACA,wBAA8B;AAE9B,IAAI,GAAc,CAAC;AAEnB,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;IAC3B,SAAS,CAAC,GAAG,EAAE;QACb,GAAG,GAAG,IAAA,YAAS,EAAC;YACd,OAAO,EAAE,2DAA2D;YACpE,WAAW,EAAE,QAAQ;YACrB,UAAU,EAAE,iDAAiD;YAC7D,UAAU,EAAE,IAAI;YAChB,kBAAkB,EAAE,QAAQ;SAC7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;YAC1C,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,UAAU,CAClC,8FAA8F,CAC/F,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YACjD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;gBACnE,IAAI,aAAa,EAAE,CAAC;oBAClB,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/api/index.test.ts"],"names":[],"mappings":""}
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const _1 = require(".");
4
- describe("createApi", () => {
5
- it("should return every api methods", () => {
6
- const api = (0, _1.createApi)({});
7
- expect(api.broadcast).toBeDefined();
8
- expect(api.combine).toBeDefined();
9
- expect(api.craftTransaction).toBeDefined();
10
- expect(api.estimateFees).toBeDefined();
11
- expect(api.getBalance).toBeDefined();
12
- expect(api.lastBlock).toBeDefined();
13
- expect(api.listOperations).toBeDefined();
14
- });
15
- });
16
- //# sourceMappingURL=index.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/api/index.test.ts"],"names":[],"mappings":";;AAAA,wBAA8B;AAG9B,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,GAAG,GAAG,IAAA,YAAS,EAAC,EAAkB,CAAC,CAAC;QAC1C,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=lastBlock.integ.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lastBlock.integ.test.d.ts","sourceRoot":"","sources":["../../src/api/lastBlock.integ.test.ts"],"names":[],"mappings":""}
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const _1 = require(".");
4
- let api;
5
- describe.skip("devnet", () => {
6
- beforeAll(() => {
7
- api = (0, _1.createApi)({
8
- nodeUrl: "https://wallet-validator-devnet-canton.ledger-test.com/v2",
9
- networkType: "devnet",
10
- gatewayUrl: "https://canton-gateway.api.live.ledger-test.com",
11
- useGateway: true,
12
- nativeInstrumentId: "Amulet",
13
- });
14
- });
15
- describe("lastBlock", () => {
16
- it("should return ledger end", async () => {
17
- const lastBlock = await api.lastBlock();
18
- expect(lastBlock.height).toBeGreaterThan(0);
19
- });
20
- });
21
- });
22
- //# sourceMappingURL=lastBlock.integ.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lastBlock.integ.test.js","sourceRoot":"","sources":["../../src/api/lastBlock.integ.test.ts"],"names":[],"mappings":";;AACA,wBAA8B;AAE9B,IAAI,GAAc,CAAC;AAEnB,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;IAC3B,SAAS,CAAC,GAAG,EAAE;QACb,GAAG,GAAG,IAAA,YAAS,EAAC;YACd,OAAO,EAAE,2DAA2D;YACpE,WAAW,EAAE,QAAQ;YACrB,UAAU,EAAE,iDAAiD;YAC7D,UAAU,EAAE,IAAI;YAChB,kBAAkB,EAAE,QAAQ;SAC7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;YACxC,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,SAAS,EAAE,CAAC;YACxC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}