@cardano-sdk/wallet 0.17.6-patch.2 → 0.17.6-patch.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/dist/cjs/services/ChangeAddress/DynamicChangeAddressResolver.d.ts +13 -0
- package/dist/cjs/services/ChangeAddress/DynamicChangeAddressResolver.d.ts.map +1 -0
- package/dist/cjs/services/ChangeAddress/DynamicChangeAddressResolver.js +194 -0
- package/dist/cjs/services/ChangeAddress/DynamicChangeAddressResolver.js.map +1 -0
- package/dist/cjs/services/ChangeAddress/index.d.ts +2 -0
- package/dist/cjs/services/ChangeAddress/index.d.ts.map +1 -0
- package/dist/cjs/services/ChangeAddress/index.js +18 -0
- package/dist/cjs/services/ChangeAddress/index.js.map +1 -0
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/services/ChangeAddress/DynamicChangeAddressResolver.d.ts +13 -0
- package/dist/esm/services/ChangeAddress/DynamicChangeAddressResolver.d.ts.map +1 -0
- package/dist/esm/services/ChangeAddress/DynamicChangeAddressResolver.js +187 -0
- package/dist/esm/services/ChangeAddress/DynamicChangeAddressResolver.js.map +1 -0
- package/dist/esm/services/ChangeAddress/index.d.ts +2 -0
- package/dist/esm/services/ChangeAddress/index.d.ts.map +1 -0
- package/dist/esm/services/ChangeAddress/index.js +2 -0
- package/dist/esm/services/ChangeAddress/index.js.map +1 -0
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/package.json +14 -14
- package/dist/cjs/services/util/coldObservableProvider.d.ts +0 -14
- package/dist/cjs/services/util/coldObservableProvider.d.ts.map +0 -1
- package/dist/cjs/services/util/coldObservableProvider.js +0 -34
- package/dist/cjs/services/util/coldObservableProvider.js.map +0 -1
- package/dist/esm/services/util/coldObservableProvider.d.ts +0 -14
- package/dist/esm/services/util/coldObservableProvider.d.ts.map +0 -1
- package/dist/esm/services/util/coldObservableProvider.js +0 -30
- package/dist/esm/services/util/coldObservableProvider.js.map +0 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Cardano } from '@cardano-sdk/core';
|
|
2
|
+
import { ChangeAddressResolver, Selection } from '@cardano-sdk/input-selection';
|
|
3
|
+
import { DelegationTracker } from '../types';
|
|
4
|
+
import { GroupedAddress } from '@cardano-sdk/key-management';
|
|
5
|
+
import { Logger } from 'ts-log';
|
|
6
|
+
import { Observable } from 'rxjs';
|
|
7
|
+
export declare type GetDelegationPortfolio = () => Promise<Cardano.Cip17DelegationPortfolio | null>;
|
|
8
|
+
export declare class DynamicChangeAddressResolver implements ChangeAddressResolver {
|
|
9
|
+
#private;
|
|
10
|
+
constructor(addresses$: Observable<GroupedAddress[]>, delegationDistribution: DelegationTracker['distribution$'], getDelegationPortfolio: GetDelegationPortfolio, logger: Logger);
|
|
11
|
+
resolve(selection: Selection): Promise<Array<Cardano.TxOut>>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=DynamicChangeAddressResolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DynamicChangeAddressResolver.d.ts","sourceRoot":"","sources":["../../../../src/services/ChangeAddress/DynamicChangeAddressResolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAkB,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAAkB,MAAM,MAAM,CAAC;AAkRlD,oBAAY,sBAAsB,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAAC;AAK5F,qBAAa,4BAA6B,YAAW,qBAAqB;;gBAetE,UAAU,EAAE,UAAU,CAAC,cAAc,EAAE,CAAC,EACxC,sBAAsB,EAAE,iBAAiB,CAAC,eAAe,CAAC,EAC1D,sBAAsB,EAAE,sBAAsB,EAC9C,MAAM,EAAE,MAAM;IAWV,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;CAgEnE"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
2
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
5
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
6
|
+
};
|
|
7
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
+
};
|
|
12
|
+
var _DynamicChangeAddressResolver_getDelegationPortfolio, _DynamicChangeAddressResolver_delegationDistribution, _DynamicChangeAddressResolver_addresses$, _DynamicChangeAddressResolver_logger;
|
|
13
|
+
import { BigNumber } from 'bignumber.js';
|
|
14
|
+
import { Cardano } from '@cardano-sdk/core';
|
|
15
|
+
import { InvalidStateError } from '@cardano-sdk/util';
|
|
16
|
+
import { firstValueFrom } from 'rxjs';
|
|
17
|
+
import isEqual from 'lodash/isEqual';
|
|
18
|
+
import uniq from 'lodash/uniq';
|
|
19
|
+
const getBalanceInTxOuts = (txOuts) => {
|
|
20
|
+
let balanceInBuckets = 0n;
|
|
21
|
+
for (const txOut of txOuts) {
|
|
22
|
+
balanceInBuckets += txOut.value.coins;
|
|
23
|
+
}
|
|
24
|
+
return balanceInBuckets;
|
|
25
|
+
};
|
|
26
|
+
const getSpentInInputs = (knownAddresses, inputs) => inputs
|
|
27
|
+
.filter((utxo) => knownAddresses.some((groupedAddress) => groupedAddress.address === utxo[0].address))
|
|
28
|
+
.map((utxo) => utxo[1].value.coins)
|
|
29
|
+
.reduce((a, b) => a + b, 0n);
|
|
30
|
+
const getBalanceFromOutputs = (knownAddresses, outputs) => outputs
|
|
31
|
+
.filter((out) => knownAddresses.some((groupedAddress) => groupedAddress.address === out.address))
|
|
32
|
+
.map((out) => out.value.coins)
|
|
33
|
+
.reduce((a, b) => a + b, 0n);
|
|
34
|
+
const getSpentFromRewardAccount = (rewardAccount, inputs) => inputs
|
|
35
|
+
.filter((utxo) => {
|
|
36
|
+
const address = Cardano.Address.fromString(utxo[0].address)?.asBase();
|
|
37
|
+
if (!address)
|
|
38
|
+
return false;
|
|
39
|
+
return (Cardano.RewardAccount.toHash(rewardAccount) ===
|
|
40
|
+
address.getStakingCredential().hash);
|
|
41
|
+
})
|
|
42
|
+
.map((utxo) => utxo[1].value.coins)
|
|
43
|
+
.reduce((a, b) => a + b, 0n);
|
|
44
|
+
const getDepositToRewardAccount = (rewardAccount, outputs) => outputs
|
|
45
|
+
.filter((txOut) => {
|
|
46
|
+
const address = Cardano.Address.fromString(txOut.address)?.asBase();
|
|
47
|
+
if (!address)
|
|
48
|
+
return false;
|
|
49
|
+
return (Cardano.RewardAccount.toHash(rewardAccount) ===
|
|
50
|
+
address.getStakingCredential().hash);
|
|
51
|
+
})
|
|
52
|
+
.map((txOut) => txOut.value.coins)
|
|
53
|
+
.reduce((a, b) => a + b, 0n);
|
|
54
|
+
const getAddressForRewardAccount = (knownAddresses, account) => knownAddresses.find((groupedAddress) => groupedAddress.rewardAccount === account);
|
|
55
|
+
const createBuckets = (selection, delegateAmounts, portfolio, knownAddresses) => {
|
|
56
|
+
const buckets = new Array();
|
|
57
|
+
const inputs = [...selection.inputs];
|
|
58
|
+
const outputs = [...selection.outputs];
|
|
59
|
+
const totalStakeDelegatedBeforeTx = delegateAmounts.map((delegated) => delegated.stake).reduce((a, b) => a + b, 0n);
|
|
60
|
+
const balanceInChange = getBalanceInTxOuts(selection.change);
|
|
61
|
+
const negativeBalance = getSpentInInputs(knownAddresses, inputs) + selection.fee;
|
|
62
|
+
const positiveBalance = getBalanceFromOutputs(knownAddresses, outputs) + balanceInChange;
|
|
63
|
+
const totalStake = totalStakeDelegatedBeforeTx + positiveBalance - negativeBalance;
|
|
64
|
+
const totalWeight = portfolio.pools.map((pool) => pool.weight).reduce((sum, current) => sum + current, 0);
|
|
65
|
+
const weightsAsPercent = new Map(portfolio.pools.map((pool) => [pool.id, pool.weight / totalWeight]));
|
|
66
|
+
for (const delegated of delegateAmounts) {
|
|
67
|
+
if (delegated.rewardAccounts.length === 0)
|
|
68
|
+
throw new InvalidStateError(`No reward accounts delegating to pool '${delegated.pool.id}'.`);
|
|
69
|
+
const account = delegated.rewardAccounts[0];
|
|
70
|
+
const groupedAddress = getAddressForRewardAccount(knownAddresses, account);
|
|
71
|
+
if (!groupedAddress)
|
|
72
|
+
throw new InvalidStateError(`Reward account '${account}' unknown.`);
|
|
73
|
+
const adjustedStake = delegated.stake - getSpentFromRewardAccount(account, inputs) + getDepositToRewardAccount(account, outputs);
|
|
74
|
+
const percentageForPool = weightsAsPercent.get(delegated.pool.hexId);
|
|
75
|
+
if (!percentageForPool)
|
|
76
|
+
throw new InvalidStateError(`Pool '${delegated.pool.id}' not found in the portfolio.`);
|
|
77
|
+
buckets.push({
|
|
78
|
+
address: groupedAddress.address,
|
|
79
|
+
capacity: BigInt(new BigNumber(totalStake.toString()).multipliedBy(percentageForPool).toFixed(0, 0)),
|
|
80
|
+
change: new Array(),
|
|
81
|
+
filledAmount: adjustedStake
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
return buckets;
|
|
85
|
+
};
|
|
86
|
+
const getBucketGap = (bucket) => {
|
|
87
|
+
const capacity = new BigNumber(bucket.capacity.toString());
|
|
88
|
+
const filledAmount = new BigNumber(bucket.filledAmount.toString());
|
|
89
|
+
return capacity.minus(filledAmount).dividedBy(capacity);
|
|
90
|
+
};
|
|
91
|
+
const pickBucket = (buckets) => buckets.sort((a, b) => {
|
|
92
|
+
const gapA = getBucketGap(a);
|
|
93
|
+
const gapB = getBucketGap(b);
|
|
94
|
+
if (gapB.isGreaterThan(gapA)) {
|
|
95
|
+
return 1;
|
|
96
|
+
}
|
|
97
|
+
else if (gapB.isLessThan(gapA)) {
|
|
98
|
+
return -1;
|
|
99
|
+
}
|
|
100
|
+
return 0;
|
|
101
|
+
})[0];
|
|
102
|
+
const distributeChange = (changeOutputs, prefilledBuckets) => {
|
|
103
|
+
const buckets = [...prefilledBuckets];
|
|
104
|
+
const sortedOutputs = changeOutputs.sort((a, b) => {
|
|
105
|
+
if (a.value.coins > b.value.coins) {
|
|
106
|
+
return 1;
|
|
107
|
+
}
|
|
108
|
+
else if (a.value.coins < b.value.coins) {
|
|
109
|
+
return -1;
|
|
110
|
+
}
|
|
111
|
+
return 0;
|
|
112
|
+
});
|
|
113
|
+
while (sortedOutputs.length > 0) {
|
|
114
|
+
const bucket = pickBucket(buckets);
|
|
115
|
+
const selected = sortedOutputs.splice(0, 1)[0];
|
|
116
|
+
bucket.change.push(selected);
|
|
117
|
+
bucket.filledAmount += selected.value.coins;
|
|
118
|
+
}
|
|
119
|
+
for (const bucket of buckets) {
|
|
120
|
+
bucket.change = bucket.change.map((txOut) => {
|
|
121
|
+
txOut.address = bucket.address;
|
|
122
|
+
return txOut;
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
return buckets;
|
|
126
|
+
};
|
|
127
|
+
const delegationMatchesPortfolio = (portfolio, distribution) => {
|
|
128
|
+
const portfolioPools = uniq(portfolio.pools.map((cip17Pool) => cip17Pool.id)).sort();
|
|
129
|
+
const delegationPools = uniq(distribution.map((delegatedStake) => delegatedStake.pool.hexId)).sort();
|
|
130
|
+
return isEqual(portfolioPools, delegationPools);
|
|
131
|
+
};
|
|
132
|
+
export class DynamicChangeAddressResolver {
|
|
133
|
+
constructor(addresses$, delegationDistribution, getDelegationPortfolio, logger) {
|
|
134
|
+
_DynamicChangeAddressResolver_getDelegationPortfolio.set(this, void 0);
|
|
135
|
+
_DynamicChangeAddressResolver_delegationDistribution.set(this, void 0);
|
|
136
|
+
_DynamicChangeAddressResolver_addresses$.set(this, void 0);
|
|
137
|
+
_DynamicChangeAddressResolver_logger.set(this, void 0);
|
|
138
|
+
__classPrivateFieldSet(this, _DynamicChangeAddressResolver_getDelegationPortfolio, getDelegationPortfolio, "f");
|
|
139
|
+
__classPrivateFieldSet(this, _DynamicChangeAddressResolver_delegationDistribution, delegationDistribution, "f");
|
|
140
|
+
__classPrivateFieldSet(this, _DynamicChangeAddressResolver_addresses$, addresses$, "f");
|
|
141
|
+
__classPrivateFieldSet(this, _DynamicChangeAddressResolver_logger, logger, "f");
|
|
142
|
+
}
|
|
143
|
+
async resolve(selection) {
|
|
144
|
+
const delegationDistribution = [...(await firstValueFrom(__classPrivateFieldGet(this, _DynamicChangeAddressResolver_delegationDistribution, "f"))).values()];
|
|
145
|
+
const portfolio = await __classPrivateFieldGet(this, _DynamicChangeAddressResolver_getDelegationPortfolio, "f").call(this);
|
|
146
|
+
const addresses = await firstValueFrom(__classPrivateFieldGet(this, _DynamicChangeAddressResolver_addresses$, "f"));
|
|
147
|
+
let updatedChange = [...selection.change];
|
|
148
|
+
if (addresses.length === 0)
|
|
149
|
+
throw new InvalidStateError('The wallet has no known addresses.');
|
|
150
|
+
if (!portfolio) {
|
|
151
|
+
updatedChange = updatedChange.map((txOut) => {
|
|
152
|
+
txOut.address = addresses[0].address;
|
|
153
|
+
return txOut;
|
|
154
|
+
});
|
|
155
|
+
return updatedChange;
|
|
156
|
+
}
|
|
157
|
+
if (!delegationMatchesPortfolio(portfolio, delegationDistribution)) {
|
|
158
|
+
__classPrivateFieldGet(this, _DynamicChangeAddressResolver_logger, "f").warn('The portfolio doesnt match current wallet delegation.');
|
|
159
|
+
updatedChange = updatedChange.map((txOut) => {
|
|
160
|
+
txOut.address = addresses[0].address;
|
|
161
|
+
return txOut;
|
|
162
|
+
});
|
|
163
|
+
return updatedChange;
|
|
164
|
+
}
|
|
165
|
+
if (delegationDistribution.length === 1) {
|
|
166
|
+
if (delegationDistribution[0].rewardAccounts.length === 0)
|
|
167
|
+
throw new InvalidStateError(`No reward accounts delegating to pool '${delegationDistribution[0].pool.id}'.`);
|
|
168
|
+
const groupedAddress = addresses.find((address) => address.rewardAccount === delegationDistribution[0].rewardAccounts[0]);
|
|
169
|
+
if (!groupedAddress)
|
|
170
|
+
throw new InvalidStateError(`Reward account '${delegationDistribution[0].rewardAccounts[0]}' unknown.`);
|
|
171
|
+
updatedChange = updatedChange.map((txOut) => {
|
|
172
|
+
txOut.address = groupedAddress.address;
|
|
173
|
+
return txOut;
|
|
174
|
+
});
|
|
175
|
+
return updatedChange;
|
|
176
|
+
}
|
|
177
|
+
const buckets = createBuckets(selection, delegationDistribution, portfolio, addresses);
|
|
178
|
+
const updatedBuckets = distributeChange(selection.change, buckets);
|
|
179
|
+
updatedChange = new Array();
|
|
180
|
+
for (const bucket of updatedBuckets) {
|
|
181
|
+
updatedChange = [...updatedChange, ...bucket.change];
|
|
182
|
+
}
|
|
183
|
+
return updatedChange;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
_DynamicChangeAddressResolver_getDelegationPortfolio = new WeakMap(), _DynamicChangeAddressResolver_delegationDistribution = new WeakMap(), _DynamicChangeAddressResolver_addresses$ = new WeakMap(), _DynamicChangeAddressResolver_logger = new WeakMap();
|
|
187
|
+
//# sourceMappingURL=DynamicChangeAddressResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DynamicChangeAddressResolver.js","sourceRoot":"","sources":["../../../../src/services/ChangeAddress/DynamicChangeAddressResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/ChangeAddress/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/ChangeAddress/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC"}
|