@yaswap/yacoin 2.7.1 → 2.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # @yaswap/bitcoin
2
2
 
3
+ ## 2.7.3
4
+
5
+ ### Patch Changes
6
+
7
+ - Change ipfs endpoint and timeout for getting token metadata
8
+ - Updated dependencies
9
+ - @yaswap/client@2.7.3
10
+ - @yaswap/errors@2.7.3
11
+ - @yaswap/types@2.7.3
12
+ - @yaswap/utils@2.7.3
13
+
14
+ ## 2.7.2
15
+
16
+ ### Patch Changes
17
+
18
+ - Init YacoinSingleWallet
19
+ - Updated dependencies
20
+ - @yaswap/client@2.7.2
21
+ - @yaswap/errors@2.7.2
22
+ - @yaswap/types@2.7.2
23
+ - @yaswap/utils@2.7.2
24
+
3
25
  ## 2.7.1
4
26
 
5
27
  ### Patch Changes
@@ -11,3 +11,4 @@ export * as YacoinUtils from './utils';
11
11
  export { YacoinBaseWalletProvider } from './wallet/YacoinBaseWallet';
12
12
  export { YacoinHDWalletProvider } from './wallet/YacoinHDWallet';
13
13
  export { YacoinNftProvider } from './nft/YacoinNftProvider';
14
+ export { YacoinSingleWallet } from './wallet/YacoinSingleWallet';
package/dist/lib/index.js CHANGED
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.YacoinNftProvider = exports.YacoinHDWalletProvider = exports.YacoinBaseWalletProvider = exports.YacoinUtils = exports.YacoinTypes = exports.YacoinSwapEsploraProvider = exports.YacoinSwapBaseProvider = exports.YacoinNetworks = exports.YacoinFeeApiProvider = exports.YacoinEsploraBatchBaseProvider = exports.YacoinEsploraBaseProvider = exports.YacoinEsploraApiProvider = exports.YacoinBaseChainProvider = void 0;
26
+ exports.YacoinSingleWallet = exports.YacoinNftProvider = exports.YacoinHDWalletProvider = exports.YacoinBaseWalletProvider = exports.YacoinUtils = exports.YacoinTypes = exports.YacoinSwapEsploraProvider = exports.YacoinSwapBaseProvider = exports.YacoinNetworks = exports.YacoinFeeApiProvider = exports.YacoinEsploraBatchBaseProvider = exports.YacoinEsploraBaseProvider = exports.YacoinEsploraApiProvider = exports.YacoinBaseChainProvider = void 0;
27
27
  var YacoinBaseChainProvider_1 = require("./chain/YacoinBaseChainProvider");
28
28
  Object.defineProperty(exports, "YacoinBaseChainProvider", { enumerable: true, get: function () { return YacoinBaseChainProvider_1.YacoinBaseChainProvider; } });
29
29
  var YacoinEsploraApiProvider_1 = require("./chain/esplora/YacoinEsploraApiProvider");
@@ -48,4 +48,6 @@ var YacoinHDWallet_1 = require("./wallet/YacoinHDWallet");
48
48
  Object.defineProperty(exports, "YacoinHDWalletProvider", { enumerable: true, get: function () { return YacoinHDWallet_1.YacoinHDWalletProvider; } });
49
49
  var YacoinNftProvider_1 = require("./nft/YacoinNftProvider");
50
50
  Object.defineProperty(exports, "YacoinNftProvider", { enumerable: true, get: function () { return YacoinNftProvider_1.YacoinNftProvider; } });
51
+ var YacoinSingleWallet_1 = require("./wallet/YacoinSingleWallet");
52
+ Object.defineProperty(exports, "YacoinSingleWallet", { enumerable: true, get: function () { return YacoinSingleWallet_1.YacoinSingleWallet; } });
51
53
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2EAA0E;AAAjE,kIAAA,uBAAuB,OAAA;AAChC,qFAAoF;AAA3E,oIAAA,wBAAwB,OAAA;AACjC,uFAAsF;AAA7E,sIAAA,yBAAyB,OAAA;AAClC,iGAAgG;AAAvF,gJAAA,8BAA8B,OAAA;AACvC,mEAAkE;AAAzD,4HAAA,oBAAoB,OAAA;AAC7B,uCAA4C;AAAnC,0GAAA,cAAc,OAAA;AACvB,wEAAuE;AAA9D,gIAAA,sBAAsB,OAAA;AAC/B,8EAA6E;AAApE,sIAAA,yBAAyB,OAAA;AAClC,uDAAuC;AACvC,uDAAuC;AACvC,8DAAqE;AAA5D,4HAAA,wBAAwB,OAAA;AACjC,0DAAiE;AAAxD,wHAAA,sBAAsB,OAAA;AAC/B,6DAA4D;AAAnD,sHAAA,iBAAiB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2EAA0E;AAAjE,kIAAA,uBAAuB,OAAA;AAChC,qFAAoF;AAA3E,oIAAA,wBAAwB,OAAA;AACjC,uFAAsF;AAA7E,sIAAA,yBAAyB,OAAA;AAClC,iGAAgG;AAAvF,gJAAA,8BAA8B,OAAA;AACvC,mEAAkE;AAAzD,4HAAA,oBAAoB,OAAA;AAC7B,uCAA4C;AAAnC,0GAAA,cAAc,OAAA;AACvB,wEAAuE;AAA9D,gIAAA,sBAAsB,OAAA;AAC/B,8EAA6E;AAApE,sIAAA,yBAAyB,OAAA;AAClC,uDAAuC;AACvC,uDAAuC;AACvC,8DAAqE;AAA5D,4HAAA,wBAAwB,OAAA;AACjC,0DAAiE;AAAxD,wHAAA,sBAAsB,OAAA;AAC/B,6DAA4D;AAAnD,sHAAA,iBAAiB,OAAA;AAC1B,kEAAiE;AAAxD,wHAAA,kBAAkB,OAAA"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import { Network, TokenScriptType } from '@yaswap/types';
3
- import { Network as YacoinJsLibNetwork } from '@yaswap/yacoinjs-lib';
3
+ import { ECPairInterface, Network as YacoinJsLibNetwork } from '@yaswap/yacoinjs-lib';
4
4
  export * as YacoinEsploraTypes from './chain/esplora/types';
5
5
  export * from './swap/types';
6
6
  export interface YacoinNetwork extends Network, YacoinJsLibNetwork {
@@ -9,6 +9,11 @@ export interface YacoinNodeWalletOptions {
9
9
  addressType?: AddressType;
10
10
  network?: YacoinNetwork;
11
11
  }
12
+ export interface YacoinSingleWalletOptions extends YacoinNodeWalletOptions {
13
+ wif?: string;
14
+ publicKey?: Buffer;
15
+ ecpair?: ECPairInterface;
16
+ }
12
17
  export interface YacoinWalletProviderOptions extends YacoinNodeWalletOptions {
13
18
  baseDerivationPath: string;
14
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,4EAA4D;AAC5D,+CAA6B;AA2E7B,IAAY,WAEX;AAFD,WAAY,WAAW;IACnB,gCAAiB,CAAA;AACrB,CAAC,EAFW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAEtB;AAED,IAAY,QAEX;AAFD,WAAY,QAAQ;IAChB,yBAAa,CAAA;AACjB,CAAC,EAFW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAEnB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,4EAA4D;AAC5D,+CAA6B;AAkF7B,IAAY,WAEX;AAFD,WAAY,WAAW;IACnB,gCAAiB,CAAA;AACrB,CAAC,EAFW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAEtB;AAED,IAAY,QAEX;AAFD,WAAY,QAAQ;IAChB,yBAAa,CAAA;AACjB,CAAC,EAFW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAEnB"}
package/dist/lib/utils.js CHANGED
@@ -47,7 +47,7 @@ const AddressTypes = ['legacy', 'p2sh-segwit', 'bech32'];
47
47
  exports.AddressTypes = AddressTypes;
48
48
  const getTokenMetadataErr = "Can't get token metadata from ipfs. Please try again later.";
49
49
  exports.getTokenMetadataErr = getTokenMetadataErr;
50
- const GET_METADATA_TIMEOUT = 10000; // 10s
50
+ const GET_METADATA_TIMEOUT = 3000; // 3s
51
51
  // JUST FOR TESTING
52
52
  // const TIMELOCK_FEE_DURATION = 10; // 21000 blocks
53
53
  // const TIMELOCK_FEE_AMOUNT = 10 * 1e6; // 2100 YAC
@@ -255,7 +255,7 @@ function convertToURL(ipfsHash) {
255
255
  }
256
256
  else {
257
257
  // Treat it as IPFS Hash
258
- url = isIPFSprefix ? ipfsHash.replace('ipfs://', 'https://ipfs.io/ipfs/') : `https://ipfs.io/ipfs/${ipfsHash}`;
258
+ url = isIPFSprefix ? ipfsHash.replace('ipfs://', 'https://cloudflare-ipfs.com/ipfs/') : `https://cloudflare-ipfs.com/ipfs/${ipfsHash}`;
259
259
  }
260
260
  return url;
261
261
  }
@@ -265,7 +265,7 @@ function getTokenMetadata(ipfsHash) {
265
265
  if (!ipfsHash) {
266
266
  return {};
267
267
  }
268
- const ipfsHashUrl = `https://ipfs.io/ipfs/${ipfsHash}`;
268
+ const ipfsHashUrl = `https://cloudflare-ipfs.com/ipfs/${ipfsHash}`;
269
269
  let metadata = {};
270
270
  try {
271
271
  const headers = yield client_1.HttpClient.head(ipfsHashUrl, {}, { timeout: GET_METADATA_TIMEOUT });
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAqD;AACrD,yCAA8E;AAC9E,2CAA4C;AAC5C,6DAA+C;AAC/C,4EAA8D;AAC9D,sFAAqD;AACrD,2EAA4E;AAG5E,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;AA2SrD,oCAAY;AA1ShB,MAAM,mBAAmB,GAAG,6DAA6D,CAAA;AA8SrF,kDAAmB;AA7SvB,MAAM,oBAAoB,GAAG,IAAI,CAAA,CAAC,KAAK;AAEvC,mBAAmB;AACnB,oDAAoD;AACpD,oDAAoD;AAEpD,aAAa;AACb,MAAM,qBAAqB,GAAG,KAAK,CAAC,CAAC,eAAe;AACpD,MAAM,mBAAmB,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,WAAW;AASnD,MAAM,mBAAmB,GAAG,GAAG,EAAE;IAC7B,OAAO,qBAAqB,CAAA;AAChC,CAAC,CAAA;AA2RG,kDAAmB;AAzRvB,MAAM,2BAA2B,GAAG,GAAG,EAAE;IACrC,OAAO,mBAAmB,CAAA;AAC9B,CAAC,CAAA;AAwRG,kEAA2B;AAtR/B,MAAM,iBAAiB,GAAG,GAAG,EAAE;IAC3B,OAAO,mBAAmB,GAAC,GAAG,CAAA;AAClC,CAAC,CAAA;AAqRG,8CAAiB;AAnRrB,SAAS,YAAY,CAAC,SAAiB,EAAE,UAAkB,EAAE,UAAkB;IAC/E,MAAM;IACN,mFAAmF;IACnF,gCAAgC;IAChC,sCAAsC;IACtC,iCAAiC;IACjC,kEAAkE;IAClE,YAAY;IACZ,uGAAuG;IACvG,qCAAqC;IACrC,iDAAiD;IACjD,ufAAuf;IACvf,6fAA6f;IAC7f,iBAAiB;IACjB,wCAAwC;IACxC,YAAY;IACZ,SAAS;IACT,oEAAoE;IACpE,YAAY;IACZ,uDAAuD;IACvD,uBAAuB;IACvB,iFAAiF;IACjF,mHAAmH;IACnH,gFAAgF;IAChF,iCAAiC;IACjC,yCAAyC;IACzC,kCAAkC;IAClC,2DAA2D;IAC3D,oBAAoB;IACpB,gBAAgB;IAChB,YAAY;IACZ,SAAS;IACT,mBAAmB;IACnB,IAAI;IACJ,kGAAkG;IAC9F,OAAO,CAAC,SAAS,GAAG,GAAG,GAAG,UAAU,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,UAAU,CAAA;AAChE,CAAC;AAkOG,oCAAY;AAhOhB;;;;GAIG;AACH,SAAS,cAAc,CAAC,MAAc;IAClC,MAAM,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClC,MAAM,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAElC,OAAO,MAAM,GAAG,CAAC,CAAC;AACtB,CAAC;AAqNG,wCAAc;AAlMlB,SAAS,WAAW,CAAC,KAAa,EAAE,UAAkB,EAAE,OAA2B,EAAE,UAAkB,EAAE,cAAsB,EAAE;IAC7H,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,kDAAkD;IAClD,6EAA6E;IAC7E,MAAM,eAAe,GAAuB,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,+BAAgB,CAAC,CAAC,CAAC,6BAAU,CAAC;IAC/F,IAAI,WAAW,CAAC,MAAM,EAAE;QACpB,WAAW,GAAG;YACV,+DAA+D;YAC/D,GAAG,WAAW;YACd,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;SAChH,CAAC;KACL;IAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,eAAe,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAE1G,IAAI,UAAU,CAAC;IACf,IAAI,WAAW,CAAC;IAChB,IAAI,MAAM,IAAI,OAAO,EAAE;QACnB,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,aAAa,CAAC,CAAC;QACnE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,cAAc,CAAC,CAAC;KACxE;IAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;AAC7D,CAAC;AA4KG,kCAAW;AA1Kf,MAAM,gBAAgB,GAAG;IACrB,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,oBAAoB;IAC7C,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,uBAAuB;CAClD,CAAC;AAEF,SAAS,oBAAoB,CAAC,GAAW,EAAE,OAAsB;IAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAE9C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAChC,OAAc;YACV,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;YACvD,IAAI,EAAE,KAAK,CAAC,KAAK;YACjB,SAAS,EAAE;gBACP,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;gBACtC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;aACpC;YACD,QAAQ,EAAE,KAAK,CAAC,QAAQ;SAC3B,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE5C,MAAM,IAAI,GAAW;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG;YACzB,CAAC;YACD,YAAY,EAAE;gBACV,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;gBACvC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAClC,OAAO,EAAE,CAAC;gBACV,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI;gBACpC,SAAS,EAAE,EAAE;aAChB;SACJ,CAAC;QAEF,IAAI;YACA,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACxE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC7C;QAAC,OAAO,CAAC,EAAE;YACR,yDAAyD;SAC5D;QAED,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,OAAO;QACH,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC/C,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC/C,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE;QACxB,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE;QAC1B,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;QACtB,GAAG;QACH,IAAI;QACJ,GAAG;KACN,CAAC;AACN,CAAC;AAiHG,oDAAoB;AA/GxB,SAAS,0BAA0B,CAC/B,EAAqB,EACrB,GAAW,EACX,KAAwC;IAExC,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,iBAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,iBAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACpG,MAAM,MAAM,GAAG;QACX,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;QACvB,IAAI,EAAE,EAAE;QACR,aAAa,EAAE,CAAC;QAChB,MAAM,EAAE,EAAE,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAQ,CAAC,OAAO;KACrE,CAAC;IAEF,IAAI,GAAG,EAAE;QACL,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,GAAG;YACH,QAAQ;SACX,CAAC,CAAC;KACN;IAED,IAAI,KAAK,EAAE;QACP,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,WAAW,EAAE,KAAK,CAAC,MAAM;YACzB,aAAa,EAAE,EAAE,CAAC,aAAa;SAClC,CAAC,CAAC;KACN;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAiFG,gEAA0B;AA/E9B,SAAS,aAAa,CAAC,OAAe,EAAE,OAAsB;IAC1D,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrE,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC3C,IAAI,IAAI,KAAK,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE;QAC/B,MAAM,IAAI,KAAK,CAAC,2CAA2C,OAAO,YAAY,IAAI,2CAA2C,CAAC,CAAC;KAClI;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;IACtD,OAAO,MAAM,CAAC,IAAI,CAAA;AACtB,CAAC;AAwEG,sCAAa;AAtEjB,SAAS,eAAe,CAAC,QAAqB,EAAE,OAAsB;IAClE,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAEpC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC7B,MAAM,IAAI,4BAAmB,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;KAChE;IAED,IAAI,UAAU,CAAC;IACf,IAAI;QACA,UAAU,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;KAChD;IAAC,OAAO,CAAC,EAAE;QACR,MAAM,IAAI,4BAAmB,CAAC,qCAAqC,OAAO,EAAE,CAAC,CAAC;KACjF;IAED,IAAI,CAAC,UAAU,EAAE;QACb,MAAM,IAAI,4BAAmB,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;KAChE;AACL,CAAC;AAsDG,0CAAe;AApDnB,SAAS,YAAY,CAAC,QAAgB;IAClC,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;IACnD,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE;QAC3C,aAAa;QACb,GAAG,GAAG,QAAQ,CAAA;KACjB;SAAM;QACH,wBAAwB;QACxB,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,mCAAmC,CAAC,CAAA,CAAC,CAAC,oCAAoC,QAAQ,EAAE,CAAA;KACxI;IACD,OAAO,GAAG,CAAA;AACd,CAAC;AAED,SAAe,gBAAgB,CAAC,QAAgB;;;QAC5C,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO,EAAE,CAAC;SACb;QACD,MAAM,WAAW,GAAG,oCAAoC,QAAQ,EAAE,CAAA;QAClE,IAAI,QAAQ,GAAkB,EAAE,CAAA;QAChC,IAAI;YACA,MAAM,OAAO,GAAG,MAAM,mBAAU,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,EAAC,OAAO,EAAE,oBAAoB,EAAC,CAAC,CAAA;YACvF,IAAI,OAAO,CAAC,cAAc,CAAC,KAAK,kBAAkB,EAAE;gBAChD,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,mBAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;gBACjF,MAAM,kBAAkB,GAAI,SAAsB,aAAtB,SAAS,uBAAT,SAAS,CAAe,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;oBACjE,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAClC,CAAC,CAAC,CAAA;gBACF,QAAQ,GAAG;oBACP,IAAI;oBACJ,WAAW;oBACX,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC;oBAC7B,SAAS,EAAE,kBAAkB;iBAChC,CAAA;aACJ;iBAAM,IAAI,MAAA,OAAO,CAAC,cAAc,CAAC,0CAAE,UAAU,CAAC,OAAO,CAAC,EAAE;gBACrD,QAAQ,CAAC,QAAQ,GAAG,WAAW,CAAA;aAClC;SACJ;QAAC,OAAO,CAAC,EAAE;YACR,OAAO,CAAC,IAAI,CAAC,sCAAsC,WAAW,EAAE,CAAC,CAAA;YACjE,QAAQ,CAAC,WAAW,GAAG,mBAAmB,CAAA;SAC7C;QAED,OAAO,QAAQ,CAAA;;CAClB;AAYG,4CAAgB"}
@@ -300,6 +300,7 @@ class YacoinBaseWalletProvider extends client_1.Wallet {
300
300
  getTotalFee(opts, max) {
301
301
  return __awaiter(this, void 0, void 0, function* () {
302
302
  const targets = this.sendOptionsToOutputs([opts]);
303
+ console.log("TACA ===> getTotalFee, targets = ", targets, ", max = ", max);
303
304
  if (!max) {
304
305
  // const { fee } = await this.getInputsForAmount(targets, opts.fee as number);
305
306
  const { fee } = yield this.getInputsForAmount(targets, opts.fee);
@@ -374,7 +375,9 @@ class YacoinBaseWalletProvider extends client_1.Wallet {
374
375
  else {
375
376
  targets = _targets.map((target) => ({ id: 'main', value: target.value, script: target.script, tokenName: target.tokenName, token_value: target.token_value, tokenScriptType: target.tokenScriptType }));
376
377
  }
378
+ console.log("TACA ===> getInputsForAmount, utxos = ", utxos, ", targets = ", targets, ", feePerByte = ", feePerByte);
377
379
  const { inputs, outputs, fee, coinChange, tokenChange } = (0, utils_2.selectCoins)(utxos, tokenUtxos, targets, Math.ceil(feePerByte), fixedUtxos);
380
+ console.log("TACA ===> getInputsForAmount, inputs = ", inputs, ", outputs = ", outputs, ", fee = ", fee, ", coinChange = ", coinChange);
378
381
  if (inputs && outputs) {
379
382
  return {
380
383
  inputs,
@@ -1 +1 @@
1
- {"version":3,"file":"YacoinBaseWallet.js","sourceRoot":"","sources":["../../../lib/wallet/YacoinBaseWallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"YacoinBaseWallet.js","sourceRoot":"","sources":["../../../lib/wallet/YacoinBaseWallet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ /// <reference types="node" />
2
+ import { Chain, Wallet } from '@yaswap/client';
3
+ import { Address, AddressType, Asset, BigNumber, Network, Transaction, TransactionRequest, CreateTokenTransaction } from '@yaswap/types';
4
+ import { ECPairInterface, payments } from '@yaswap/yacoinjs-lib';
5
+ import { YacoinBaseChainProvider } from '../chain/YacoinBaseChainProvider';
6
+ import { YacoinNetwork, PsbtInputTarget, Transaction as YacTransaction, OutputTarget, Input, UTXO, YacoinSingleWalletOptions } from '../types';
7
+ import { CoinSelectTarget } from '../utils';
8
+ import { IYacoinWallet } from './IYacoinWallet';
9
+ export declare class YacoinSingleWallet extends Wallet<any, any> implements IYacoinWallet<YacoinBaseChainProvider> {
10
+ private _addressType;
11
+ private _network;
12
+ private _ecpair;
13
+ constructor(options: YacoinSingleWalletOptions, chainProvider?: Chain<YacoinBaseChainProvider>);
14
+ setNetwork(yacoinNetwork: YacoinNetwork): void;
15
+ setECPair(ecpair: ECPairInterface): void;
16
+ setPublicKey(publicKey: Buffer): void;
17
+ setWIF(wif: string): void;
18
+ getUnusedAddress(): Promise<Address>;
19
+ getUsedAddresses(): Promise<Address[]>;
20
+ getAddresses(): Promise<Address[]>;
21
+ createToken(options: CreateTokenTransaction): Promise<Transaction>;
22
+ sendTransaction(options: TransactionRequest): Promise<Transaction<YacTransaction>>;
23
+ sendBatchTransaction(transactions: TransactionRequest[]): Promise<Transaction<YacTransaction>[]>;
24
+ sendSweepTransaction(externalChangeAddress: AddressType, _asset: Asset, feePerByte: number): Promise<Transaction<YacTransaction>>;
25
+ updateTransactionFee(tx: Transaction<YacTransaction> | string, newFeePerByte: number): Promise<Transaction<YacTransaction>>;
26
+ getConnectedNetwork(): Promise<Network>;
27
+ getSigner(): Promise<null>;
28
+ getAddress(): Promise<AddressType>;
29
+ signMessage(message: string): Promise<string>;
30
+ signTx(transaction: string, hash: string, derivationPath: string, txfee: number): Promise<string>;
31
+ getBalance(assets: Asset[]): Promise<BigNumber[]>;
32
+ exportPrivateKey(): Promise<string>;
33
+ isWalletAvailable(): Promise<boolean>;
34
+ canUpdateFee(): boolean;
35
+ signPSBT(data: string, inputs: PsbtInputTarget[]): Promise<string>;
36
+ signBatchP2SHTransaction(inputs: [{
37
+ inputTxHex: string;
38
+ index: number;
39
+ vout: any;
40
+ outputScript: Buffer;
41
+ }], addresses: string, tx: any, locktime: number, segwit?: boolean): Promise<Buffer[]>;
42
+ getWalletAddress(): Promise<Address>;
43
+ getTotalFees(transactions: TransactionRequest[], max: boolean): Promise<any>;
44
+ protected getAddressFromPublicKey(publicKey: Buffer): string;
45
+ protected getPaymentVariantFromPublicKey(publicKey: Buffer): payments.Payment;
46
+ protected withCachedUtxos(func: () => any): Promise<any>;
47
+ protected getTotalFee(opts: TransactionRequest, max: boolean): Promise<number>;
48
+ protected sendOptionsToOutputs(transactions: TransactionRequest[]): OutputTarget[];
49
+ protected tokenInfoToOutputs(transaction: CreateTokenTransaction): OutputTarget[];
50
+ protected compileTokenTransferTarget(address: string, tokenName: string, tokenValue: number): OutputTarget;
51
+ protected compileNewTokenTarget(address: string, tokenName: string, tokenAmount: number, decimals: number, reissuable: Boolean, ipfsHash: string): OutputTarget;
52
+ protected compileTokenOwnerTarget(address: string, ownerTokenName: string): OutputTarget;
53
+ protected compileTimelockFeesTarget(address: string): OutputTarget;
54
+ protected getInputsForAmount(_targets: OutputTarget[], feePerByte?: number, fixedInputs?: Input[], sweep?: boolean): Promise<{
55
+ inputs: UTXO[];
56
+ coinChange: CoinSelectTarget;
57
+ tokenChange: CoinSelectTarget;
58
+ outputs: CoinSelectTarget[];
59
+ fee: number;
60
+ }>;
61
+ protected onChainProviderUpdate(chainProvider: Chain<YacoinBaseChainProvider>): void;
62
+ private dumpPrivKey;
63
+ protected _sendTransaction(transactions: OutputTarget[], feePerByte?: number): Promise<Transaction<YacTransaction>>;
64
+ protected buildTransaction(targets: OutputTarget[], feePerByte?: number, fixedInputs?: Input[]): Promise<{
65
+ hex: string;
66
+ fee: number;
67
+ }>;
68
+ protected buildSweepTransaction(externalChangeAddress: string, feePerByte: number): Promise<{
69
+ hex: string;
70
+ fee: number;
71
+ }>;
72
+ }
@@ -0,0 +1,716 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.YacoinSingleWallet = void 0;
16
+ const client_1 = require("@yaswap/client");
17
+ const errors_1 = require("@yaswap/errors");
18
+ const types_1 = require("@yaswap/types");
19
+ const yacoinjs_lib_1 = require("@yaswap/yacoinjs-lib");
20
+ const bitcoinjs_message_1 = require("bitcoinjs-message");
21
+ const types_2 = require("../types");
22
+ const utils_1 = require("../utils");
23
+ const memoizee_1 = __importDefault(require("memoizee"));
24
+ function bigint_to_Buffer(input) {
25
+ const bytesArray = [];
26
+ for (let i = 0; i < 8; i++) {
27
+ let shift = input >> BigInt(8 * i);
28
+ shift &= BigInt(255);
29
+ bytesArray[i] = Number(String(shift));
30
+ }
31
+ return Buffer.from(bytesArray);
32
+ }
33
+ class YacoinSingleWallet extends client_1.Wallet {
34
+ constructor(options, chainProvider) {
35
+ super(chainProvider);
36
+ this._addressType = (options === null || options === void 0 ? void 0 : options.addressType) || types_2.AddressType.LEGACY;
37
+ this._network = chainProvider ? chainProvider.getNetwork() : options.network;
38
+ if (options.ecpair) {
39
+ this._ecpair = yacoinjs_lib_1.ECPair.fromPrivateKey(options.ecpair.privateKey, { network: this._network });
40
+ }
41
+ else if (options.wif) {
42
+ this._ecpair = yacoinjs_lib_1.ECPair.fromWIF(options.wif, this._network);
43
+ }
44
+ else if (options.publicKey) {
45
+ this._ecpair = yacoinjs_lib_1.ECPair.fromPublicKey(options.publicKey, { network: this._network });
46
+ }
47
+ }
48
+ setNetwork(yacoinNetwork) {
49
+ this._network = yacoinNetwork;
50
+ }
51
+ setECPair(ecpair) {
52
+ this._ecpair = yacoinjs_lib_1.ECPair.fromPrivateKey(ecpair.privateKey, { network: this._network });
53
+ }
54
+ setPublicKey(publicKey) {
55
+ this._ecpair = yacoinjs_lib_1.ECPair.fromPublicKey(publicKey, { network: this._network });
56
+ }
57
+ setWIF(wif) {
58
+ this._ecpair = yacoinjs_lib_1.ECPair.fromWIF(wif, this._network);
59
+ }
60
+ getUnusedAddress() {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ const address = this.getAddressFromPublicKey(this._ecpair.publicKey);
63
+ const addressObject = new types_1.Address({
64
+ address,
65
+ publicKey: this._ecpair.publicKey.toString('hex'),
66
+ });
67
+ return addressObject;
68
+ });
69
+ }
70
+ getUsedAddresses() {
71
+ return __awaiter(this, void 0, void 0, function* () {
72
+ const address = yield this.getUnusedAddress();
73
+ return [address];
74
+ });
75
+ }
76
+ getAddresses() {
77
+ return __awaiter(this, void 0, void 0, function* () {
78
+ return this.getUsedAddresses();
79
+ });
80
+ }
81
+ createToken(options) {
82
+ return __awaiter(this, void 0, void 0, function* () {
83
+ return this._sendTransaction(this.tokenInfoToOutputs(options), options.fee);
84
+ });
85
+ }
86
+ sendTransaction(options) {
87
+ return __awaiter(this, void 0, void 0, function* () {
88
+ return this._sendTransaction(this.sendOptionsToOutputs([options]), options.fee);
89
+ });
90
+ }
91
+ sendBatchTransaction(transactions) {
92
+ return __awaiter(this, void 0, void 0, function* () {
93
+ return [yield this._sendTransaction(this.sendOptionsToOutputs(transactions))];
94
+ });
95
+ }
96
+ sendSweepTransaction(externalChangeAddress, _asset, feePerByte) {
97
+ return __awaiter(this, void 0, void 0, function* () {
98
+ const { hex, fee } = yield this.buildSweepTransaction(externalChangeAddress.toString(), feePerByte);
99
+ yield this.chainProvider.sendRawTransaction(`data=${hex}`);
100
+ return (0, utils_1.normalizeTransactionObject)((0, utils_1.decodeRawTransaction)(hex, this._network), fee);
101
+ });
102
+ }
103
+ updateTransactionFee(tx, newFeePerByte) {
104
+ return __awaiter(this, void 0, void 0, function* () {
105
+ const txHash = typeof tx === 'string' ? tx : tx.hash;
106
+ const transaction = (yield this.chainProvider.getTransactionByHash(txHash))._raw;
107
+ const fixedInputs = [transaction.vin[0]]; // TODO: should this pick more than 1 input? RBF doesn't mandate it
108
+ const changeAddress = yield this.getWalletAddress();
109
+ const changeOutput = transaction.vout.find((vout) => vout.scriptPubKey.addresses[0] === changeAddress.address);
110
+ let outputs = transaction.vout;
111
+ if (changeOutput) {
112
+ outputs = outputs.filter((vout) => vout.scriptPubKey.addresses[0] !== changeOutput.scriptPubKey.addresses[0]);
113
+ }
114
+ // TODO more checks?
115
+ const transactions = outputs.map((output) => ({
116
+ address: output.scriptPubKey.addresses[0],
117
+ value: new types_1.BigNumber(output.value).times(1e6).toNumber(),
118
+ }));
119
+ const { hex, fee } = yield this.buildTransaction(transactions, newFeePerByte, fixedInputs);
120
+ yield this.chainProvider.sendRawTransaction(`data=${hex}`);
121
+ return (0, utils_1.normalizeTransactionObject)((0, utils_1.decodeRawTransaction)(hex, this._network), fee);
122
+ });
123
+ }
124
+ getConnectedNetwork() {
125
+ return __awaiter(this, void 0, void 0, function* () {
126
+ return this._network;
127
+ });
128
+ }
129
+ getSigner() {
130
+ return __awaiter(this, void 0, void 0, function* () {
131
+ return null;
132
+ });
133
+ }
134
+ getAddress() {
135
+ return __awaiter(this, void 0, void 0, function* () {
136
+ const addresses = yield this.getAddresses();
137
+ return addresses[0];
138
+ });
139
+ }
140
+ signMessage(message) {
141
+ return __awaiter(this, void 0, void 0, function* () {
142
+ const signature = yield (0, bitcoinjs_message_1.signAsync)(message, this._ecpair.privateKey, this._ecpair.compressed);
143
+ return signature.toString('hex');
144
+ });
145
+ }
146
+ signTx(transaction, hash, derivationPath, txfee) {
147
+ return __awaiter(this, void 0, void 0, function* () {
148
+ const result = this._ecpair.sign(Buffer.from(hash, 'hex'));
149
+ return result.toString('hex');
150
+ });
151
+ }
152
+ getBalance(assets) {
153
+ return __awaiter(this, void 0, void 0, function* () {
154
+ const addresses = yield this.getAddresses();
155
+ return yield this.chainProvider.getBalance(addresses, assets);
156
+ });
157
+ }
158
+ exportPrivateKey() {
159
+ return __awaiter(this, void 0, void 0, function* () {
160
+ return this._ecpair.toWIF();
161
+ });
162
+ }
163
+ isWalletAvailable() {
164
+ return __awaiter(this, void 0, void 0, function* () {
165
+ return true;
166
+ });
167
+ }
168
+ canUpdateFee() {
169
+ return true;
170
+ }
171
+ signPSBT(data, inputs) {
172
+ return __awaiter(this, void 0, void 0, function* () {
173
+ // TODO: This doesn't work at the moment, need to implement later
174
+ const psbt = yacoinjs_lib_1.Psbt.fromBase64(data, { network: this._network });
175
+ for (const input of inputs) {
176
+ const usedAddresses = yield this.getUsedAddresses();
177
+ const address = usedAddresses.find((address) => address.derivationPath === input.derivationPath);
178
+ const wif = yield this.dumpPrivKey(address.address);
179
+ const keyPair = yacoinjs_lib_1.ECPair.fromWIF(wif, this._network);
180
+ psbt.signInput(input.index, keyPair);
181
+ }
182
+ return psbt.toBase64();
183
+ });
184
+ }
185
+ signBatchP2SHTransaction(inputs, addresses, tx, locktime, segwit = false) {
186
+ return __awaiter(this, void 0, void 0, function* () {
187
+ // TODO: This doesn't work at the moment, need to implement later
188
+ const wallets = [];
189
+ for (const address of addresses) {
190
+ const wif = yield this.dumpPrivKey(address);
191
+ const wallet = yacoinjs_lib_1.ECPair.fromWIF(wif, this._network);
192
+ wallets.push(wallet);
193
+ }
194
+ const sigs = [];
195
+ for (let i = 0; i < inputs.length; i++) {
196
+ let sigHash;
197
+ if (segwit) {
198
+ sigHash = tx.hashForWitnessV0(inputs[i].index, inputs[i].outputScript, inputs[i].vout.vSat, yacoinjs_lib_1.Transaction.SIGHASH_ALL); // AMOUNT NEEDS TO BE PREVOUT AMOUNT
199
+ }
200
+ else {
201
+ sigHash = tx.hashForSignature(inputs[i].index, inputs[i].outputScript, yacoinjs_lib_1.Transaction.SIGHASH_ALL);
202
+ }
203
+ const sig = yacoinjs_lib_1.script.signature.encode(wallets[i].sign(sigHash), yacoinjs_lib_1.Transaction.SIGHASH_ALL);
204
+ sigs.push(sig);
205
+ }
206
+ return sigs;
207
+ });
208
+ }
209
+ getWalletAddress() {
210
+ return __awaiter(this, void 0, void 0, function* () {
211
+ return yield this.getUnusedAddress();
212
+ });
213
+ }
214
+ getTotalFees(transactions, max) {
215
+ return __awaiter(this, void 0, void 0, function* () {
216
+ const fees = yield this.withCachedUtxos(() => __awaiter(this, void 0, void 0, function* () {
217
+ const fees = {};
218
+ for (const tx of transactions) {
219
+ const fee = yield this.getTotalFee(tx, max);
220
+ fees[tx.fee] = new types_1.BigNumber(fee);
221
+ }
222
+ return fees;
223
+ }));
224
+ return fees;
225
+ });
226
+ }
227
+ getAddressFromPublicKey(publicKey) {
228
+ return this.getPaymentVariantFromPublicKey(publicKey).address;
229
+ }
230
+ getPaymentVariantFromPublicKey(publicKey) {
231
+ if (this._addressType === types_2.AddressType.LEGACY) {
232
+ return yacoinjs_lib_1.payments.p2pkh({ pubkey: publicKey, network: this._network });
233
+ }
234
+ else
235
+ throw new Error('Unknown script type');
236
+ }
237
+ withCachedUtxos(func) {
238
+ return __awaiter(this, void 0, void 0, function* () {
239
+ const originalProvider = this.chainProvider.getProvider();
240
+ const memoizedGetFeePerByte = (0, memoizee_1.default)(originalProvider.getFeePerByte, { primitive: true });
241
+ const memoizedGetUnspentTransactions = (0, memoizee_1.default)(originalProvider.getUnspentTransactions, { primitive: true });
242
+ const memoizedGetAddressTransactionCounts = (0, memoizee_1.default)(originalProvider.getAddressTransactionCounts, {
243
+ primitive: true,
244
+ });
245
+ const newProvider = originalProvider;
246
+ newProvider.getFeePerByte = memoizedGetFeePerByte;
247
+ newProvider.getUnspentTransactions = memoizedGetUnspentTransactions;
248
+ newProvider.getAddressTransactionCounts = memoizedGetAddressTransactionCounts;
249
+ this.chainProvider.setProvider(newProvider);
250
+ const result = yield func.bind(this)();
251
+ this.chainProvider.setProvider(originalProvider);
252
+ return result;
253
+ });
254
+ }
255
+ getTotalFee(opts, max) {
256
+ return __awaiter(this, void 0, void 0, function* () {
257
+ const targets = this.sendOptionsToOutputs([opts]);
258
+ console.log("TACA ===> getTotalFee, targets = ", targets, ", max = ", max);
259
+ if (!max) {
260
+ const { fee } = yield this.getInputsForAmount(targets, opts.fee);
261
+ return fee;
262
+ }
263
+ else {
264
+ const { fee } = yield this.getInputsForAmount(targets.filter((t) => !t.value), opts.fee, [], true);
265
+ return fee;
266
+ }
267
+ });
268
+ }
269
+ sendOptionsToOutputs(transactions) {
270
+ const targets = [];
271
+ transactions.forEach((tx) => {
272
+ if (tx.to && tx.value && tx.value.gt(0)) {
273
+ // token/NFT output
274
+ if (tx.asset && tx.asset.type !== 'native') {
275
+ const tokenTransferTarget = this.compileTokenTransferTarget(tx.to.toString(), tx.asset.name.split('|').join('/'), tx.value.toNumber());
276
+ targets.push(tokenTransferTarget);
277
+ return;
278
+ }
279
+ else {
280
+ // coin output
281
+ targets.push({
282
+ address: tx.to.toString(),
283
+ value: tx.value.toNumber(),
284
+ });
285
+ }
286
+ }
287
+ if (tx.data) {
288
+ const scriptBuffer = yacoinjs_lib_1.script.compile([yacoinjs_lib_1.script.OPS.OP_RETURN, Buffer.from(tx.data, 'hex')]);
289
+ targets.push({
290
+ value: 0,
291
+ script: scriptBuffer,
292
+ });
293
+ }
294
+ });
295
+ return targets;
296
+ }
297
+ tokenInfoToOutputs(transaction) {
298
+ var _a;
299
+ const targets = [];
300
+ const tx = transaction;
301
+ // Workaround for displaying sub YA-token
302
+ tx.tokenName = (_a = tx.tokenName) === null || _a === void 0 ? void 0 : _a.split('|').join('/');
303
+ // Create YA-Token
304
+ if (tx.tokenType === types_1.TokenType.token) {
305
+ const subDeliLastIndex = tx.tokenName.lastIndexOf('/');
306
+ if (subDeliLastIndex === -1) {
307
+ // YA-Token
308
+ /*
309
+ YA-Token creation transaction will have
310
+ 1) Inputs
311
+ + Any normal UTXO used as transaction fees + timelock fees
312
+ 2) Outputs (at least 3 outputs) with following orders:
313
+ + Output containing "CSV-P2PKH Timelock script" (random position)
314
+ + Output containing YAC change (optional, random position)
315
+ + Output containing "Token Owner Script" (always the second last output)
316
+ + Output containing "New Token Script" (always the last output)
317
+ */
318
+ const ownerTokenName = tx.tokenName + '!';
319
+ const timelockFeesTarget = this.compileTimelockFeesTarget(tx.to.toString());
320
+ const tokenOwnerTarget = this.compileTokenOwnerTarget(tx.to.toString(), ownerTokenName);
321
+ const newTokenTarget = this.compileNewTokenTarget(tx.to.toString(), tx.tokenName, tx.tokenAmount, tx.decimals, tx.reissuable, tx.ipfsHash);
322
+ targets.push(timelockFeesTarget);
323
+ targets.push(tokenOwnerTarget);
324
+ targets.push(newTokenTarget);
325
+ }
326
+ else {
327
+ // sub YA-Token
328
+ /*
329
+ sub YA-Token creation transaction will have
330
+ 1) Inputs
331
+ + owner token UTXO
332
+ + Any normal UTXO used as transaction fees + timelock fees
333
+ 2) Outputs (at least 4 outputs) with following orders:
334
+ + Output containing "CSV-P2PKH Timelock script" (random position)
335
+ + Output containing "Transfer Token Owner Script" (random position)
336
+ + Output containing YAC change (optional, random position)
337
+ + Output containing "Token Owner Script" (always the second last output)
338
+ + Output containing "New Token Script" (always the last output)
339
+ */
340
+ const ownerTokenName = tx.tokenName.slice(0, subDeliLastIndex) + '!';
341
+ const subOwnerTokenName = tx.tokenName + '!';
342
+ const timelockFeesTarget = this.compileTimelockFeesTarget(tx.to.toString());
343
+ const tokenTransferTarget = this.compileTokenTransferTarget(tx.to.toString(), ownerTokenName, 1e6);
344
+ const tokenOwnerTarget = this.compileTokenOwnerTarget(tx.to.toString(), subOwnerTokenName);
345
+ const newTokenTarget = this.compileNewTokenTarget(tx.to.toString(), tx.tokenName, tx.tokenAmount, tx.decimals, tx.reissuable, tx.ipfsHash);
346
+ targets.push(timelockFeesTarget);
347
+ targets.push(tokenTransferTarget);
348
+ targets.push(tokenOwnerTarget);
349
+ targets.push(newTokenTarget);
350
+ }
351
+ }
352
+ else {
353
+ // Create YA-NFT
354
+ /*
355
+ YA-NFT creation transaction will have
356
+ 1) Inputs
357
+ + owner token UTXO
358
+ + Any normal UTXO used as transaction fees + timelock fees
359
+ 2) Outputs (at least 3 outputs) with following orders:
360
+ + Output containing "CSV-P2PKH Timelock script" (random position)
361
+ + Output containing "Transfer Token Owner Script" (random position)
362
+ + Output containing YAC change (optional, random position)
363
+ + Output containing "New Token Script" (always the last output)
364
+ */
365
+ const ownerTokenName = tx.tokenName.split('#')[0] + '!';
366
+ const timelockFeesTarget = this.compileTimelockFeesTarget(tx.to.toString());
367
+ const tokenTransferTarget = this.compileTokenTransferTarget(tx.to.toString(), ownerTokenName, 1e6);
368
+ const newTokenTarget = this.compileNewTokenTarget(tx.to.toString(), tx.tokenName, tx.tokenAmount, tx.decimals, tx.reissuable, tx.ipfsHash);
369
+ targets.push(timelockFeesTarget);
370
+ targets.push(tokenTransferTarget);
371
+ targets.push(newTokenTarget);
372
+ }
373
+ return targets;
374
+ }
375
+ compileTokenTransferTarget(address, tokenName, tokenValue) {
376
+ /*
377
+ OP_DUP OP_HASH160 <hash_of_public_key> OP_EQUALVERIFY OP_CHECKSIG < OP_YAC_TOKEN << YACT << token_name << token_amount << OP_DROP
378
+
379
+ OP_DUP = 0x76
380
+ OP_HASH160 = 0xa9
381
+ 1 bytes for length of hash public key
382
+ 20 bytes hash of public key
383
+ OP_EQUALVERIFY = 0x88
384
+ OP_CHECKSIG = 0xac
385
+ OP_YAC_TOKEN = 0xb3
386
+ 1 byte for length of asset script excluding OP_DROP
387
+ #define YAC_Y 121 (0x79)
388
+ #define YAC_A 97 (0x61)
389
+ #define YAC_C 99 (0x63)
390
+ #define YAC_T 116 (0x74)
391
+ 1 byte for length of token name
392
+ token name
393
+ 8 bytes of token amount (little endian)
394
+ OP_DROP = 0x75
395
+ */
396
+ const recipientPubKeyHash = (0, utils_1.getPubKeyHash)(address, this._network);
397
+ const yactBuffer = Buffer.alloc(4);
398
+ yactBuffer.writeUInt32BE(0x79616374, 0);
399
+ const tokenNameBuf = Buffer.from(tokenName, 'utf-8');
400
+ const tokenNameLenBuf = Buffer.alloc(1);
401
+ tokenNameLenBuf.writeUInt8(tokenNameBuf.length, 0);
402
+ const tokenAmountBuf = bigint_to_Buffer(BigInt(tokenValue));
403
+ const tokenTransferScriptBuf = Buffer.concat([yactBuffer, tokenNameLenBuf, tokenNameBuf, tokenAmountBuf]);
404
+ const scriptBuffer = yacoinjs_lib_1.script.compile([
405
+ yacoinjs_lib_1.script.OPS.OP_DUP,
406
+ yacoinjs_lib_1.script.OPS.OP_HASH160,
407
+ recipientPubKeyHash,
408
+ yacoinjs_lib_1.script.OPS.OP_EQUALVERIFY,
409
+ yacoinjs_lib_1.script.OPS.OP_CHECKSIG,
410
+ yacoinjs_lib_1.script.OPS.OP_NOP4,
411
+ tokenTransferScriptBuf,
412
+ yacoinjs_lib_1.script.OPS.OP_DROP,
413
+ ]);
414
+ return {
415
+ value: 0,
416
+ token_value: tokenValue,
417
+ script: scriptBuffer,
418
+ tokenName,
419
+ tokenScriptType: types_1.TokenScriptType.transfer,
420
+ };
421
+ }
422
+ compileNewTokenTarget(address, tokenName, tokenAmount, decimals, reissuable, ipfsHash) {
423
+ /*
424
+ OP_DUP OP_HASH160 <hash_of_public_key> OP_EQUALVERIFY OP_CHECKSIG < OP_YAC_TOKEN << YACQ << token_name << token_amount << units << reissuable << IPFS_Hash << OP_DROP
425
+
426
+ OP_DUP = 0x76
427
+ OP_HASH160 = 0xa9
428
+ 1 bytes for length of hash public key
429
+ 20 bytes hash of public key
430
+ OP_EQUALVERIFY = 0x88
431
+ OP_CHECKSIG = 0xac
432
+ OP_YAC_TOKEN = 0xb3
433
+ 1 byte for length of asset script excluding OP_DROP
434
+ #define YAC_Y 121 (0x79)
435
+ #define YAC_A 97 (0x61)
436
+ #define YAC_C 99 (0x63)
437
+ #define YAC_Q 113 (0x71)
438
+ 1 byte for length of token name
439
+ token name
440
+ 8 bytes of token amount (little endian)
441
+ 1 byte of units
442
+ 1 byte of reissuable
443
+ 1 byte of hasIPFS
444
+ 34 bytes of IPFS hash (CID v1)
445
+ OP_DROP = 0x75
446
+ */
447
+ const recipientPubKeyHash = (0, utils_1.getPubKeyHash)(address, this._network);
448
+ const yacqBuffer = Buffer.alloc(4);
449
+ yacqBuffer.writeUInt32BE(0x79616371, 0);
450
+ const tokenNameBuf = Buffer.from(tokenName, 'utf-8');
451
+ const tokenNameLenBuf = Buffer.alloc(1);
452
+ tokenNameLenBuf.writeUInt8(tokenNameBuf.length, 0);
453
+ const tokenAmountBuf = bigint_to_Buffer(BigInt(tokenAmount));
454
+ let newTokenScriptArr = [yacqBuffer, tokenNameLenBuf, tokenNameBuf, tokenAmountBuf];
455
+ const unitReissuableHasIPFSBuf = Buffer.alloc(3);
456
+ unitReissuableHasIPFSBuf.writeUInt8(decimals, 0);
457
+ unitReissuableHasIPFSBuf.writeUInt8(Number(reissuable), 1);
458
+ if (ipfsHash) {
459
+ unitReissuableHasIPFSBuf.writeUInt8(1, 2);
460
+ const ipfsHashBuf = Buffer.from(ipfsHash, 'hex');
461
+ newTokenScriptArr.push(unitReissuableHasIPFSBuf);
462
+ newTokenScriptArr.push(ipfsHashBuf);
463
+ }
464
+ else {
465
+ unitReissuableHasIPFSBuf.writeUInt8(0, 2);
466
+ newTokenScriptArr.push(unitReissuableHasIPFSBuf);
467
+ }
468
+ const newTokenScriptBuf = Buffer.concat(newTokenScriptArr);
469
+ const scriptBuffer = yacoinjs_lib_1.script.compile([
470
+ yacoinjs_lib_1.script.OPS.OP_DUP,
471
+ yacoinjs_lib_1.script.OPS.OP_HASH160,
472
+ recipientPubKeyHash,
473
+ yacoinjs_lib_1.script.OPS.OP_EQUALVERIFY,
474
+ yacoinjs_lib_1.script.OPS.OP_CHECKSIG,
475
+ yacoinjs_lib_1.script.OPS.OP_NOP4,
476
+ newTokenScriptBuf,
477
+ yacoinjs_lib_1.script.OPS.OP_DROP,
478
+ ]);
479
+ return {
480
+ value: 0,
481
+ token_value: tokenAmount,
482
+ script: scriptBuffer,
483
+ tokenName,
484
+ tokenScriptType: types_1.TokenScriptType.newToken,
485
+ };
486
+ }
487
+ compileTokenOwnerTarget(address, ownerTokenName) {
488
+ /*
489
+ OP_DUP OP_HASH160 <hash_of_public_key> OP_EQUALVERIFY OP_CHECKSIG < OP_YAC_TOKEN << YACO << token_owner_name << OP_DROP
490
+
491
+ OP_DUP = 0x76
492
+ OP_HASH160 = 0xa9
493
+ 1 bytes for length of hash public key
494
+ 20 bytes hash of public key
495
+ OP_EQUALVERIFY = 0x88
496
+ OP_CHECKSIG = 0xac
497
+ OP_YAC_TOKEN = 0xb3
498
+ 1 byte for length of asset script excluding OP_DROP
499
+ #define YAC_Y 121 (0x79)
500
+ #define YAC_A 97 (0x61)
501
+ #define YAC_C 99 (0x63)
502
+ #define YAC_O 111 (0x6F)
503
+ 1 byte for length of token owner name
504
+ token owner name
505
+ OP_DROP = 0x75
506
+ */
507
+ const recipientPubKeyHash = (0, utils_1.getPubKeyHash)(address, this._network);
508
+ const yacoBuffer = Buffer.alloc(4);
509
+ yacoBuffer.writeUInt32BE(0x7961636f, 0);
510
+ const tokenNameBuf = Buffer.from(ownerTokenName, 'utf-8');
511
+ const tokenNameLenBuf = Buffer.alloc(1);
512
+ tokenNameLenBuf.writeUInt8(tokenNameBuf.length, 0);
513
+ const tokenOwnerScriptBuf = Buffer.concat([yacoBuffer, tokenNameLenBuf, tokenNameBuf]);
514
+ const scriptBuffer = yacoinjs_lib_1.script.compile([
515
+ yacoinjs_lib_1.script.OPS.OP_DUP,
516
+ yacoinjs_lib_1.script.OPS.OP_HASH160,
517
+ recipientPubKeyHash,
518
+ yacoinjs_lib_1.script.OPS.OP_EQUALVERIFY,
519
+ yacoinjs_lib_1.script.OPS.OP_CHECKSIG,
520
+ yacoinjs_lib_1.script.OPS.OP_NOP4,
521
+ tokenOwnerScriptBuf,
522
+ yacoinjs_lib_1.script.OPS.OP_DROP,
523
+ ]);
524
+ return {
525
+ value: 0,
526
+ token_value: 1e6,
527
+ script: scriptBuffer,
528
+ tokenName: ownerTokenName,
529
+ tokenScriptType: types_1.TokenScriptType.tokenOwner,
530
+ };
531
+ }
532
+ compileTimelockFeesTarget(address) {
533
+ /*
534
+
535
+ <locktime> OP_CHECKSEQUENCEVERIFY OP_DROP OP_DUP OP_HASH160 <hash_of_public_key> OP_EQUALVERIFY OP_CHECKSIG
536
+ */
537
+ const recipientPubKeyHash = (0, utils_1.getPubKeyHash)(address, this._network);
538
+ const scriptBuffer = yacoinjs_lib_1.script.compile([
539
+ yacoinjs_lib_1.script.number.encode((0, utils_1.timelockFeeDuration)()),
540
+ yacoinjs_lib_1.script.OPS.OP_CHECKSEQUENCEVERIFY,
541
+ yacoinjs_lib_1.script.OPS.OP_DROP,
542
+ yacoinjs_lib_1.script.OPS.OP_DUP,
543
+ yacoinjs_lib_1.script.OPS.OP_HASH160,
544
+ recipientPubKeyHash,
545
+ yacoinjs_lib_1.script.OPS.OP_EQUALVERIFY,
546
+ yacoinjs_lib_1.script.OPS.OP_CHECKSIG,
547
+ ]);
548
+ return {
549
+ value: (0, utils_1.timelockFeeAmountInSatoshis)(),
550
+ script: scriptBuffer,
551
+ };
552
+ }
553
+ getInputsForAmount(_targets, feePerByte, fixedInputs = [], sweep = false) {
554
+ return __awaiter(this, void 0, void 0, function* () {
555
+ const tokenTransferOutput = _targets.find((target) => target.tokenName !== undefined && target.tokenScriptType === types_1.TokenScriptType.transfer);
556
+ const feePerBytePromise = this.chainProvider.getProvider().getFeePerByte();
557
+ let utxos = [];
558
+ let tokenUtxos = [];
559
+ const addresses = yield this.getUsedAddresses();
560
+ const fixedUtxos = [];
561
+ if (fixedInputs.length > 0) {
562
+ for (const input of fixedInputs) {
563
+ const txHex = yield this.chainProvider.getProvider().getRawTransactionByHash(input.txid);
564
+ const tx = (0, utils_1.decodeRawTransaction)(txHex, this._network);
565
+ const value = new types_1.BigNumber(tx.vout[input.vout].value).times(1e6).toNumber();
566
+ const address = tx.vout[input.vout].scriptPubKey.addresses[0];
567
+ const utxo = Object.assign(Object.assign({}, input), { value, address });
568
+ fixedUtxos.push(utxo);
569
+ }
570
+ }
571
+ if (!sweep || fixedUtxos.length === 0) {
572
+ const _utxos = yield this.chainProvider.getProvider().getUnspentTransactions(addresses);
573
+ utxos.push(..._utxos.map((utxo) => {
574
+ const addr = addresses.find((a) => a.address === utxo.address);
575
+ return Object.assign(Object.assign({}, utxo), { derivationPath: addr.derivationPath });
576
+ }));
577
+ }
578
+ else {
579
+ utxos = fixedUtxos;
580
+ }
581
+ if (tokenTransferOutput) {
582
+ const isNFTOutput = tokenTransferOutput.tokenName.indexOf('#') !== -1;
583
+ const _utxos = isNFTOutput
584
+ ? yield this.chainProvider.getProvider().getNFTUnspentTransactions(addresses, tokenTransferOutput.tokenName)
585
+ : yield this.chainProvider.getProvider().getTokenUnspentTransactions(addresses, tokenTransferOutput.tokenName);
586
+ tokenUtxos.push(..._utxos.map((utxo) => {
587
+ const addr = addresses.find((a) => a.address === utxo.address);
588
+ return Object.assign(Object.assign({}, utxo), { derivationPath: addr.derivationPath });
589
+ }));
590
+ }
591
+ const utxoBalance = utxos.reduce((a, b) => a + (b.value || 0), 0);
592
+ if (!feePerByte)
593
+ feePerByte = yield feePerBytePromise;
594
+ const minRelayFee = yield this.chainProvider.getProvider().getMinRelayFee();
595
+ if (feePerByte < minRelayFee) {
596
+ throw new Error(`Fee supplied (${feePerByte} sat/b) too low. Minimum relay fee is ${minRelayFee} sat/b`);
597
+ }
598
+ let targets;
599
+ if (sweep) {
600
+ const outputBalance = _targets.reduce((a, b) => a + (b['value'] || 0), 0);
601
+ const sweepOutputSize = 39;
602
+ const paymentOutputSize = _targets.filter((t) => t.value && t.address).length * 39;
603
+ const scriptOutputSize = _targets
604
+ .filter((t) => !t.value && t.script)
605
+ .reduce((size, t) => size + 39 + t.script.byteLength, 0);
606
+ const outputSize = sweepOutputSize + paymentOutputSize + scriptOutputSize;
607
+ const inputSize = utxos.length * 153;
608
+ const sweepFee = feePerByte * (inputSize + outputSize);
609
+ const amountToSend = new types_1.BigNumber(utxoBalance).minus(sweepFee);
610
+ targets = _targets.map((target) => ({
611
+ id: 'main',
612
+ value: target.value,
613
+ script: target.script,
614
+ tokenName: target.tokenName,
615
+ token_value: target.token_value,
616
+ tokenScriptType: target.tokenScriptType,
617
+ }));
618
+ targets.push({ id: 'main', value: amountToSend.minus(outputBalance).toNumber() });
619
+ }
620
+ else {
621
+ targets = _targets.map((target) => ({
622
+ id: 'main',
623
+ value: target.value,
624
+ script: target.script,
625
+ tokenName: target.tokenName,
626
+ token_value: target.token_value,
627
+ tokenScriptType: target.tokenScriptType,
628
+ }));
629
+ }
630
+ console.log("TACA ===> getInputsForAmount, utxos = ", utxos, ", targets = ", targets, ", feePerByte = ", feePerByte);
631
+ const { inputs, outputs, fee, coinChange, tokenChange } = (0, utils_1.selectCoins)(utxos, tokenUtxos, targets, Math.ceil(feePerByte), fixedUtxos);
632
+ console.log("TACA ===> getInputsForAmount, inputs = ", inputs, ", outputs = ", outputs, ", fee = ", fee, ", coinChange = ", coinChange, ", tokenChange = ", tokenChange);
633
+ if (inputs && outputs) {
634
+ return {
635
+ inputs,
636
+ coinChange,
637
+ tokenChange,
638
+ outputs,
639
+ fee,
640
+ };
641
+ }
642
+ throw new errors_1.InsufficientBalanceError('Not enough balance');
643
+ });
644
+ }
645
+ onChainProviderUpdate(chainProvider) {
646
+ this._network = chainProvider.getNetwork();
647
+ }
648
+ dumpPrivKey(address) {
649
+ return __awaiter(this, void 0, void 0, function* () {
650
+ return this.chainProvider.sendRpcRequest('dumpprivkey', [address]);
651
+ });
652
+ }
653
+ _sendTransaction(transactions, feePerByte) {
654
+ return __awaiter(this, void 0, void 0, function* () {
655
+ const { hex, fee } = yield this.buildTransaction(transactions, feePerByte);
656
+ const result = yield this.chainProvider.sendRawTransaction(`data=${hex}`);
657
+ if (result == 'There was an error. Check your console.') {
658
+ throw new Error("Cannot send transaction, there might some reasons:\n 1) It might be the fee is not enough, please try increasing the fee.\n 2) The wallet haven't updated latest balance info, please wait 10 seconds and try again.");
659
+ }
660
+ return (0, utils_1.normalizeTransactionObject)((0, utils_1.decodeRawTransaction)(hex, this._network), fee);
661
+ });
662
+ }
663
+ buildTransaction(targets, feePerByte, fixedInputs) {
664
+ return __awaiter(this, void 0, void 0, function* () {
665
+ const network = this._network;
666
+ const unusedAddress = yield this.getUnusedAddress();
667
+ const { inputs, coinChange, tokenChange, fee } = yield this.getInputsForAmount(targets, feePerByte, fixedInputs);
668
+ if (coinChange) {
669
+ targets.unshift({
670
+ address: unusedAddress.address,
671
+ value: coinChange.value,
672
+ });
673
+ }
674
+ if (tokenChange) {
675
+ const tokenTransferTarget = this.compileTokenTransferTarget(unusedAddress.address, tokenChange.tokenName, tokenChange.token_value);
676
+ targets.unshift(tokenTransferTarget);
677
+ }
678
+ var tx = new yacoinjs_lib_1.TransactionBuilder(network);
679
+ // Add input
680
+ for (let i = 0; i < inputs.length; i++) {
681
+ tx.addInput(inputs[i].txid, inputs[i].vout);
682
+ }
683
+ // Add output
684
+ for (const output of targets) {
685
+ if (output.script) {
686
+ tx.addOutput(output.script, output.value);
687
+ }
688
+ else {
689
+ tx.addOutput(output.address, output.value);
690
+ }
691
+ }
692
+ // Sign transaction
693
+ for (let i = 0; i < inputs.length; i++) {
694
+ tx.sign(i, this._ecpair, inputs[i]);
695
+ }
696
+ return { hex: tx.build().toHex(), fee };
697
+ });
698
+ }
699
+ buildSweepTransaction(externalChangeAddress, feePerByte) {
700
+ return __awaiter(this, void 0, void 0, function* () {
701
+ let _feePerByte = feePerByte || null; // TODO: fix me
702
+ if (!_feePerByte) {
703
+ _feePerByte = yield this.chainProvider.getProvider().getFeePerByte();
704
+ }
705
+ const { inputs, outputs, coinChange } = yield this.getInputsForAmount([], _feePerByte, [], true);
706
+ if (coinChange) {
707
+ throw new Error('There should not be any change for sweeping transaction');
708
+ }
709
+ const _outputs = [{ address: externalChangeAddress, value: outputs[0].value }];
710
+ // TODO: fix the inherited legacy code
711
+ return this.buildTransaction(_outputs, feePerByte, inputs);
712
+ });
713
+ }
714
+ }
715
+ exports.YacoinSingleWallet = YacoinSingleWallet;
716
+ //# sourceMappingURL=YacoinSingleWallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YacoinSingleWallet.js","sourceRoot":"","sources":["../../../lib/wallet/YacoinSingleWallet.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA+C;AAC/C,2CAA0D;AAC1D,yCAWuB;AACvB,uDAQ8B;AAC9B,yDAAmE;AAEnE,oCASkB;AAClB,oCAQkB;AAElB,wDAA+B;AAE/B,SAAS,gBAAgB,CAAC,KAAa;IACrC,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1B,IAAI,KAAK,GAAG,KAAK,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACnC,KAAK,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;QACrB,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;KACvC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACjC,CAAC;AACD,MAAa,kBAAmB,SAAQ,eAAgB;IAKtD,YAAY,OAAkC,EAAE,aAA8C;QAC5F,KAAK,CAAC,aAAa,CAAC,CAAC;QAErB,IAAI,CAAC,YAAY,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,KAAI,mBAAc,CAAC,MAAM,CAAC;QAClE,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAE,aAAa,CAAC,UAAU,EAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QAChG,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,IAAI,CAAC,OAAO,GAAG,qBAAM,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC7F;aAAM,IAAI,OAAO,CAAC,GAAG,EAAE;YACtB,IAAI,CAAC,OAAO,GAAG,qBAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC3D;aAAM,IAAI,OAAO,CAAC,SAAS,EAAE;YAC5B,IAAI,CAAC,OAAO,GAAG,qBAAM,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;SACpF;IACH,CAAC;IAEM,UAAU,CAAC,aAA4B;QAC5C,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;IAChC,CAAC;IAEM,SAAS,CAAC,MAAuB;QACtC,IAAI,CAAC,OAAO,GAAG,qBAAM,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtF,CAAC;IAEM,YAAY,CAAC,SAAiB;QACnC,IAAI,CAAC,OAAO,GAAG,qBAAM,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7E,CAAC;IAEM,MAAM,CAAC,GAAW;QACvB,IAAI,CAAC,OAAO,GAAG,qBAAM,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAEY,gBAAgB;;YAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACrE,MAAM,aAAa,GAAG,IAAI,eAAO,CAAC;gBAChC,OAAO;gBACP,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;aAClD,CAAC,CAAC;YACH,OAAO,aAAa,CAAC;QACvB,CAAC;KAAA;IAEY,gBAAgB;;YAC3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC9C,OAAO,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC;KAAA;IAEY,YAAY;;YACvB,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACjC,CAAC;KAAA;IAEY,WAAW,CAAC,OAA+B;;YACtD,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,GAAa,CAAC,CAAC;QACxF,CAAC;KAAA;IAEY,eAAe,CAAC,OAA2B;;YACtD,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,GAAa,CAAC,CAAC;QAC5F,CAAC;KAAA;IAEY,oBAAoB,CAAC,YAAkC;;YAClE,OAAO,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAChF,CAAC;KAAA;IAEY,oBAAoB,CAAC,qBAAkC,EAAE,MAAa,EAAE,UAAkB;;YACrG,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,CAAC;YACpG,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;YAC3D,OAAO,IAAA,kCAA0B,EAAC,IAAA,4BAAoB,EAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC;QACnF,CAAC;KAAA;IAEY,oBAAoB,CAAC,EAAwC,EAAE,aAAqB;;YAC/F,MAAM,MAAM,GAAG,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;YACrD,MAAM,WAAW,GAAmB,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;YACjG,MAAM,WAAW,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mEAAmE;YAE7G,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpD,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,OAAO,CAAC,CAAC;YAE/G,IAAI,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC;YAC/B,IAAI,YAAY,EAAE;gBAChB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;aAC/G;YAED,oBAAoB;YACpB,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC5C,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;gBACzC,KAAK,EAAE,IAAI,iBAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;aACzD,CAAC,CAAC,CAAC;YACJ,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;YAC3F,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;YAC3D,OAAO,IAAA,kCAA0B,EAAC,IAAA,4BAAoB,EAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC;QACnF,CAAC;KAAA;IAEY,mBAAmB;;YAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;KAAA;IAEY,SAAS;;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEY,UAAU;;YACrB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5C,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;KAAA;IAEY,WAAW,CAAC,OAAe;;YACtC,MAAM,SAAS,GAAG,MAAM,IAAA,6BAAiB,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACrG,OAAO,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;KAAA;IAEY,MAAM,CAAC,WAAmB,EAAE,IAAY,EAAE,cAAsB,EAAE,KAAa;;YAC1F,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YAC3D,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;KAAA;IAEY,UAAU,CAAC,MAAe;;YACrC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5C,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAChE,CAAC;KAAA;IAEY,gBAAgB;;YAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC9B,CAAC;KAAA;IAEY,iBAAiB;;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAEY,QAAQ,CAAC,IAAY,EAAE,MAAyB;;YAC3D,iEAAiE;YACjE,MAAM,IAAI,GAAG,mBAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAE/D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;gBAC1B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACpD,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,KAAK,KAAK,CAAC,cAAc,CAAC,CAAC;gBACjG,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACpD,MAAM,OAAO,GAAG,qBAAM,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACnD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;aACtC;YAED,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzB,CAAC;KAAA;IAEY,wBAAwB,CACnC,MAAgF,EAChF,SAAiB,EACjB,EAAO,EACP,QAAgB,EAChB,MAAM,GAAG,KAAK;;YAEd,iEAAiE;YACjE,MAAM,OAAO,GAAG,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE;gBAC/B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAC5C,MAAM,MAAM,GAAG,qBAAM,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAClD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACtB;YAED,MAAM,IAAI,GAAG,EAAE,CAAC;YAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtC,IAAI,OAAO,CAAC;gBACZ,IAAI,MAAM,EAAE;oBACV,OAAO,GAAG,EAAE,CAAC,gBAAgB,CAC3B,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EACf,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,EACtB,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EACnB,0BAAmB,CAAC,WAAW,CAChC,CAAC,CAAC,oCAAoC;iBACxC;qBAAM;oBACL,OAAO,GAAG,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,0BAAmB,CAAC,WAAW,CAAC,CAAC;iBACzG;gBAED,MAAM,GAAG,GAAG,qBAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,0BAAmB,CAAC,WAAW,CAAC,CAAC;gBAC/F,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAChB;YAED,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEY,gBAAgB;;YAC3B,OAAO,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvC,CAAC;KAAA;IAEY,YAAY,CAAC,YAAkC,EAAE,GAAY;;YACxE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAS,EAAE;gBACjD,MAAM,IAAI,GAAmC,EAAE,CAAC;gBAChD,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE;oBAC7B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;oBAC5C,IAAI,CAAC,EAAE,CAAC,GAAa,CAAC,GAAG,IAAI,iBAAS,CAAC,GAAG,CAAC,CAAC;iBAC7C;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAA,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAES,uBAAuB,CAAC,SAAiB;QACjD,OAAO,IAAI,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;IAChE,CAAC;IAES,8BAA8B,CAAC,SAAiB;QACxD,IAAI,IAAI,CAAC,YAAY,KAAK,mBAAc,CAAC,MAAM,EAAE;YAC/C,OAAO,uBAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;SACtE;;YAAM,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAChD,CAAC;IAEe,eAAe,CAAC,IAAe;;YAC7C,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;YAC1D,MAAM,qBAAqB,GAAG,IAAA,kBAAO,EAAC,gBAAgB,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3F,MAAM,8BAA8B,GAAG,IAAA,kBAAO,EAAC,gBAAgB,CAAC,sBAAsB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7G,MAAM,mCAAmC,GAAG,IAAA,kBAAO,EAAC,gBAAgB,CAAC,2BAA2B,EAAE;gBAChG,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,gBAAgB,CAAC;YACrC,WAAW,CAAC,aAAa,GAAG,qBAAqB,CAAC;YAClD,WAAW,CAAC,sBAAsB,GAAG,8BAA8B,CAAC;YACpE,WAAW,CAAC,2BAA2B,GAAG,mCAAmC,CAAC;YAE9E,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;YAEjD,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IAEe,WAAW,CAAC,IAAwB,EAAE,GAAY;;YAChE,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,CAAA;YAC1E,IAAI,CAAC,GAAG,EAAE;gBACR,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,GAAa,CAAC,CAAC;gBAC3E,OAAO,GAAG,CAAC;aACZ;iBAAM;gBACL,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAC3C,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAC/B,IAAI,CAAC,GAAa,EAClB,EAAE,EACF,IAAI,CACL,CAAC;gBACF,OAAO,GAAG,CAAC;aACZ;QACH,CAAC;KAAA;IAES,oBAAoB,CAAC,YAAkC;QAC/D,MAAM,OAAO,GAAmB,EAAE,CAAC;QAEnC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YAC1B,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;gBACvC,mBAAmB;gBACnB,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;oBAC1C,MAAM,mBAAmB,GAAG,IAAI,CAAC,0BAA0B,CACzD,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAChB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAClC,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CACpB,CAAC;oBACF,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;oBAClC,OAAO;iBACR;qBAAM;oBACL,cAAc;oBACd,OAAO,CAAC,IAAI,CAAC;wBACX,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE;wBACzB,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE;qBAC3B,CAAC,CAAC;iBACJ;aACF;YAED,IAAI,EAAE,CAAC,IAAI,EAAE;gBACX,MAAM,YAAY,GAAG,qBAAM,CAAC,OAAO,CAAC,CAAC,qBAAM,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;gBACzF,OAAO,CAAC,IAAI,CAAC;oBACX,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,YAAY;iBACrB,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAES,kBAAkB,CAAC,WAAmC;;QAC9D,MAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,MAAM,EAAE,GAAG,WAAW,CAAC;QAEvB,yCAAyC;QACzC,EAAE,CAAC,SAAS,GAAG,MAAA,EAAE,CAAC,SAAS,0CAAE,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAElD,kBAAkB;QAClB,IAAI,EAAE,CAAC,SAAS,KAAK,iBAAS,CAAC,KAAK,EAAE;YACpC,MAAM,gBAAgB,GAAG,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACvD,IAAI,gBAAgB,KAAK,CAAC,CAAC,EAAE;gBAC3B,WAAW;gBACX;;;;;;;;;sBASM;gBACN,MAAM,cAAc,GAAG,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC;gBAC1C,MAAM,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC5E,MAAM,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,cAAc,CAAC,CAAC;gBACxF,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAC/C,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAChB,EAAE,CAAC,SAAS,EACZ,EAAE,CAAC,WAAW,EACd,EAAE,CAAC,QAAQ,EACX,EAAE,CAAC,UAAU,EACb,EAAE,CAAC,QAAQ,CACZ,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACjC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/B,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aAC9B;iBAAM;gBACL,eAAe;gBACf;;;;;;;;;;;sBAWM;gBACN,MAAM,cAAc,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,GAAG,GAAG,CAAC;gBACrE,MAAM,iBAAiB,GAAG,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC;gBAC7C,MAAM,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC5E,MAAM,mBAAmB,GAAG,IAAI,CAAC,0BAA0B,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC;gBACnG,MAAM,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,iBAAiB,CAAC,CAAC;gBAC3F,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAC/C,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAChB,EAAE,CAAC,SAAS,EACZ,EAAE,CAAC,WAAW,EACd,EAAE,CAAC,QAAQ,EACX,EAAE,CAAC,UAAU,EACb,EAAE,CAAC,QAAQ,CACZ,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACjC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAClC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/B,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aAC9B;SACF;aAAM;YACL,gBAAgB;YAChB;;;;;;;;;;gBAUI;YACJ,MAAM,cAAc,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACxD,MAAM,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC5E,MAAM,mBAAmB,GAAG,IAAI,CAAC,0BAA0B,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC;YACnG,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAC/C,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAChB,EAAE,CAAC,SAAS,EACZ,EAAE,CAAC,WAAW,EACd,EAAE,CAAC,QAAQ,EACX,EAAE,CAAC,UAAU,EACb,EAAE,CAAC,QAAQ,CACZ,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SAC9B;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAES,0BAA0B,CAAC,OAAe,EAAE,SAAiB,EAAE,UAAkB;QACzF;;;;;;;;;;;;;;;;;;;UAmBE;QACF,MAAM,mBAAmB,GAAG,IAAA,qBAAa,EAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAElE,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnC,UAAU,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAExC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAErD,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxC,eAAe,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEnD,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAE5D,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC;QAE1G,MAAM,YAAY,GAAG,qBAAM,CAAC,OAAO,CAAC;YAClC,qBAAM,CAAC,GAAG,CAAC,MAAM;YACjB,qBAAM,CAAC,GAAG,CAAC,UAAU;YACrB,mBAAmB;YACnB,qBAAM,CAAC,GAAG,CAAC,cAAc;YACzB,qBAAM,CAAC,GAAG,CAAC,WAAW;YACtB,qBAAM,CAAC,GAAG,CAAC,OAAO;YAClB,sBAAsB;YACtB,qBAAM,CAAC,GAAG,CAAC,OAAO;SACnB,CAAC,CAAC;QACH,OAAO;YACL,KAAK,EAAE,CAAC;YACR,WAAW,EAAE,UAAU;YACvB,MAAM,EAAE,YAAY;YACpB,SAAS;YACT,eAAe,EAAE,uBAAe,CAAC,QAAQ;SAC1C,CAAC;IACJ,CAAC;IAES,qBAAqB,CAC7B,OAAe,EACf,SAAiB,EACjB,WAAmB,EACnB,QAAgB,EAChB,UAAmB,EACnB,QAAgB;QAEhB;;;;;;;;;;;;;;;;;;;;;;;UAuBE;QACF,MAAM,mBAAmB,GAAG,IAAA,qBAAa,EAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAElE,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnC,UAAU,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAExC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAErD,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxC,eAAe,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEnD,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QAE7D,IAAI,iBAAiB,GAAa,CAAC,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;QAE9F,MAAM,wBAAwB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjD,wBAAwB,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACjD,wBAAwB,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3D,IAAI,QAAQ,EAAE;YACZ,wBAAwB,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1C,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACjD,iBAAiB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACjD,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SACrC;aAAM;YACL,wBAAwB,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1C,iBAAiB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;SAClD;QAED,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAE3D,MAAM,YAAY,GAAG,qBAAM,CAAC,OAAO,CAAC;YAClC,qBAAM,CAAC,GAAG,CAAC,MAAM;YACjB,qBAAM,CAAC,GAAG,CAAC,UAAU;YACrB,mBAAmB;YACnB,qBAAM,CAAC,GAAG,CAAC,cAAc;YACzB,qBAAM,CAAC,GAAG,CAAC,WAAW;YACtB,qBAAM,CAAC,GAAG,CAAC,OAAO;YAClB,iBAAiB;YACjB,qBAAM,CAAC,GAAG,CAAC,OAAO;SACnB,CAAC,CAAC;QACH,OAAO;YACL,KAAK,EAAE,CAAC;YACR,WAAW,EAAE,WAAW;YACxB,MAAM,EAAE,YAAY;YACpB,SAAS;YACT,eAAe,EAAE,uBAAe,CAAC,QAAQ;SAC1C,CAAC;IACJ,CAAC;IAES,uBAAuB,CAAC,OAAe,EAAE,cAAsB;QACvE;;;;;;;;;;;;;;;;;;UAkBE;QACF,MAAM,mBAAmB,GAAG,IAAA,qBAAa,EAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAElE,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnC,UAAU,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAExC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAE1D,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxC,eAAe,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEnD,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;QAEvF,MAAM,YAAY,GAAG,qBAAM,CAAC,OAAO,CAAC;YAClC,qBAAM,CAAC,GAAG,CAAC,MAAM;YACjB,qBAAM,CAAC,GAAG,CAAC,UAAU;YACrB,mBAAmB;YACnB,qBAAM,CAAC,GAAG,CAAC,cAAc;YACzB,qBAAM,CAAC,GAAG,CAAC,WAAW;YACtB,qBAAM,CAAC,GAAG,CAAC,OAAO;YAClB,mBAAmB;YACnB,qBAAM,CAAC,GAAG,CAAC,OAAO;SACnB,CAAC,CAAC;QACH,OAAO;YACL,KAAK,EAAE,CAAC;YACR,WAAW,EAAE,GAAG;YAChB,MAAM,EAAE,YAAY;YACpB,SAAS,EAAE,cAAc;YACzB,eAAe,EAAE,uBAAe,CAAC,UAAU;SAC5C,CAAC;IACJ,CAAC;IAES,yBAAyB,CAAC,OAAe;QACjD;;;UAGE;QACF,MAAM,mBAAmB,GAAG,IAAA,qBAAa,EAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAElE,MAAM,YAAY,GAAG,qBAAM,CAAC,OAAO,CAAC;YAClC,qBAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAA,2BAAmB,GAAE,CAAC;YAC3C,qBAAM,CAAC,GAAG,CAAC,sBAAsB;YACjC,qBAAM,CAAC,GAAG,CAAC,OAAO;YAClB,qBAAM,CAAC,GAAG,CAAC,MAAM;YACjB,qBAAM,CAAC,GAAG,CAAC,UAAU;YACrB,mBAAmB;YACnB,qBAAM,CAAC,GAAG,CAAC,cAAc;YACzB,qBAAM,CAAC,GAAG,CAAC,WAAW;SACvB,CAAC,CAAC;QAEH,OAAO;YACL,KAAK,EAAE,IAAA,mCAA2B,GAAE;YACpC,MAAM,EAAE,YAAY;SACrB,CAAC;IACJ,CAAC;IAEe,kBAAkB,CAChC,QAAwB,EACxB,UAAmB,EACnB,cAAuB,EAAE,EACzB,KAAK,GAAG,KAAK;;YAEb,MAAM,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CACvC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,eAAe,KAAK,uBAAe,CAAC,QAAQ,CAClG,CAAC;YACF,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,aAAa,EAAE,CAAC;YAC3E,IAAI,KAAK,GAAW,EAAE,CAAC;YACvB,IAAI,UAAU,GAAW,EAAE,CAAC;YAE5B,MAAM,SAAS,GAAc,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3D,MAAM,UAAU,GAAW,EAAE,CAAC;YAE9B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC1B,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE;oBAC/B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACzF,MAAM,EAAE,GAAG,IAAA,4BAAoB,EAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACtD,MAAM,KAAK,GAAG,IAAI,iBAAS,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAC7E,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBAC9D,MAAM,IAAI,mCAAQ,KAAK,KAAE,KAAK,EAAE,OAAO,GAAE,CAAC;oBAC1C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACvB;aACF;YAED,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;gBACrC,MAAM,MAAM,GAAW,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;gBAChG,KAAK,CAAC,IAAI,CACR,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBACrB,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC/D,uCACK,IAAI,KACP,cAAc,EAAE,IAAI,CAAC,cAAc,IACnC;gBACJ,CAAC,CAAC,CACH,CAAC;aACH;iBAAM;gBACL,KAAK,GAAG,UAAU,CAAC;aACpB;YAED,IAAI,mBAAmB,EAAE;gBACvB,MAAM,WAAW,GAAG,mBAAmB,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtE,MAAM,MAAM,GAAW,WAAW;oBAChC,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,yBAAyB,CAAC,SAAS,EAAE,mBAAmB,CAAC,SAAS,CAAC;oBAC5G,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,2BAA2B,CAAC,SAAS,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;gBACjH,UAAU,CAAC,IAAI,CACb,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBACrB,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC/D,uCACK,IAAI,KACP,cAAc,EAAE,IAAI,CAAC,cAAc,IACnC;gBACJ,CAAC,CAAC,CACH,CAAC;aACH;YAED,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAElE,IAAI,CAAC,UAAU;gBAAE,UAAU,GAAG,MAAM,iBAAiB,CAAC;YACtD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,CAAC;YAC5E,IAAI,UAAU,GAAG,WAAW,EAAE;gBAC5B,MAAM,IAAI,KAAK,CAAC,iBAAiB,UAAU,yCAAyC,WAAW,QAAQ,CAAC,CAAC;aAC1G;YAED,IAAI,OAA2B,CAAC;YAChC,IAAI,KAAK,EAAE;gBACT,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAE1E,MAAM,eAAe,GAAG,EAAE,CAAC;gBAC3B,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;gBACnF,MAAM,gBAAgB,GAAG,QAAQ;qBAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC;qBACnC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBAE3D,MAAM,UAAU,GAAG,eAAe,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;gBAC1E,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;gBAErC,MAAM,QAAQ,GAAG,UAAU,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC;gBACvD,MAAM,YAAY,GAAG,IAAI,iBAAS,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAEhE,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBAClC,EAAE,EAAE,MAAM;oBACV,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,eAAe,EAAE,MAAM,CAAC,eAAe;iBACxC,CAAC,CAAC,CAAC;gBACJ,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;aACnF;iBAAM;gBACL,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBAClC,EAAE,EAAE,MAAM;oBACV,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,eAAe,EAAE,MAAM,CAAC,eAAe;iBACxC,CAAC,CAAC,CAAC;aACL;YAED,OAAO,CAAC,GAAG,CAAC,wCAAwC,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAA;YACpH,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAA,mBAAW,EACnE,KAAK,EACL,UAAU,EACV,OAAO,EACP,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EACrB,UAAU,CACX,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,yCAAyC,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,iBAAiB,EAAE,UAAU,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAAA;YAExK,IAAI,MAAM,IAAI,OAAO,EAAE;gBACrB,OAAO;oBACL,MAAM;oBACN,UAAU;oBACV,WAAW;oBACX,OAAO;oBACP,GAAG;iBACJ,CAAC;aACH;YAED,MAAM,IAAI,iCAAwB,CAAC,oBAAoB,CAAC,CAAC;QAC3D,CAAC;KAAA;IAES,qBAAqB,CAAC,aAA6C;QAC3E,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,UAAU,EAAmB,CAAC;IAC9D,CAAC;IAEa,WAAW,CAAC,OAAe;;YACvC,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QACrE,CAAC;KAAA;IAEe,gBAAgB,CAAC,YAA4B,EAAE,UAAmB;;YAChF,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAC3E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;YAC1E,IAAI,MAAM,IAAI,yCAAyC,EAAE;gBACvD,MAAM,IAAI,KAAK,CACb,sNAAsN,CACvN,CAAC;aACH;YACD,OAAO,IAAA,kCAA0B,EAAC,IAAA,4BAAoB,EAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC;QACnF,CAAC;KAAA;IAEe,gBAAgB,CAAC,OAAuB,EAAE,UAAmB,EAAE,WAAqB;;YAClG,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;YAE9B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpD,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YAEjH,IAAI,UAAU,EAAE;gBACd,OAAO,CAAC,OAAO,CAAC;oBACd,OAAO,EAAE,aAAa,CAAC,OAAO;oBAC9B,KAAK,EAAE,UAAU,CAAC,KAAK;iBACxB,CAAC,CAAC;aACJ;YAED,IAAI,WAAW,EAAE;gBACf,MAAM,mBAAmB,GAAG,IAAI,CAAC,0BAA0B,CACzD,aAAa,CAAC,OAAO,EACrB,WAAW,CAAC,SAAS,EACrB,WAAW,CAAC,WAAW,CACxB,CAAC;gBACF,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;aACtC;YAED,IAAI,EAAE,GAAG,IAAI,iCAAkB,CAAC,OAAO,CAAC,CAAC;YACzC,YAAY;YACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAC7C;YAED,aAAa;YACb,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC5B,IAAI,MAAM,CAAC,MAAM,EAAE;oBACjB,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;iBAC3C;qBAAM;oBACL,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;iBAC5C;aACF;YAED,mBAAmB;YACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;aACrC;YAED,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC;QAC1C,CAAC;KAAA;IAEe,qBAAqB,CAAC,qBAA6B,EAAE,UAAkB;;YACrF,IAAI,WAAW,GAAG,UAAU,IAAI,IAAI,CAAC,CAAC,eAAe;YACrD,IAAI,CAAC,WAAW,EAAE;gBAChB,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,aAAa,EAAE,CAAC;aACtE;YAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;YAEjG,IAAI,UAAU,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;aAC5E;YAED,MAAM,QAAQ,GAAG,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAE/E,sCAAsC;YACtC,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,MAA4B,CAAC,CAAC;QACnF,CAAC;KAAA;CACF;AA/xBD,gDA+xBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yaswap/yacoin",
3
- "version": "2.7.1",
3
+ "version": "2.7.3",
4
4
  "description": "",
5
5
  "author": "Yaswap",
6
6
  "homepage": "",
@@ -20,10 +20,10 @@
20
20
  "@types/bitcoinjs-lib": "^5.0.0",
21
21
  "@types/lodash": "^4.14.178",
22
22
  "@types/memoizee": "^0.4.7",
23
- "@yaswap/client": "2.7.1",
24
- "@yaswap/errors": "2.7.1",
25
- "@yaswap/types": "2.7.1",
26
- "@yaswap/utils": "2.7.1",
23
+ "@yaswap/client": "2.7.3",
24
+ "@yaswap/errors": "2.7.3",
25
+ "@yaswap/types": "2.7.3",
26
+ "@yaswap/utils": "2.7.3",
27
27
  "@yaswap/yacoinjs-coinselect": "^1.1.0",
28
28
  "@yaswap/yacoinjs-lib": "^1.3.0",
29
29
  "bip174": "^2.0.1",