@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 +22 -0
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.js +3 -1
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/types.d.ts +6 -1
- package/dist/lib/types.js.map +1 -1
- package/dist/lib/utils.js +3 -3
- package/dist/lib/utils.js.map +1 -1
- package/dist/lib/wallet/YacoinBaseWallet.js +3 -0
- package/dist/lib/wallet/YacoinBaseWallet.js.map +1 -1
- package/dist/lib/wallet/YacoinSingleWallet.d.ts +72 -0
- package/dist/lib/wallet/YacoinSingleWallet.js +716 -0
- package/dist/lib/wallet/YacoinSingleWallet.js.map +1 -0
- package/package.json +5 -5
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
|
package/dist/lib/index.d.ts
CHANGED
|
@@ -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
|
package/dist/lib/index.js.map
CHANGED
|
@@ -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"}
|
package/dist/lib/types.d.ts
CHANGED
|
@@ -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
|
}
|
package/dist/lib/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,4EAA4D;AAC5D,+CAA6B;
|
|
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 =
|
|
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.
|
|
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.
|
|
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 });
|
package/dist/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yaswap/yacoin",
|
|
3
|
-
"version": "2.7.
|
|
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.
|
|
24
|
-
"@yaswap/errors": "2.7.
|
|
25
|
-
"@yaswap/types": "2.7.
|
|
26
|
-
"@yaswap/utils": "2.7.
|
|
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",
|