@ledgerhq/live-cli 24.33.0 → 24.33.1-nightly.20260219030357

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 (2) hide show
  1. package/lib/cli.js +1083 -404
  2. package/package.json +2 -2
package/lib/cli.js CHANGED
@@ -594110,12 +594110,12 @@ function __disposeResources(env) {
594110
594110
  },
594111
594111
  "./package.json"(module) {
594112
594112
  "use strict";
594113
- module.exports = {"rE":"24.33.0"}
594113
+ module.exports = JSON.parse('{"rE":"24.33.1-nightly.20260219030357"}')
594114
594114
 
594115
594115
  },
594116
594116
  "../../libs/ledger-live-common/package.json"(module) {
594117
594117
  "use strict";
594118
- module.exports = {"rE":"34.61.0"}
594118
+ module.exports = JSON.parse('{"rE":"34.62.0-nightly.20260219030357"}')
594119
594119
 
594120
594120
  },
594121
594121
  "../../node_modules/.pnpm/@ethereumjs+common@2.6.5/node_modules/@ethereumjs/common/dist/chains/goerli.json"(module) {
@@ -595523,15 +595523,25 @@ const envDefinitions = {
595523
595523
  desc: "Thorest API for VeChain"
595524
595524
  },
595525
595525
  ALEO_MAINNET_NODE_ENDPOINT: {
595526
- def: "https://api.explorer.provable.com/v2/mainnet",
595526
+ def: "https://api.provable.com",
595527
595527
  parser: stringParser,
595528
595528
  desc: "Aleo mainnet node URL"
595529
595529
  },
595530
+ ALEO_MAINNET_SDK_ENDPOINT: {
595531
+ def: "https://aleo-backend.api.live.ledger.com/network/mainnet",
595532
+ parser: stringParser,
595533
+ desc: "Aleo mainnet SDK URL"
595534
+ },
595530
595535
  ALEO_TESTNET_NODE_ENDPOINT: {
595531
- def: "https://api.explorer.provable.com/v2/testnet",
595536
+ def: "https://api.provable.com",
595532
595537
  parser: stringParser,
595533
595538
  desc: "Aleo testnet node URL"
595534
595539
  },
595540
+ ALEO_TESTNET_SDK_ENDPOINT: {
595541
+ def: "https://aleo-backend.api.live.ledger.com/network/testnet",
595542
+ parser: stringParser,
595543
+ desc: "Aleo testnet SDK URL"
595544
+ },
595535
595545
  BASE_SOCKET_URL: {
595536
595546
  def: "wss://scriptrunner.api.live.ledger.com/update",
595537
595547
  parser: stringParser,
@@ -613690,7 +613700,7 @@ function setWalletAPIVersion(v) {
613690
613700
  version_version = v;
613691
613701
  } //# sourceMappingURL=version.js.map
613692
613702
 
613693
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/accounts/serializers.js
613703
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/accounts/serializers.js
613694
613704
 
613695
613705
  /**
613696
613706
  * Serialize an [[Account]] object in order to send it over JSON-RPC protocol
@@ -617939,7 +617949,7 @@ const types_coerce = (/* unused pure expression or super */ null && ({
617939
617949
 
617940
617950
  const NEVER = (/* unused pure expression or super */ null && (INVALID));
617941
617951
 
617942
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/accounts/validation.js
617952
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/accounts/validation.js
617943
617953
 
617944
617954
  const schemaRawAccount = types_objectType({
617945
617955
  id: stringType(),
@@ -617953,12 +617963,12 @@ const schemaRawAccount = types_objectType({
617953
617963
  parentAccountId: stringType().optional(),
617954
617964
  });
617955
617965
  //# sourceMappingURL=validation.js.map
617956
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/accounts/index.js
617966
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/accounts/index.js
617957
617967
 
617958
617968
 
617959
617969
 
617960
617970
  //# sourceMappingURL=index.js.map
617961
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/currencies/validation.js
617971
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/currencies/validation.js
617962
617972
 
617963
617973
  const schemaCurrencyType = enumType(["CryptoCurrency", "TokenCurrency"]);
617964
617974
  const schemaTokenStandard = enumType(["ERC20"]);
@@ -617986,11 +617996,11 @@ const schemaCurrency = discriminatedUnionType("type", [
617986
617996
  schemaERC20TokenCurrency,
617987
617997
  ]);
617988
617998
  //# sourceMappingURL=validation.js.map
617989
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/currencies/index.js
617999
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/currencies/index.js
617990
618000
 
617991
618001
 
617992
618002
  //# sourceMappingURL=index.js.map
617993
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/common.js
618003
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/common.js
617994
618004
 
617995
618005
  const schemaTransactionCommon = types_objectType({
617996
618006
  amount: stringType(),
@@ -618026,7 +618036,7 @@ const FAMILIES = [
618026
618036
  ];
618027
618037
  const schemaFamilies = enumType(FAMILIES);
618028
618038
  //# sourceMappingURL=common.js.map
618029
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/algorand/serializer.js
618039
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/algorand/serializer.js
618030
618040
 
618031
618041
  const serializeAlgorandTransaction = ({ family, mode, fees, assetId, memo, amount, recipient, }) => ({
618032
618042
  family,
@@ -618047,7 +618057,7 @@ const serializer_deserializeAlgorandTransaction = ({ family, mode, fees, assetId
618047
618057
  assetId,
618048
618058
  });
618049
618059
  //# sourceMappingURL=serializer.js.map
618050
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/aptos/serializer.js
618060
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/aptos/serializer.js
618051
618061
 
618052
618062
  const serializeAptosTransaction = ({ family, mode, fees, amount, recipient, }) => ({
618053
618063
  family,
@@ -618064,7 +618074,7 @@ const serializer_deserializeAptosTransaction = ({ family, mode, fees, amount, re
618064
618074
  mode,
618065
618075
  });
618066
618076
  //# sourceMappingURL=serializer.js.map
618067
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/bitcoin/serializer.js
618077
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/bitcoin/serializer.js
618068
618078
 
618069
618079
  function serializeBitcoinTransaction({ family, amount, recipient, feePerByte, opReturnData, changeAddress, }) {
618070
618080
  return {
@@ -618089,7 +618099,7 @@ function serializer_deserializeBitcoinTransaction({ family, amount, recipient, f
618089
618099
  };
618090
618100
  }
618091
618101
  //# sourceMappingURL=serializer.js.map
618092
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/celo/serializer.js
618102
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/celo/serializer.js
618093
618103
 
618094
618104
  function serializeCeloTransaction({ amount, family, fees = undefined, index = undefined, mode, recipient, }) {
618095
618105
  return {
@@ -618112,7 +618122,7 @@ function serializer_deserializeCeloTransaction({ amount, family, fees = undefine
618112
618122
  };
618113
618123
  }
618114
618124
  //# sourceMappingURL=serializer.js.map
618115
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/cosmos/serializer.js
618125
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/cosmos/serializer.js
618116
618126
 
618117
618127
  const serializeCosmosTransaction = ({ amount, recipient, family, mode, fees, gas, memo, sourceValidator, validators, }) => ({
618118
618128
  amount: amount.toString(),
@@ -618147,7 +618157,7 @@ const serializer_deserializeCosmosTransaction = ({ amount, recipient, family, mo
618147
618157
  : undefined,
618148
618158
  });
618149
618159
  //# sourceMappingURL=serializer.js.map
618150
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/crypto_org/serializer.js
618160
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/crypto_org/serializer.js
618151
618161
 
618152
618162
  const serializeCryptoOrgTransaction = ({ family, mode, fees, amount, recipient, }) => ({
618153
618163
  family,
@@ -618164,7 +618174,7 @@ const serializer_deserializeCryptoOrgTransaction = ({ family, mode, fees, amount
618164
618174
  mode,
618165
618175
  });
618166
618176
  //# sourceMappingURL=serializer.js.map
618167
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/ethereum/serializer.js
618177
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/ethereum/serializer.js
618168
618178
 
618169
618179
  function serializeEthereumTransaction({ family, amount, recipient, nonce, data, gasPrice, gasLimit, maxPriorityFeePerGas, maxFeePerGas, sponsored, }) {
618170
618180
  return {
@@ -618199,7 +618209,7 @@ function serializer_deserializeEthereumTransaction({ family, amount, recipient,
618199
618209
  };
618200
618210
  }
618201
618211
  //# sourceMappingURL=serializer.js.map
618202
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/near/serializer.js
618212
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/near/serializer.js
618203
618213
 
618204
618214
  function serializer_serialize({ amount, recipient, family, mode, fees, }) {
618205
618215
  return {
@@ -618220,7 +618230,7 @@ function deserialize({ amount, recipient, family, mode, fees, }) {
618220
618230
  };
618221
618231
  }
618222
618232
  //# sourceMappingURL=serializer.js.map
618223
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/hedera/serializer.js
618233
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/hedera/serializer.js
618224
618234
 
618225
618235
  function serializeHederaTransaction({ amount, family, memo = undefined, recipient, }) {
618226
618236
  return {
@@ -618239,7 +618249,7 @@ function serializer_deserializeHederaTransaction({ amount, family, memo = undefi
618239
618249
  };
618240
618250
  }
618241
618251
  //# sourceMappingURL=serializer.js.map
618242
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/kaspa/serializer.js
618252
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/kaspa/serializer.js
618243
618253
 
618244
618254
  function serializeKaspaTransaction({ family, amount, recipient, customFeeRate, }) {
618245
618255
  return {
@@ -618258,7 +618268,7 @@ function serializer_deserializeKaspaTransaction({ family, amount, recipient, cus
618258
618268
  };
618259
618269
  }
618260
618270
  //# sourceMappingURL=serializer.js.map
618261
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/filecoin/serializer.js
618271
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/filecoin/serializer.js
618262
618272
 
618263
618273
  function serializeFilecoinTransaction({ amount, data = undefined, family, method, nonce, params = undefined, gasLimit, gasFeeCap, gasPremium, recipient, version, }) {
618264
618274
  return {
@@ -618291,7 +618301,7 @@ function serializer_deserializeFilecoinTransaction({ amount, data = undefined, f
618291
618301
  };
618292
618302
  }
618293
618303
  //# sourceMappingURL=serializer.js.map
618294
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/neo/serializer.js
618304
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/neo/serializer.js
618295
618305
 
618296
618306
  function neo_serializer_serialize({ amount, recipient, family, }) {
618297
618307
  return {
@@ -618308,7 +618318,7 @@ function serializer_deserialize({ amount, recipient, family, }) {
618308
618318
  };
618309
618319
  }
618310
618320
  //# sourceMappingURL=serializer.js.map
618311
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/polkadot/serializer.js
618321
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/polkadot/serializer.js
618312
618322
 
618313
618323
  const serializePolkadotTransaction = ({ amount, recipient, family, mode, fee, era, validators, numOfSlashingSpans, rewardDestination, }) => ({
618314
618324
  amount: amount.toString(),
@@ -618333,7 +618343,7 @@ const serializer_deserializePolkadotTransaction = ({ amount, recipient, family,
618333
618343
  rewardDestination,
618334
618344
  });
618335
618345
  //# sourceMappingURL=serializer.js.map
618336
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/ripple/serializer.js
618346
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/ripple/serializer.js
618337
618347
 
618338
618348
  const serializeRippleTransaction = ({ family, fee, tag, amount, recipient, }) => ({
618339
618349
  family,
@@ -618350,7 +618360,7 @@ const serializer_deserializeRippleTransaction = ({ family, fee, tag, amount, rec
618350
618360
  tag,
618351
618361
  });
618352
618362
  //# sourceMappingURL=serializer.js.map
618353
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/stellar/serializer.js
618363
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/stellar/serializer.js
618354
618364
 
618355
618365
  const serializeStellarTransaction = ({ amount, recipient, family, fees, memoType, memoValue, }) => ({
618356
618366
  amount: amount.toString(),
@@ -618369,7 +618379,7 @@ const serializer_deserializeStellarTransaction = ({ amount, recipient, family, f
618369
618379
  memoValue,
618370
618380
  });
618371
618381
  //# sourceMappingURL=serializer.js.map
618372
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/tezos/serializer.js
618382
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/tezos/serializer.js
618373
618383
 
618374
618384
  const serializeTezosTransaction = ({ amount, recipient, family, mode, fees, gasLimit, }) => ({
618375
618385
  amount: amount.toString(),
@@ -618390,7 +618400,7 @@ const serializer_deserializeTezosTransaction = ({ amount, recipient, family, mod
618390
618400
  //# sourceMappingURL=serializer.js.map
618391
618401
  // EXTERNAL MODULE: ../../node_modules/.pnpm/@ton+core@0.62.0_patch_hash=9329da4fb3122df62d833d0c4d847d33a35a9457ee48997870bc044fc80b7324_@ton+crypto@3.3.0/node_modules/@ton/core/dist/index.js
618392
618402
  var core_dist = __webpack_require__("../../node_modules/.pnpm/@ton+core@0.62.0_patch_hash=9329da4fb3122df62d833d0c4d847d33a35a9457ee48997870bc044fc80b7324_@ton+crypto@3.3.0/node_modules/@ton/core/dist/index.js");
618393
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/ton/serializer.js
618403
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/ton/serializer.js
618394
618404
 
618395
618405
 
618396
618406
  const serializeTonTransaction = ({ amount, recipient, family, fees, comment, payload, }) => ({
@@ -618706,7 +618716,7 @@ const toTransactionPayloadRaw = (payload) => {
618706
618716
  }
618707
618717
  };
618708
618718
  //# sourceMappingURL=serializer.js.map
618709
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/tron/serializer.js
618719
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/tron/serializer.js
618710
618720
 
618711
618721
  const serializeTronTransaction = ({ amount, recipient, family, mode, resource, duration, votes, }) => ({
618712
618722
  amount: amount.toString(),
@@ -618727,7 +618737,7 @@ const serializer_deserializeTronTransaction = ({ amount, recipient, family, mode
618727
618737
  votes,
618728
618738
  });
618729
618739
  //# sourceMappingURL=serializer.js.map
618730
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/elrond/serializer.js
618740
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/elrond/serializer.js
618731
618741
 
618732
618742
  function serializeElrondTransaction({ amount, data, family, fees, gasLimit, mode, recipient, }) {
618733
618743
  return {
@@ -618752,7 +618762,7 @@ function serializer_deserializeElrondTransaction({ amount, data, family, fees, g
618752
618762
  };
618753
618763
  }
618754
618764
  //# sourceMappingURL=serializer.js.map
618755
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/cardano/serializer.js
618765
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/cardano/serializer.js
618756
618766
 
618757
618767
  function serializeCardanoTransaction({ amount, family, fees, memo, mode, recipient, }) {
618758
618768
  return {
@@ -618775,7 +618785,7 @@ function serializer_deserializeCardanoTransaction({ amount, family, fees, memo,
618775
618785
  };
618776
618786
  }
618777
618787
  //# sourceMappingURL=serializer.js.map
618778
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/solana/serializer.js
618788
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/solana/serializer.js
618779
618789
 
618780
618790
  function serializeSolanaTransaction({ amount, family, model, recipient, raw, }) {
618781
618791
  return {
@@ -618797,7 +618807,7 @@ function serializer_deserializeSolanaTransaction({ family, amount, model, recipi
618797
618807
  };
618798
618808
  }
618799
618809
  //# sourceMappingURL=serializer.js.map
618800
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/vechain/serializer.js
618810
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/vechain/serializer.js
618801
618811
 
618802
618812
  const serializeVechainTransaction = ({ amount, recipient, family, estimatedFees, body, }) => ({
618803
618813
  amount: amount.toString(),
@@ -618814,7 +618824,7 @@ const serializer_deserializeVechainTransaction = ({ amount, recipient, family, e
618814
618824
  body,
618815
618825
  });
618816
618826
  //# sourceMappingURL=serializer.js.map
618817
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/stacks/serializer.js
618827
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/stacks/serializer.js
618818
618828
 
618819
618829
  const serializeStacksTransaction = ({ amount, recipient, family, fee, nonce, memo, network, anchorMode, }) => ({
618820
618830
  amount: amount.toString(),
@@ -618837,7 +618847,7 @@ const serializer_deserializeStacksTransaction = ({ amount, recipient, family, fe
618837
618847
  anchorMode,
618838
618848
  });
618839
618849
  //# sourceMappingURL=serializer.js.map
618840
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/internet_computer/serializer.js
618850
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/internet_computer/serializer.js
618841
618851
 
618842
618852
  const serializeInternetComputerTransaction = ({ amount, recipient, family, fees, memo, }) => ({
618843
618853
  amount: amount.toFixed(),
@@ -618854,7 +618864,7 @@ const serializer_deserializeInternetComputerTransaction = ({ amount, recipient,
618854
618864
  memo,
618855
618865
  });
618856
618866
  //# sourceMappingURL=serializer.js.map
618857
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/casper/serializer.js
618867
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/casper/serializer.js
618858
618868
 
618859
618869
  const serializeCasperTransaction = ({ amount, recipient, family, fees, transferId, }) => ({
618860
618870
  amount: amount.toFixed(),
@@ -618871,7 +618881,7 @@ const serializer_deserializeCasperTransaction = ({ amount, recipient, family, fe
618871
618881
  transferId,
618872
618882
  });
618873
618883
  //# sourceMappingURL=serializer.js.map
618874
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/sui/serializer.js
618884
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/sui/serializer.js
618875
618885
 
618876
618886
  function serializeSuiTransaction({ amount, recipient, family, mode, fees, }) {
618877
618887
  return {
@@ -618892,7 +618902,7 @@ function serializer_deserializeSuiTransaction({ amount, recipient, family, mode,
618892
618902
  };
618893
618903
  }
618894
618904
  //# sourceMappingURL=serializer.js.map
618895
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/serializer.js
618905
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/serializer.js
618896
618906
 
618897
618907
 
618898
618908
 
@@ -619056,7 +619066,7 @@ function deserializeTransaction(rawTransaction) {
619056
619066
  }
619057
619067
  }
619058
619068
  //# sourceMappingURL=serializer.js.map
619059
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/algorand/validation.js
619069
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/algorand/validation.js
619060
619070
 
619061
619071
 
619062
619072
  const schemaAlgorandOperationMode = enumType([
@@ -619073,7 +619083,7 @@ const schemaRawAlgorandTransaction = schemaTransactionCommon.extend({
619073
619083
  memo: stringType().optional(),
619074
619084
  });
619075
619085
  //# sourceMappingURL=validation.js.map
619076
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/aptos/validation.js
619086
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/aptos/validation.js
619077
619087
 
619078
619088
 
619079
619089
  const schemaAptosOperationMode = enumType(["send"]);
@@ -619083,7 +619093,7 @@ const schemaRawAptosTransaction = schemaTransactionCommon.extend({
619083
619093
  fees: stringType().optional(),
619084
619094
  });
619085
619095
  //# sourceMappingURL=validation.js.map
619086
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/bitcoin/validation.js
619096
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/bitcoin/validation.js
619087
619097
 
619088
619098
 
619089
619099
  const schemaRawBitcoinTransaction = schemaTransactionCommon.extend({
@@ -619093,7 +619103,7 @@ const schemaRawBitcoinTransaction = schemaTransactionCommon.extend({
619093
619103
  changeAddress: stringType().optional(),
619094
619104
  });
619095
619105
  //# sourceMappingURL=validation.js.map
619096
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/celo/validation.js
619106
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/celo/validation.js
619097
619107
 
619098
619108
 
619099
619109
  const schemaOperationMode = enumType([
@@ -619113,7 +619123,7 @@ const schemaRawCeloTransaction = schemaTransactionCommon.extend({
619113
619123
  index: numberType().optional().nullable(),
619114
619124
  });
619115
619125
  //# sourceMappingURL=validation.js.map
619116
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/cosmos/validation.js
619126
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/cosmos/validation.js
619117
619127
 
619118
619128
 
619119
619129
  const schemaCosmosOperationMode = enumType([
@@ -619138,7 +619148,7 @@ const schemaRawCosmosTransaction = schemaTransactionCommon.extend({
619138
619148
  validators: types_arrayType(cosmosDelegationInfo).optional(),
619139
619149
  });
619140
619150
  //# sourceMappingURL=validation.js.map
619141
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/crypto_org/validation.js
619151
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/crypto_org/validation.js
619142
619152
 
619143
619153
 
619144
619154
  const schemaRawCryptoOrgTransaction = schemaTransactionCommon.extend({
@@ -619147,7 +619157,7 @@ const schemaRawCryptoOrgTransaction = schemaTransactionCommon.extend({
619147
619157
  fees: stringType().optional(),
619148
619158
  });
619149
619159
  //# sourceMappingURL=validation.js.map
619150
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/ethereum/validation.js
619160
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/ethereum/validation.js
619151
619161
 
619152
619162
 
619153
619163
  const schemaRawEthereumTransaction = schemaTransactionCommon.extend({
@@ -619161,7 +619171,7 @@ const schemaRawEthereumTransaction = schemaTransactionCommon.extend({
619161
619171
  sponsored: booleanType().optional(),
619162
619172
  });
619163
619173
  //# sourceMappingURL=validation.js.map
619164
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/near/validation.js
619174
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/near/validation.js
619165
619175
 
619166
619176
 
619167
619177
  const schemaRawNearTransaction = schemaTransactionCommon.extend({
@@ -619170,14 +619180,14 @@ const schemaRawNearTransaction = schemaTransactionCommon.extend({
619170
619180
  fees: stringType().optional(),
619171
619181
  });
619172
619182
  //# sourceMappingURL=validation.js.map
619173
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/neo/validation.js
619183
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/neo/validation.js
619174
619184
 
619175
619185
 
619176
619186
  const schemaRawNeoTransaction = schemaTransactionCommon.extend({
619177
619187
  family: literalType(schemaFamilies["enum"].neo),
619178
619188
  });
619179
619189
  //# sourceMappingURL=validation.js.map
619180
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/polkadot/validation.js
619190
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/polkadot/validation.js
619181
619191
 
619182
619192
 
619183
619193
  const schemaPolkadotOperationMode = enumType([
@@ -619208,7 +619218,7 @@ const schemaRawPolkadotTransaction = schemaTransactionCommon.extend({
619208
619218
  numOfSlashingSpans: numberType().optional(),
619209
619219
  });
619210
619220
  //# sourceMappingURL=validation.js.map
619211
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/ripple/validation.js
619221
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/ripple/validation.js
619212
619222
 
619213
619223
 
619214
619224
  const schemaRawRippleTransaction = schemaTransactionCommon.extend({
@@ -619217,7 +619227,7 @@ const schemaRawRippleTransaction = schemaTransactionCommon.extend({
619217
619227
  tag: numberType(),
619218
619228
  });
619219
619229
  //# sourceMappingURL=validation.js.map
619220
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/solana/validation.js
619230
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/solana/validation.js
619221
619231
 
619222
619232
 
619223
619233
  const schemaRawSolanaTransaction = schemaTransactionCommon.extend({
@@ -619226,7 +619236,7 @@ const schemaRawSolanaTransaction = schemaTransactionCommon.extend({
619226
619236
  raw: optionalType(stringType()),
619227
619237
  });
619228
619238
  //# sourceMappingURL=validation.js.map
619229
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/stellar/validation.js
619239
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/stellar/validation.js
619230
619240
 
619231
619241
 
619232
619242
  const stellarMemoTypeEnum = enumType([
@@ -619242,7 +619252,7 @@ const schemaRawStellarTransaction = schemaTransactionCommon.extend({
619242
619252
  memoValue: stringType().optional(),
619243
619253
  });
619244
619254
  //# sourceMappingURL=validation.js.map
619245
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/tezos/validation.js
619255
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/tezos/validation.js
619246
619256
 
619247
619257
 
619248
619258
  const schemaTezosOperationMode = enumType([
@@ -619257,7 +619267,7 @@ const schemaRawTezosTransaction = schemaTransactionCommon.extend({
619257
619267
  gasLimit: stringType().optional(),
619258
619268
  });
619259
619269
  //# sourceMappingURL=validation.js.map
619260
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/ton/validation.js
619270
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/ton/validation.js
619261
619271
 
619262
619272
 
619263
619273
  const schemaTonComment = types_objectType({
@@ -619407,7 +619417,7 @@ const schemaRawTonTransaction = schemaTransactionCommon.extend({
619407
619417
  payload: schemaTonPayloadFormatRaw.optional(),
619408
619418
  });
619409
619419
  //# sourceMappingURL=validation.js.map
619410
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/tron/validation.js
619420
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/tron/validation.js
619411
619421
 
619412
619422
 
619413
619423
  const schemaTronOperationMode = enumType([
@@ -619433,7 +619443,7 @@ const schemaRawTronTransaction = schemaTransactionCommon.extend({
619433
619443
  votes: types_arrayType(schemaTronVotes).optional(),
619434
619444
  });
619435
619445
  //# sourceMappingURL=validation.js.map
619436
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/hedera/validation.js
619446
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/hedera/validation.js
619437
619447
 
619438
619448
 
619439
619449
  const schemaRawHederaTransaction = schemaTransactionCommon.extend({
@@ -619441,7 +619451,7 @@ const schemaRawHederaTransaction = schemaTransactionCommon.extend({
619441
619451
  memo: stringType().max(100).optional(),
619442
619452
  });
619443
619453
  //# sourceMappingURL=validation.js.map
619444
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/kaspa/validation.js
619454
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/kaspa/validation.js
619445
619455
 
619446
619456
 
619447
619457
  const schemaRawKaspaTransaction = schemaTransactionCommon.extend({
@@ -619449,7 +619459,7 @@ const schemaRawKaspaTransaction = schemaTransactionCommon.extend({
619449
619459
  customFeeRate: stringType().optional(),
619450
619460
  });
619451
619461
  //# sourceMappingURL=validation.js.map
619452
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/filecoin/validation.js
619462
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/filecoin/validation.js
619453
619463
 
619454
619464
 
619455
619465
  const schemaRawFilecoinTransaction = schemaTransactionCommon.extend({
@@ -619464,7 +619474,7 @@ const schemaRawFilecoinTransaction = schemaTransactionCommon.extend({
619464
619474
  version: numberType(),
619465
619475
  });
619466
619476
  //# sourceMappingURL=validation.js.map
619467
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/elrond/validation.js
619477
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/elrond/validation.js
619468
619478
 
619469
619479
 
619470
619480
  const validation_schemaOperationMode = enumType([
@@ -619490,7 +619500,7 @@ const schemaRawElrondTransaction = schemaTransactionCommon.extend({
619490
619500
  gasLimit: numberType(),
619491
619501
  });
619492
619502
  //# sourceMappingURL=validation.js.map
619493
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/cardano/validation.js
619503
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/cardano/validation.js
619494
619504
 
619495
619505
 
619496
619506
  const schemaRawCardanoTransaction = schemaTransactionCommon.extend({
@@ -619500,7 +619510,7 @@ const schemaRawCardanoTransaction = schemaTransactionCommon.extend({
619500
619510
  memo: stringType().optional(),
619501
619511
  });
619502
619512
  //# sourceMappingURL=validation.js.map
619503
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/vechain/validation.js
619513
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/vechain/validation.js
619504
619514
 
619505
619515
 
619506
619516
  // Generated from VeChain Thor Transaction types
@@ -619536,7 +619546,7 @@ const schemaRawVechainTransaction = schemaTransactionCommon.extend({
619536
619546
  body: schemaThorTransactionBody,
619537
619547
  });
619538
619548
  //# sourceMappingURL=validation.js.map
619539
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/stacks/validation.js
619549
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/stacks/validation.js
619540
619550
 
619541
619551
 
619542
619552
  const schemaRawStacksTransaction = schemaTransactionCommon.extend({
@@ -619548,7 +619558,7 @@ const schemaRawStacksTransaction = schemaTransactionCommon.extend({
619548
619558
  anchorMode: numberType(),
619549
619559
  });
619550
619560
  //# sourceMappingURL=validation.js.map
619551
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/internet_computer/validation.js
619561
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/internet_computer/validation.js
619552
619562
 
619553
619563
 
619554
619564
  const schemaRawInternetComputerTransaction = schemaTransactionCommon.extend({
@@ -619557,7 +619567,7 @@ const schemaRawInternetComputerTransaction = schemaTransactionCommon.extend({
619557
619567
  memo: stringType().optional(),
619558
619568
  });
619559
619569
  //# sourceMappingURL=validation.js.map
619560
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/casper/validation.js
619570
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/casper/validation.js
619561
619571
 
619562
619572
 
619563
619573
  const schemaRawCasperTransaction = schemaTransactionCommon.extend({
@@ -619566,7 +619576,7 @@ const schemaRawCasperTransaction = schemaTransactionCommon.extend({
619566
619576
  transferId: stringType().optional(),
619567
619577
  });
619568
619578
  //# sourceMappingURL=validation.js.map
619569
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/sui/validation.js
619579
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/sui/validation.js
619570
619580
 
619571
619581
 
619572
619582
  const schemaRawSuiTransaction = schemaTransactionCommon.extend({
@@ -619575,7 +619585,7 @@ const schemaRawSuiTransaction = schemaTransactionCommon.extend({
619575
619585
  fees: stringType().optional(),
619576
619586
  });
619577
619587
  //# sourceMappingURL=validation.js.map
619578
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/validation.js
619588
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/validation.js
619579
619589
 
619580
619590
 
619581
619591
 
@@ -619632,7 +619642,7 @@ const schemaRawTransaction = discriminatedUnionType("family", [
619632
619642
  schemaRawSuiTransaction,
619633
619643
  ]);
619634
619644
  //# sourceMappingURL=validation.js.map
619635
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/index.js
619645
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/families/index.js
619636
619646
 
619637
619647
 
619638
619648
 
@@ -619664,7 +619674,7 @@ const schemaRawTransaction = discriminatedUnionType("family", [
619664
619674
 
619665
619675
 
619666
619676
  //# sourceMappingURL=index.js.map
619667
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/logger/index.js
619677
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/logger/index.js
619668
619678
  /* istanbul ignore file */
619669
619679
  /* eslint-disable no-console */
619670
619680
  /**
@@ -619690,7 +619700,7 @@ class logger_Logger {
619690
619700
  }
619691
619701
  }
619692
619702
  //# sourceMappingURL=index.js.map
619693
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/transports/WindowMessageTransport.js
619703
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/transports/WindowMessageTransport.js
619694
619704
 
619695
619705
  const defaultLogger = new logger_Logger("WindowMessage");
619696
619706
  class WindowMessageTransport {
@@ -619784,12 +619794,12 @@ class WindowMessageTransport {
619784
619794
  };
619785
619795
  }
619786
619796
  //# sourceMappingURL=WindowMessageTransport.js.map
619787
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/transports/index.js
619797
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/transports/index.js
619788
619798
  /* istanbul ignore file */
619789
619799
 
619790
619800
 
619791
619801
  //# sourceMappingURL=index.js.map
619792
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/types/index.js
619802
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/types/index.js
619793
619803
  /**
619794
619804
  * Abstract level of fees for a transaction
619795
619805
  */
@@ -619824,7 +619834,7 @@ var types_ExchangeType;
619824
619834
  ExchangeType[ExchangeType["FUND"] = 2] = "FUND";
619825
619835
  })(types_ExchangeType || (types_ExchangeType = {}));
619826
619836
  //# sourceMappingURL=index.js.map
619827
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/errors/types.js
619837
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/errors/types.js
619828
619838
 
619829
619839
  /*
619830
619840
  This file define all the "app level" errors, feel free to define new errors
@@ -619912,7 +619922,7 @@ const schemaServerErrorData = discriminatedUnionType("code", [
619912
619922
  schemaUnauthorizedStore,
619913
619923
  ]);
619914
619924
  //# sourceMappingURL=types.js.map
619915
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/errors/creators.js
619925
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/errors/creators.js
619916
619926
  function createNotImplementedByWallet(methodId) {
619917
619927
  return {
619918
619928
  code: "NOT_IMPLEMENTED_BY_WALLET",
@@ -619966,7 +619976,7 @@ function createUnauthorizedStore(storeId) {
619966
619976
  };
619967
619977
  }
619968
619978
  //# sourceMappingURL=creators.js.map
619969
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/errors/ServerError.js
619979
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/errors/ServerError.js
619970
619980
  class ServerError extends Error {
619971
619981
  errorData;
619972
619982
  constructor(errorData) {
@@ -619989,12 +619999,12 @@ class ServerError extends Error {
619989
619999
  }
619990
620000
  }
619991
620001
  //# sourceMappingURL=ServerError.js.map
619992
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/errors/index.js
620002
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/errors/index.js
619993
620003
 
619994
620004
 
619995
620005
 
619996
620006
  //# sourceMappingURL=index.js.map
619997
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/JSONRPC/RPCError.js
620007
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/JSONRPC/RPCError.js
619998
620008
  class RpcError extends Error {
619999
620009
  err;
620000
620010
  constructor(err) {
@@ -620017,7 +620027,7 @@ class RpcError extends Error {
620017
620027
  }
620018
620028
  }
620019
620029
  //# sourceMappingURL=RPCError.js.map
620020
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/JSONRPC/types.js
620030
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/JSONRPC/types.js
620021
620031
  /**
620022
620032
  * Error code that may occur during WalletAPI server communication
620023
620033
  * @enum
@@ -620051,7 +620061,7 @@ var types_RpcErrorCode;
620051
620061
  RpcErrorCode[RpcErrorCode["SERVER_ERROR"] = -32000] = "SERVER_ERROR";
620052
620062
  })(types_RpcErrorCode || (types_RpcErrorCode = {}));
620053
620063
  //# sourceMappingURL=types.js.map
620054
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/JSONRPC/validation.js
620064
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/JSONRPC/validation.js
620055
620065
 
620056
620066
  const schemaRPCId = unionType([stringType(), numberType(), nullType()]);
620057
620067
  const schemaRPCRequest = types_objectType({
@@ -620085,7 +620095,7 @@ const schemaRPCResponse = unionType([
620085
620095
  ]);
620086
620096
  const schemaRPCCall = unionType([schemaRPCRequest, schemaRPCResponse]);
620087
620097
  //# sourceMappingURL=validation.js.map
620088
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/JSONRPC/helpers.js
620098
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/JSONRPC/helpers.js
620089
620099
 
620090
620100
 
620091
620101
 
@@ -620576,7 +620586,7 @@ addCustomErrorDeserializer("TransportStatusError", e => new TransportStatusError
620576
620586
  //# sourceMappingURL=index.js.map
620577
620587
  // EXTERNAL MODULE: ../../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/v4.js + 1 modules
620578
620588
  var esm_node_v4 = __webpack_require__("../../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/v4.js");
620579
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/JSONRPC/RpcNode.js
620589
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/JSONRPC/RpcNode.js
620580
620590
 
620581
620591
 
620582
620592
 
@@ -620730,14 +620740,14 @@ class RpcNode {
620730
620740
  }
620731
620741
  }
620732
620742
  //# sourceMappingURL=RpcNode.js.map
620733
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/JSONRPC/index.js
620743
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/JSONRPC/index.js
620734
620744
 
620735
620745
 
620736
620746
 
620737
620747
 
620738
620748
 
620739
620749
  //# sourceMappingURL=index.js.map
620740
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/AccountList.js
620750
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/AccountList.js
620741
620751
 
620742
620752
 
620743
620753
  const schemaAccountListParams = types_objectType({
@@ -620752,7 +620762,7 @@ const schemaAccountList = {
620752
620762
  result: schemaAccountListResults,
620753
620763
  };
620754
620764
  //# sourceMappingURL=AccountList.js.map
620755
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/AccountReceive.js
620765
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/AccountReceive.js
620756
620766
 
620757
620767
  const schemaAccountReceiveParams = types_objectType({
620758
620768
  accountId: stringType(),
@@ -620766,7 +620776,7 @@ const schemaAccountReceive = {
620766
620776
  result: schemaAccountReceiveResults,
620767
620777
  };
620768
620778
  //# sourceMappingURL=AccountReceive.js.map
620769
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/AccountRequest.js
620779
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/AccountRequest.js
620770
620780
 
620771
620781
 
620772
620782
  const schemaAccountRequestParams = types_objectType({
@@ -620796,7 +620806,7 @@ const schemaAccountRequest = {
620796
620806
  result: schemaAccountRequestResults,
620797
620807
  };
620798
620808
  //# sourceMappingURL=AccountRequest.js.map
620799
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/BitcoinGetAddress.js
620809
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/BitcoinGetAddress.js
620800
620810
 
620801
620811
  const schemaBitcoinGetAddressParams = types_objectType({
620802
620812
  accountId: stringType(),
@@ -620810,7 +620820,27 @@ const schemaBitcoinGetAddress = {
620810
620820
  result: schemaBitcoinGetAddressResults,
620811
620821
  };
620812
620822
  //# sourceMappingURL=BitcoinGetAddress.js.map
620813
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/BitcoinGetPublicKey.js
620823
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/BitcoinGetAddresses.js
620824
+
620825
+ const schemaBitcoinGetAddressesParams = types_objectType({
620826
+ accountId: stringType(),
620827
+ intentions: types_arrayType(enumType(["payment", "ordinal"])).optional(),
620828
+ });
620829
+ const schemaBitcoinGetAddressesResultItem = types_objectType({
620830
+ address: stringType(),
620831
+ publicKey: stringType().optional(),
620832
+ path: stringType().optional(),
620833
+ intention: stringType().optional(),
620834
+ });
620835
+ const schemaBitcoinGetAddressesResults = types_objectType({
620836
+ addresses: types_arrayType(schemaBitcoinGetAddressesResultItem),
620837
+ });
620838
+ const schemaBitcoinGetAddresses = {
620839
+ params: schemaBitcoinGetAddressesParams,
620840
+ result: schemaBitcoinGetAddressesResults,
620841
+ };
620842
+ //# sourceMappingURL=BitcoinGetAddresses.js.map
620843
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/BitcoinGetPublicKey.js
620814
620844
 
620815
620845
  const schemaBitcoinGetPublicKeyParams = types_objectType({
620816
620846
  accountId: stringType(),
@@ -620824,7 +620854,7 @@ const schemaBitcoinGetPublicKey = {
620824
620854
  result: schemaBitcoinGetPublicKeyResults,
620825
620855
  };
620826
620856
  //# sourceMappingURL=BitcoinGetPublicKey.js.map
620827
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/BitcoinGetXPub.js
620857
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/BitcoinGetXPub.js
620828
620858
 
620829
620859
  const schemaBitcoinGetXPubParams = types_objectType({
620830
620860
  accountId: stringType(),
@@ -620837,7 +620867,7 @@ const schemaBitcoinGetXPub = {
620837
620867
  result: schemaBitcoinGetXPubResults,
620838
620868
  };
620839
620869
  //# sourceMappingURL=BitcoinGetXPub.js.map
620840
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/BitcoinSignPsbt.js
620870
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/BitcoinSignPsbt.js
620841
620871
 
620842
620872
  const schemaBitcoinSignPsbtParams = types_objectType({
620843
620873
  accountId: stringType(),
@@ -620853,7 +620883,7 @@ const schemaBitcoinSignPsbt = {
620853
620883
  result: schemaBitcoinSignPsbtResults,
620854
620884
  };
620855
620885
  //# sourceMappingURL=BitcoinSignPsbt.js.map
620856
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/CurrencyList.js
620886
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/CurrencyList.js
620857
620887
 
620858
620888
 
620859
620889
  const schemaCurrencyListParams = types_objectType({
@@ -620868,7 +620898,7 @@ const schemaCurrencyList = {
620868
620898
  result: schemaCurrencyListResult,
620869
620899
  };
620870
620900
  //# sourceMappingURL=CurrencyList.js.map
620871
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/Device.js
620901
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/Device.js
620872
620902
 
620873
620903
  const schemaDeviceType = enumType([
620874
620904
  "blue",
@@ -620880,7 +620910,7 @@ const schemaDeviceType = enumType([
620880
620910
  "apex",
620881
620911
  ]);
620882
620912
  //# sourceMappingURL=Device.js.map
620883
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/DeviceClose.js
620913
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/DeviceClose.js
620884
620914
 
620885
620915
  const schemaDeviceCloseParams = types_objectType({
620886
620916
  transportId: stringType(),
@@ -620893,7 +620923,7 @@ const schemaDeviceClose = {
620893
620923
  result: schemaDeviceCloseResults,
620894
620924
  };
620895
620925
  //# sourceMappingURL=DeviceClose.js.map
620896
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/DeviceExchange.js
620926
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/DeviceExchange.js
620897
620927
 
620898
620928
  const schemaDeviceExchangeParams = types_objectType({
620899
620929
  apduHex: stringType(),
@@ -620907,7 +620937,7 @@ const schemaDeviceExchange = {
620907
620937
  result: schemaDeviceExchangeResults,
620908
620938
  };
620909
620939
  //# sourceMappingURL=DeviceExchange.js.map
620910
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/DeviceOpen.js
620940
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/DeviceOpen.js
620911
620941
 
620912
620942
  const schemaDeviceOpenParams = types_objectType({
620913
620943
  /** ID of the device to select */
@@ -620921,7 +620951,7 @@ const schemaDeviceOpen = {
620921
620951
  result: schemaDeviceOpenResults,
620922
620952
  };
620923
620953
  //# sourceMappingURL=DeviceOpen.js.map
620924
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/DeviceSelect.js
620954
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/DeviceSelect.js
620925
620955
 
620926
620956
 
620927
620957
  const schemaDeviceSelectParams = types_objectType({
@@ -620954,7 +620984,7 @@ const schemaDeviceSelect = {
620954
620984
  result: schemaDeviceSelectResults,
620955
620985
  };
620956
620986
  //# sourceMappingURL=DeviceSelect.js.map
620957
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/DeviceTransport.js
620987
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/DeviceTransport.js
620958
620988
 
620959
620989
 
620960
620990
  const schemaDeviceTransportParams = types_objectType({
@@ -620987,7 +621017,7 @@ const schemaDeviceTransport = {
620987
621017
  result: schemaDeviceTransportResults,
620988
621018
  };
620989
621019
  //# sourceMappingURL=DeviceTransport.js.map
620990
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/ExchangeComplete.js
621020
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/ExchangeComplete.js
620991
621021
 
620992
621022
 
620993
621023
  const schemaFeeStrategyType = enumType(["SLOW", "MEDIUM", "FAST", "CUSTOM"]);
@@ -621025,7 +621055,7 @@ const schemaExchangeComplete = {
621025
621055
  result: schemaExchangeCompleteResults,
621026
621056
  };
621027
621057
  //# sourceMappingURL=ExchangeComplete.js.map
621028
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/ExchangeStart.js
621058
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/ExchangeStart.js
621029
621059
 
621030
621060
  const schemaExchangeType = enumType([
621031
621061
  "SWAP",
@@ -621046,7 +621076,7 @@ const schemaExchangeStart = {
621046
621076
  result: schemaExchangeStartResults,
621047
621077
  };
621048
621078
  //# sourceMappingURL=ExchangeStart.js.map
621049
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/MessageSign.js
621079
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/MessageSign.js
621050
621080
 
621051
621081
  const schemaMessageOptions = types_objectType({
621052
621082
  hwAppId: stringType().optional(),
@@ -621066,7 +621096,7 @@ const schemaMessageSign = {
621066
621096
  result: schemaMessageSignResults,
621067
621097
  };
621068
621098
  //# sourceMappingURL=MessageSign.js.map
621069
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/StorageGet.js
621099
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/StorageGet.js
621070
621100
 
621071
621101
  const schemaStorageGetParams = types_objectType({
621072
621102
  key: stringType().min(1),
@@ -621080,7 +621110,7 @@ const schemaStorageGet = {
621080
621110
  result: schemaStorageGetResults,
621081
621111
  };
621082
621112
  //# sourceMappingURL=StorageGet.js.map
621083
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/StorageSet.js
621113
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/StorageSet.js
621084
621114
 
621085
621115
  const schemaStorageSetParams = types_objectType({
621086
621116
  key: stringType(),
@@ -621093,7 +621123,7 @@ const schemaStorageSet = {
621093
621123
  result: schemaStorageSetResults,
621094
621124
  };
621095
621125
  //# sourceMappingURL=StorageSet.js.map
621096
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/TransactionSign.js
621126
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/TransactionSign.js
621097
621127
 
621098
621128
 
621099
621129
  const schemaTransactionOptions = types_objectType({
@@ -621115,7 +621145,7 @@ const schemaTransactionSign = {
621115
621145
  result: schemaTransactionSignResults,
621116
621146
  };
621117
621147
  //# sourceMappingURL=TransactionSign.js.map
621118
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/TransactionSignAndBroadcast.js
621148
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/TransactionSignAndBroadcast.js
621119
621149
 
621120
621150
 
621121
621151
  const TransactionSignAndBroadcast_schemaTransactionOptions = types_objectType({
@@ -621137,7 +621167,7 @@ const schemaTransactionSignAndBroadcast = {
621137
621167
  result: schemaTransactionSignAndBroadcastResults,
621138
621168
  };
621139
621169
  //# sourceMappingURL=TransactionSignAndBroadcast.js.map
621140
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/TransactionSignRaw.js
621170
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/TransactionSignRaw.js
621141
621171
 
621142
621172
  const TransactionSignRaw_schemaTransactionOptions = types_objectType({
621143
621173
  hwAppId: stringType().optional(),
@@ -621159,7 +621189,7 @@ const schemaTransactionSignRaw = {
621159
621189
  result: schemaTransactionSignRawResults,
621160
621190
  };
621161
621191
  //# sourceMappingURL=TransactionSignRaw.js.map
621162
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/WalletCapabilities.js
621192
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/WalletCapabilities.js
621163
621193
 
621164
621194
  const schemaWalletCapabilitiesParams = types_objectType({});
621165
621195
  const schemaWalletCapabilitiesResults = types_objectType({
@@ -621170,7 +621200,7 @@ const schemaWalletCapabilities = {
621170
621200
  result: schemaWalletCapabilitiesResults,
621171
621201
  };
621172
621202
  //# sourceMappingURL=WalletCapabilities.js.map
621173
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/WalletInfo.js
621203
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/WalletInfo.js
621174
621204
 
621175
621205
  const schemaWalletInfoParams = types_objectType({});
621176
621206
  const schemaWalletInfoResults = types_objectType({
@@ -621185,7 +621215,7 @@ const schemaWalletInfo = {
621185
621215
  result: schemaWalletInfoResults,
621186
621216
  };
621187
621217
  //# sourceMappingURL=WalletInfo.js.map
621188
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/WalletUserId.js
621218
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/WalletUserId.js
621189
621219
 
621190
621220
  const schemaWalletUserIdParams = types_objectType({});
621191
621221
  const schemaWalletUserIdResults = types_objectType({
@@ -621196,7 +621226,8 @@ const schemaWalletUserId = {
621196
621226
  result: schemaWalletUserIdResults,
621197
621227
  };
621198
621228
  //# sourceMappingURL=WalletUserId.js.map
621199
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/index.js
621229
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/types/index.js
621230
+
621200
621231
 
621201
621232
 
621202
621233
 
@@ -621224,7 +621255,7 @@ const schemaWalletUserId = {
621224
621255
 
621225
621256
 
621226
621257
  //# sourceMappingURL=index.js.map
621227
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/methods.js
621258
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/methods.js
621228
621259
 
621229
621260
  const schemaRPCMethod = enumType([
621230
621261
  "account.list",
@@ -621243,13 +621274,13 @@ const schemaRPCMethod = enumType([
621243
621274
  "wallet.userId",
621244
621275
  ]);
621245
621276
  //# sourceMappingURL=methods.js.map
621246
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/index.js
621277
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/spec/index.js
621247
621278
 
621248
621279
 
621249
621280
 
621250
621281
 
621251
621282
  //# sourceMappingURL=index.js.map
621252
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.27.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/index.js
621283
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-core@1.28.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-core/lib-es/index.js
621253
621284
 
621254
621285
 
621255
621286
 
@@ -623327,8 +623358,12 @@ function safeDecodeXpubOrAddress(encodedXpubOrAddress) {
623327
623358
  if (!encodedXpubOrAddress) return "";
623328
623359
  return encodedXpubOrAddress.replace(/~!colons!~/g, "::");
623329
623360
  }
623330
- function encodeAccountId({ type, version, currencyId, xpubOrAddress, derivationMode }) {
623331
- return `${ensureNoColon(type, "type")}:${ensureNoColon(version, "version")}:${ensureNoColon(currencyId, "currencyId")}:${safeEncodeXpubOrAddress(xpubOrAddress)}:${ensureNoColon(derivationMode, "derivationMode")}`;
623361
+ function accountId_encodeAccountId({ type, version, currencyId, xpubOrAddress, derivationMode, customData }) {
623362
+ const base = `${ensureNoColon(type, "type")}:${ensureNoColon(version, "version")}:${ensureNoColon(currencyId, "currencyId")}:${safeEncodeXpubOrAddress(xpubOrAddress)}:${ensureNoColon(derivationMode, "derivationMode")}`;
623363
+ if (customData && customData.length > 0) {
623364
+ return `${base}:${safeEncodeXpubOrAddress(customData)}`;
623365
+ }
623366
+ return base;
623332
623367
  }
623333
623368
  function accountId_encodeTokenAccountId(accountId, token) {
623334
623369
  return accountId + "+" + safeEncodeTokenId(token.id);
@@ -623358,14 +623393,17 @@ async function accountId_decodeTokenAccountId(id) {
623358
623393
  function accountId_decodeAccountId(accountId) {
623359
623394
  invariant_default()(typeof accountId === "string", "accountId is not a string");
623360
623395
  const splitted = accountId.split(":");
623361
- invariant_default()(splitted.length === 5, "invalid size for accountId");
623362
- const [type, version, currencyId, encodedXpubOrAddress, derivationMode] = splitted;
623396
+ invariant_default()(splitted.length >= 5, "invalid size for accountId");
623397
+ const [type, version, currencyId, encodedXpubOrAddress, derivationMode, customData] = splitted;
623363
623398
  return {
623364
623399
  type,
623365
623400
  version,
623366
623401
  currencyId,
623367
623402
  xpubOrAddress: safeDecodeXpubOrAddress(encodedXpubOrAddress),
623368
- derivationMode: asDerivationMode(derivationMode)
623403
+ derivationMode: asDerivationMode(derivationMode),
623404
+ ...customData && {
623405
+ customData: safeDecodeXpubOrAddress(customData)
623406
+ }
623369
623407
  };
623370
623408
  } //# sourceMappingURL=accountId.js.map
623371
623409
 
@@ -623460,7 +623498,7 @@ function findOperationInAccount({ operations, pendingOperations }, operationId)
623460
623498
  function operation_encodeOperationId(accountId, hash, type) {
623461
623499
  return `${accountId}-${hash}-${type}`;
623462
623500
  }
623463
- function decodeOperationId(id) {
623501
+ function operation_decodeOperationId(id) {
623464
623502
  const [accountId, hash, type] = id.split("-");
623465
623503
  return {
623466
623504
  accountId,
@@ -625158,14 +625196,25 @@ const mergeNfts = (oldNfts, newNfts)=>{
625158
625196
  // Prepending newNfts to respect nfts's newest to oldest order
625159
625197
  return Object.values(newNftsPerId).concat(nfts);
625160
625198
  };
625199
+ const getCustomDataFromAccountId = (accountId)=>{
625200
+ try {
625201
+ return accountId_decodeAccountId(accountId).customData;
625202
+ } catch {
625203
+ return undefined;
625204
+ }
625205
+ };
625161
625206
  const makeSync = ({ getAccountShape, postSync = (_, a)=>a, shouldMergeOps = true })=>(initial, syncConfig)=>new cjs.Observable((o)=>{
625162
625207
  async function main() {
625163
- const accountId = encodeAccountId({
625208
+ const customData = getCustomDataFromAccountId(initial.id);
625209
+ const accountId = accountId_encodeAccountId({
625164
625210
  type: "js",
625165
625211
  version: "2",
625166
625212
  currencyId: initial.currency.id,
625167
625213
  xpubOrAddress: initial.xpub || initial.freshAddress,
625168
- derivationMode: initial.derivationMode
625214
+ derivationMode: initial.derivationMode,
625215
+ ...customData && {
625216
+ customData
625217
+ }
625169
625218
  });
625170
625219
  const needClear = initial.id !== accountId;
625171
625220
  try {
@@ -625430,6 +625479,31 @@ function bip32asBuffer(path) {
625430
625479
  return buffer;
625431
625480
  } //# sourceMappingURL=jsHelpers.js.map
625432
625481
 
625482
+ ;// CONCATENATED MODULE: ../../libs/coin-framework/lib-es/config.js
625483
+
625484
+ function buildCoinConfig() {
625485
+ let coinConfig;
625486
+ const setCoinConfig = (config)=>{
625487
+ coinConfig = config;
625488
+ };
625489
+ const getCoinConfig = (currency)=>{
625490
+ if (!coinConfig) {
625491
+ throw new MissingCoinConfig();
625492
+ }
625493
+ return coinConfig(currency);
625494
+ };
625495
+ return {
625496
+ setCoinConfig,
625497
+ getCoinConfig
625498
+ };
625499
+ }
625500
+ /* export default */ const lib_es_config = (buildCoinConfig); //# sourceMappingURL=config.js.map
625501
+
625502
+ ;// CONCATENATED MODULE: ../../libs/coin-modules/coin-aleo/lib-es/config.js
625503
+
625504
+ const config_coinConfig = lib_es_config();
625505
+ /* export default */ const coin_aleo_lib_es_config = (config_coinConfig); //# sourceMappingURL=config.js.map
625506
+
625433
625507
  ;// CONCATENATED MODULE: ../../libs/coin-modules/coin-aleo/lib-es/signer/getAddress.js
625434
625508
  const getAddress_getAddress = (signerContext)=>{
625435
625509
  return async (deviceId, { path, verify })=>{
@@ -625453,31 +625527,210 @@ const estimateMaxSpendable_estimateMaxSpendable = async ()=>{
625453
625527
  throw new Error("estimateMaxSpendable is not supported");
625454
625528
  }; //# sourceMappingURL=estimateMaxSpendable.js.map
625455
625529
 
625530
+ ;// CONCATENATED MODULE: ../../libs/coin-modules/coin-aleo/lib-es/logic/utils.js
625531
+
625532
+
625533
+
625534
+
625535
+
625536
+ function parseMicrocredits(microcreditsU64) {
625537
+ const value = microcreditsU64.split(".")[0];
625538
+ const expectedSuffix = "u64";
625539
+ const hasValidSuffix = value.endsWith(expectedSuffix);
625540
+ invariant_default()(hasValidSuffix, `aleo: invalid microcredits format (${microcreditsU64})`);
625541
+ return value.replace(expectedSuffix, "");
625542
+ }
625543
+ function getNetworkConfig(currency) {
625544
+ const config = coin_aleo_lib_es_config.getCoinConfig(currency);
625545
+ return {
625546
+ nodeUrl: config.apiUrls.node,
625547
+ sdkUrl: config.apiUrls.sdk,
625548
+ networkType: config.networkType
625549
+ };
625550
+ }
625551
+ function patchAccountWithViewKey(account, viewKey) {
625552
+ invariant(viewKey, `aleo: viewKey is missing in patchAccountWithViewKey ${account.freshAddress}`);
625553
+ const accountIdParams = decodeAccountId(account.id);
625554
+ const updatedAccountId = encodeAccountId({
625555
+ ...accountIdParams,
625556
+ customData: viewKey
625557
+ });
625558
+ const updateOperations = (ops)=>ops.map((op)=>{
625559
+ const { hash, type } = decodeOperationId(op.id);
625560
+ const updatedOperationId = encodeOperationId(updatedAccountId, hash, type);
625561
+ return {
625562
+ ...op,
625563
+ id: updatedOperationId,
625564
+ accountId: updatedAccountId
625565
+ };
625566
+ });
625567
+ return {
625568
+ ...account,
625569
+ id: updatedAccountId,
625570
+ operations: updateOperations(account.operations),
625571
+ pendingOperations: updateOperations(account.pendingOperations)
625572
+ };
625573
+ }
625574
+ const determineTransactionType = (functionId, operationType)=>{
625575
+ if (functionId === EXPLORER_TRANSFER_TYPES.PRIVATE) return "private";
625576
+ if (functionId === EXPLORER_TRANSFER_TYPES.PUBLIC) return "public";
625577
+ if (operationType === "IN") {
625578
+ if (functionId.endsWith("to_private")) return "private";
625579
+ if (functionId.endsWith("to_public")) return "public";
625580
+ }
625581
+ if (operationType === "OUT") {
625582
+ if (functionId.startsWith("transfer_private")) return "private";
625583
+ if (functionId.startsWith("transfer_public")) return "public";
625584
+ }
625585
+ return "public";
625586
+ }; //# sourceMappingURL=utils.js.map
625587
+
625588
+ ;// CONCATENATED MODULE: ../../libs/coin-modules/coin-aleo/lib-es/constants.js
625589
+ const PROGRAM_ID = {
625590
+ CREDITS: "credits.aleo"
625591
+ };
625592
+ const constants_EXPLORER_TRANSFER_TYPES = (/* unused pure expression or super */ null && ({
625593
+ PRIVATE: "transfer_private",
625594
+ PUBLIC: "transfer_public",
625595
+ PRIVATE_TO_PUBLIC: "transfer_private_to_public",
625596
+ PUBLIC_TO_PRIVATE: "transfer_public_to_private"
625597
+ })); //# sourceMappingURL=constants.js.map
625598
+
625599
+ ;// CONCATENATED MODULE: ../../libs/coin-modules/coin-aleo/lib-es/network/api.js
625600
+
625601
+
625602
+
625603
+ async function getLatestBlock(currency) {
625604
+ const { nodeUrl, networkType } = getNetworkConfig(currency);
625605
+ const res = await live_network_lib_es({
625606
+ method: "GET",
625607
+ url: `${nodeUrl}/v2/${networkType}/blocks/latest`
625608
+ });
625609
+ return res.data;
625610
+ }
625611
+ async function getAccountBalance(currency, address) {
625612
+ const { nodeUrl, networkType } = getNetworkConfig(currency);
625613
+ const res = await live_network_lib_es({
625614
+ method: "GET",
625615
+ url: `${nodeUrl}/v2/${networkType}/program/${PROGRAM_ID.CREDITS}/mapping/account/${address}`
625616
+ });
625617
+ return res.data;
625618
+ }
625619
+ async function getTransactionById(currency, transactionId) {
625620
+ const { nodeUrl, networkType } = getNetworkConfig(currency);
625621
+ const res = await live_network_lib_es({
625622
+ method: "GET",
625623
+ url: `${nodeUrl}/v2/${networkType}/transactions/${transactionId}`
625624
+ });
625625
+ return res.data;
625626
+ }
625627
+ async function getAccountPublicTransactions({ currency, address, cursor, limit = 50, order = "asc", direction = "next" }) {
625628
+ const { nodeUrl, networkType } = getNetworkConfig(currency);
625629
+ const params = new URLSearchParams({
625630
+ limit: limit.toString(),
625631
+ sort: order,
625632
+ direction,
625633
+ ...cursor && {
625634
+ cursor_block_number: cursor
625635
+ }
625636
+ });
625637
+ const res = await live_network_lib_es({
625638
+ method: "GET",
625639
+ url: `${nodeUrl}/v2/${networkType}/transactions/address/${address}?${params.toString()}`
625640
+ });
625641
+ return res.data;
625642
+ }
625643
+ const api_apiClient = {
625644
+ getTransactionById,
625645
+ getAccountPublicTransactions,
625646
+ getAccountBalance,
625647
+ getLatestBlock
625648
+ }; //# sourceMappingURL=api.js.map
625649
+
625650
+ ;// CONCATENATED MODULE: ../../libs/coin-modules/coin-aleo/lib-es/logic/getBalance.js
625651
+
625652
+
625653
+ async function getBalance_getBalance(currency, address) {
625654
+ const microcreditsU64 = await api_apiClient.getAccountBalance(currency, address);
625655
+ if (!microcreditsU64) {
625656
+ return [];
625657
+ }
625658
+ const microcredits = parseMicrocredits(microcreditsU64);
625659
+ const balances = [
625660
+ {
625661
+ asset: {
625662
+ type: "native"
625663
+ },
625664
+ value: BigInt(microcredits)
625665
+ }
625666
+ ];
625667
+ return balances;
625668
+ } //# sourceMappingURL=getBalance.js.map
625669
+
625670
+ ;// CONCATENATED MODULE: ../../libs/coin-modules/coin-aleo/lib-es/logic/lastBlock.js
625671
+
625672
+ async function lastBlock_lastBlock(currency) {
625673
+ const lastBlock = await api_apiClient.getLatestBlock(currency);
625674
+ return {
625675
+ height: lastBlock.header.metadata.height,
625676
+ hash: lastBlock.block_hash,
625677
+ time: new Date(lastBlock.header.metadata.timestamp * 1000)
625678
+ };
625679
+ } //# sourceMappingURL=lastBlock.js.map
625680
+
625681
+ ;// CONCATENATED MODULE: ../../libs/coin-modules/coin-aleo/lib-es/logic/index.js
625682
+
625683
+
625684
+
625685
+
625686
+
625687
+
625688
+
625689
+ //# sourceMappingURL=index.js.map
625690
+
625456
625691
  ;// CONCATENATED MODULE: ../../libs/coin-modules/coin-aleo/lib-es/bridge/sync.js
625457
625692
 
625458
625693
 
625459
625694
 
625695
+
625696
+
625460
625697
  const sync_getAccountShape = async (infos)=>{
625461
- const { address, derivationMode, currency } = infos;
625462
- const accountId = encodeAccountId({
625698
+ const { initialAccount, address, derivationMode, currency } = infos;
625699
+ let viewKey;
625700
+ if (initialAccount) {
625701
+ viewKey = accountId_decodeAccountId(initialAccount.id).customData;
625702
+ invariant_default()(viewKey, `aleo: viewKey is missing in ${address} initialAccount`);
625703
+ }
625704
+ const accountId = accountId_encodeAccountId({
625463
625705
  type: "js",
625464
625706
  version: "2",
625465
625707
  currencyId: currency.id,
625466
625708
  xpubOrAddress: address,
625467
- derivationMode
625709
+ derivationMode,
625710
+ ...viewKey && {
625711
+ customData: viewKey
625712
+ }
625468
625713
  });
625469
- const balance = new bignumber(0);
625470
- const blockHeight = 0;
625714
+ const [latestBlock, balances] = await Promise.all([
625715
+ lastBlock_lastBlock(currency),
625716
+ getBalance_getBalance(currency, address)
625717
+ ]);
625471
625718
  const operations = [];
625719
+ const blockHeight = latestBlock.height;
625720
+ const nativeBalance = balances.find((b)=>b.asset.type === "native")?.value ?? BigInt(0);
625721
+ const transparentBalance = new bignumber(nativeBalance.toString());
625472
625722
  return {
625473
625723
  type: "Account",
625474
625724
  id: accountId,
625475
- balance,
625476
- spendableBalance: balance,
625725
+ balance: transparentBalance,
625726
+ spendableBalance: transparentBalance,
625477
625727
  blockHeight,
625478
625728
  operations,
625479
625729
  operationsCount: operations.length,
625480
- lastSyncDate: new Date()
625730
+ lastSyncDate: new Date(),
625731
+ aleoResources: {
625732
+ transparentBalance
625733
+ }
625481
625734
  };
625482
625735
  };
625483
625736
  const sync_sync = makeSync({
@@ -625509,6 +625762,7 @@ const getTransactionStatus = ()=>{
625509
625762
 
625510
625763
 
625511
625764
 
625765
+
625512
625766
  function buildCurrencyBridge(signerContext) {
625513
625767
  const getAddress = signer_getAddress(signerContext);
625514
625768
  const scanAccounts = makeScanAccounts({
@@ -625545,7 +625799,8 @@ function buildAccountBridge(signerContext) {
625545
625799
  validateAddress: validateAddress_validateAddress
625546
625800
  };
625547
625801
  }
625548
- function createBridges(signerContext) {
625802
+ function createBridges(signerContext, coinConfig) {
625803
+ coin_aleo_lib_es_config.setCoinConfig(coinConfig);
625549
625804
  return {
625550
625805
  currencyBridge: buildCurrencyBridge(signerContext),
625551
625806
  accountBridge: buildAccountBridge(signerContext)
@@ -625582,6 +625837,18 @@ function makeCliTools() {
625582
625837
  };
625583
625838
  } //# sourceMappingURL=cli.js.map
625584
625839
 
625840
+ ;// CONCATENATED MODULE: ../../libs/coin-modules/coin-aleo/lib-es/signer/getViewKey.js
625841
+ const getViewKey = (signerContext)=>{
625842
+ return async (deviceId, opts)=>{
625843
+ const viewKey = await signerContext(deviceId, (signer)=>signer.getViewKey(opts.path));
625844
+ return {
625845
+ path: opts.path,
625846
+ viewKey: viewKey.toString()
625847
+ };
625848
+ };
625849
+ };
625850
+ /* export default */ const signer_getViewKey = (getViewKey); //# sourceMappingURL=getViewKey.js.map
625851
+
625585
625852
  ;// CONCATENATED MODULE: ../../libs/ledger-live-common/lib-es/hw/deviceAccess.js
625586
625853
 
625587
625854
 
@@ -625818,6 +626085,30 @@ const withDevicePolling = (deviceId)=>(job, acceptError = genericCanRetryOnError
625818
626085
  };
625819
626086
  } //# sourceMappingURL=setup.js.map
625820
626087
 
626088
+ ;// CONCATENATED MODULE: ../../libs/ledger-live-common/lib-es/config/index.js
626089
+
626090
+ const config_getCurrencyConfiguration = (currency)=>{
626091
+ const currencyData = LiveConfig_LiveConfig.getValueByKey(`config_currency_${currency.id}`);
626092
+ if (!currencyData) {
626093
+ throw new Error(`No currency configuration available for ${currency.id}`);
626094
+ }
626095
+ return currencyData;
626096
+ };
626097
+ //# sourceMappingURL=index.js.map
626098
+
626099
+ ;// CONCATENATED MODULE: ../../libs/ledger-live-common/lib-es/families/aleo/hw/getViewKey/resolver.js
626100
+ /**
626101
+ * Inject the `signer` so it can be used by the resolver function.
626102
+ * @param signerFactory
626103
+ * @param viewKeyResolver
626104
+ * @returns Resolver
626105
+ */ function createViewKeyResolver(signerFactory, viewKeyResolver) {
626106
+ return (transport, opts)=>{
626107
+ const signerContext = (_, fn)=>fn(signerFactory(transport));
626108
+ return viewKeyResolver(signerContext)("", opts);
626109
+ };
626110
+ } //# sourceMappingURL=resolver.js.map
626111
+
625821
626112
  ;// CONCATENATED MODULE: ../../libs/ledger-live-common/lib-es/families/aleo/setup.js
625822
626113
  // Goal of this file is to inject all necessary device/signer dependency to coin-modules
625823
626114
 
@@ -625826,13 +626117,21 @@ const withDevicePolling = (deviceId)=>(job, acceptError = genericCanRetryOnError
625826
626117
 
625827
626118
 
625828
626119
 
626120
+
626121
+
626122
+
625829
626123
  const createSigner = (transport)=>{
625830
626124
  invariant_default()(transport.dmk, "aleo: transport.dmk is missing");
625831
626125
  invariant_default()(transport.sessionId, "aleo: transport.sessionId is missing");
625832
626126
  return new DmkSignerAleo(transport.dmk, transport.sessionId);
625833
626127
  };
625834
- const setup_bridge = createBridges(executeWithSigner(createSigner));
626128
+ const getCurrencyConfig = (currency)=>{
626129
+ invariant_default()(currency, "aleo: currency is required in getCurrencyConfig");
626130
+ return config_getCurrencyConfiguration(currency);
626131
+ };
626132
+ const setup_bridge = createBridges(executeWithSigner(createSigner), getCurrencyConfig);
625835
626133
  const setup_resolver = createResolver(createSigner, signer_getAddress);
626134
+ const setup_viewKeyResolver = createViewKeyResolver(createSigner, signer_getViewKey);
625836
626135
  const cliTools = makeCliTools();
625837
626136
  //# sourceMappingURL=setup.js.map
625838
626137
 
@@ -631900,7 +632199,7 @@ const synchronization_getAccountShape = async (info, syncConfig)=>{
631900
632199
  const { address, initialAccount, currency, derivationMode } = info;
631901
632200
  const oldOperations = initialAccount?.operations || [];
631902
632201
  const startAt = oldOperations.length ? (oldOperations[0].blockHeight || 0) + 1 : 0;
631903
- const accountId = encodeAccountId({
632202
+ const accountId = accountId_encodeAccountId({
631904
632203
  type: "js",
631905
632204
  version: "2",
631906
632205
  currencyId: currency.id,
@@ -654741,7 +655040,7 @@ const signOperation_buildSignOperation = (signerContext)=>({ account, transactio
654741
655040
  const synchronisation_getAccountShape = async (info)=>{
654742
655041
  const { address, initialAccount, currency, derivationMode, rest } = info;
654743
655042
  const publicKey = rest?.publicKey || initialAccount && accountId_decodeAccountId(initialAccount.id).xpubOrAddress;
654744
- const accountId = encodeAccountId({
655043
+ const accountId = accountId_encodeAccountId({
654745
655044
  type: "js",
654746
655045
  version: "2",
654747
655046
  currencyId: currency.id,
@@ -663541,7 +663840,7 @@ function makeGetAccountShape(signerContext) {
663541
663840
  signerContext,
663542
663841
  accountPath
663543
663842
  });
663544
- const accountId = encodeAccountId({
663843
+ const accountId = accountId_encodeAccountId({
663545
663844
  type: "js",
663546
663845
  version: "2",
663547
663846
  currencyId: currency.id,
@@ -664765,15 +665064,15 @@ const lib_es_signOperation_buildSignOperation = (signerContext)=>({ account, dev
664765
665064
  /* export default */ const coin_bitcoin_lib_es_signOperation = ((/* unused pure expression or super */ null && (lib_es_signOperation_buildSignOperation))); //# sourceMappingURL=signOperation.js.map
664766
665065
 
664767
665066
  ;// CONCATENATED MODULE: ../../libs/coin-modules/coin-bitcoin/lib-es/config.js
664768
- let config_coinConfig;
665067
+ let lib_es_config_coinConfig;
664769
665068
  const config_setCoinConfig = (config)=>{
664770
- config_coinConfig = config;
665069
+ lib_es_config_coinConfig = config;
664771
665070
  };
664772
665071
  const config_getCoinConfig = (currency)=>{
664773
- if (!config_coinConfig) {
665072
+ if (!lib_es_config_coinConfig) {
664774
665073
  throw new Error("Bitcoin module config not set");
664775
665074
  }
664776
- return config_coinConfig(currency);
665075
+ return lib_es_config_coinConfig(currency);
664777
665076
  }; //# sourceMappingURL=config.js.map
664778
665077
 
664779
665078
  ;// CONCATENATED MODULE: ../../libs/coin-modules/coin-bitcoin/lib-es/broadcast.js
@@ -665138,17 +665437,6 @@ const hw_signMessage_signMessage = (signerContext)=>async (deviceId, account, co
665138
665437
  };
665139
665438
  }; //# sourceMappingURL=hw-signMessage.js.map
665140
665439
 
665141
- ;// CONCATENATED MODULE: ../../libs/ledger-live-common/lib-es/config/index.js
665142
-
665143
- const config_getCurrencyConfiguration = (currency)=>{
665144
- const currencyData = LiveConfig_LiveConfig.getValueByKey(`config_currency_${currency.id}`);
665145
- if (!currencyData) {
665146
- throw new Error(`No currency configuration available for ${currency.id}`);
665147
- }
665148
- return currencyData;
665149
- };
665150
- //# sourceMappingURL=index.js.map
665151
-
665152
665440
  ;// CONCATENATED MODULE: ../../libs/ledger-live-common/lib-es/families/bitcoin/setup.js
665153
665441
  // Goal of this file is to inject all necessary device/signer dependency to coin-modules
665154
665442
 
@@ -665166,12 +665454,12 @@ const bitcoin_setup_createSigner = (transport, currency)=>{
665166
665454
  });
665167
665455
  };
665168
665456
  const setup_signerContext = (deviceId, crypto, fn)=>(0,cjs.firstValueFrom)(deviceAccess_withDevice(deviceId)((transport)=>(0,cjs.from)(fn(bitcoin_setup_createSigner(transport, crypto)))));
665169
- const getCurrencyConfig = (currency)=>{
665457
+ const setup_getCurrencyConfig = (currency)=>{
665170
665458
  return {
665171
665459
  info: config_getCurrencyConfiguration(currency)
665172
665460
  };
665173
665461
  };
665174
- const bitcoin_setup_bridge = bridge_js_createBridges(setup_signerContext, getCurrencyConfig);
665462
+ const bitcoin_setup_bridge = bridge_js_createBridges(setup_signerContext, setup_getCurrencyConfig);
665175
665463
  function setup_createMessageSigner() {
665176
665464
  return (transport, account, messageData)=>{
665177
665465
  const signerContext = (_, crypto, fn)=>fn(bitcoin_setup_createSigner(transport, crypto));
@@ -666273,30 +666561,10 @@ async function fetchNetworkInfo(currency) {
666273
666561
  return transactionAmount;
666274
666562
  }; //# sourceMappingURL=estimateMaxSpendable.js.map
666275
666563
 
666276
- ;// CONCATENATED MODULE: ../../libs/coin-framework/lib-es/config.js
666277
-
666278
- function buildCoinConfig() {
666279
- let coinConfig;
666280
- const setCoinConfig = (config)=>{
666281
- coinConfig = config;
666282
- };
666283
- const getCoinConfig = (currency)=>{
666284
- if (!coinConfig) {
666285
- throw new MissingCoinConfig();
666286
- }
666287
- return coinConfig(currency);
666288
- };
666289
- return {
666290
- setCoinConfig,
666291
- getCoinConfig
666292
- };
666293
- }
666294
- /* export default */ const lib_es_config = (buildCoinConfig); //# sourceMappingURL=config.js.map
666295
-
666296
666564
  ;// CONCATENATED MODULE: ../../libs/coin-modules/coin-cardano/lib-es/config.js
666297
666565
 
666298
- const lib_es_config_coinConfig = lib_es_config();
666299
- /* export default */ const coin_cardano_lib_es_config = (lib_es_config_coinConfig); //# sourceMappingURL=config.js.map
666566
+ const coin_cardano_lib_es_config_coinConfig = lib_es_config();
666567
+ /* export default */ const coin_cardano_lib_es_config = (coin_cardano_lib_es_config_coinConfig); //# sourceMappingURL=config.js.map
666300
666568
 
666301
666569
  ;// CONCATENATED MODULE: ../../libs/coin-modules/coin-cardano/lib-es/getTransactionStatus/delegate.js
666302
666570
 
@@ -666754,7 +667022,7 @@ const synchronisation_makeGetAccountShape = (signerContext)=>async (info, { blac
666754
667022
  } else {
666755
667023
  xpub = paramXpub;
666756
667024
  }
666757
- const accountId = encodeAccountId({
667025
+ const accountId = accountId_encodeAccountId({
666758
667026
  type: "js",
666759
667027
  version: "2",
666760
667028
  currencyId: currency.id,
@@ -667808,10 +668076,10 @@ const cardano_setup_createSigner = (transport)=>{
667808
668076
  }
667809
668077
  };
667810
668078
  };
667811
- const setup_getCurrencyConfig = ()=>{
668079
+ const cardano_setup_getCurrencyConfig = ()=>{
667812
668080
  return config_getCurrencyConfiguration(currencies_getCryptoCurrencyById("cardano"));
667813
668081
  };
667814
- const cardano_setup_bridge = lib_es_bridge_createBridges(executeWithSigner(cardano_setup_createSigner), setup_getCurrencyConfig);
668082
+ const cardano_setup_bridge = lib_es_bridge_createBridges(executeWithSigner(cardano_setup_createSigner), cardano_setup_getCurrencyConfig);
667815
668083
  const cardano_setup_resolver = createResolver(cardano_setup_createSigner, coin_cardano_lib_es_hw_getAddress);
667816
668084
  const cardano_setup_cliTools = coin_cardano_lib_es_cli_transaction_makeCliTools();
667817
668085
  //# sourceMappingURL=setup.js.map
@@ -668251,7 +668519,7 @@ const createNewTransaction = async (sender, recipient, amount, fees, transferId,
668251
668519
 
668252
668520
  const accountShape_getAccountShape = async (info)=>{
668253
668521
  const { address, currency, derivationMode } = info;
668254
- const accountId = encodeAccountId({
668522
+ const accountId = accountId_encodeAccountId({
668255
668523
  type: "js",
668256
668524
  version: "2",
668257
668525
  currencyId: currency.id,
@@ -669139,7 +669407,7 @@ function adaptInstrument(currency, instrument) {
669139
669407
  adminId: instrument.admin_id
669140
669408
  };
669141
669409
  }
669142
- async function getBalance_getBalance(currency, partyId) {
669410
+ async function account_getBalance_getBalance(currency, partyId) {
669143
669411
  if (getBalance_useGateway(currency)) return (await gateway_getBalance(currency, partyId)).map((instrument)=>adaptInstrument(currency, instrument));
669144
669412
  else throw new Error("Not implemented");
669145
669413
  } //# sourceMappingURL=getBalance.js.map
@@ -669257,7 +669525,7 @@ const getAccountInfo = async (address)=>{
669257
669525
 
669258
669526
 
669259
669527
  const lastBlock_useGateway = (currency)=>coinConfig.getCoinConfig(currency).useGateway === true;
669260
- async function lastBlock_lastBlock(currency) {
669528
+ async function history_lastBlock_lastBlock(currency) {
669261
669529
  return {
669262
669530
  height: lastBlock_useGateway(currency) ? await getLedgerEnd(currency) : await nodeGetLedgerEnd(),
669263
669531
  hash: "",
@@ -669724,7 +669992,7 @@ const isCantonCoinPreapproved = async (currency, partyId)=>{
669724
669992
  const createOnboardedAccount = (account, partyId, currency)=>({
669725
669993
  ...account,
669726
669994
  xpub: partyId,
669727
- id: encodeAccountId({
669995
+ id: accountId_encodeAccountId({
669728
669996
  type: "js",
669729
669997
  version: "2",
669730
669998
  currencyId: currency.id,
@@ -670094,7 +670362,7 @@ function sync_makeGetAccountShape(signerContext) {
670094
670362
  xpubOrAddress = result.partyId;
670095
670363
  }
670096
670364
  }
670097
- const accountId = encodeAccountId({
670365
+ const accountId = accountId_encodeAccountId({
670098
670366
  type: "js",
670099
670367
  version: "2",
670100
670368
  currencyId: currency.id,
@@ -670102,7 +670370,7 @@ function sync_makeGetAccountShape(signerContext) {
670102
670370
  derivationMode
670103
670371
  });
670104
670372
  const { nativeInstrumentId } = coin_canton_lib_es_config.getCoinConfig(currency);
670105
- const balances = xpubOrAddress ? await getBalance_getBalance(currency, xpubOrAddress) : [];
670373
+ const balances = xpubOrAddress ? await account_getBalance_getBalance(currency, xpubOrAddress) : [];
670106
670374
  const pendingTransferProposals = xpubOrAddress ? await getPendingTransferProposals(currency, xpubOrAddress) : [];
670107
670375
  // Aggregate all balances by instrument (unlocked + locked)
670108
670376
  const aggregatedBalances = new Map();
@@ -671390,6 +671658,10 @@ const coin_celo_lib_es_bridge_getTransactionStatus_getTransactionStatus = async
671390
671658
  currencyName: account.currency.name
671391
671659
  });
671392
671660
  }
671661
+ const insufficientBalance = totalSpent.gt(totalSpendableBalance) || totalSpendableBalance.lt(estimatedFees);
671662
+ if (!errors.amount && insufficientBalance) {
671663
+ errors.amount = new lib_es/* .NotEnoughBalance */.cC();
671664
+ }
671393
671665
  if (isTokenTransaction) {
671394
671666
  return {
671395
671667
  errors,
@@ -671419,14 +671691,22 @@ const CELO_STAKE_TOKENS_PAIR = {
671419
671691
  };
671420
671692
  const CELO_STABLE_TOKENS = Object.keys(CELO_STAKE_TOKENS_PAIR);
671421
671693
  const getStableTokenEnum = (tokenTicker)=>CELO_STAKE_TOKENS_PAIR[tokenTicker];
671694
+ /** Minimum gas for a simple native transfer (EVM standard). */ const MIN_GAS_FOR_NATIVE_TRANSFER = 21000;
671422
671695
  const MAX_FEES_THRESHOLD_MULTIPLIER = 4; //# sourceMappingURL=constants.js.map
671423
671696
 
671697
+ ;// CONCATENATED MODULE: ../../libs/coin-modules/coin-celo/lib-es/bridge/utils.js
671698
+ /** Format value as hex with 0x prefix for JSON-RPC (Go hexutil.Big requires 0x). Returns 0x0 for NaN, negative, or zero. */ const valueToHex = (value)=>{
671699
+ if (value.isNaN() || value.isNegative() || value.isZero()) return "0x0";
671700
+ return "0x" + value.toString(16);
671701
+ }; //# sourceMappingURL=utils.js.map
671702
+
671424
671703
  ;// CONCATENATED MODULE: ../../libs/coin-modules/coin-celo/lib-es/bridge/buildTransaction.js
671425
671704
 
671426
671705
 
671427
671706
 
671428
671707
 
671429
671708
 
671709
+
671430
671710
  const bridge_buildTransaction_buildTransaction = async (account, transaction)=>{
671431
671711
  const kit = celoKit();
671432
671712
  const tokenAccount = helpers_findSubAccountById(account, transaction.subAccountId || "");
@@ -671435,14 +671715,15 @@ const bridge_buildTransaction_buildTransaction = async (account, transaction)=>{
671435
671715
  let celoTransaction;
671436
671716
  if (transaction.mode === "lock") {
671437
671717
  const lockedGold = await kit.contracts.getLockedGold();
671718
+ const valueHex = valueToHex(value);
671438
671719
  celoTransaction = {
671439
671720
  from: account.freshAddress,
671440
- value: value.toFixed(),
671721
+ value: valueHex,
671441
671722
  to: lockedGold.address,
671442
671723
  data: lockedGold.lock().txo.encodeABI(),
671443
671724
  gas: await lockedGold.lock().txo.estimateGas({
671444
671725
  from: account.freshAddress,
671445
- value: value.toFixed()
671726
+ value: valueHex
671446
671727
  })
671447
671728
  };
671448
671729
  } else if (transaction.mode === "unlock") {
@@ -671463,7 +671744,7 @@ const bridge_buildTransaction_buildTransaction = async (account, transaction)=>{
671463
671744
  data: lockedGold.withdraw(transaction.index || 0).txo.encodeABI(),
671464
671745
  gas: await lockedGold.withdraw(transaction.index || 0).txo.estimateGas({
671465
671746
  from: account.freshAddress,
671466
- value: value.toFixed()
671747
+ value: valueToHex(value)
671467
671748
  })
671468
671749
  };
671469
671750
  } else if (transaction.mode === "vote") {
@@ -671535,14 +671816,14 @@ const bridge_buildTransaction_buildTransaction = async (account, transaction)=>{
671535
671816
  from: account.freshAddress,
671536
671817
  to: transaction.recipient,
671537
671818
  data: token.transfer(transaction.recipient, value.toFixed()).txo.encodeABI(),
671538
- value: value.toFixed()
671819
+ value: valueToHex(value)
671539
671820
  };
671540
671821
  } else {
671541
671822
  // Send
671542
671823
  celoTransaction = {
671543
671824
  from: account.freshAddress,
671544
671825
  to: transaction.recipient,
671545
- value: value.toFixed()
671826
+ value: valueToHex(value)
671546
671827
  };
671547
671828
  }
671548
671829
  const gas = (await kit.connection.estimateGasWithInflationFactor(celoTransaction) * MAX_FEES_THRESHOLD_MULTIPLIER).toFixed();
@@ -671567,7 +671848,7 @@ const transactionValue = (account, transaction)=>{
671567
671848
  const revoke = getVote(account, transaction.recipient, transaction.index);
671568
671849
  if (revoke?.amount) value = revoke.amount;
671569
671850
  } else {
671570
- value = account.spendableBalance.minus(transaction.fees || 0);
671851
+ value = bignumber_BigNumber.max(0, account.spendableBalance.minus(transaction.fees || 0));
671571
671852
  }
671572
671853
  }
671573
671854
  return value;
@@ -671581,6 +671862,7 @@ const transactionValue = (account, transaction)=>{
671581
671862
 
671582
671863
 
671583
671864
 
671865
+
671584
671866
  const getFeesForTransaction_getFeesForTransaction = async ({ account, transaction })=>{
671585
671867
  const { amount, index } = transaction;
671586
671868
  const kit = celoKit();
@@ -671596,6 +671878,10 @@ const getFeesForTransaction_getFeesForTransaction = async ({ account, transactio
671596
671878
  const tokenAccount = helpers_findSubAccountById(account, transaction.subAccountId || "");
671597
671879
  const isTokenTransaction = tokenAccount?.type === "TokenAccount";
671598
671880
  const maxPriorityFeePerGas = await kit.connection.getMaxPriorityFeePerGas();
671881
+ // Align with @celo/connect setFeeMarketGas: used for final fee for all modes.
671882
+ const gasPrice = await kit.connection.gasPrice();
671883
+ const maxFeePerGas = (BigInt(gasPrice) - BigInt(maxPriorityFeePerGas)) * BigInt(120) / BigInt(100) + BigInt(maxPriorityFeePerGas);
671884
+ const maxFeePerGasNumber = new bignumber_BigNumber(maxFeePerGas.toString());
671599
671885
  if ((transaction.mode === "unlock" || transaction.mode === "vote") && account.celoResources) {
671600
671886
  value = transaction.useAllAmount ? totalNonVotingLockedBalance : bignumber_BigNumber.minimum(amount, totalNonVotingLockedBalance);
671601
671887
  } else if (transaction.mode === "revoke" && account.celoResources) {
@@ -671610,7 +671896,7 @@ const getFeesForTransaction_getFeesForTransaction = async ({ account, transactio
671610
671896
  if (transaction.mode === "lock") {
671611
671897
  gas = await lockedGold.lock().txo.estimateGas({
671612
671898
  from: account.freshAddress,
671613
- value: value.toFixed()
671899
+ value: valueToHex(value)
671614
671900
  });
671615
671901
  } else if (transaction.mode === "unlock") {
671616
671902
  const lockedGold = await kit.contracts.getLockedGold();
@@ -671672,19 +671958,18 @@ const getFeesForTransaction_getFeesForTransaction = async ({ account, transactio
671672
671958
  data: token.transfer(transaction.recipient, value.toFixed()).txo.encodeABI(),
671673
671959
  maxFeePerGas: maxFeePerGas.toString(),
671674
671960
  maxPriorityFeePerGas,
671675
- value: value.toFixed()
671961
+ value: valueToHex(value)
671676
671962
  };
671677
671963
  gas = Number((await kit.connection.estimateGasWithInflationFactor(celoTransaction) * MAX_FEES_THRESHOLD_MULTIPLIER).toFixed());
671678
671964
  } else {
671679
- // Send
671680
- const tx = await bridge_buildTransaction(account, transaction);
671681
- gas = tx.gas ? Number(tx.gas) : 0;
671965
+ // Send: use estimated gas, or fallback so prepareTransaction succeeds and user can edit amount.
671966
+ try {
671967
+ const tx = await bridge_buildTransaction(account, transaction);
671968
+ gas = tx.gas ? Number(tx.gas) : 0;
671969
+ } catch {
671970
+ gas = MIN_GAS_FOR_NATIVE_TRANSFER * MAX_FEES_THRESHOLD_MULTIPLIER;
671971
+ }
671682
671972
  }
671683
- // TODO: Should implement more clear logic for all flows
671684
- // current FIX is to align with node_modules/.pnpm/@celo+connect@7.0.0/node_modules/@celo/connect/lib/connection.js : setFeeMarketGas
671685
- const gasPrice = await kit.connection.gasPrice();
671686
- const maxFeePerGas = (BigInt(gasPrice) - BigInt(maxPriorityFeePerGas)) * BigInt(120) / BigInt(100) + BigInt(maxPriorityFeePerGas);
671687
- const maxFeePerGasNumber = new bignumber_BigNumber(maxFeePerGas.toString());
671688
671973
  return maxFeePerGasNumber.times(gas);
671689
671974
  };
671690
671975
  /* export default */ const bridge_getFeesForTransaction = (getFeesForTransaction_getFeesForTransaction); //# sourceMappingURL=getFeesForTransaction.js.map
@@ -682719,6 +683004,7 @@ const detectEvmStakingOperationType = (currencyId, to, methodId)=>{
682719
683004
 
682720
683005
 
682721
683006
 
683007
+
682722
683008
  /**
682723
683009
  * Helper to safely convert a value to BigNumber, defaulting to 0 if invalid.
682724
683010
  * Some explorers (e.g., Blockscout on Optimism) may return empty strings or
@@ -682779,11 +683065,11 @@ const detectEvmStakingOperationType = (currencyId, to, methodId)=>{
682779
683065
  recipients: [
682780
683066
  to
682781
683067
  ],
682782
- blockHeight: parseInt(etherscanOp.blockNumber, 10),
683068
+ blockHeight: Number.parseInt(etherscanOp.blockNumber, 10),
682783
683069
  blockHash: etherscanOp.blockHash,
682784
683070
  transactionSequenceNumber: new bignumber(etherscanOp.nonce),
682785
683071
  accountId: accountId,
682786
- date: new Date(parseInt(etherscanOp.timeStamp, 10) * 1000),
683072
+ date: new Date(Number.parseInt(etherscanOp.timeStamp, 10) * 1000),
682787
683073
  subOperations: [],
682788
683074
  nftOperations: [],
682789
683075
  internalOperations: [],
@@ -682825,13 +683111,13 @@ const detectEvmStakingOperationType = (currencyId, to, methodId)=>{
682825
683111
  to
682826
683112
  ],
682827
683113
  contract: eip55_default().encode(event.contractAddress),
682828
- blockHeight: parseInt(event.blockNumber, 10),
683114
+ blockHeight: Number.parseInt(event.blockNumber, 10),
682829
683115
  blockHash: event.blockHash,
682830
683116
  transactionSequenceNumber: new bignumber(event.nonce),
682831
683117
  // NOTE Bridge implementations replace property `accountId`
682832
683118
  // TODO Remove property once the legacy bridge is deleted
682833
683119
  accountId,
682834
- date: new Date(parseInt(event.timeStamp, 10) * 1000),
683120
+ date: new Date(Number.parseInt(event.timeStamp, 10) * 1000),
682835
683121
  extra: {}
682836
683122
  }));
682837
683123
  };
@@ -682867,7 +683153,7 @@ const detectEvmStakingOperationType = (currencyId, to, methodId)=>{
682867
683153
  recipients: [
682868
683154
  to
682869
683155
  ],
682870
- blockHeight: parseInt(event.blockNumber, 10),
683156
+ blockHeight: Number.parseInt(event.blockNumber, 10),
682871
683157
  blockHash: event.blockHash,
682872
683158
  transactionSequenceNumber: new bignumber(event.nonce),
682873
683159
  accountId,
@@ -682875,7 +683161,7 @@ const detectEvmStakingOperationType = (currencyId, to, methodId)=>{
682875
683161
  contract,
682876
683162
  tokenId: event.tokenID,
682877
683163
  value,
682878
- date: new Date(parseInt(event.timeStamp, 10) * 1000),
683164
+ date: new Date(Number.parseInt(event.timeStamp, 10) * 1000),
682879
683165
  extra: {}
682880
683166
  }));
682881
683167
  };
@@ -682909,7 +683195,7 @@ const detectEvmStakingOperationType = (currencyId, to, methodId)=>{
682909
683195
  recipients: [
682910
683196
  to
682911
683197
  ],
682912
- blockHeight: parseInt(event.blockNumber, 10),
683198
+ blockHeight: Number.parseInt(event.blockNumber, 10),
682913
683199
  blockHash: event.blockHash,
682914
683200
  transactionSequenceNumber: new bignumber(event.nonce),
682915
683201
  accountId,
@@ -682917,7 +683203,7 @@ const detectEvmStakingOperationType = (currencyId, to, methodId)=>{
682917
683203
  contract,
682918
683204
  tokenId: event.tokenID,
682919
683205
  value,
682920
- date: new Date(parseInt(event.timeStamp, 10) * 1000),
683206
+ date: new Date(Number.parseInt(event.timeStamp, 10) * 1000),
682921
683207
  extra: {}
682922
683208
  }));
682923
683209
  };
@@ -682950,15 +683236,49 @@ const detectEvmStakingOperationType = (currencyId, to, methodId)=>{
682950
683236
  recipients: [
682951
683237
  to
682952
683238
  ],
682953
- blockHeight: parseInt(blockNumber, 10),
683239
+ blockHeight: Number.parseInt(blockNumber, 10),
682954
683240
  blockHash: undefined,
682955
683241
  accountId,
682956
683242
  value,
682957
- date: new Date(parseInt(timeStamp, 10) * 1000),
683243
+ date: new Date(Number.parseInt(timeStamp, 10) * 1000),
682958
683244
  hasFailed,
682959
683245
  extra: {}
682960
683246
  }));
682961
- }; //# sourceMappingURL=etherscan.js.map
683247
+ };
683248
+ /**
683249
+ * Serialize a paging token for the next page request.
683250
+ * Compact url-friendly format: "boundBlock-flags" where flags encode isDone state (1=done, 0=has more).
683251
+ * Returns NO_TOKEN if all endpoints are done.
683252
+ */ function serializePagingToken(boundBlock, state) {
683253
+ const allDone = state.coinIsDone && state.internalIsDone && state.tokenIsDone && state.nftIsDone;
683254
+ if (allDone || boundBlock === undefined) return (/* inlined export .NO_TOKEN */"");
683255
+ const flags = [
683256
+ state.coinIsDone,
683257
+ state.internalIsDone,
683258
+ state.tokenIsDone,
683259
+ state.nftIsDone
683260
+ ].map((f)=>f ? "1" : "0").join("");
683261
+ return `${boundBlock}-${flags}`;
683262
+ }
683263
+ /**
683264
+ * Deserialize a paging token to get the pagination state.
683265
+ * Returns undefined if token is empty or NO_TOKEN.
683266
+ * Throws if token format is invalid.
683267
+ */ function deserializePagingToken(token) {
683268
+ if (token === undefined || token === (/* inlined export .NO_TOKEN */"")) return undefined;
683269
+ const [blockStr, flags] = token.split("-");
683270
+ if (!flags) throw new Error("Invalid paging token: missing flags");
683271
+ const boundBlock = Number.parseInt(blockStr, 10);
683272
+ if (Number.isNaN(boundBlock)) throw new Error("Invalid paging token: invalid boundBlock");
683273
+ if (flags.length !== 4) throw new Error("Invalid paging token: invalid flags");
683274
+ return {
683275
+ boundBlock,
683276
+ coinIsDone: flags[0] === "1",
683277
+ internalIsDone: flags[1] === "1",
683278
+ tokenIsDone: flags[2] === "1",
683279
+ nftIsDone: flags[3] === "1"
683280
+ };
683281
+ } //# sourceMappingURL=etherscan.js.map
682962
683282
 
682963
683283
  ;// CONCATENATED MODULE: ../../libs/coin-modules/coin-evm/lib-es/adapters/blockOperations.js
682964
683284
 
@@ -694398,6 +694718,7 @@ const batchersMap = new Map();
694398
694718
  }; //# sourceMappingURL=support.js.map
694399
694719
 
694400
694720
  ;// CONCATENATED MODULE: ../../libs/coin-modules/coin-evm/lib-es/network/explorer/types.js
694721
+ /** Constant representing no pagination token (end of pagination or first page) */ const NO_TOKEN = "";
694401
694722
  /**
694402
694723
  * Type guard
694403
694724
  */ const isLedgerExplorerConfig = (explorerConfig)=>{
@@ -694427,6 +694748,20 @@ const batchersMap = new Map();
694427
694748
 
694428
694749
  const ETHERSCAN_TIMEOUT = 5000; // 5 seconds between 2 calls
694429
694750
  const etherscan_DEFAULT_RETRIES_API = 8;
694751
+ function boundBlockFromOperations(ops) {
694752
+ if (ops.length === 0) return 0;
694753
+ // Results are already sorted
694754
+ // In asc mode [1, 2, 3], the bound is 3
694755
+ // In desc mode [3, 2, 1], the bound is 1
694756
+ const op = ops[ops.length - 1];
694757
+ return op.blockHeight ?? 0;
694758
+ }
694759
+ const EMPTY_RESULT = {
694760
+ operations: [],
694761
+ isDone: true,
694762
+ boundBlock: 0,
694763
+ isPageFull: false
694764
+ };
694430
694765
  async function etherscan_fetchWithRetries(params, retries = etherscan_DEFAULT_RETRIES_API) {
694431
694766
  try {
694432
694767
  const { data } = await lib_axios.request(params);
@@ -694447,46 +694782,107 @@ async function etherscan_fetchWithRetries(params, retries = etherscan_DEFAULT_RE
694447
694782
  throw e;
694448
694783
  }
694449
694784
  }
694785
+ function isPageFull(limitParameter, operationCount) {
694786
+ return limitParameter === undefined || limitParameter === 0 || operationCount >= limitParameter;
694787
+ }
694788
+ // Returns true when there are no more pages to fetch
694789
+ // This happens when the page is NOT full OR we got no results
694790
+ function etherscan_isDone(limitParameter, operationCount) {
694791
+ // the notion is close to !isPageFull, but it handles unlimited pages
694792
+ // also isPageFull accepts a 0 limit, while isDone considers 0 results as done
694793
+ return limitParameter === undefined || !isPageFull(limitParameter, operationCount) || operationCount === 0;
694794
+ }
694795
+ function groupByHash(items) {
694796
+ const byHash = {};
694797
+ for (const item of items){
694798
+ if (!byHash[item.hash]) {
694799
+ byHash[item.hash] = [];
694800
+ }
694801
+ byHash[item.hash].push(item);
694802
+ }
694803
+ return byHash;
694804
+ }
694805
+ function createBlockComparator(order) {
694806
+ // In desc: higher blocks come first, so compare(a, b) = b - a
694807
+ // In asc: lower blocks come first, so compare(a, b) = a - b
694808
+ const compare = order === "asc" ? (a, b)=>a - b : (a, b)=>b - a;
694809
+ const next = order === "asc" ? (b)=>b + 1 : (b)=>b - 1;
694810
+ return {
694811
+ compare,
694812
+ min: (a, b)=>compare(a, b) <= 0 ? a : b,
694813
+ isLessOrEqual: (a, b)=>compare(a, b) <= 0,
694814
+ next
694815
+ };
694816
+ }
694817
+ // this function is used to optimize the block range query for the next endpoint call
694818
+ // why ? because the operations must respect a total ordering by block height across pages, it's unnecessary to query blocks higher than the max block of the current page
694819
+ function computeEffectiveBoundBlock(limit, currentBoundBlock, result, cmp) {
694820
+ // when page are unlimited, we don't adjust the maxBlock
694821
+ if (limit !== undefined && result.isPageFull && result.operations.length > 0 && result.boundBlock > 0) {
694822
+ if (currentBoundBlock === undefined) {
694823
+ return result.boundBlock;
694824
+ }
694825
+ // Select the bound that comes first in pagination order (semantically smaller)
694826
+ // This ensures we don't miss any blocks - we constrain to the most restrictive bound
694827
+ // In desc mode: this is Math.max (higher blocks come first)
694828
+ // In asc mode: this is Math.min (lower blocks come first)
694829
+ return cmp.min(currentBoundBlock, result.boundBlock);
694830
+ }
694831
+ return currentBoundBlock;
694832
+ }
694450
694833
  /**
694451
- * Get all the latest "normal" transactions (no tokens / NFTs)
694452
- */ const getLastCoinOperations = async (currency, address, accountId, fromBlock, toBlock)=>{
694453
- const config = coin_evm_lib_es_config_getCoinConfig(currency).info;
694834
+ * Get all the "normal" transactions (no tokens / NFTs)
694835
+ */ const getCoinOperations = async (params)=>{
694836
+ const config = coin_evm_lib_es_config_getCoinConfig(params.currency).info;
694454
694837
  const { explorer } = config || /* istanbul ignore next */ {};
694455
694838
  if (!isEtherscanLikeExplorerConfig(explorer)) {
694456
694839
  throw new EtherscanLikeExplorerUsedIncorrectly();
694457
694840
  }
694458
- const url = explorer.type === "corescan" ? `${explorer.uri}/accounts/list_of_txs_by_address/${address}` : `${explorer.uri}?module=account&action=txlist&address=${address}`;
694841
+ const url = explorer.type === "corescan" ? `${explorer.uri}/accounts/list_of_txs_by_address/${params.address}` : `${explorer.uri}?module=account&action=txlist&address=${params.address}`;
694459
694842
  const ops = await etherscan_fetchWithRetries({
694460
694843
  method: "GET",
694461
694844
  url,
694462
694845
  params: {
694463
694846
  tag: "latest",
694464
- page: 1,
694465
- sort: "desc",
694466
- startBlock: fromBlock,
694467
- endBlock: toBlock
694847
+ page: params.page ?? 1,
694848
+ ...params.limit !== undefined && {
694849
+ offset: params.limit
694850
+ },
694851
+ sort: params.sort,
694852
+ startBlock: params.fromBlock,
694853
+ endBlock: params.toBlock
694468
694854
  }
694469
694855
  });
694470
- return ops.map((tx)=>etherscanOperationToOperations(accountId, tx)).flat();
694856
+ const operations = ops.flatMap((tx)=>etherscanOperationToOperations(params.accountId, tx));
694857
+ const maxBlock = boundBlockFromOperations(operations);
694858
+ return {
694859
+ operations,
694860
+ isDone: etherscan_isDone(params.limit, ops.length),
694861
+ boundBlock: maxBlock,
694862
+ isPageFull: isPageFull(params.limit, ops.length)
694863
+ };
694471
694864
  };
694472
694865
  /**
694473
- * Get all the latest ERC20 transactions
694474
- */ const getLastTokenOperations = async (currency, address, accountId, fromBlock, toBlock)=>{
694475
- const config = coin_evm_lib_es_config_getCoinConfig(currency).info;
694866
+ * Get all the ERC20 transactions
694867
+ */ const getTokenOperations = async (params)=>{
694868
+ const config = coin_evm_lib_es_config_getCoinConfig(params.currency).info;
694476
694869
  const { explorer } = config || /* istanbul ignore next */ {};
694477
694870
  if (!isEtherscanLikeExplorerConfig(explorer)) {
694478
694871
  throw new EtherscanLikeExplorerUsedIncorrectly();
694479
694872
  }
694480
- const url = explorer.type === "corescan" ? `${explorer.uri}/accounts/list_of_erc20_transfer_events_by_address/${address}` : `${explorer.uri}?module=account&action=tokentx&address=${address}`;
694873
+ const url = explorer.type === "corescan" ? `${explorer.uri}/accounts/list_of_erc20_transfer_events_by_address/${params.address}` : `${explorer.uri}?module=account&action=tokentx&address=${params.address}`;
694481
694874
  const ops = await etherscan_fetchWithRetries({
694482
694875
  method: "GET",
694483
694876
  url,
694484
694877
  params: {
694485
694878
  tag: "latest",
694486
- page: 1,
694487
- sort: "desc",
694488
- startBlock: fromBlock,
694489
- endBlock: toBlock
694879
+ page: params.page ?? 1,
694880
+ ...params.limit !== undefined && {
694881
+ offset: params.limit
694882
+ },
694883
+ sort: params.sort,
694884
+ startBlock: params.fromBlock,
694885
+ endBlock: params.toBlock
694490
694886
  }
694491
694887
  });
694492
694888
  // Why this thing ?
@@ -694498,34 +694894,37 @@ async function etherscan_fetchWithRetries(params, retries = etherscan_DEFAULT_RE
694498
694894
  // To make sure every event (transformed into an operation here)
694499
694895
  // has a unique id, we're groupping them by transaction hash
694500
694896
  // and using the index for each event fired.
694501
- const opsByHash = {};
694502
- for (const op of ops){
694503
- if (!opsByHash[op.hash]) {
694504
- opsByHash[op.hash] = [];
694505
- }
694506
- opsByHash[op.hash].push(op);
694507
- }
694508
- const allOperationsArrays = Object.values(opsByHash).map((events)=>events.map((event, index)=>etherscanERC20EventToOperations(accountId, event, index)));
694509
- return allOperationsArrays.flat(2);
694897
+ const opsByHash = groupByHash(ops);
694898
+ const operations = Object.values(opsByHash).flatMap((events)=>events.flatMap((event, index)=>etherscanERC20EventToOperations(params.accountId, event, index)));
694899
+ const maxBlock = boundBlockFromOperations(operations);
694900
+ return {
694901
+ operations,
694902
+ isDone: etherscan_isDone(params.limit, ops.length),
694903
+ boundBlock: maxBlock,
694904
+ isPageFull: isPageFull(params.limit, ops.length)
694905
+ };
694510
694906
  };
694511
694907
  /**
694512
- * Get all the latest ERC721 transactions
694513
- */ const getLastERC721Operations = async (currency, address, accountId, fromBlock, toBlock)=>{
694514
- const config = coin_evm_lib_es_config_getCoinConfig(currency).info;
694908
+ * Get all the ERC721 transactions
694909
+ */ const getERC721Operations = async (params)=>{
694910
+ const config = coin_evm_lib_es_config_getCoinConfig(params.currency).info;
694515
694911
  const { explorer } = config || /* istanbul ignore next */ {};
694516
694912
  if (!isEtherscanLikeExplorerConfig(explorer)) {
694517
694913
  throw new EtherscanLikeExplorerUsedIncorrectly();
694518
694914
  }
694519
- const url = explorer.type === "corescan" ? `${explorer.uri}/accounts/list_of_erc721_transfer_events_by_address/${address}` : `${explorer.uri}?module=account&action=tokennfttx&address=${address}`;
694915
+ const url = explorer.type === "corescan" ? `${explorer.uri}/accounts/list_of_erc721_transfer_events_by_address/${params.address}` : `${explorer.uri}?module=account&action=tokennfttx&address=${params.address}`;
694520
694916
  const ops = await etherscan_fetchWithRetries({
694521
694917
  method: "GET",
694522
694918
  url,
694523
694919
  params: {
694524
694920
  tag: "latest",
694525
- page: 1,
694526
- sort: "desc",
694527
- startBlock: fromBlock,
694528
- endBlock: toBlock
694921
+ page: params.page ?? 1,
694922
+ ...params.limit !== undefined && {
694923
+ offset: params.limit
694924
+ },
694925
+ sort: params.sort,
694926
+ startBlock: params.fromBlock,
694927
+ endBlock: params.toBlock
694529
694928
  }
694530
694929
  });
694531
694930
  // Why this thing ?
@@ -694537,19 +694936,20 @@ async function etherscan_fetchWithRetries(params, retries = etherscan_DEFAULT_RE
694537
694936
  // To make sure every event (transformed into an operation here)
694538
694937
  // has a unique id, we're groupping them by transaction hash
694539
694938
  // and using the index for each event fired.
694540
- const opsByHash = {};
694541
- for (const op of ops){
694542
- if (!opsByHash[op.hash]) {
694543
- opsByHash[op.hash] = [];
694544
- }
694545
- opsByHash[op.hash].push(op);
694546
- }
694547
- return Object.values(opsByHash).map((events)=>events.map((event, index)=>etherscanERC721EventToOperations(accountId, event, index))).flat(2);
694939
+ const opsByHash = groupByHash(ops);
694940
+ const operations = Object.values(opsByHash).flatMap((events)=>events.flatMap((event, index)=>etherscanERC721EventToOperations(params.accountId, event, index)));
694941
+ const maxBlock = boundBlockFromOperations(operations);
694942
+ return {
694943
+ operations,
694944
+ isDone: etherscan_isDone(params.limit, ops.length),
694945
+ boundBlock: maxBlock,
694946
+ isPageFull: isPageFull(params.limit, ops.length)
694947
+ };
694548
694948
  };
694549
694949
  /**
694550
- * Get all the latest ERC1155 transactions
694551
- */ const getLastERC1155Operations = async (currency, address, accountId, fromBlock, toBlock)=>{
694552
- const config = coin_evm_lib_es_config_getCoinConfig(currency).info;
694950
+ * Get all the ERC1155 transactions
694951
+ */ const getERC1155Operations = async (params)=>{
694952
+ const config = coin_evm_lib_es_config_getCoinConfig(params.currency).info;
694553
694953
  const { explorer } = config || /* istanbul ignore next */ {};
694554
694954
  if (!isEtherscanLikeExplorerConfig(explorer)) {
694555
694955
  throw new EtherscanLikeExplorerUsedIncorrectly();
@@ -694559,17 +694959,20 @@ async function etherscan_fetchWithRetries(params, retries = etherscan_DEFAULT_RE
694559
694959
  "blockscout",
694560
694960
  "corescan"
694561
694961
  ].includes(explorer.type)) {
694562
- return [];
694962
+ return EMPTY_RESULT;
694563
694963
  }
694564
694964
  const ops = await etherscan_fetchWithRetries({
694565
694965
  method: "GET",
694566
- url: `${explorer.uri}?module=account&action=token1155tx&address=${address}`,
694966
+ url: `${explorer.uri}?module=account&action=token1155tx&address=${params.address}`,
694567
694967
  params: {
694568
694968
  tag: "latest",
694569
- page: 1,
694570
- sort: "desc",
694571
- startBlock: fromBlock,
694572
- endBlock: toBlock
694969
+ page: params.page ?? 1,
694970
+ ...params.limit !== undefined && {
694971
+ offset: params.limit
694972
+ },
694973
+ sort: params.sort,
694974
+ startBlock: params.fromBlock,
694975
+ endBlock: params.toBlock
694573
694976
  }
694574
694977
  });
694575
694978
  // Why this thing ?
@@ -694581,29 +694984,38 @@ async function etherscan_fetchWithRetries(params, retries = etherscan_DEFAULT_RE
694581
694984
  // To make sure every event (transformed into an operation here)
694582
694985
  // has a unique id, we're groupping them by transaction hash
694583
694986
  // and using the index for each event fired.
694584
- const opsByHash = {};
694585
- for (const op of ops){
694586
- if (!opsByHash[op.hash]) {
694587
- opsByHash[op.hash] = [];
694588
- }
694589
- opsByHash[op.hash].push(op);
694590
- }
694591
- return Object.values(opsByHash).map((events)=>events.map((event, index)=>etherscanERC1155EventToOperations(accountId, event, index))).flat(2);
694987
+ const opsByHash = groupByHash(ops);
694988
+ const operations = Object.values(opsByHash).flatMap((events)=>events.flatMap((event, index)=>etherscanERC1155EventToOperations(params.accountId, event, index)));
694989
+ const maxBlock = boundBlockFromOperations(operations);
694990
+ return {
694991
+ operations,
694992
+ isDone: etherscan_isDone(params.limit, ops.length),
694993
+ boundBlock: maxBlock,
694994
+ isPageFull: isPageFull(params.limit, ops.length)
694995
+ };
694592
694996
  };
694593
694997
  /**
694594
694998
  * Get all NFT related operations (ERC721 + ERC1155)
694595
- */ const getLastNftOperations = async (currency, address, accountId, fromBlock, toBlock)=>{
694596
- const config = coin_evm_lib_es_config_getCoinConfig(currency).info;
694999
+ */ const getNftOperations = async (params)=>{
695000
+ const config = coin_evm_lib_es_config_getCoinConfig(params.currency).info;
694597
695001
  if (!config.showNfts) {
694598
- return [];
695002
+ return EMPTY_RESULT;
694599
695003
  }
694600
- const erc721Ops = await getLastERC721Operations(currency, address, accountId, fromBlock, toBlock);
694601
- const erc1155Ops = await getLastERC1155Operations(currency, address, accountId, fromBlock, toBlock);
694602
- return [
694603
- ...erc721Ops,
694604
- ...erc1155Ops
694605
- ].sort(// sorting DESC order
694606
- (a, b)=>b.date.getTime() - a.date.getTime());
695004
+ const erc721Result = await getERC721Operations(params);
695005
+ const erc1155Result = await getERC1155Operations(params);
695006
+ const sort = params.sort;
695007
+ const operations = [
695008
+ ...erc721Result.operations,
695009
+ ...erc1155Result.operations
695010
+ ].sort(// sorting by date based on sort parameter
695011
+ (a, b)=>sort === "desc" ? b.date.getTime() - a.date.getTime() : a.date.getTime() - b.date.getTime());
695012
+ const maxBlock = Math.max(erc721Result.boundBlock, erc1155Result.boundBlock);
695013
+ return {
695014
+ operations,
695015
+ isDone: erc721Result.isDone && erc1155Result.isDone,
695016
+ boundBlock: maxBlock,
695017
+ isPageFull: erc721Result.isPageFull || erc1155Result.isPageFull
695018
+ };
694607
695019
  };
694608
695020
  // blockscout returns tx hash in transactionHash field
694609
695021
  const fixTxHash = (op)=>({
@@ -694611,24 +695023,29 @@ const fixTxHash = (op)=>({
694611
695023
  hash: op.hash ?? op.transactionHash
694612
695024
  });
694613
695025
  /**
694614
- * Get all the latest internal transactions
694615
- */ const getLastInternalOperations = async (currency, address, accountId, fromBlock, toBlock)=>{
694616
- const config = coin_evm_lib_es_config_getCoinConfig(currency).info;
695026
+ * Get all the internal transactions
695027
+ */ const getInternalOperations = async (params)=>{
695028
+ const config = coin_evm_lib_es_config_getCoinConfig(params.currency).info;
694617
695029
  const { explorer } = config || /* istanbul ignore next */ {};
694618
695030
  if (!isEtherscanLikeExplorerConfig(explorer)) {
694619
695031
  throw new EtherscanLikeExplorerUsedIncorrectly();
694620
695032
  }
694621
695033
  // Corescan has no support to get internal operations by address
694622
- if (explorer.type === "corescan") return [];
695034
+ if (explorer.type === "corescan") {
695035
+ return EMPTY_RESULT;
695036
+ }
694623
695037
  const ops = await etherscan_fetchWithRetries({
694624
695038
  method: "GET",
694625
- url: `${explorer.uri}?module=account&action=txlistinternal&address=${address}`,
695039
+ url: `${explorer.uri}?module=account&action=txlistinternal&address=${params.address}`,
694626
695040
  params: {
694627
695041
  tag: "latest",
694628
- page: 1,
694629
- sort: "desc",
694630
- startBlock: fromBlock,
694631
- endBlock: toBlock
695042
+ page: params.page ?? 1,
695043
+ ...params.limit !== undefined && {
695044
+ offset: params.limit
695045
+ },
695046
+ sort: params.sort,
695047
+ startBlock: params.fromBlock,
695048
+ endBlock: params.toBlock
694632
695049
  }
694633
695050
  }).then((ops)=>ops.map(fixTxHash));
694634
695051
  // Why this thing ?
@@ -694637,52 +695054,206 @@ const fixTxHash = (op)=>({
694637
695054
  // Grouping them here helps differenciate the
694638
695055
  // `Operation` ids which would be identical
694639
695056
  // otherwise without a notion of index.
694640
- const opsByHash = {};
694641
- for (const op of ops){
694642
- if (!opsByHash[op.hash]) {
694643
- opsByHash[op.hash] = [];
694644
- }
694645
- opsByHash[op.hash].push(op);
694646
- }
694647
- return Object.values(opsByHash).map((internalTxs)=>internalTxs.map((internalTx, index)=>etherscanInternalTransactionToOperations(accountId, internalTx, index))).flat(2);
695057
+ const opsByHash = groupByHash(ops);
695058
+ const operations = Object.values(opsByHash).flatMap((internalTxs)=>internalTxs.flatMap((internalTx, index)=>etherscanInternalTransactionToOperations(params.accountId, internalTx, index)));
695059
+ const maxBlock = boundBlockFromOperations(operations);
695060
+ return {
695061
+ operations,
695062
+ isDone: etherscan_isDone(params.limit, ops.length),
695063
+ boundBlock: maxBlock,
695064
+ isPageFull: isPageFull(params.limit, ops.length)
695065
+ };
694648
695066
  };
695067
+ /**
695068
+ * Fetches operations from an endpoint and exhausts the boundary block if the page is full.
695069
+ *
695070
+ * When a page is full (returns exactly `limit` operations), there may be more operations
695071
+ * at the same max block height H1 that didn't fit in the current page. If we simply move
695072
+ * to minHeight = H1 + 1 without exhausting H1, we would lose those remaining operations
695073
+ * on the next page.
695074
+ *
695075
+ * This helper continues fetching pages while the page is full AND all operations are at
695076
+ * the same boundary block height than the first page.
695077
+ * This ensures we get all operations at H1.
695078
+ *
695079
+ * @returns An aggregated EndpointResult with operations from one or more pages with guarantee that no operation exceed the highest block height of the first page.
695080
+ */ async function exhaustEndpoint(fetchOperations, params) {
695081
+ const { limit } = params;
695082
+ const fetchPage = (page, limitOverride = limit)=>fetchOperations({
695083
+ ...params,
695084
+ ...limitOverride !== undefined && {
695085
+ limit: limitOverride
695086
+ },
695087
+ page
695088
+ });
695089
+ // in unlimited mode, just let fetch the page
695090
+ if (limit === undefined) {
695091
+ return fetchPage(1);
695092
+ }
695093
+ let currentPageNumber = 1;
695094
+ // call first page with a limit + 1 to check if we need to fetch a 2nd page
695095
+ const firstPage = await fetchPage(currentPageNumber, limit + 1);
695096
+ // if the page is not full there is nothing to exhaust and the limit input is honored
695097
+ if (!firstPage.isPageFull) {
695098
+ // this is a bit hacky but we need to recompute isPageFull
695099
+ // because the first page has been fetched with a limit + 1
695100
+ // in case we have ops.length == limit, then isPageFull should be true
695101
+ return {
695102
+ ...firstPage,
695103
+ isPageFull: isPageFull(limit, firstPage.operations.length)
695104
+ };
695105
+ }
695106
+ // this is an optimization to avoid fetching the next page if the last 2 ops are not at the same block height (most likely case)
695107
+ // if the last 2 ops are at the same block height, we need to fetch the next pages
695108
+ // otherwise we can stop here (no heights spreading across pages)
695109
+ // example: with limit = 3, if I fetch 4 ops with heights [1, 2, 3, 4], I know I have all the blocks at height 3.
695110
+ const lastTwoOps = firstPage.operations.slice(-2);
695111
+ if (lastTwoOps.length === 2 && lastTwoOps[0].blockHeight !== lastTwoOps[1].blockHeight) {
695112
+ // return the first page with the last op removed to honor the limit
695113
+ // and we also know there are more pages to fetch (not done)
695114
+ const butLastOps = firstPage.operations.slice(0, -1);
695115
+ const fixedBoundBlock = boundBlockFromOperations(butLastOps);
695116
+ return {
695117
+ ...firstPage,
695118
+ isDone: false,
695119
+ operations: butLastOps,
695120
+ boundBlock: fixedBoundBlock
695121
+ };
695122
+ }
695123
+ const allOperations = [
695124
+ ...firstPage.operations
695125
+ ];
695126
+ let nextPage;
695127
+ let boundaryOps;
695128
+ do {
695129
+ currentPageNumber++;
695130
+ // here we call with limit + 1 so that endpoint pagination doesn't break
695131
+ nextPage = await fetchPage(currentPageNumber, limit + 1);
695132
+ boundaryOps = nextPage.operations.filter((op)=>(op.blockHeight ?? 0) === firstPage.boundBlock);
695133
+ allOperations.push(...boundaryOps);
695134
+ // Continue while all ops are at boundary block AND page is full (more pages might exist)
695135
+ }while (boundaryOps.length === nextPage.operations.length && nextPage.isPageFull && !nextPage.isDone);
695136
+ // isDone = false if we found ops at other blocks (more to fetch), otherwise use last page's status
695137
+ const hasOpsAtOtherBlocks = boundaryOps.length < nextPage.operations.length;
695138
+ const resultIsDone = hasOpsAtOtherBlocks ? false : nextPage.isDone;
695139
+ return {
695140
+ ...firstPage,
695141
+ operations: allOperations,
695142
+ isDone: resultIsDone,
695143
+ isPageFull: firstPage.isPageFull
695144
+ };
695145
+ }
694649
695146
  /**
694650
695147
  * Wrapper around all operation types' requests
694651
695148
  *
694652
695149
  * ⚠ The lack of parallelization is on purpose,
694653
695150
  * do not use a Promise.all here, it would
694654
695151
  * break because of the rate limits
694655
- */ const getLastOperations = cache_makeLRUCache(async (currency, address, accountId, fromBlock, toBlock)=>{
695152
+ *
695153
+ * This function implements total ordering across pages by:
695154
+ * 1. Calculating effectiveToBlock from limit if not provided
695155
+ * 2. Exhausting boundary blocks to avoid losing operations
695156
+ * 3. Cascading effectiveMaxBlock to constrain subsequent endpoints
695157
+ */ const etherscan_getOperations = cache_makeLRUCache(async (currency, address, accountId, fromBlock, toBlock, pagingToken, limit, order = "desc")=>{
694656
695158
  try {
694657
- const lastCoinOperations = await getLastCoinOperations(currency, address, accountId, fromBlock, toBlock);
694658
- const lastInternalOperations = await getLastInternalOperations(currency, address, accountId, fromBlock, toBlock);
694659
- const lastTokenOperations = await getLastTokenOperations(currency, address, accountId, fromBlock, toBlock);
694660
- const lastNftOperations = isNFTActive(currency) ? await getLastNftOperations(currency, address, accountId, fromBlock, toBlock) : [];
695159
+ const pagingState = deserializePagingToken(pagingToken);
695160
+ const paginationBlock = pagingState?.boundBlock;
695161
+ const cmp = createBlockComparator(order);
695162
+ const baseParams = {
695163
+ currency,
695164
+ address,
695165
+ accountId,
695166
+ fromBlock,
695167
+ ...toBlock !== undefined && {
695168
+ toBlock
695169
+ },
695170
+ ...limit !== undefined && {
695171
+ limit
695172
+ },
695173
+ sort: order
695174
+ };
695175
+ async function callEndpoint(endpoint, boundBlock, isDone) {
695176
+ if (isDone) {
695177
+ return {
695178
+ result: EMPTY_RESULT,
695179
+ effectiveBoundBlock: boundBlock
695180
+ };
695181
+ }
695182
+ // in asc mode, the cursor is the toBlock
695183
+ // in desc mode the cursor is the fromBlock
695184
+ // note that user input is discarded in favor of the bound block and the pagination
695185
+ const effectiveToBlock = order === "asc" ? boundBlock ?? toBlock : paginationBlock ?? toBlock;
695186
+ const effectiveFromBlock = order === "asc" ? paginationBlock ?? fromBlock : boundBlock ?? fromBlock;
695187
+ const params = {
695188
+ ...baseParams,
695189
+ fromBlock: effectiveFromBlock,
695190
+ ...effectiveToBlock !== undefined && {
695191
+ toBlock: effectiveToBlock
695192
+ }
695193
+ };
695194
+ const result = await exhaustEndpoint(endpoint, params);
695195
+ const effectiveBoundBlock = computeEffectiveBoundBlock(limit, boundBlock, result, cmp);
695196
+ return {
695197
+ result: result,
695198
+ effectiveBoundBlock: effectiveBoundBlock
695199
+ };
695200
+ }
695201
+ // endpoint calls are sorted by likelihood of having more operations than the next
695202
+ const coins = await callEndpoint(getCoinOperations, undefined, pagingState?.coinIsDone);
695203
+ const internals = await callEndpoint(getInternalOperations, coins.effectiveBoundBlock, pagingState?.internalIsDone);
695204
+ const tokens = await callEndpoint(getTokenOperations, internals.effectiveBoundBlock, pagingState?.tokenIsDone);
695205
+ const nfts = await callEndpoint(getNftOperations, tokens.effectiveBoundBlock, !isNFTActive(currency) || pagingState?.nftIsDone);
695206
+ const effectiveBoundBlock = nfts.effectiveBoundBlock;
695207
+ const nextBoundBlock = effectiveBoundBlock === undefined ? undefined : cmp.next(effectiveBoundBlock);
695208
+ // drop operations below/above the currentBoundBlock
695209
+ const respectsBoundBlock = (op)=>effectiveBoundBlock === undefined || op.blockHeight !== null && op.blockHeight !== undefined && cmp.isLessOrEqual(op.blockHeight, effectiveBoundBlock);
695210
+ const [coinsResult, internalsResult, tokensResult, nftsResult] = [
695211
+ coins.result,
695212
+ internals.result,
695213
+ tokens.result,
695214
+ nfts.result
695215
+ ].map((result)=>{
695216
+ // drop operations below/above the currentBoundBlock
695217
+ // the isDone flag is recomputed because of that filtering
695218
+ const filteredOperations = result.operations.filter(respectsBoundBlock);
695219
+ const fixedIsDone = result.isDone && filteredOperations.length === result.operations.length;
695220
+ return {
695221
+ ...result,
695222
+ operations: filteredOperations,
695223
+ isDone: fixedIsDone
695224
+ };
695225
+ });
694661
695226
  return {
694662
- lastCoinOperations,
694663
- lastTokenOperations,
694664
- lastNftOperations,
694665
- lastInternalOperations
695227
+ lastCoinOperations: coinsResult.operations,
695228
+ lastTokenOperations: tokensResult.operations,
695229
+ lastNftOperations: nftsResult.operations,
695230
+ lastInternalOperations: internalsResult.operations,
695231
+ nextPagingToken: serializePagingToken(nextBoundBlock, {
695232
+ coinIsDone: coinsResult.isDone,
695233
+ internalIsDone: internalsResult.isDone,
695234
+ tokenIsDone: tokensResult.isDone,
695235
+ nftIsDone: nftsResult.isDone
695236
+ })
694666
695237
  };
694667
695238
  } catch (err) {
694668
- (0,logs_lib_es/* .log */.Rm)("EVM getLastOperations", "Error while fetching data from Etherscan like API", err);
695239
+ (0,logs_lib_es/* .log */.Rm)("EVM getOperations", "Error while fetching data from Etherscan like API", err);
694669
695240
  const message = typeof err === "string" ? err : err instanceof Error ? `${err.name} - ${err.message}` : JSON.stringify(err);
694670
695241
  throw new InvalidExplorerResponse(`${currency.name} - ${message}`, {
694671
695242
  currencyName: currency.name
694672
695243
  });
694673
695244
  }
694674
- }, (_currency, _address, accountId, fromBlock, toBlock)=>accountId + fromBlock + toBlock, {
695245
+ }, (_currency, _address, accountId, fromBlock, toBlock, pagingToken, limit, order)=>`${accountId}:${fromBlock}:${toBlock ?? ""}:${pagingToken ?? ""}:${limit ?? ""}:${order ?? "desc"}`, {
694675
695246
  ttl: ETHERSCAN_TIMEOUT
694676
695247
  });
694677
695248
  const etherscan_explorerApi = {
694678
- getLastOperations
695249
+ getOperations: etherscan_getOperations
694679
695250
  };
694680
- const explorerApiNoChache = {
694681
- getLastOperations: getLastOperations.force
695251
+ const explorerApiNoCache = {
695252
+ getOperations: etherscan_getOperations.force
694682
695253
  };
694683
695254
  /* export default */ const etherscan = ({
694684
695255
  explorerApi: etherscan_explorerApi,
694685
- explorerApiNoChache
695256
+ explorerApiNoCache
694686
695257
  }); //# sourceMappingURL=etherscan.js.map
694687
695258
 
694688
695259
  ;// CONCATENATED MODULE: ../../libs/coin-modules/coin-evm/lib-es/network/explorer/ledger.js
@@ -694734,7 +695305,11 @@ const ledger_DEFAULT_RETRIES_API = 2;
694734
695305
  }
694735
695306
  /**
694736
695307
  * Returns all operation types from an address
694737
- */ const ledger_getLastOperations = async (currency, address, accountId, fromBlock)=>{
695308
+ *
695309
+ * Note: Ledger explorer fetches all pages recursively internally,
695310
+ * so pagination parameters are ignored and nextPagingToken is always empty.
695311
+ * Pagination may be supported in the future.
695312
+ */ const ledger_getOperations = async (currency, address, accountId, fromBlock)=>{
694738
695313
  const config = coin_evm_lib_es_config_getCoinConfig(currency).info;
694739
695314
  const { explorer } = config || /* istanbul ignore next */ {};
694740
695315
  if (!isLedgerExplorerConfig(explorer)) {
@@ -694766,27 +695341,31 @@ const ledger_DEFAULT_RETRIES_API = 2;
694766
695341
  lastCoinOperations,
694767
695342
  lastTokenOperations,
694768
695343
  lastNftOperations,
694769
- lastInternalOperations
695344
+ lastInternalOperations,
695345
+ nextPagingToken: (/* inlined export .NO_TOKEN */"")
694770
695346
  };
694771
695347
  };
694772
695348
  const ledgerExplorerAPI = {
694773
- getLastOperations: ledger_getLastOperations
695349
+ getOperations: ledger_getOperations
694774
695350
  };
694775
695351
  /* export default */ const explorer_ledger = (ledgerExplorerAPI); //# sourceMappingURL=ledger.js.map
694776
695352
 
694777
695353
  ;// CONCATENATED MODULE: ../../libs/coin-modules/coin-evm/lib-es/network/explorer/none.js
695354
+
694778
695355
  /**
694779
695356
  * Returns all operation types from an address
694780
- */ const none_getLastOperations = async ()=>{
695357
+ * No explorer configured - returns empty results
695358
+ */ const none_getOperations = async ()=>{
694781
695359
  return {
694782
695360
  lastCoinOperations: [],
694783
695361
  lastTokenOperations: [],
694784
695362
  lastNftOperations: [],
694785
- lastInternalOperations: []
695363
+ lastInternalOperations: [],
695364
+ nextPagingToken: (/* inlined export .NO_TOKEN */"")
694786
695365
  };
694787
695366
  };
694788
695367
  const noExplorerAPI = {
694789
- getLastOperations: none_getLastOperations
695368
+ getOperations: none_getOperations
694790
695369
  };
694791
695370
  /* export default */ const none = (noExplorerAPI); //# sourceMappingURL=none.js.map
694792
695371
 
@@ -694806,7 +695385,7 @@ const noExplorerAPI = {
694806
695385
  case "teloscan":
694807
695386
  case "klaytnfinder":
694808
695387
  case "corescan":
694809
- return config.explorer.noCache ? etherscan.explorerApiNoChache : etherscan.explorerApi;
695388
+ return config.explorer.noCache ? etherscan.explorerApiNoCache : etherscan.explorerApi;
694810
695389
  case "ledger":
694811
695390
  return explorer_ledger;
694812
695391
  case "none":
@@ -695154,7 +695733,7 @@ async function getTokenBalances(currency, address, nodeApi, explorerApi) {
695154
695733
  // Execute staking and token operations in parallel for better performance
695155
695734
  const [stakingResult, tokenOperationsResult] = await Promise.allSettled([
695156
695735
  getStakes_getStakes(currency, address),
695157
- explorerApi.getLastOperations(currency, address, `js:2:${currency.id}:${address}:`, 0)
695736
+ explorerApi.getOperations(currency, address, `js:2:${currency.id}:${address}:`, 0)
695158
695737
  ]);
695159
695738
  // Add staking positions to balances (with error handling)
695160
695739
  if (stakingResult.status === "fulfilled") {
@@ -696123,9 +696702,15 @@ function toOperation(currency, address, asset, op) {
696123
696702
  }
696124
696703
  };
696125
696704
  }
696705
+ // the sort parameter has a double meaning:
696706
+ // - legacy (for the bridge): it's used to sort the operations in the result list. Explorer always queried in "desc" order.
696707
+ // - new: it's used to sort AND query the explorer with the correct order.
696708
+ // the limit parameter is a newly introduced parameter for pagination. It's used to switch between "legacy" and "new" behavior.
696709
+ // see tests for a full description of the behavior.
696126
696710
  async function logic_listOperations_listOperations(currency, address, pagination) {
696127
696711
  const explorerApi = getExplorerApi(currency);
696128
- const { lastCoinOperations, lastTokenOperations, lastNftOperations, lastInternalOperations } = await explorerApi.getLastOperations(currency, address, `js:2:${currency.id}:${address}:`, pagination.minHeight);
696712
+ const explorerOrder = pagination.limit === undefined ? "desc" : pagination.order ?? "desc";
696713
+ const { lastCoinOperations, lastTokenOperations, lastNftOperations, lastInternalOperations, nextPagingToken } = await explorerApi.getOperations(currency, address, `js:2:${currency.id}:${address}:`, pagination.minHeight, undefined, pagination.pagingToken, pagination.limit, explorerOrder);
696129
696714
  const isNativeOperation = (coinOperation)=>![
696130
696715
  ...lastTokenOperations,
696131
696716
  ...lastNftOperations
@@ -696155,16 +696740,21 @@ async function logic_listOperations_listOperations(currency, address, pagination
696155
696740
  owner: address,
696156
696741
  parents
696157
696742
  }, op));
696158
- const internalOperations = lastInternalOperations.filter((op)=>op.hash in parents).map((op)=>toOperation(currency.id, address, {
696743
+ const internalOperations = lastInternalOperations.map((op)=>{
696744
+ // Explorers don't provide block hash and fees for internal operations.
696745
+ // When a matching parent transaction exists, we take these values from it.
696746
+ // Otherwise, we use the internal operation's defaults.
696747
+ const parent = parents[op.hash];
696748
+ const enrichedOp = parent ? {
696749
+ ...op,
696750
+ fee: parent.fee,
696751
+ blockHash: parent.blockHash
696752
+ } : op;
696753
+ return toOperation(currency.id, address, {
696159
696754
  type: "native",
696160
696755
  internal: true
696161
- }, // Explorers don't provide block hash and fees for internal operations.
696162
- // We take this values from their parent.
696163
- {
696164
- ...op,
696165
- fee: parents[op.hash].fee,
696166
- blockHash: parents[op.hash].blockHash
696167
- }));
696756
+ }, enrichedOp);
696757
+ });
696168
696758
  const hasValidType = (operation)=>[
696169
696759
  "NONE",
696170
696760
  "FEES",
@@ -696179,7 +696769,7 @@ async function logic_listOperations_listOperations(currency, address, pagination
696179
696769
  const operations = nativeOperations.concat(tokenOperations).concat(internalOperations).filter(hasValidType).sort((a, b)=>pagination.order === "asc" ? a.tx.date.getTime() - b.tx.date.getTime() : b.tx.date.getTime() - a.tx.date.getTime());
696180
696770
  return [
696181
696771
  operations,
696182
- ""
696772
+ nextPagingToken
696183
696773
  ];
696184
696774
  } //# sourceMappingURL=listOperations.js.map
696185
696775
 
@@ -696845,7 +697435,7 @@ const bridge_synchronisation_getAccountShape = async (info, config)=>{
696845
697435
  const election = await synchronisation_kit.contracts.getElection();
696846
697436
  const electionConfig = await election.getConfig();
696847
697437
  const lockedGold = await synchronisation_kit.contracts.getLockedGold();
696848
- const accountId = encodeAccountId({
697438
+ const accountId = accountId_encodeAccountId({
696849
697439
  type: "js",
696850
697440
  version: "2",
696851
697441
  currencyId: currency.id,
@@ -706072,7 +706662,7 @@ function lib_es_helpers_isAccountEmpty({ cosmosResources, balance }) {
706072
706662
 
706073
706663
  const lib_es_synchronisation_getAccountShape = async (info)=>{
706074
706664
  const { address, currency, derivationMode, initialAccount } = info;
706075
- const accountId = encodeAccountId({
706665
+ const accountId = accountId_encodeAccountId({
706076
706666
  type: "js",
706077
706667
  version: "2",
706078
706668
  currencyId: currency.id,
@@ -727422,7 +728012,7 @@ async function getNodes({ cursor, limit = 100, order = "desc", fetchAllPages })
727422
728012
  nextCursor
727423
728013
  };
727424
728014
  }
727425
- const api_apiClient = {
728015
+ const network_api_apiClient = {
727426
728016
  getAccountsForPublicKey,
727427
728017
  getAccount: api_getAccount,
727428
728018
  getAccountTokens,
@@ -727653,7 +728243,7 @@ const checkAccountTokenAssociationStatus = cache_makeLRUCache(async (address, to
727653
728243
  throw parsingError;
727654
728244
  }
727655
728245
  const addressWithoutChecksum = parsingResult.accountId;
727656
- const mirrorAccount = await api_apiClient.getAccount(addressWithoutChecksum);
728246
+ const mirrorAccount = await network_api_apiClient.getAccount(addressWithoutChecksum);
727657
728247
  // auto association is enabled
727658
728248
  if (mirrorAccount.max_automatic_token_associations === -1) {
727659
728249
  return true;
@@ -727754,7 +728344,7 @@ const formatTransactionId = (transactionId)=>{
727754
728344
  * @returns EVM address (`0x...`) or null if fetch fails
727755
728345
  */ const toEVMAddress = async (accountId)=>{
727756
728346
  try {
727757
- const account = await api_apiClient.getAccount(accountId);
728347
+ const account = await network_api_apiClient.getAccount(accountId);
727758
728348
  return account.evm_address;
727759
728349
  } catch {
727760
728350
  return null;
@@ -727853,7 +728443,7 @@ const utils_calculateAPY = (rewardRateStart)=>{
727853
728443
  if (Number(startTimestamp) >= Number(endTimestamp)) {
727854
728444
  return new bignumber(0);
727855
728445
  }
727856
- const uncommittedTransactions = await api_apiClient.getTransactionsByTimestampRange({
728446
+ const uncommittedTransactions = await network_api_apiClient.getTransactionsByTimestampRange({
727857
728447
  address,
727858
728448
  startTimestamp: `gt:${startTimestamp}`,
727859
728449
  endTimestamp: `lte:${endTimestamp}`
@@ -727892,8 +728482,8 @@ const utils_calculateAPY = (rewardRateStart)=>{
727892
728482
  * Batching would complicate code for minimal gain given low staking op frequency.
727893
728483
  */ const utils_analyzeStakingOperation = async (address, mirrorTx)=>{
727894
728484
  const [accountBefore, accountAfter] = await Promise.all([
727895
- api_apiClient.getAccount(address, `lt:${mirrorTx.consensus_timestamp}`),
727896
- api_apiClient.getAccount(address, `eq:${mirrorTx.consensus_timestamp}`)
728485
+ network_api_apiClient.getAccount(address, `lt:${mirrorTx.consensus_timestamp}`),
728486
+ network_api_apiClient.getAccount(address, `eq:${mirrorTx.consensus_timestamp}`)
727897
728487
  ]);
727898
728488
  let operationType = null;
727899
728489
  const previousStakingNodeId = accountBefore.staked_node_id;
@@ -727952,8 +728542,8 @@ const estimateContractCallFees = async (txIntent)=>{
727952
728542
  }
727953
728543
  try {
727954
728544
  const [networkFees, gasLimit] = await Promise.all([
727955
- api_apiClient.getNetworkFees(),
727956
- api_apiClient.estimateContractCallGas(senderEvmAddress, recipientEvmAddress, tokenEvmAddress, txIntent.amount)
728545
+ network_api_apiClient.getNetworkFees(),
728546
+ network_api_apiClient.estimateContractCallGas(senderEvmAddress, recipientEvmAddress, tokenEvmAddress, txIntent.amount)
727957
728547
  ]);
727958
728548
  const contractCallFees = networkFees.fees.find((fee)=>fee.transaction_type === constants_HEDERA_OPERATION_TYPES.ContractCall);
727959
728549
  const gasTinybarRate = new bignumber(contractCallFees?.gas ?? DEFAULT_GAS_PRICE_TINYBARS);
@@ -728070,7 +728660,7 @@ async function getERC20BalancesForAccount(evmAccountId, supportedTokenIds = SUPP
728070
728660
  }
728071
728661
  }
728072
728662
  const promises = availableTokens.map(async (erc20token)=>{
728073
- const balance = await api_apiClient.getERC20Balance(evmAccountId, erc20token.contractAddress);
728663
+ const balance = await network_api_apiClient.getERC20Balance(evmAccountId, erc20token.contractAddress);
728074
728664
  return {
728075
728665
  balance,
728076
728666
  token: erc20token
@@ -728086,8 +728676,8 @@ const getERC20Operations = async (latestERC20Transactions)=>{
728086
728676
  const token = await state_getCryptoAssetsStore().findTokenByAddressInCurrency(tokenId, "hedera");
728087
728677
  if (!token) continue;
728088
728678
  const hash = thirdwebTransaction.transactionHash;
728089
- const contractCallResult = await api_apiClient.getContractCallResult(hash);
728090
- const mirrorTransaction = await api_apiClient.findTransactionByContractCall(contractCallResult.timestamp, contractCallResult.contract_id);
728679
+ const contractCallResult = await network_api_apiClient.getContractCallResult(hash);
728680
+ const mirrorTransaction = await network_api_apiClient.findTransactionByContractCall(contractCallResult.timestamp, contractCallResult.contract_id);
728091
728681
  if (!mirrorTransaction) continue;
728092
728682
  latestERC20Operations.push({
728093
728683
  thirdwebTransaction,
@@ -729039,7 +729629,7 @@ const lib_es_preload_getPreloadStrategy = ()=>({
729039
729629
  });
729040
729630
  async function lib_es_preload_preload(currency) {
729041
729631
  (0,logs_lib_es/* .log */.Rm)("hedera/preload", "preloading hedera data...");
729042
- const result = await api_apiClient.getNodes({
729632
+ const result = await network_api_apiClient.getNodes({
729043
729633
  fetchAllPages: true
729044
729634
  });
729045
729635
  const validators = result.nodes.map((mirrorNode)=>{
@@ -729951,14 +730541,14 @@ function processTransfers({ rawTx, address, ledgerAccountId, commonData, mirrorT
729951
730541
  async function lib_es_logic_listOperations_listOperations({ currency, address, mirrorTokens, pagination, fetchAllPages, skipFeesForTokenOperations, useEncodedHash, useSyntheticBlocks }) {
729952
730542
  const coinOperations = [];
729953
730543
  const tokenOperations = [];
729954
- const mirrorResult = await api_apiClient.getAccountTransactions({
730544
+ const mirrorResult = await network_api_apiClient.getAccountTransactions({
729955
730545
  address,
729956
730546
  pagingToken: pagination.lastPagingToken ?? null,
729957
730547
  order: pagination.order,
729958
730548
  limit: pagination.limit,
729959
730549
  fetchAllPages
729960
730550
  });
729961
- const ledgerAccountId = encodeAccountId({
730551
+ const ledgerAccountId = accountId_encodeAccountId({
729962
730552
  type: "js",
729963
730553
  version: "2",
729964
730554
  currencyId: currency.id,
@@ -730204,7 +730794,7 @@ const lib_es_bridge_synchronisation_getAccountShape = async (info, { blacklisted
730204
730794
  invariant_default()(address, "hedera: address is expected");
730205
730795
  const evmAddress = await toEVMAddress(address);
730206
730796
  invariant_default()(evmAddress, `hedera: evm address is missing for ${address}`);
730207
- const liveAccountId = encodeAccountId({
730797
+ const liveAccountId = accountId_encodeAccountId({
730208
730798
  type: "js",
730209
730799
  version: "2",
730210
730800
  currencyId: currency.id,
@@ -730215,8 +730805,8 @@ const lib_es_bridge_synchronisation_getAccountShape = async (info, { blacklisted
730215
730805
  // tokens are fetched with separate requests to get "created_timestamp" for each token
730216
730806
  // based on this, ASSOCIATE_TOKEN operations can be connected with tokens
730217
730807
  const [mirrorAccount, mirrorTokens, erc20TokenBalances] = await Promise.all([
730218
- api_apiClient.getAccount(address),
730219
- api_apiClient.getAccountTokens(address),
730808
+ network_api_apiClient.getAccount(address),
730809
+ network_api_apiClient.getAccountTokens(address),
730220
730810
  getERC20BalancesForAccount(evmAddress)
730221
730811
  ]);
730222
730812
  const accountBalance = new bignumber_BigNumber(mirrorAccount.balance.balance);
@@ -730322,7 +730912,7 @@ const lib_es_bridge_synchronisation_getAccountShape = async (info, { blacklisted
730322
730912
  };
730323
730913
  };
730324
730914
  const synchronisation_buildIterateResult = async ({ result: rootResult })=>{
730325
- const mirrorAccounts = await api_apiClient.getAccountsForPublicKey(rootResult.publicKey);
730915
+ const mirrorAccounts = await network_api_apiClient.getAccountsForPublicKey(rootResult.publicKey);
730326
730916
  const addresses = mirrorAccounts.map((a)=>a.account);
730327
730917
  return async ({ currency, derivationMode, index })=>{
730328
730918
  const derivationScheme = derivation_getDerivationScheme({
@@ -732951,7 +733541,7 @@ const utils_getAccountShape = async (info)=>{
732951
733541
  const blockSafeDelta = 1200;
732952
733542
  let lastHeight = (initialAccount?.blockHeight ?? 0) - blockSafeDelta;
732953
733543
  if (lastHeight < 0) lastHeight = 0;
732954
- const accountId = encodeAccountId({
733544
+ const accountId = accountId_encodeAccountId({
732955
733545
  type: "js",
732956
733546
  version: "2",
732957
733547
  currencyId: currency.id,
@@ -742468,7 +743058,7 @@ const account_getAccountShape = async (info)=>{
742468
743058
  // deriving address from public key
742469
743059
  const address = await (0,dist_cjs.deriveAddressFromPubkey)(publicKey);
742470
743060
  invariant_default()(address, "address is required");
742471
- const accountId = encodeAccountId({
743061
+ const accountId = accountId_encodeAccountId({
742472
743062
  type: "js",
742473
743063
  version: "2",
742474
743064
  currencyId: currency.id,
@@ -743690,7 +744280,7 @@ const getTxHistory = async (addr, skip, network, limit = (/* inlined export .LIM
743690
744280
 
743691
744281
  const lib_es_synchronization_getAccountShape = async (info)=>{
743692
744282
  const { address, initialAccount, currency, derivationMode } = info;
743693
- const accountId = encodeAccountId({
744283
+ const accountId = accountId_encodeAccountId({
743694
744284
  type: "js",
743695
744285
  version: "2",
743696
744286
  currencyId: currency.id,
@@ -745861,7 +746451,7 @@ const bridge_synchronization_getAccountShape = async (info)=>{
745861
746451
  const { initialAccount, index, rest } = info;
745862
746452
  const xpub = rest?.publicKey || initialAccount && accountId_decodeAccountId(initialAccount.id).xpubOrAddress;
745863
746453
  // // Needed for incremental synchronisation
745864
- const accountId = encodeAccountId({
746454
+ const accountId = accountId_encodeAccountId({
745865
746455
  type: "js",
745866
746456
  version: "2",
745867
746457
  currencyId: "kaspa",
@@ -746289,7 +746879,7 @@ const getProviders = async ()=>{
746289
746879
  const providers = await sdk_api.getProviders();
746290
746880
  return providers;
746291
746881
  };
746292
- const getNetworkConfig = async ()=>{
746882
+ const sdk_getNetworkConfig = async ()=>{
746293
746883
  return await sdk_proxy.getNetworkConfig();
746294
746884
  };
746295
746885
  const getAccountNonce = async (addr)=>{
@@ -747129,7 +747719,7 @@ const coin_multiversx_lib_es_buildOptimisticOperation_buildOptimisticOperation =
747129
747719
  */ const buildTransactionToSign = async (account, transaction)=>{
747130
747720
  const sender = account.freshAddress;
747131
747721
  const nonce = await getAccountNonce(sender);
747132
- const networkConfig = await getNetworkConfig();
747722
+ const networkConfig = await sdk_getNetworkConfig();
747133
747723
  const chainID = networkConfig.ChainID.valueOf();
747134
747724
  const isTokenAccount = account.subAccounts?.some((ta)=>ta.id === transaction.subAccountId);
747135
747725
  const value = !isTokenAccount && logic_isAmountSpentFromBalance(transaction.mode) ? transaction.amount.toFixed() : "0";
@@ -747407,7 +747997,7 @@ function reconciliateSubAccounts(tokenAccounts, initialAccount) {
747407
747997
 
747408
747998
  const coin_multiversx_lib_es_synchronisation_getAccountShape = async (info, syncConfig)=>{
747409
747999
  const { address, initialAccount, currency, derivationMode } = info;
747410
- const accountId = encodeAccountId({
748000
+ const accountId = accountId_encodeAccountId({
747411
748001
  type: "js",
747412
748002
  version: "2",
747413
748003
  currencyId: currency.id,
@@ -748584,7 +749174,7 @@ const coin_near_lib_es_estimateMaxSpendable_estimateMaxSpendable = async ({ acco
748584
749174
  const coin_near_lib_es_synchronisation_getAccountShape = async (info)=>{
748585
749175
  const { address, initialAccount, currency, derivationMode } = info;
748586
749176
  const oldOperations = initialAccount?.operations || [];
748587
- const accountId = encodeAccountId({
749177
+ const accountId = accountId_encodeAccountId({
748588
749178
  type: "js",
748589
749179
  version: "2",
748590
749180
  currencyId: currency.id,
@@ -801889,7 +802479,7 @@ const lib_es_bridge_synchronization_getAccountShape = async (info)=>{
801889
802479
  const shouldMigrate = currency.id === "polkadot" && assethubConfig.hasBeenMigrated;
801890
802480
  const currencyToUse = shouldMigrate ? assethubCurrency : currency;
801891
802481
  const { blockHeight, balance, spendableBalance, nonce, lockedBalance, controller, stash, unlockedBalance, unlockingBalance, unlockings, nominations, numSlashingSpans } = await coin_polkadot_lib_es_network.getAccount(address, currencyToUse);
801892
- const accountId = encodeAccountId({
802482
+ const accountId = accountId_encodeAccountId({
801893
802483
  type: "js",
801894
802484
  version: "2",
801895
802485
  currencyId: currencyToUse.id,
@@ -828250,7 +828840,7 @@ const tokenAccountIsNFT = (tokenAccount)=>{
828250
828840
  const getAccountShapeWithAPI = async (info, api)=>{
828251
828841
  const { address: mainAccAddress, initialAccount: mainInitialAcc, currency, derivationMode } = info;
828252
828842
  const { blockHeight, balance: mainAccBalance, tokenAccounts: onChainTokenAccounts, stakes: onChainStakes } = await synchronization_getAccount(mainAccAddress, api);
828253
- const mainAccountId = encodeAccountId({
828843
+ const mainAccountId = accountId_encodeAccountId({
828254
828844
  type: "js",
828255
828845
  version: "2",
828256
828846
  currencyId: currency.id,
@@ -846090,7 +846680,7 @@ const coin_stacks_lib_es_bridge_synchronization_getAccountShape = async (info)=>
846090
846680
  // reconciliatePublicKey tries to get pubKey from rest object and then from accountId
846091
846681
  const pubKey = misc_reconciliatePublicKey(rest.publicKey, initialAccount);
846092
846682
  invariant_default()(pubKey, "publicKey is required");
846093
- const accountId = encodeAccountId({
846683
+ const accountId = accountId_encodeAccountId({
846094
846684
  type: "js",
846095
846685
  version: "2",
846096
846686
  currencyId: currency.id,
@@ -847464,7 +848054,7 @@ const coin_ton_lib_es_synchronisation_getAccountShape = async (info, { blacklist
847464
848054
  info.address = address;
847465
848055
  }
847466
848056
  const blockHeight = await fetchLastBlockNumber();
847467
- const accountId = encodeAccountId({
848057
+ const accountId = accountId_encodeAccountId({
847468
848058
  type: "js",
847469
848059
  version: "2",
847470
848060
  currencyId: currency.id,
@@ -847573,7 +848163,7 @@ const synchronisation_getSubAccountShape = async (info, parentId, token, ops, sh
847573
848163
  async function lib_es_synchronisation_getSubAccounts(info, accountId, newOps, blacklistedTokenIds = [], shouldSyncFromScratch) {
847574
848164
  const opsPerToken = new Map();
847575
848165
  for (const op of newOps){
847576
- const { accountId: tokenAccountId } = decodeOperationId(op.id);
848166
+ const { accountId: tokenAccountId } = operation_decodeOperationId(op.id);
847577
848167
  const { token } = await accountId_decodeTokenAccountId(tokenAccountId);
847578
848168
  if (!token || blacklistedTokenIds.includes(token.id)) continue;
847579
848169
  if (!opsPerToken.has(token)) opsPerToken.set(token, []);
@@ -850110,7 +850700,7 @@ async function getTrc20Tokens(acc, currencyId) {
850110
850700
  const coin_tron_lib_es_bridge_synchronization_getAccountShape = async ({ initialAccount, currency, address, derivationMode }, syncConfig)=>{
850111
850701
  const { height: blockHeight } = await coin_tron_lib_es_logic_lastBlock_lastBlock();
850112
850702
  const tronAcc = await getAccount_getAccount(address);
850113
- const accountId = encodeAccountId({
850703
+ const accountId = accountId_encodeAccountId({
850114
850704
  type: "js",
850115
850705
  version: "2",
850116
850706
  currencyId: currency.id,
@@ -857918,7 +858508,7 @@ const getLastBlockHeight = async ()=>{
857918
858508
  * @param tokenAddr - The token address (The VTHO token address is available from constants.ts)
857919
858509
  * @param startAt
857920
858510
  * @returns an array of operations
857921
- */ const getTokenOperations = async (accountId, addr, tokenAddr, startAt)=>{
858511
+ */ const sdk_getTokenOperations = async (accountId, addr, tokenAddr, startAt)=>{
857922
858512
  const paddedAddress = padAddress(addr);
857923
858513
  const TransferEventSignature = "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef";
857924
858514
  const query = {
@@ -858713,7 +859303,7 @@ const coin_vechain_lib_es_bridge_synchronisation_getAccountShape = async (info)=
858713
859303
  const address = eip55_default().encode(info.address);
858714
859304
  const oldOperations = initialAccount?.operations || [];
858715
859305
  const startAt = oldOperations.length ? (oldOperations[0].blockHeight || 0) + 1 : 1;
858716
- const accountId = encodeAccountId({
859306
+ const accountId = accountId_encodeAccountId({
858717
859307
  type: "js",
858718
859308
  version: "2",
858719
859309
  currencyId: currency.id,
@@ -858730,7 +859320,7 @@ const coin_vechain_lib_es_bridge_synchronisation_getAccountShape = async (info)=
858730
859320
  const vthoToken = await state_getCryptoAssetsStore().findTokenById("vechain/vip180/vtho");
858731
859321
  if (!vthoToken) throw new Error("VTHO token not found");
858732
859322
  const vthoAccountId = accountId_encodeTokenAccountId(accountId, vthoToken);
858733
- const vthoOperations = await getTokenOperations(vthoAccountId, address, dist_nt, 1); // from parameter must be 1 otherwise the response is empty
859323
+ const vthoOperations = await sdk_getTokenOperations(vthoAccountId, address, dist_nt, 1); // from parameter must be 1 otherwise the response is empty
858734
859324
  const operations = mergeOps(oldOperations, newOperations);
858735
859325
  //Account creation date set to now if there are no operation or at the first operation on the account
858736
859326
  let minDate = -1;
@@ -873884,6 +874474,7 @@ function setSuiPreloadData(data) {
873884
874474
  const apiMap = {};
873885
874475
  const TRANSACTIONS_LIMIT_PER_QUERY = 50;
873886
874476
  const TRANSACTIONS_LIMIT = 300;
874477
+ const MULTI_GET_OBJECTS_LIMIT = 50;
873887
874478
  const BLOCK_HEIGHT = 5; // sui has no block height metainfo, we use it simulate proper icon statuses in apps
873888
874479
  const DEFAULT_COIN_TYPE = "0x2::sui::SUI";
873889
874480
  /** Default options for querying transactions. */ const TRANSACTIONS_QUERY_OPTIONS = {
@@ -873917,6 +874508,37 @@ const sdk_fetcher = (url, options, retry = 3)=>{
873917
874508
  const result = await execute(apiMap[url]);
873918
874509
  return result;
873919
874510
  }
874511
+ /**
874512
+ * Wraps a SuiClient to batch multiGetObjects calls in chunks of 50,
874513
+ * working around the SUI RPC limit.
874514
+ */ function withBatchedMultiGetObjects(client) {
874515
+ return new Proxy(client, {
874516
+ get (target, prop, _receiver) {
874517
+ if (prop === "multiGetObjects") {
874518
+ return async (params)=>{
874519
+ const { ids } = params;
874520
+ if (ids.length <= MULTI_GET_OBJECTS_LIMIT) {
874521
+ return target.multiGetObjects(params);
874522
+ }
874523
+ const results = [];
874524
+ for(let i = 0; i < ids.length; i += MULTI_GET_OBJECTS_LIMIT){
874525
+ const chunk = await target.multiGetObjects({
874526
+ ...params,
874527
+ ids: ids.slice(i, i + MULTI_GET_OBJECTS_LIMIT)
874528
+ });
874529
+ results.push(...chunk);
874530
+ }
874531
+ return results;
874532
+ };
874533
+ }
874534
+ const value = Reflect.get(target, prop, target);
874535
+ if (typeof value === "function") {
874536
+ return value.bind(target);
874537
+ }
874538
+ return value;
874539
+ }
874540
+ });
874541
+ }
873920
874542
  const sdk_getAllBalancesCached = cache_makeLRUCache(async (owner)=>sdk_withApi(async (api)=>await api.getAllBalances({
873921
874543
  owner
873922
874544
  })), (owner)=>owner, cache_minutes(1));
@@ -874567,7 +875189,7 @@ const createTransactionForDelegate = async (address, transaction)=>sdk_withApi(a
874567
875189
  const serialized = await tx.build({
874568
875190
  client: api
874569
875191
  });
874570
- const { bcsObjects } = await getInputObjects(tx, api);
875192
+ const { bcsObjects } = await getInputObjects(tx, withBatchedMultiGetObjects(api));
874571
875193
  return {
874572
875194
  serialized,
874573
875195
  bcsObjects
@@ -874605,7 +875227,7 @@ const createTransactionForUndelegate = async (address, transaction)=>sdk_withApi
874605
875227
  const serialized = await tx.build({
874606
875228
  client: api
874607
875229
  });
874608
- const { bcsObjects } = await getInputObjects(tx, api);
875230
+ const { bcsObjects } = await getInputObjects(tx, withBatchedMultiGetObjects(api));
874609
875231
  return {
874610
875232
  serialized,
874611
875233
  bcsObjects
@@ -874641,7 +875263,7 @@ const createTransactionForOthers = async (address, transaction)=>sdk_withApi(asy
874641
875263
  const serialized = await tx.build({
874642
875264
  client: api
874643
875265
  });
874644
- const { bcsObjects } = await getInputObjects(tx, api);
875266
+ const { bcsObjects } = await getInputObjects(tx, withBatchedMultiGetObjects(api));
874645
875267
  return {
874646
875268
  serialized,
874647
875269
  bcsObjects
@@ -878623,7 +879245,7 @@ const getResolution_getResolution = (transaction, deviceModelId, certificateSign
878623
879245
  */ const coin_sui_lib_es_bridge_synchronisation_getAccountShape = async (info, syncConfig)=>{
878624
879246
  const { address, initialAccount, currency, derivationMode } = info;
878625
879247
  const oldOperations = initialAccount?.operations || [];
878626
- const accountId = encodeAccountId({
879248
+ const accountId = accountId_encodeAccountId({
878627
879249
  type: "js",
878628
879250
  version: "2",
878629
879251
  currencyId: currency.id,
@@ -887385,7 +888007,7 @@ const mapRosettaTxnToOperation = async (accountId, address, txn)=>{
887385
888007
  const coin_mina_lib_es_bridge_synchronisation_getAccountShape = async (info)=>{
887386
888008
  const { address, initialAccount, currency, derivationMode } = info;
887387
888009
  const oldOperations = initialAccount?.operations || [];
887388
- const accountId = encodeAccountId({
888010
+ const accountId = accountId_encodeAccountId({
887389
888011
  type: "js",
887390
888012
  version: "2",
887391
888013
  currencyId: currency.id,
@@ -899278,7 +899900,7 @@ async function fetchBaseFee() {
899278
899900
  }
899279
899901
  }
899280
899902
  // https://developers.stellar.org/docs/data/horizon/api-reference/get-operations-by-account-id
899281
- async function fetchOperations({ accountId, addr, minHeight, order, cursor, limit }) {
899903
+ async function horizon_fetchOperations({ accountId, addr, minHeight, order, cursor, limit }) {
899282
899904
  const noResult = [
899283
899905
  [],
899284
899906
  ""
@@ -899616,7 +900238,7 @@ async function coin_stellar_lib_es_logic_lastBlock_lastBlock() {
899616
900238
  async function coin_stellar_lib_es_logic_listOperations_listOperations(address, { limit, cursor, order, minHeight }) {
899617
900239
  // Fake accountId
899618
900240
  const accountId = "";
899619
- const [operations, nextCursor] = await fetchOperations({
900241
+ const [operations, nextCursor] = await horizon_fetchOperations({
899620
900242
  accountId,
899621
900243
  addr: address,
899622
900244
  minHeight,
@@ -925940,7 +926562,7 @@ const utils_buildOptimisticOperation = (account, transaction, sequenceNumber)=>{
925940
926562
  * Handles both destination tags (XRP-like) and Stellar-style memos
925941
926563
  */ function applyMemoToIntent(transactionIntent, transaction) {
925942
926564
  // Handle destination tag memo (for XRP-like chains)
925943
- if (transaction.tag) {
926565
+ if (typeof transaction.tag === "number") {
925944
926566
  const txWithMemoTag = transactionIntent;
925945
926567
  const txMemo = String(transaction.tag);
925946
926568
  txWithMemoTag.memo = {
@@ -926119,7 +926741,7 @@ function genericGetAccountShape(network, kind) {
926119
926741
  chainSpecificValidation.getAccountShape(address);
926120
926742
  }
926121
926743
  }
926122
- const accountId = encodeAccountId({
926744
+ const accountId = accountId_encodeAccountId({
926123
926745
  type: "js",
926124
926746
  version: "2",
926125
926747
  currencyId: currency.id,
@@ -934097,11 +934719,11 @@ const config_evmConfig = {
934097
934719
  },
934098
934720
  node: {
934099
934721
  type: "external",
934100
- uri: "https://arb1.arbitrum.io/rpc"
934722
+ uri: "https://arbitrum.coin.ledger.com"
934101
934723
  },
934102
934724
  explorer: {
934103
- type: "blockscout",
934104
- uri: "https://arbitrum.blockscout.com/api"
934725
+ type: "etherscan",
934726
+ uri: "https://proxyetherscan.api.live.ledger.com/v2/api/42161"
934105
934727
  },
934106
934728
  showNfts: false
934107
934729
  }
@@ -934625,7 +935247,7 @@ const config_evmConfig = {
934625
935247
  },
934626
935248
  node: {
934627
935249
  type: "external",
934628
- uri: "https://base-rpc.publicnode.com"
935250
+ uri: "https://base.coin.ledger.com"
934629
935251
  },
934630
935252
  explorer: {
934631
935253
  type: "etherscan",
@@ -935837,7 +936459,12 @@ const aleoConfig = {
935837
936459
  status: {
935838
936460
  type: "active"
935839
936461
  },
935840
- nodeUrl: env_getEnv("ALEO_MAINNET_NODE_ENDPOINT")
936462
+ nodeUrl: env_getEnv("ALEO_MAINNET_NODE_ENDPOINT"),
936463
+ networkType: "mainnet",
936464
+ apiUrls: {
936465
+ node: env_getEnv("ALEO_MAINNET_NODE_ENDPOINT"),
936466
+ sdk: env_getEnv("ALEO_MAINNET_SDK_ENDPOINT")
936467
+ }
935841
936468
  }
935842
936469
  },
935843
936470
  config_currency_aleo_testnet: {
@@ -935846,7 +936473,12 @@ const aleoConfig = {
935846
936473
  status: {
935847
936474
  type: "active"
935848
936475
  },
935849
- nodeUrl: env_getEnv("ALEO_TESTNET_NODE_ENDPOINT")
936476
+ nodeUrl: env_getEnv("ALEO_TESTNET_NODE_ENDPOINT"),
936477
+ networkType: "testnet",
936478
+ apiUrls: {
936479
+ node: env_getEnv("ALEO_TESTNET_NODE_ENDPOINT"),
936480
+ sdk: env_getEnv("ALEO_TESTNET_SDK_ENDPOINT")
936481
+ }
935850
936482
  }
935851
936483
  }
935852
936484
  }; //# sourceMappingURL=config.js.map
@@ -946297,8 +946929,12 @@ async function live_common_setup_init() {
946297
946929
  }
946298
946930
  function registerSpeculosTransport(apiPort) {
946299
946931
  unregisterTransportModule("hid");
946932
+ const speculosAddress = process.env.SPECULOS_ADDRESS;
946300
946933
  const req = {
946301
- apiPort: apiPort
946934
+ apiPort: apiPort.toString(),
946935
+ ...speculosAddress && {
946936
+ baseURL: speculosAddress
946937
+ }
946302
946938
  };
946303
946939
  registerTransportModule({
946304
946940
  id: "speculos-http",
@@ -955004,7 +955640,27 @@ function deepFreezeTransaction(transaction) {
955004
955640
 
955005
955641
 
955006
955642
 
955007
- // yield raw version of the countervalues state to be saved in a db
955643
+ /**
955644
+ * Heuristic to avoid calling exportCountervalues when the persisted export would be unchanged.
955645
+ * Uses status (set of pairs) and cache.stats (oldest/earliest per pair) for history bounds.
955646
+ */ function hasNewCountervaluesToExport(oldState, newState) {
955647
+ const oldKeys = Object.keys(oldState.status);
955648
+ const newKeys = Object.keys(newState.status);
955649
+ if (oldKeys.length !== newKeys.length) return true;
955650
+ const oldSet = new Set(oldKeys);
955651
+ for (const id of newKeys){
955652
+ if (!oldSet.has(id)) return true;
955653
+ }
955654
+ for (const pairId of newKeys){
955655
+ const oldStats = oldState.cache[pairId]?.stats;
955656
+ const newStats = newState.cache[pairId]?.stats;
955657
+ if (oldStats?.oldest !== newStats?.oldest || oldStats?.earliest !== newStats?.earliest) {
955658
+ return true;
955659
+ }
955660
+ }
955661
+ return false;
955662
+ }
955663
+ // Raw state for db: history + status; no "latest" (so persistence only changes when history changes).
955008
955664
  function exportCountervalues({ data, status }, trackingPair, selectedTimeRange) {
955009
955665
  const out = {
955010
955666
  status
@@ -955020,6 +955676,7 @@ function exportCountervalues({ data, status }, trackingPair, selectedTimeRange)
955020
955676
  let size = 0;
955021
955677
  const obj = {};
955022
955678
  for (const [k, v] of data[path]){
955679
+ if (k === "latest") continue; // Don't persist latest; export only changes when history changes
955023
955680
  if (k.length === 13 && k.slice(0, 10) < hourlyLimit) continue; // Skip old hourly data
955024
955681
  if (shouldFilterDaily && k.length === 10 && dailyLimit && k < dailyLimit) continue; // Skip old daily data only if filtering is enabled
955025
955682
  size++;
@@ -955029,11 +955686,12 @@ function exportCountervalues({ data, status }, trackingPair, selectedTimeRange)
955029
955686
  }
955030
955687
  return out;
955031
955688
  }
955032
- // restore a countervalues state from the raw version
955689
+ // Restore from raw; status is passed through as-is.
955033
955690
  function importCountervalues({ status, ...rest }, settings) {
955034
955691
  const data = {};
955035
955692
  for(const path in rest){
955036
955693
  const obj = rest[path];
955694
+ if (!obj || typeof obj !== "object") continue;
955037
955695
  const map = new Map();
955038
955696
  for(const k in obj){
955039
955697
  map.set(k, obj[k]);
@@ -955042,12 +955700,12 @@ function importCountervalues({ status, ...rest }, settings) {
955042
955700
  }
955043
955701
  return {
955044
955702
  data,
955045
- status,
955703
+ status: status ?? {},
955046
955704
  cache: Object.entries(data).reduce((prev, [key, val])=>({
955047
955705
  ...prev,
955048
- // $FlowFixMe
955049
- [key]: generateCache(key, val, settings)
955050
- }), {})
955706
+ [key]: generateCache(key, val, settings, true, undefined)
955707
+ }), {}),
955708
+ checkHolesOnNextLoad: true
955051
955709
  };
955052
955710
  }
955053
955711
  // infer the tracking pair from user accounts to know which pairs are concerned
@@ -955230,14 +955888,18 @@ async function loadCountervalues(state, settings, batchStrategySolver, granulari
955230
955888
  });
955231
955889
  });
955232
955890
  });
955233
- // synchronize the cache
955891
+ // Synchronize cache. checkHoles on first run after restore (checkHolesOnNextLoad) or for new pairs (no status).
955892
+ const checkHolesOnNextLoad = state.checkHolesOnNextLoad === true;
955234
955893
  Object.keys(changesKeys).forEach((pair)=>{
955235
- cache[pair] = generateCache(pair, data[pair], settings);
955894
+ const checkHoles = checkHolesOnNextLoad || !status[pair];
955895
+ const previousStats = state.cache[pair]?.stats;
955896
+ cache[pair] = generateCache(pair, data[pair], settings, checkHoles, previousStats);
955236
955897
  });
955237
955898
  return {
955238
955899
  data,
955239
955900
  cache,
955240
- status
955901
+ status,
955902
+ checkHolesOnNextLoad: false
955241
955903
  };
955242
955904
  }
955243
955905
  function lenseRateMap(state, pair) {
@@ -955293,18 +955955,18 @@ function calculateMany(state, dataPoints, initialQuery) {
955293
955955
  return disableRounding ? val : Math.round(val);
955294
955956
  });
955295
955957
  }
955296
- function generateCache(pair, rateMap, settings) {
955958
+ function generateCache(pair, rateMap, settings, checkHoles, previousStats) {
955297
955959
  const map = new Map(rateMap);
955298
955960
  const sorted = Array.from(map.keys()).sort().filter((k)=>k !== "latest");
955299
955961
  const oldest = sorted[0];
955300
955962
  const earliest = sorted[sorted.length - 1];
955301
955963
  const oldestDate = oldest ? parseFormattedDate(oldest) : null;
955302
955964
  const earliestDate = earliest ? parseFormattedDate(earliest) : null;
955303
- let earliestStableDate = earliestDate;
955965
+ let earliestStableDate = previousStats?.earliestStableDate ?? earliestDate;
955304
955966
  let fallback = 0;
955305
955967
  let hasHole = false;
955306
955968
  if (oldestDate && oldest) {
955307
- // we find the most recent stable day and we set it in earliestStableDate
955969
+ // we find the most recent stable day and we set it in earliestStableDate (only on first run, not incremental)
955308
955970
  // if autofillGaps is on, shifting daily gaps (hourly don't need to be shifted as it automatically fallback on a day rate)
955309
955971
  const now = Date.now();
955310
955972
  const oldestTime = oldestDate.getTime();
@@ -955316,7 +955978,7 @@ function generateCache(pair, rateMap, settings) {
955316
955978
  const d = new Date(t);
955317
955979
  const k = helpers_formatCounterValueDay(d);
955318
955980
  if (!map.has(k)) {
955319
- if (!hasHole) {
955981
+ if (checkHoles && !hasHole) {
955320
955982
  hasHole = true;
955321
955983
  earliestStableDate = d;
955322
955984
  }
@@ -956521,7 +957183,7 @@ function scan_scan(arg) {
956521
957183
  throw new Error("invalid id='" + id + "': couldn't understand which of these are the xpub or address part: " + splitted.join(" | "));
956522
957184
  }
956523
957185
  const xpubOrAddress = splitted[0];
956524
- return encodeAccountId({
957186
+ return accountId_encodeAccountId({
956525
957187
  type,
956526
957188
  version,
956527
957189
  currencyId,
@@ -956961,7 +957623,7 @@ function inferSignedOperations(mainAccount, opts) {
956961
957623
  ],
956962
957624
  job: ({ id, format })=>{
956963
957625
  if (!id) throw new Error("--id is required");
956964
- const { accountId } = decodeOperationId(id);
957626
+ const { accountId } = operation_decodeOperationId(id);
956965
957627
  return scan_scan({
956966
957628
  id: [
956967
957629
  accountId
@@ -957554,7 +958216,7 @@ const asQR = (str)=>new cjs.Observable((o)=>external_qrcode_terminal_default().g
957554
958216
  }
957555
958217
  });
957556
958218
 
957557
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-client@1.12.6_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-client/lib-es/TransportWalletAPI.js
958219
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-client@1.13.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-client/lib-es/TransportWalletAPI.js
957558
958220
 
957559
958221
 
957560
958222
  /**
@@ -957621,7 +958283,7 @@ class TransportWalletAPI extends lib_es_Transport/* ["default"] */.Ay {
957621
958283
  }
957622
958284
  }
957623
958285
  //# sourceMappingURL=TransportWalletAPI.js.map
957624
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-client@1.12.6_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-client/lib-es/modules/Account.js
958286
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-client@1.13.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-client/lib-es/modules/Account.js
957625
958287
 
957626
958288
  class AccountModule {
957627
958289
  client;
@@ -957677,7 +958339,7 @@ class AccountModule {
957677
958339
  }
957678
958340
  }
957679
958341
  //# sourceMappingURL=Account.js.map
957680
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-client@1.12.6_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-client/lib-es/modules/Bitcoin.js
958342
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-client@1.13.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-client/lib-es/modules/Bitcoin.js
957681
958343
 
957682
958344
  class BitcoinModule {
957683
958345
  client;
@@ -957701,11 +958363,28 @@ class BitcoinModule {
957701
958363
  const safeResults = schemaBitcoinGetAddress.result.parse(getAddressResult);
957702
958364
  return safeResults.address;
957703
958365
  }
958366
+ /**
958367
+ * Returns all addresses needed for the account (e.g. for WalletConnect getAccountAddresses).
958368
+ * Ledger only supports "payment" intention; "ordinal" or other intentions return an empty array.
958369
+ *
958370
+ * @param accountId id of the bitcoin account
958371
+ * @param intentions optional filter: only "payment" is supported
958372
+ * @returns array of address entries with address, optional publicKey, path, and intention
958373
+ * @throws {@link ServerError} if an error occurred on server side
958374
+ */
958375
+ async getAddresses(accountId, intentions) {
958376
+ const result = await this.client.request("bitcoin.getAddresses", {
958377
+ accountId,
958378
+ intentions,
958379
+ });
958380
+ const safeResults = schemaBitcoinGetAddresses.result.parse(result);
958381
+ return safeResults.addresses;
958382
+ }
957704
958383
  /**
957705
958384
  *
957706
958385
  * @param accountId id of the bitcoin account
957707
958386
  * @param derivationPath The derivation path is a relative derivation path from the account
957708
- * e.g to get the first public key of an account, one will request for the “0/0“ derivation path
958387
+ * e.g to get the first public key of an account, one will request for the "0/0" derivation path
957709
958388
  * @returns a raw hexadecimal public key of a bitcoin account at the given derivation path
957710
958389
  *
957711
958390
  * @throws {@link ServerError} if an error occurred on server side
@@ -957755,7 +958434,7 @@ class BitcoinModule {
957755
958434
  }
957756
958435
  }
957757
958436
  //# sourceMappingURL=Bitcoin.js.map
957758
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-client@1.12.6_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-client/lib-es/modules/Currency.js
958437
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-client@1.13.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-client/lib-es/modules/Currency.js
957759
958438
 
957760
958439
  class CurrencyModule {
957761
958440
  client;
@@ -957781,7 +958460,7 @@ class CurrencyModule {
957781
958460
  }
957782
958461
  }
957783
958462
  //# sourceMappingURL=Currency.js.map
957784
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-client@1.12.6_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-client/lib-es/modules/Device.js
958463
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-client@1.13.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-client/lib-es/modules/Device.js
957785
958464
 
957786
958465
 
957787
958466
  class DeviceModule {
@@ -957835,7 +958514,7 @@ class DeviceModule {
957835
958514
  }
957836
958515
  }
957837
958516
  //# sourceMappingURL=Device.js.map
957838
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-client@1.12.6_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-client/lib-es/modules/Exchange.js
958517
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-client@1.13.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-client/lib-es/modules/Exchange.js
957839
958518
 
957840
958519
  class ExchangeModule {
957841
958520
  client;
@@ -957948,7 +958627,7 @@ class ExchangeModule {
957948
958627
  }
957949
958628
  }
957950
958629
  //# sourceMappingURL=Exchange.js.map
957951
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-client@1.12.6_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-client/lib-es/modules/Message.js
958630
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-client@1.13.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-client/lib-es/modules/Message.js
957952
958631
 
957953
958632
  class MessageModule {
957954
958633
  client;
@@ -957977,7 +958656,7 @@ class MessageModule {
957977
958656
  }
957978
958657
  }
957979
958658
  //# sourceMappingURL=Message.js.map
957980
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-client@1.12.6_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-client/lib-es/modules/Storage.js
958659
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-client@1.13.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-client/lib-es/modules/Storage.js
957981
958660
 
957982
958661
  class StorageModule {
957983
958662
  client;
@@ -958003,7 +958682,7 @@ class StorageModule {
958003
958682
  }
958004
958683
  }
958005
958684
  //# sourceMappingURL=Storage.js.map
958006
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-client@1.12.6_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-client/lib-es/modules/Transaction.js
958685
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-client@1.13.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-client/lib-es/modules/Transaction.js
958007
958686
 
958008
958687
  class TransactionModule {
958009
958688
  client;
@@ -958071,7 +958750,7 @@ class TransactionModule {
958071
958750
  }
958072
958751
  }
958073
958752
  //# sourceMappingURL=Transaction.js.map
958074
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-client@1.12.6_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-client/lib-es/modules/Wallet.js
958753
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-client@1.13.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-client/lib-es/modules/Wallet.js
958075
958754
 
958076
958755
  class WalletModule {
958077
958756
  client;
@@ -958115,7 +958794,7 @@ class WalletModule {
958115
958794
  }
958116
958795
  }
958117
958796
  //# sourceMappingURL=Wallet.js.map
958118
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-client@1.12.6_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-client/lib-es/WalletAPIClient.js
958797
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-client@1.13.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-client/lib-es/WalletAPIClient.js
958119
958798
 
958120
958799
 
958121
958800
 
@@ -958208,7 +958887,7 @@ class WalletAPIClient extends RpcNode {
958208
958887
  }
958209
958888
  }
958210
958889
  //# sourceMappingURL=WalletAPIClient.js.map
958211
- ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-client@1.12.6_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-client/lib-es/index.js
958890
+ ;// CONCATENATED MODULE: ../../node_modules/.pnpm/@ledgerhq+wallet-api-client@1.13.0_@ton+crypto@3.3.0/node_modules/@ledgerhq/wallet-api-client/lib-es/index.js
958212
958891
  /* istanbul ignore file */
958213
958892
 
958214
958893