@ledgerhq/coin-canton 0.5.0-nightly.1 → 0.5.0-nightly.2

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 (166) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.unimportedrc.json +12 -4
  3. package/CHANGELOG.md +21 -0
  4. package/lib/api/getBalance.integ.test.js +1 -1
  5. package/lib/api/getBalance.integ.test.js.map +1 -1
  6. package/lib/api/index.d.ts.map +1 -1
  7. package/lib/api/index.js +11 -8
  8. package/lib/api/index.js.map +1 -1
  9. package/lib/bridge/createTransaction.test.js +1 -1
  10. package/lib/bridge/createTransaction.test.js.map +1 -1
  11. package/lib/bridge/index.d.ts +3 -3
  12. package/lib/bridge/index.d.ts.map +1 -1
  13. package/lib/bridge/index.js +9 -1
  14. package/lib/bridge/index.js.map +1 -1
  15. package/lib/bridge/onboard.d.ts +10 -0
  16. package/lib/bridge/onboard.d.ts.map +1 -0
  17. package/lib/bridge/onboard.integ.test.d.ts +2 -0
  18. package/lib/bridge/onboard.integ.test.d.ts.map +1 -0
  19. package/lib/bridge/onboard.integ.test.js +156 -0
  20. package/lib/bridge/onboard.integ.test.js.map +1 -0
  21. package/lib/bridge/onboard.js +139 -0
  22. package/lib/bridge/onboard.js.map +1 -0
  23. package/lib/bridge/prepareTransaction.d.ts.map +1 -1
  24. package/lib/bridge/prepareTransaction.js +5 -7
  25. package/lib/bridge/prepareTransaction.js.map +1 -1
  26. package/lib/bridge/signOperation.d.ts.map +1 -1
  27. package/lib/bridge/signOperation.js +2 -1
  28. package/lib/bridge/signOperation.js.map +1 -1
  29. package/lib/bridge/sync.d.ts.map +1 -1
  30. package/lib/bridge/sync.integ.test.d.ts +2 -0
  31. package/lib/bridge/sync.integ.test.d.ts.map +1 -0
  32. package/lib/bridge/sync.integ.test.js +175 -0
  33. package/lib/bridge/sync.integ.test.js.map +1 -0
  34. package/lib/bridge/sync.js +39 -36
  35. package/lib/bridge/sync.js.map +1 -1
  36. package/lib/bridge/updateTransaction.d.ts.map +1 -1
  37. package/lib/bridge/updateTransaction.js +0 -4
  38. package/lib/bridge/updateTransaction.js.map +1 -1
  39. package/lib/common-logic/history/listOperations.d.ts.map +1 -1
  40. package/lib/common-logic/history/listOperations.js +19 -31
  41. package/lib/common-logic/history/listOperations.js.map +1 -1
  42. package/lib/common-logic/transaction/craftTransaction.d.ts +4 -3
  43. package/lib/common-logic/transaction/craftTransaction.d.ts.map +1 -1
  44. package/lib/common-logic/transaction/craftTransaction.js +10 -12
  45. package/lib/common-logic/transaction/craftTransaction.js.map +1 -1
  46. package/lib/network/gateway.d.ts +194 -3
  47. package/lib/network/gateway.d.ts.map +1 -1
  48. package/lib/network/gateway.integ.test.js +121 -11
  49. package/lib/network/gateway.integ.test.js.map +1 -1
  50. package/lib/network/gateway.js +96 -18
  51. package/lib/network/gateway.js.map +1 -1
  52. package/lib/network/node.d.ts +2 -2
  53. package/lib/network/node.d.ts.map +1 -1
  54. package/lib/network/node.js.map +1 -1
  55. package/lib/network/types.d.ts +1 -1
  56. package/lib/network/types.d.ts.map +1 -1
  57. package/lib/signer/getAddress.d.ts.map +1 -1
  58. package/lib/signer/getAddress.js +2 -2
  59. package/lib/signer/getAddress.js.map +1 -1
  60. package/lib/test/cantonTestUtils.d.ts +33 -0
  61. package/lib/test/cantonTestUtils.d.ts.map +1 -0
  62. package/lib/test/cantonTestUtils.js +159 -0
  63. package/lib/test/cantonTestUtils.js.map +1 -0
  64. package/lib/types/bridge.d.ts +7 -1
  65. package/lib/types/bridge.d.ts.map +1 -1
  66. package/lib/types/index.d.ts +1 -10
  67. package/lib/types/index.d.ts.map +1 -1
  68. package/lib/types/index.js +1 -0
  69. package/lib/types/index.js.map +1 -1
  70. package/lib/types/onboard.d.ts +55 -0
  71. package/lib/types/onboard.d.ts.map +1 -0
  72. package/lib/types/onboard.js +22 -0
  73. package/lib/types/onboard.js.map +1 -0
  74. package/lib-es/api/getBalance.integ.test.js +1 -1
  75. package/lib-es/api/getBalance.integ.test.js.map +1 -1
  76. package/lib-es/api/index.d.ts.map +1 -1
  77. package/lib-es/api/index.js +12 -9
  78. package/lib-es/api/index.js.map +1 -1
  79. package/lib-es/bridge/createTransaction.test.js +1 -1
  80. package/lib-es/bridge/createTransaction.test.js.map +1 -1
  81. package/lib-es/bridge/index.d.ts +3 -3
  82. package/lib-es/bridge/index.d.ts.map +1 -1
  83. package/lib-es/bridge/index.js +9 -1
  84. package/lib-es/bridge/index.js.map +1 -1
  85. package/lib-es/bridge/onboard.d.ts +10 -0
  86. package/lib-es/bridge/onboard.d.ts.map +1 -0
  87. package/lib-es/bridge/onboard.integ.test.d.ts +2 -0
  88. package/lib-es/bridge/onboard.integ.test.d.ts.map +1 -0
  89. package/lib-es/bridge/onboard.integ.test.js +151 -0
  90. package/lib-es/bridge/onboard.integ.test.js.map +1 -0
  91. package/lib-es/bridge/onboard.js +133 -0
  92. package/lib-es/bridge/onboard.js.map +1 -0
  93. package/lib-es/bridge/prepareTransaction.d.ts.map +1 -1
  94. package/lib-es/bridge/prepareTransaction.js +6 -8
  95. package/lib-es/bridge/prepareTransaction.js.map +1 -1
  96. package/lib-es/bridge/signOperation.d.ts.map +1 -1
  97. package/lib-es/bridge/signOperation.js +2 -1
  98. package/lib-es/bridge/signOperation.js.map +1 -1
  99. package/lib-es/bridge/sync.d.ts.map +1 -1
  100. package/lib-es/bridge/sync.integ.test.d.ts +2 -0
  101. package/lib-es/bridge/sync.integ.test.d.ts.map +1 -0
  102. package/lib-es/bridge/sync.integ.test.js +137 -0
  103. package/lib-es/bridge/sync.integ.test.js.map +1 -0
  104. package/lib-es/bridge/sync.js +38 -35
  105. package/lib-es/bridge/sync.js.map +1 -1
  106. package/lib-es/bridge/updateTransaction.d.ts.map +1 -1
  107. package/lib-es/bridge/updateTransaction.js +0 -4
  108. package/lib-es/bridge/updateTransaction.js.map +1 -1
  109. package/lib-es/common-logic/history/listOperations.d.ts.map +1 -1
  110. package/lib-es/common-logic/history/listOperations.js +20 -29
  111. package/lib-es/common-logic/history/listOperations.js.map +1 -1
  112. package/lib-es/common-logic/transaction/craftTransaction.d.ts +4 -3
  113. package/lib-es/common-logic/transaction/craftTransaction.d.ts.map +1 -1
  114. package/lib-es/common-logic/transaction/craftTransaction.js +10 -12
  115. package/lib-es/common-logic/transaction/craftTransaction.js.map +1 -1
  116. package/lib-es/network/gateway.d.ts +194 -3
  117. package/lib-es/network/gateway.d.ts.map +1 -1
  118. package/lib-es/network/gateway.integ.test.js +122 -12
  119. package/lib-es/network/gateway.integ.test.js.map +1 -1
  120. package/lib-es/network/gateway.js +90 -17
  121. package/lib-es/network/gateway.js.map +1 -1
  122. package/lib-es/network/node.d.ts +2 -2
  123. package/lib-es/network/node.d.ts.map +1 -1
  124. package/lib-es/network/node.js.map +1 -1
  125. package/lib-es/network/types.d.ts +1 -1
  126. package/lib-es/network/types.d.ts.map +1 -1
  127. package/lib-es/signer/getAddress.d.ts.map +1 -1
  128. package/lib-es/signer/getAddress.js +2 -2
  129. package/lib-es/signer/getAddress.js.map +1 -1
  130. package/lib-es/test/cantonTestUtils.d.ts +33 -0
  131. package/lib-es/test/cantonTestUtils.d.ts.map +1 -0
  132. package/lib-es/test/cantonTestUtils.js +151 -0
  133. package/lib-es/test/cantonTestUtils.js.map +1 -0
  134. package/lib-es/types/bridge.d.ts +7 -1
  135. package/lib-es/types/bridge.d.ts.map +1 -1
  136. package/lib-es/types/index.d.ts +1 -10
  137. package/lib-es/types/index.d.ts.map +1 -1
  138. package/lib-es/types/index.js +1 -0
  139. package/lib-es/types/index.js.map +1 -1
  140. package/lib-es/types/onboard.d.ts +55 -0
  141. package/lib-es/types/onboard.d.ts.map +1 -0
  142. package/lib-es/types/onboard.js +19 -0
  143. package/lib-es/types/onboard.js.map +1 -0
  144. package/package.json +6 -6
  145. package/src/api/getBalance.integ.test.ts +1 -2
  146. package/src/api/index.ts +33 -26
  147. package/src/bridge/createTransaction.test.ts +1 -1
  148. package/src/bridge/index.ts +14 -4
  149. package/src/bridge/onboard.integ.test.ts +219 -0
  150. package/src/bridge/onboard.ts +220 -0
  151. package/src/bridge/prepareTransaction.ts +6 -15
  152. package/src/bridge/signOperation.ts +3 -2
  153. package/src/bridge/sync.integ.test.ts +180 -0
  154. package/src/bridge/sync.ts +57 -49
  155. package/src/bridge/updateTransaction.ts +0 -5
  156. package/src/common-logic/history/listOperations.ts +20 -31
  157. package/src/common-logic/transaction/craftTransaction.ts +13 -17
  158. package/src/network/gateway.integ.test.ts +156 -17
  159. package/src/network/gateway.ts +333 -26
  160. package/src/network/node.ts +3 -3
  161. package/src/network/types.ts +1 -1
  162. package/src/signer/getAddress.ts +3 -5
  163. package/src/test/cantonTestUtils.ts +181 -0
  164. package/src/types/bridge.ts +20 -0
  165. package/src/types/index.ts +1 -11
  166. package/src/types/onboard.ts +65 -0
@@ -1,73 +1,76 @@
1
1
  import BigNumber from "bignumber.js";
2
2
  import { encodeAccountId } from "@ledgerhq/coin-framework/account/index";
3
3
  import { mergeOps } from "@ledgerhq/coin-framework/bridge/jsHelpers";
4
- import { getTransactions } from "../network/indexer";
5
- import { getAccountInfo, getLedgerEnd } from "../network/node";
4
+ import { getBalance, getLedgerEnd, getOperations } from "../network/gateway";
6
5
  import { encodeOperationId } from "@ledgerhq/coin-framework/operation";
7
6
  import coinConfig from "../config";
8
- const operationAdapter = (accountId, address) => ({ meta: { delivered_amount }, tx: { Fee, hash, inLedger, date, Account, Destination, Sequence }, }) => {
9
- const type = Account === address ? "OUT" : "IN";
10
- let value = delivered_amount && typeof delivered_amount === "string"
11
- ? new BigNumber(delivered_amount)
12
- : new BigNumber(0);
13
- const feeValue = new BigNumber(Fee);
14
- if (type === "OUT") {
15
- if (!Number.isNaN(feeValue)) {
16
- value = value.plus(feeValue);
17
- }
18
- }
7
+ const txInfoToOperationAdapter = (accountId, address) => (txInfo) => {
8
+ const { transaction_hash, uid, block: { height, hash }, senders, recipients, transaction_timestamp, fee: { value: fee }, transfers: [{ value: transferValue }], } = txInfo;
9
+ const type = senders.includes(address) ? "OUT" : "IN";
10
+ const value = new BigNumber(transferValue);
11
+ const feeValue = new BigNumber(fee);
19
12
  const op = {
20
- id: encodeOperationId(accountId, hash, type),
21
- hash: hash,
13
+ id: encodeOperationId(accountId, transaction_hash, type),
14
+ hash: transaction_hash,
22
15
  accountId,
23
16
  type,
24
17
  value,
25
18
  fee: feeValue,
26
- blockHash: null,
27
- blockHeight: inLedger,
28
- senders: [Account],
29
- recipients: [Destination],
30
- date: new Date(),
31
- transactionSequenceNumber: Sequence,
32
- extra: {},
19
+ blockHash: hash,
20
+ blockHeight: height,
21
+ senders,
22
+ recipients,
23
+ date: new Date(transaction_timestamp),
24
+ transactionSequenceNumber: height,
25
+ extra: {
26
+ uid,
27
+ },
33
28
  };
34
29
  return op;
35
30
  };
36
31
  const filterOperations = (transactions, accountId, address) => {
37
32
  return transactions
38
- .filter(({ tx, meta }) => tx.TransactionType === "Payment" && typeof meta.delivered_amount === "string")
39
- .map(operationAdapter(accountId, address))
40
- .filter((op) => Boolean(op));
33
+ .filter(tx => tx.type === "Receive" || tx.type === "Send")
34
+ .map(txInfoToOperationAdapter(accountId, address));
41
35
  };
42
36
  export const getAccountShape = async (info) => {
43
37
  const { address, initialAccount, currency, derivationMode } = info;
38
+ // TODO: we need better solution ?
39
+ const xpubOrAddress = address?.replace(/:/g, "_") || "";
44
40
  const accountId = encodeAccountId({
45
41
  type: "js",
46
42
  version: "2",
47
43
  currencyId: currency.id,
48
- xpubOrAddress: address,
49
- derivationMode,
44
+ xpubOrAddress,
45
+ derivationMode: "",
50
46
  });
51
47
  // blockheight retrieval
52
48
  const blockHeight = await getLedgerEnd();
53
49
  // Account info retrieval + spendable balance calculation
54
- const accountInfo = await getAccountInfo(address);
55
- const balance = new BigNumber(accountInfo.account_data.Balance);
50
+ // const accountInfo = await getAccountInfo(address);
51
+ const balances = await getBalance(address);
52
+ const balanceData = balances.find(balance => balance.instrument_id === "canton_network") || {
53
+ instrument_id: "canton_network",
54
+ amount: 0,
55
+ locked: false,
56
+ };
57
+ const balance = new BigNumber(balanceData.amount);
56
58
  const reserveMin = coinConfig.getCoinConfig().minReserve || 0;
57
- const spendableBalance = new BigNumber(accountInfo.account_data.Balance).minus(BigNumber(reserveMin));
59
+ const lockedAmount = balanceData.locked ? balance : new BigNumber(0);
60
+ const spendableBalance = BigNumber.max(0, balance.minus(lockedAmount).minus(BigNumber(reserveMin)));
58
61
  // Tx history fetching
59
62
  const oldOperations = initialAccount?.operations || [];
60
63
  const startAt = oldOperations.length ? (oldOperations[0].blockHeight || 0) + 1 : 0;
61
- const newTransactions = await getTransactions(address, {
62
- from: startAt,
63
- size: 100,
64
+ const transactionData = await getOperations(address, {
65
+ cursor: 0,
66
+ limit: 100,
64
67
  });
65
- const newOperations = filterOperations(newTransactions, accountId, address);
68
+ const newOperations = filterOperations(transactionData.operations, accountId, address);
66
69
  const operations = mergeOps(oldOperations, newOperations);
67
70
  // We return the new account shape
68
71
  const shape = {
69
72
  id: accountId,
70
- xpub: address,
73
+ xpub: xpubOrAddress,
71
74
  blockHeight,
72
75
  balance,
73
76
  spendableBalance,
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"updateTransaction.d.ts","sourceRoot":"","sources":["../../src/bridge/updateTransaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAO5C,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,mBAAmB,CAO7E,CAAC"}
1
+ {"version":3,"file":"updateTransaction.d.ts","sourceRoot":"","sources":["../../src/bridge/updateTransaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAO5C,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,mBAAmB,CAE7E,CAAC"}
@@ -4,10 +4,6 @@ import { updateTransaction as defaultUpdateTransaction } from "@ledgerhq/coin-fr
4
4
  // NOTE: here is an example transaction updater function
5
5
  // in this case, it resets fee to null depending on the patch content
6
6
  export const updateTransaction = (tx, patch) => {
7
- // eslint-disable-next-line no-constant-condition
8
- if (patch.recipient === "boilerplate1" || true) {
9
- patch = { ...patch, fee: null };
10
- }
11
7
  return defaultUpdateTransaction(tx, patch);
12
8
  };
13
9
  //# sourceMappingURL=updateTransaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"updateTransaction.js","sourceRoot":"","sources":["../../src/bridge/updateTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,IAAI,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAI1G,8DAA8D;AAC9D,8DAA8D;AAE9D,wDAAwD;AACxD,qEAAqE;AACrE,MAAM,CAAC,MAAM,iBAAiB,GAAoD,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;IAC9F,iDAAiD;IACjD,IAAI,KAAK,CAAC,SAAS,KAAK,cAAc,IAAI,IAAI,EAAE,CAAC;QAC/C,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IAClC,CAAC;IAED,OAAO,wBAAwB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AAC7C,CAAC,CAAC"}
1
+ {"version":3,"file":"updateTransaction.js","sourceRoot":"","sources":["../../src/bridge/updateTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,IAAI,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAI1G,8DAA8D;AAC9D,8DAA8D;AAE9D,wDAAwD;AACxD,qEAAqE;AACrE,MAAM,CAAC,MAAM,iBAAiB,GAAoD,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;IAC9F,OAAO,wBAAwB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AAC7C,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"listOperations.d.ts","sourceRoot":"","sources":["../../../src/common-logic/history/listOperations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAShF;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC,CAmChC"}
1
+ {"version":3,"file":"listOperations.d.ts","sourceRoot":"","sources":["../../../src/common-logic/history/listOperations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAIhF;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC,CA6BhC"}
@@ -1,8 +1,4 @@
1
- import { getTransactions } from "../../network/gateway";
2
- import coinConfig from "../../config";
3
- const getNativeContractId = () => coinConfig.getCoinConfig().nativeInstrumentId !== undefined
4
- ? coinConfig.getCoinConfig().nativeInstrumentId?.split(".")[0]
5
- : "";
1
+ import { getOperations } from "../../network/gateway";
6
2
  /**
7
3
  * Returns list of operations associated to an account.
8
4
  * @param partyId Account partyId
@@ -11,36 +7,31 @@ const getNativeContractId = () => coinConfig.getCoinConfig().nativeInstrumentId
11
7
  * Impl to finalize when backend is ready
12
8
  */
13
9
  export async function listOperations(partyId, page) {
14
- const { transactions, next } = await getTransactions(partyId, {
10
+ const { operations, next } = await getOperations(partyId, {
15
11
  cursor: page.pagingToken !== undefined ? parseInt(page.pagingToken) : undefined,
16
12
  minOffset: page.minHeight,
17
13
  limit: page.limit,
18
14
  });
19
15
  const ops = [];
20
- for (const tx of transactions) {
21
- for (let i = 0; i < tx.events.length; i++) {
22
- const event = tx.events[i]["CantonCreatedEvent"];
23
- if (event && event.template_id.module_name === "Splice.Amulet") {
24
- ops.push({
25
- id: tx.update_id + "-" + i,
26
- type: event.signatories.includes(partyId) ? "OUT" : "IN",
27
- value: BigInt(0), // to be finalized when details are available on backend
28
- senders: event.signatories.includes(partyId) ? [partyId] : [],
29
- recipients: event.signatories.includes(partyId) ? [] : [partyId],
30
- asset: event.contract_id === getNativeContractId()
31
- ? { type: "native" }
32
- : { type: "token", assetReference: event.contract_id },
33
- tx: {
34
- hash: tx.update_id,
35
- fees: BigInt(0), // to be finalized when details are available on backend
36
- date: new Date(tx.record_time.seconds),
37
- block: {
38
- height: tx.offset,
39
- time: new Date(tx.effective_at.seconds),
40
- },
16
+ for (const tx of operations) {
17
+ if (tx.type === "Send") {
18
+ ops.push({
19
+ id: tx.uid,
20
+ type: tx.senders.includes(partyId) ? "OUT" : "IN",
21
+ value: BigInt(tx.transfers[0].value),
22
+ senders: tx.senders,
23
+ recipients: tx.recipients,
24
+ asset: tx.asset,
25
+ tx: {
26
+ hash: tx.block.hash,
27
+ fees: BigInt(tx.fee.value),
28
+ date: new Date(tx.transaction_timestamp),
29
+ block: {
30
+ height: tx.block.height,
31
+ time: new Date(tx.block.time),
41
32
  },
42
- });
43
- }
33
+ },
34
+ });
44
35
  }
45
36
  }
46
37
  return [ops, next + ""];
@@ -1 +1 @@
1
- {"version":3,"file":"listOperations.js","sourceRoot":"","sources":["../../../src/common-logic/history/listOperations.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,eAAe,EAAU,MAAM,uBAAuB,CAAC;AAC9E,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAC/B,UAAU,CAAC,aAAa,EAAE,CAAC,kBAAkB,KAAK,SAAS;IACzD,CAAC,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC,EAAE,CAAC;AAET;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAe,EACf,IAAgB;IAEhB,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE;QAC5D,MAAM,EAAE,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;QAC/E,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC,CAAC;IACH,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAiB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAiB,CAAC;YAC/E,IAAI,KAAK,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW,KAAK,eAAe,EAAE,CAAC;gBAC/D,GAAG,CAAC,IAAI,CAAC;oBACP,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,GAAG,GAAG,CAAC;oBAC1B,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;oBACxD,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,wDAAwD;oBAC1E,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;oBAC7D,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBAChE,KAAK,EACH,KAAK,CAAC,WAAW,KAAK,mBAAmB,EAAE;wBACzC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACpB,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,WAAW,EAAE;oBAC1D,EAAE,EAAE;wBACF,IAAI,EAAE,EAAE,CAAC,SAAS;wBAClB,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,wDAAwD;wBACzE,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC;wBACtC,KAAK,EAAE;4BACL,MAAM,EAAE,EAAE,CAAC,MAAM;4BACjB,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC;yBACxC;qBACF;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"listOperations.js","sourceRoot":"","sources":["../../../src/common-logic/history/listOperations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAe,EACf,IAAgB;IAEhB,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE;QACxD,MAAM,EAAE,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;QAC/E,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC,CAAC;IACH,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;QAC5B,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACvB,GAAG,CAAC,IAAI,CAAC;gBACP,EAAE,EAAE,EAAE,CAAC,GAAG;gBACV,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;gBACjD,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACpC,OAAO,EAAE,EAAE,CAAC,OAAO;gBACnB,UAAU,EAAE,EAAE,CAAC,UAAU;gBACzB,KAAK,EAAE,EAAE,CAAC,KAAK;gBACf,EAAE,EAAE;oBACF,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI;oBACnB,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;oBAC1B,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC;oBACxC,KAAK,EAAE;wBACL,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM;wBACvB,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;qBAC9B;iBACF;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;AAC1B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import BigNumber from "bignumber.js";
2
- import { BoilerplateNativeTransaction } from "../../types";
2
+ import { PrepareTransferResponse } from "../../network/gateway";
3
3
  export declare function craftTransaction(account: {
4
4
  address: string;
5
5
  nextSequenceNumber?: number;
@@ -7,9 +7,10 @@ export declare function craftTransaction(account: {
7
7
  }, transaction: {
8
8
  recipient?: string;
9
9
  amount: BigNumber;
10
- fee?: BigNumber;
10
+ tokenId: string;
11
+ expireInSeconds: number;
11
12
  }): Promise<{
12
- nativeTransaction: BoilerplateNativeTransaction;
13
+ nativeTransaction: PrepareTransferResponse;
13
14
  serializedTransaction: string;
14
15
  }>;
15
16
  //# sourceMappingURL=craftTransaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"craftTransaction.d.ts","sourceRoot":"","sources":["../../../src/common-logic/transaction/craftTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAI3D,wBAAsB,gBAAgB,CACpC,OAAO,EAAE;IACP,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,EACD,WAAW,EAAE;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,GAAG,CAAC,EAAE,SAAS,CAAC;CACjB,GACA,OAAO,CAAC;IACT,iBAAiB,EAAE,4BAA4B,CAAC;IAChD,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC,CAgBD"}
1
+ {"version":3,"file":"craftTransaction.d.ts","sourceRoot":"","sources":["../../../src/common-logic/transaction/craftTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAA0B,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAExF,wBAAsB,gBAAgB,CACpC,OAAO,EAAE;IACP,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,EACD,WAAW,EAAE;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;CACzB,GACA,OAAO,CAAC;IACT,iBAAiB,EAAE,uBAAuB,CAAC;IAC3C,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC,CAaD"}
@@ -1,17 +1,15 @@
1
- const encodeNativeTx = (nativeTx) => JSON.stringify(nativeTx);
1
+ import { prepareTransferRequest } from "../../network/gateway";
2
2
  export async function craftTransaction(account, transaction) {
3
- const nativeTransaction = {
4
- TransactionType: "Payment",
5
- Account: account.address,
6
- Amount: transaction.amount.toString(),
7
- Destination: transaction.recipient || "",
8
- Fee: transaction.fee?.toString() || "0",
9
- Sequence: account.nextSequenceNumber || 0,
10
- };
11
- const serializedTransaction = encodeNativeTx(nativeTransaction);
3
+ const { serialized, json } = await prepareTransferRequest(account.address, {
4
+ recipient: transaction.recipient || "",
5
+ amount: transaction.amount.toNumber(),
6
+ type: "token-transfer-request",
7
+ execute_before_secs: transaction.expireInSeconds,
8
+ instrument_id: transaction.tokenId,
9
+ });
12
10
  return {
13
- nativeTransaction,
14
- serializedTransaction,
11
+ nativeTransaction: json,
12
+ serializedTransaction: serialized,
15
13
  };
16
14
  }
17
15
  //# sourceMappingURL=craftTransaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"craftTransaction.js","sourceRoot":"","sources":["../../../src/common-logic/transaction/craftTransaction.ts"],"names":[],"mappings":"AAGA,MAAM,cAAc,GAAG,CAAC,QAAsC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE5F,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAIC,EACD,WAIC;IAKD,MAAM,iBAAiB,GAAiC;QACtD,eAAe,EAAE,SAAS;QAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE;QACrC,WAAW,EAAE,WAAW,CAAC,SAAS,IAAI,EAAE;QACxC,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,GAAG;QACvC,QAAQ,EAAE,OAAO,CAAC,kBAAkB,IAAI,CAAC;KAC1C,CAAC;IAEF,MAAM,qBAAqB,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAEhE,OAAO;QACL,iBAAiB;QACjB,qBAAqB;KACtB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"craftTransaction.js","sourceRoot":"","sources":["../../../src/common-logic/transaction/craftTransaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAA2B,MAAM,uBAAuB,CAAC;AAExF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAIC,EACD,WAKC;IAKD,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,OAAO,EAAE;QACzE,SAAS,EAAE,WAAW,CAAC,SAAS,IAAI,EAAE;QACtC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE;QACrC,IAAI,EAAE,wBAAwB;QAC9B,mBAAmB,EAAE,WAAW,CAAC,eAAe;QAChD,aAAa,EAAE,WAAW,CAAC,OAAO;KACnC,CAAC,CAAC;IAEH,OAAO;QACL,iBAAiB,EAAE,IAAI;QACvB,qBAAqB,EAAE,UAAU;KAClC,CAAC;AACJ,CAAC"}
@@ -1,13 +1,52 @@
1
+ import { PrepareTransactionResponse, PreApprovalResult } from "../types/onboard";
1
2
  type OnboardingPrepareResponse = {
2
3
  party_id: string;
3
4
  party_name: string;
4
5
  public_key_fingerprint: string;
5
- topology_transactions_hash: string;
6
+ transactions: {
7
+ namespace_transaction: {
8
+ serialized: string;
9
+ json: object;
10
+ hash: string;
11
+ };
12
+ party_to_key_transaction: {
13
+ serialized: string;
14
+ json: object;
15
+ hash: string;
16
+ };
17
+ party_to_participant_transaction: {
18
+ serialized: string;
19
+ json: object;
20
+ hash: string;
21
+ };
22
+ combined_hash: string;
23
+ };
6
24
  };
7
25
  type OnboardingPrepareRequest = {
8
26
  public_key: string;
9
27
  public_key_type: string;
10
28
  };
29
+ export type PrepareTransferResponse = {
30
+ hash: string;
31
+ json: any;
32
+ serialized: string;
33
+ };
34
+ export type PrepareTransferRequest = {
35
+ type: "token-transfer-request";
36
+ amount: number;
37
+ recipient: string;
38
+ execute_before_secs: number;
39
+ instrument_id: string;
40
+ reason?: string;
41
+ };
42
+ export type PrepareTapRequest = {
43
+ type: "tap-request";
44
+ amount: number;
45
+ };
46
+ export type PreparePreapprovalRequest = {
47
+ type: "transfer-pre-approval-proposal";
48
+ receiver: string;
49
+ };
11
50
  type OnboardingSubmitResponse = {
12
51
  party: {
13
52
  party_id: string;
@@ -43,6 +82,11 @@ export type CreatedEvent = BaseEvent & {
43
82
  };
44
83
  signatories: string[];
45
84
  observers: string[];
85
+ details: {
86
+ createArguments: {
87
+ fields: unknown[];
88
+ };
89
+ };
46
90
  };
47
91
  type ExercisedEvent = BaseEvent & {
48
92
  template_id: {
@@ -66,21 +110,168 @@ export type TxInfo = {
66
110
  events: Record<string, Event>[];
67
111
  trace_context: string;
68
112
  };
113
+ export type OperationInfo = {
114
+ uid: string;
115
+ transaction_hash: string;
116
+ transaction_timestamp: string;
117
+ status: "Success";
118
+ type: "Initialize";
119
+ senders: string[];
120
+ recipients: string[];
121
+ transfers: [
122
+ {
123
+ address: string;
124
+ type: "Initialize";
125
+ value: string;
126
+ asset: string;
127
+ details: {
128
+ type: "pre-approval";
129
+ };
130
+ }
131
+ ];
132
+ block: {
133
+ height: number;
134
+ time: string;
135
+ hash: string;
136
+ };
137
+ fee: {
138
+ value: string;
139
+ asset: {
140
+ type: "native";
141
+ issuer: null;
142
+ };
143
+ details: {
144
+ type: string;
145
+ };
146
+ };
147
+ asset: {
148
+ type: "token";
149
+ issuer: string;
150
+ };
151
+ details: {
152
+ type: "pre-approval";
153
+ };
154
+ } | {
155
+ uid: string;
156
+ transaction_hash: string;
157
+ transaction_timestamp: string;
158
+ status: "Success";
159
+ type: "Receive";
160
+ senders: string[];
161
+ recipients: string[];
162
+ transfers: [
163
+ {
164
+ address: string;
165
+ type: "Receive";
166
+ value: string;
167
+ asset: string;
168
+ details: {
169
+ type: "tap";
170
+ };
171
+ }
172
+ ];
173
+ block: {
174
+ height: number;
175
+ time: string;
176
+ hash: string;
177
+ };
178
+ fee: {
179
+ value: string;
180
+ asset: {
181
+ type: "native";
182
+ issuer: null;
183
+ };
184
+ details: {
185
+ type: string;
186
+ };
187
+ };
188
+ asset: {
189
+ type: "native";
190
+ issuer: null;
191
+ };
192
+ details: {
193
+ type: "tap";
194
+ };
195
+ } | {
196
+ uid: string;
197
+ transaction_hash: string;
198
+ transaction_timestamp: string;
199
+ status: "Success";
200
+ type: "Send";
201
+ senders: string[];
202
+ recipients: string[];
203
+ transfers: [
204
+ {
205
+ address: string;
206
+ type: "Send";
207
+ value: string;
208
+ asset: string;
209
+ details: {
210
+ type: "transfer";
211
+ };
212
+ }
213
+ ];
214
+ block: {
215
+ height: number;
216
+ time: string;
217
+ hash: string;
218
+ };
219
+ fee: {
220
+ value: string;
221
+ asset: {
222
+ type: "native";
223
+ issuer: null;
224
+ };
225
+ details: {
226
+ type: string;
227
+ };
228
+ };
229
+ asset: {
230
+ type: "native";
231
+ issuer: null;
232
+ };
233
+ details: {
234
+ type: "transfer";
235
+ };
236
+ };
69
237
  export declare function prepareOnboarding(pubKey: string, pubKeyType: string): Promise<OnboardingPrepareResponse>;
70
238
  export declare function submitOnboarding(prepareRequest: OnboardingPrepareRequest, prepareResponse: OnboardingPrepareResponse, signature: string): Promise<OnboardingSubmitResponse>;
71
239
  export declare function submit(serializedTx: string, signature: string): Promise<TransactionSubmitResponse>;
72
240
  export declare function getBalance(partyId: string): Promise<InstrumentBalance[]>;
73
241
  export declare function getPartyById(partyId: string): Promise<PartyInfo>;
74
242
  export declare function getPartyByPubKey(pubKey: string): Promise<PartyInfo>;
75
- export declare function getTransactions(partyId: string, options?: {
243
+ export declare function getOperations(partyId: string, options?: {
76
244
  cursor?: number | undefined;
77
245
  minOffset?: number | undefined;
78
246
  maxOffset?: number | undefined;
79
247
  limit?: number | undefined;
80
248
  }): Promise<{
81
249
  next: number;
82
- transactions: TxInfo[];
250
+ operations: OperationInfo[];
83
251
  }>;
252
+ type PrepareTapRequestRequest = {
253
+ partyId: string;
254
+ amount?: number;
255
+ };
256
+ type PrepareTapRequestResponse = {
257
+ serialized: "string";
258
+ json: null;
259
+ hash: "string";
260
+ };
261
+ export declare function prepareTapRequest({ partyId, amount, }: PrepareTapRequestRequest): Promise<PrepareTapRequestResponse>;
262
+ type SubmitTapRequestRequest = {
263
+ partyId: string;
264
+ serialized: string;
265
+ signature: string;
266
+ };
267
+ type SubmitTapRequestResponse = {
268
+ submission_id: string;
269
+ update_id: string;
270
+ };
271
+ export declare function submitTapRequest({ partyId, serialized, signature, }: SubmitTapRequestRequest): Promise<SubmitTapRequestResponse>;
272
+ export declare function prepareTransferRequest(partyId: string, params: PrepareTransferRequest): Promise<PrepareTransferResponse>;
84
273
  export declare function getLedgerEnd(): Promise<number>;
274
+ export declare function preparePreApprovalTransaction(partyId: string): Promise<PrepareTransactionResponse>;
275
+ export declare function submitPreApprovalTransaction(partyId: string, { serialized }: PrepareTransactionResponse, signature: string): Promise<PreApprovalResult>;
85
276
  export {};
86
277
  //# sourceMappingURL=gateway.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/network/gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/network/gateway.ts"],"names":[],"mappings":"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"}