@yaswap/yacoin 2.1.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/dist/lib/chain/YacoinBaseChainProvider.d.ts +5 -1
- package/dist/lib/chain/YacoinBaseChainProvider.js.map +1 -1
- package/dist/lib/chain/esplora/YacoinEsploraApiProvider.d.ts +2 -1
- package/dist/lib/chain/esplora/YacoinEsploraApiProvider.js +15 -0
- package/dist/lib/chain/esplora/YacoinEsploraApiProvider.js.map +1 -1
- package/dist/lib/chain/esplora/YacoinEsploraBaseProvider.d.ts +6 -0
- package/dist/lib/chain/esplora/YacoinEsploraBaseProvider.js +48 -0
- package/dist/lib/chain/esplora/YacoinEsploraBaseProvider.js.map +1 -1
- package/dist/lib/chain/esplora/YacoinEsploraBatchBaseProvider.d.ts +6 -0
- package/dist/lib/chain/esplora/YacoinEsploraBatchBaseProvider.js +47 -0
- package/dist/lib/chain/esplora/YacoinEsploraBatchBaseProvider.js.map +1 -1
- package/dist/lib/chain/esplora/types.d.ts +14 -4
- 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/nft/YacoinNftProvider.d.ts +13 -0
- package/dist/lib/nft/YacoinNftProvider.js +98 -0
- package/dist/lib/nft/YacoinNftProvider.js.map +1 -0
- package/dist/lib/types.d.ts +6 -1
- package/dist/lib/types.js.map +1 -1
- package/dist/lib/utils.d.ts +15 -3
- package/dist/lib/utils.js +60 -9
- package/dist/lib/utils.js.map +1 -1
- package/dist/lib/wallet/YacoinBaseWallet.d.ts +10 -3
- package/dist/lib/wallet/YacoinBaseWallet.js +349 -96
- package/dist/lib/wallet/YacoinBaseWallet.js.map +1 -1
- package/dist/lib/wallet/YacoinHDWallet.js +11 -7
- package/dist/lib/wallet/YacoinHDWallet.js.map +1 -1
- package/package.json +7 -7
package/dist/lib/utils.js
CHANGED
|
@@ -22,19 +22,44 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
22
22
|
__setModuleDefault(result, mod);
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
25
34
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
35
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
36
|
};
|
|
28
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.validateAddress = exports.getPubKeyHash = exports.AddressTypes = exports.normalizeTransactionObject = exports.decodeRawTransaction = exports.selectCoins = exports.compressPubKey = exports.calculateFee = void 0;
|
|
38
|
+
exports.timelockFeeAmount = exports.timelockFeeAmountInSatoshis = exports.timelockFeeDuration = exports.getTokenMetadata = exports.validateAddress = exports.getPubKeyHash = exports.AddressTypes = exports.normalizeTransactionObject = exports.decodeRawTransaction = exports.selectCoins = exports.compressPubKey = exports.calculateFee = void 0;
|
|
30
39
|
const errors_1 = require("@yaswap/errors");
|
|
31
40
|
const types_1 = require("@yaswap/types");
|
|
41
|
+
const client_1 = require("@yaswap/client");
|
|
32
42
|
const yacoin = __importStar(require("@yaswap/yacoinjs-lib"));
|
|
33
43
|
const classify = __importStar(require("@yaswap/yacoinjs-lib/src/classify"));
|
|
34
|
-
const
|
|
35
|
-
const accumulative_1 =
|
|
44
|
+
const yacoinjs_coinselect_1 = __importDefault(require("@yaswap/yacoinjs-coinselect"));
|
|
45
|
+
const accumulative_1 = require("@yaswap/yacoinjs-coinselect/accumulative");
|
|
36
46
|
const AddressTypes = ['legacy', 'p2sh-segwit', 'bech32'];
|
|
37
47
|
exports.AddressTypes = AddressTypes;
|
|
48
|
+
// JUST FOR TESTING
|
|
49
|
+
const TIMELOCK_FEE_DURATION = 10; // 21000 blocks
|
|
50
|
+
const TIMELOCK_FEE_AMOUNT = 10 * 1e6; // 2100 YAC
|
|
51
|
+
const timelockFeeDuration = () => {
|
|
52
|
+
return TIMELOCK_FEE_DURATION;
|
|
53
|
+
};
|
|
54
|
+
exports.timelockFeeDuration = timelockFeeDuration;
|
|
55
|
+
const timelockFeeAmountInSatoshis = () => {
|
|
56
|
+
return TIMELOCK_FEE_AMOUNT;
|
|
57
|
+
};
|
|
58
|
+
exports.timelockFeeAmountInSatoshis = timelockFeeAmountInSatoshis;
|
|
59
|
+
const timelockFeeAmount = () => {
|
|
60
|
+
return TIMELOCK_FEE_AMOUNT / 1e6;
|
|
61
|
+
};
|
|
62
|
+
exports.timelockFeeAmount = timelockFeeAmount;
|
|
38
63
|
function calculateFee(numInputs, numOutputs, feePerByte) {
|
|
39
64
|
// {
|
|
40
65
|
// "txid" : "bc744444f5410e5b03639a0a92d37737b4fa2d6d6f1e97c5a6ed0390e2acfbcf",
|
|
@@ -86,11 +111,11 @@ function compressPubKey(pubKey) {
|
|
|
86
111
|
return prefix + x;
|
|
87
112
|
}
|
|
88
113
|
exports.compressPubKey = compressPubKey;
|
|
89
|
-
function selectCoins(utxos, targets, feePerByte, fixedInputs = []) {
|
|
114
|
+
function selectCoins(utxos, tokenUtxos, targets, feePerByte, fixedInputs = []) {
|
|
90
115
|
let selectUtxos = utxos;
|
|
91
116
|
// Default coinselect won't accumulate some inputs
|
|
92
117
|
// TODO: does coinselect need to be modified to ABSOLUTELY not skip an input?
|
|
93
|
-
const coinselectStrat = fixedInputs.length ? accumulative_1.
|
|
118
|
+
const coinselectStrat = fixedInputs.length ? accumulative_1.accumulativeCoin : yacoinjs_coinselect_1.default;
|
|
94
119
|
if (fixedInputs.length) {
|
|
95
120
|
selectUtxos = [
|
|
96
121
|
// Order fixed inputs to the start of the list so they are used
|
|
@@ -98,12 +123,14 @@ function selectCoins(utxos, targets, feePerByte, fixedInputs = []) {
|
|
|
98
123
|
...utxos.filter((utxo) => !fixedInputs.find((input) => input.vout === utxo.vout && input.txid === utxo.txid)),
|
|
99
124
|
];
|
|
100
125
|
}
|
|
101
|
-
const { inputs, outputs, fee } = coinselectStrat(selectUtxos, targets, Math.ceil(feePerByte));
|
|
102
|
-
let
|
|
126
|
+
const { inputs, outputs, fee } = coinselectStrat(selectUtxos, tokenUtxos, targets, Math.ceil(feePerByte));
|
|
127
|
+
let coinChange;
|
|
128
|
+
let tokenChange;
|
|
103
129
|
if (inputs && outputs) {
|
|
104
|
-
|
|
130
|
+
coinChange = outputs.find((output) => output.id === 'coin_change');
|
|
131
|
+
tokenChange = outputs.find((output) => output.id === 'token_change');
|
|
105
132
|
}
|
|
106
|
-
return { inputs, outputs, fee,
|
|
133
|
+
return { inputs, outputs, fee, coinChange, tokenChange };
|
|
107
134
|
}
|
|
108
135
|
exports.selectCoins = selectCoins;
|
|
109
136
|
const OUTPUT_TYPES_MAP = {
|
|
@@ -213,4 +240,28 @@ function validateAddress(_address, network) {
|
|
|
213
240
|
}
|
|
214
241
|
}
|
|
215
242
|
exports.validateAddress = validateAddress;
|
|
243
|
+
function getTokenMetadata(ipfsHash) {
|
|
244
|
+
var _a;
|
|
245
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
246
|
+
if (!ipfsHash) {
|
|
247
|
+
return {};
|
|
248
|
+
}
|
|
249
|
+
const ipfsHashUrl = `https://ipfs.io/ipfs/${ipfsHash}`;
|
|
250
|
+
const headers = yield client_1.HttpClient.head(ipfsHashUrl);
|
|
251
|
+
let metadata = {};
|
|
252
|
+
if (headers['content-type'] === 'application/json') {
|
|
253
|
+
const { name, description, image } = yield client_1.HttpClient.get(ipfsHashUrl);
|
|
254
|
+
metadata = {
|
|
255
|
+
name,
|
|
256
|
+
description,
|
|
257
|
+
imageURL: image.replace('ipfs://', 'https://ipfs.io/ipfs/')
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
else if ((_a = headers['content-type']) === null || _a === void 0 ? void 0 : _a.startsWith('image')) {
|
|
261
|
+
metadata.imageURL = ipfsHashUrl;
|
|
262
|
+
}
|
|
263
|
+
return metadata;
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
exports.getTokenMetadata = getTokenMetadata;
|
|
216
267
|
//# sourceMappingURL=utils.js.map
|
package/dist/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { Chain, Wallet } from '@yaswap/client';
|
|
3
|
-
import { Address, AddressType, Asset, Transaction, TransactionRequest } from '@yaswap/types';
|
|
3
|
+
import { Address, AddressType, Asset, Transaction, TransactionRequest, CreateTokenTransaction } from '@yaswap/types';
|
|
4
4
|
import { BIP32Interface } from 'bip32';
|
|
5
5
|
import { payments } from '@yaswap/yacoinjs-lib';
|
|
6
6
|
import { YacoinBaseChainProvider } from '../chain/YacoinBaseChainProvider';
|
|
@@ -37,6 +37,7 @@ export declare abstract class YacoinBaseWalletProvider<T extends YacoinBaseChain
|
|
|
37
37
|
getUnusedAddress(change?: boolean, numAddressPerCall?: number): Promise<Address>;
|
|
38
38
|
getUsedAddresses(numAddressPerCall?: number): Promise<Address[]>;
|
|
39
39
|
getAddresses(startingIndex?: number, numAddresses?: number, change?: boolean): Promise<Address[]>;
|
|
40
|
+
createToken(options: CreateTokenTransaction): Promise<Transaction>;
|
|
40
41
|
sendTransaction(options: TransactionRequest): Promise<Transaction<YaTransaction>>;
|
|
41
42
|
sendBatchTransaction(transactions: TransactionRequest[]): Promise<Transaction<YaTransaction>[]>;
|
|
42
43
|
sendSweepTransaction(externalChangeAddress: AddressType, _asset: Asset, feePerByte: number): Promise<Transaction<YaTransaction>>;
|
|
@@ -55,12 +56,18 @@ export declare abstract class YacoinBaseWalletProvider<T extends YacoinBaseChain
|
|
|
55
56
|
}>;
|
|
56
57
|
protected withCachedUtxos(func: () => any): Promise<any>;
|
|
57
58
|
protected getTotalFee(opts: TransactionRequest, max: boolean): Promise<number>;
|
|
58
|
-
protected getInputsForAmount(_targets: OutputTarget[], feePerByte?: number, fixedInputs?: Input[],
|
|
59
|
+
protected getInputsForAmount(_targets: OutputTarget[], feePerByte?: number, fixedInputs?: Input[], sweep?: boolean): Promise<{
|
|
59
60
|
inputs: UTXO[];
|
|
60
|
-
|
|
61
|
+
coinChange: CoinSelectTarget;
|
|
62
|
+
tokenChange: CoinSelectTarget;
|
|
61
63
|
outputs: CoinSelectTarget[];
|
|
62
64
|
fee: number;
|
|
63
65
|
}>;
|
|
66
|
+
protected compileTokenTransferTarget(address: string, tokenName: string, tokenValue: number): OutputTarget;
|
|
67
|
+
protected compileNewTokenTarget(address: string, tokenName: string, tokenAmount: number, decimals: number, reissuable: Boolean, ipfsHash: string): OutputTarget;
|
|
68
|
+
protected compileTokenOwnerTarget(address: string, ownerTokenName: string): OutputTarget;
|
|
69
|
+
protected compileTimelockFeesTarget(address: string): OutputTarget;
|
|
70
|
+
protected tokenInfoToOutputs(transaction: CreateTokenTransaction): OutputTarget[];
|
|
64
71
|
protected sendOptionsToOutputs(transactions: TransactionRequest[]): OutputTarget[];
|
|
65
72
|
protected getAddressFromPublicKey(publicKey: Buffer): string;
|
|
66
73
|
protected getPaymentVariantFromPublicKey(publicKey: Buffer): payments.Payment;
|