@bitgo-beta/sdk-coin-canton 1.0.1-beta.54 → 1.0.1-beta.540
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/src/canton.d.ts +15 -1
- package/dist/src/canton.d.ts.map +1 -1
- package/dist/src/canton.js +124 -8
- package/dist/src/cantonToken.d.ts +19 -0
- package/dist/src/cantonToken.d.ts.map +1 -0
- package/dist/src/cantonToken.js +52 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -1
- package/dist/src/lib/allocationAllocateBuilder.d.ts +126 -0
- package/dist/src/lib/allocationAllocateBuilder.d.ts.map +1 -0
- package/dist/src/lib/allocationAllocateBuilder.js +250 -0
- package/dist/src/lib/allocationRequestBuilder.d.ts +116 -0
- package/dist/src/lib/allocationRequestBuilder.d.ts.map +1 -0
- package/dist/src/lib/allocationRequestBuilder.js +246 -0
- package/dist/src/lib/constant.d.ts +2 -0
- package/dist/src/lib/constant.d.ts.map +1 -1
- package/dist/src/lib/constant.js +4 -2
- package/dist/src/lib/cosignDelegationAcceptBuilder.d.ts +56 -0
- package/dist/src/lib/cosignDelegationAcceptBuilder.d.ts.map +1 -0
- package/dist/src/lib/cosignDelegationAcceptBuilder.js +112 -0
- package/dist/src/lib/cosignDelegationProposalBuilder.d.ts +60 -0
- package/dist/src/lib/cosignDelegationProposalBuilder.d.ts.map +1 -0
- package/dist/src/lib/cosignDelegationProposalBuilder.js +111 -0
- package/dist/src/lib/iface.d.ts +115 -3
- package/dist/src/lib/iface.d.ts.map +1 -1
- package/dist/src/lib/iface.js +1 -1
- package/dist/src/lib/index.d.ts +10 -0
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +22 -2
- package/dist/src/lib/oneStepPreApprovalBuilder.d.ts +15 -5
- package/dist/src/lib/oneStepPreApprovalBuilder.d.ts.map +1 -1
- package/dist/src/lib/oneStepPreApprovalBuilder.js +31 -3
- package/dist/src/lib/transaction/transaction.d.ts +17 -2
- package/dist/src/lib/transaction/transaction.d.ts.map +1 -1
- package/dist/src/lib/transaction/transaction.js +259 -9
- package/dist/src/lib/transactionBuilder.d.ts +3 -3
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilder.js +1 -5
- package/dist/src/lib/transactionBuilderFactory.d.ts +18 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilderFactory.js +71 -4
- package/dist/src/lib/transferAcceptanceBuilder.d.ts +59 -0
- package/dist/src/lib/transferAcceptanceBuilder.d.ts.map +1 -0
- package/dist/src/lib/transferAcceptanceBuilder.js +116 -0
- package/dist/src/lib/transferAcknowledgeBuilder.d.ts +72 -0
- package/dist/src/lib/transferAcknowledgeBuilder.d.ts.map +1 -0
- package/dist/src/lib/transferAcknowledgeBuilder.js +133 -0
- package/dist/src/lib/transferBuilder.d.ts +87 -3
- package/dist/src/lib/transferBuilder.d.ts.map +1 -1
- package/dist/src/lib/transferBuilder.js +169 -1
- package/dist/src/lib/transferOfferWithdrawnBuilder.d.ts +67 -0
- package/dist/src/lib/transferOfferWithdrawnBuilder.d.ts.map +1 -0
- package/dist/src/lib/transferOfferWithdrawnBuilder.js +130 -0
- package/dist/src/lib/transferRejectionBuilder.d.ts +59 -0
- package/dist/src/lib/transferRejectionBuilder.d.ts.map +1 -0
- package/dist/src/lib/transferRejectionBuilder.js +116 -0
- package/dist/src/lib/utils.d.ts +22 -2
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +373 -44
- package/dist/src/lib/walletInitBuilder.d.ts +2 -1
- package/dist/src/lib/walletInitBuilder.d.ts.map +1 -1
- package/dist/src/lib/walletInitBuilder.js +4 -1
- package/dist/src/lib/walletInitialization/walletInitTransaction.d.ts +2 -1
- package/dist/src/lib/walletInitialization/walletInitTransaction.d.ts.map +1 -1
- package/dist/src/lib/walletInitialization/walletInitTransaction.js +14 -1
- package/dist/src/register.d.ts.map +1 -1
- package/dist/src/register.js +5 -1
- package/dist/test/helper.d.ts +3 -0
- package/dist/test/helper.d.ts.map +1 -0
- package/dist/test/helper.js +9 -0
- package/dist/test/integration/canton.integration.d.ts +2 -0
- package/dist/test/integration/canton.integration.d.ts.map +1 -0
- package/dist/test/integration/canton.integration.js +157 -0
- package/dist/test/integration/canton.token.integration.d.ts +2 -0
- package/dist/test/integration/canton.token.integration.d.ts.map +1 -0
- package/dist/test/integration/canton.token.integration.js +51 -0
- package/dist/test/resources.d.ts +186 -2
- package/dist/test/resources.d.ts.map +1 -1
- package/dist/test/resources.js +191 -7
- package/dist/test/unit/builder/allocationAllocate/allocationAllocateBuilder.d.ts +2 -0
- package/dist/test/unit/builder/allocationAllocate/allocationAllocateBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/allocationAllocate/allocationAllocateBuilder.js +309 -0
- package/dist/test/unit/builder/allocationRequest/allocationRequestBuilder.d.ts +2 -0
- package/dist/test/unit/builder/allocationRequest/allocationRequestBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/allocationRequest/allocationRequestBuilder.js +386 -0
- package/dist/test/unit/builder/cosignDelegationAccept/cosignDelegationAcceptBuilder.d.ts +2 -0
- package/dist/test/unit/builder/cosignDelegationAccept/cosignDelegationAcceptBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/cosignDelegationAccept/cosignDelegationAcceptBuilder.js +75 -0
- package/dist/test/unit/builder/cosignDelegationProposal/cosignDelegationProposalBuilder.d.ts +2 -0
- package/dist/test/unit/builder/cosignDelegationProposal/cosignDelegationProposalBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/cosignDelegationProposal/cosignDelegationProposalBuilder.js +74 -0
- package/dist/test/unit/builder/oneStepEnablement/oneStepEnablementBuilder.js +26 -8
- package/dist/test/unit/builder/transfer/transferBuilder.d.ts +2 -0
- package/dist/test/unit/builder/transfer/transferBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/transfer/transferBuilder.js +84 -0
- package/dist/test/unit/builder/transferAccept/transferAcceptBuilder.d.ts +2 -0
- package/dist/test/unit/builder/transferAccept/transferAcceptBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/transferAccept/transferAcceptBuilder.js +120 -0
- package/dist/test/unit/builder/transferAcknowledge/transferAcknowledgeBuilder.d.ts +2 -0
- package/dist/test/unit/builder/transferAcknowledge/transferAcknowledgeBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/transferAcknowledge/transferAcknowledgeBuilder.js +32 -0
- package/dist/test/unit/builder/transferOfferWithdrawn/transferOfferWithdrawnBuilder.d.ts +2 -0
- package/dist/test/unit/builder/transferOfferWithdrawn/transferOfferWithdrawnBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/transferOfferWithdrawn/transferOfferWithdrawnBuilder.js +64 -0
- package/dist/test/unit/builder/transferReject/transferRejectBuilder.d.ts +2 -0
- package/dist/test/unit/builder/transferReject/transferRejectBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/transferReject/transferRejectBuilder.js +96 -0
- package/dist/test/unit/canton.d.ts +2 -0
- package/dist/test/unit/canton.d.ts.map +1 -0
- package/dist/test/unit/canton.js +201 -0
- package/dist/test/unit/index.d.ts +1 -0
- package/dist/test/unit/index.d.ts.map +1 -1
- package/dist/test/unit/index.js +2 -1
- package/dist/test/unit/utils.js +76 -5
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +11 -8
package/dist/src/canton.d.ts
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
|
-
import { AuditDecryptedKeyParams, BaseCoin, BitGoBase, KeyPair, MPCAlgorithm, MultisigType, ParsedTransaction, ParseTransactionOptions, SignedTransaction, SignTransactionOptions,
|
|
1
|
+
import { AuditDecryptedKeyParams, BaseCoin, BitGoBase, KeyPair, MPCAlgorithm, MultisigType, ParsedTransaction, ParseTransactionOptions, SignedTransaction, SignTransactionOptions, TransactionType, VerifyTransactionOptions, TransactionExplanation as BaseTransactionExplanation, PopulatedIntent, PrebuildTransactionWithIntentOptions, TssVerifyAddressOptions, TokenEnablementConfig } from '@bitgo-beta/sdk-core';
|
|
2
2
|
import { BaseCoin as StaticsBaseCoin } from '@bitgo-beta/statics';
|
|
3
|
+
export interface TransactionExplanation extends BaseTransactionExplanation {
|
|
4
|
+
type: TransactionType;
|
|
5
|
+
}
|
|
6
|
+
export interface ExplainTransactionOptions {
|
|
7
|
+
txHex: string;
|
|
8
|
+
}
|
|
3
9
|
export declare class Canton extends BaseCoin {
|
|
4
10
|
protected readonly _staticsCoin: Readonly<StaticsBaseCoin>;
|
|
5
11
|
protected constructor(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>);
|
|
6
12
|
static createInstance(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>): BaseCoin;
|
|
13
|
+
private getBuilder;
|
|
7
14
|
/** @inheritDoc */
|
|
8
15
|
getBaseFactor(): number;
|
|
9
16
|
/** @inheritDoc */
|
|
@@ -28,12 +35,19 @@ export declare class Canton extends BaseCoin {
|
|
|
28
35
|
/** @inheritDoc */
|
|
29
36
|
generateKeyPair(seed?: Buffer): KeyPair;
|
|
30
37
|
/** @inheritDoc */
|
|
38
|
+
explainTransaction(params: ExplainTransactionOptions): Promise<TransactionExplanation>;
|
|
39
|
+
/** @inheritDoc */
|
|
31
40
|
isValidPub(pub: string): boolean;
|
|
32
41
|
/** @inheritDoc */
|
|
33
42
|
isValidAddress(address: string): boolean;
|
|
34
43
|
/** @inheritDoc */
|
|
44
|
+
getTokenEnablementConfig(): TokenEnablementConfig;
|
|
45
|
+
getAddressFromPublicKey(publicKeyHex: string): string;
|
|
46
|
+
/** @inheritDoc */
|
|
35
47
|
signTransaction(params: SignTransactionOptions): Promise<SignedTransaction>;
|
|
36
48
|
/** @inheritDoc */
|
|
37
49
|
auditDecryptedKey({ multiSigType, prv, publicKey }: AuditDecryptedKeyParams): void;
|
|
50
|
+
/** @inheritDoc */
|
|
51
|
+
setCoinSpecificFieldsInIntent(intent: PopulatedIntent, params: PrebuildTransactionWithIntentOptions): void;
|
|
38
52
|
}
|
|
39
53
|
//# sourceMappingURL=canton.d.ts.map
|
package/dist/src/canton.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canton.d.ts","sourceRoot":"","sources":["../../src/canton.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,QAAQ,EACR,SAAS,EACT,OAAO,EACP,YAAY,EACZ,YAAY,EAEZ,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"canton.d.ts","sourceRoot":"","sources":["../../src/canton.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,QAAQ,EACR,SAAS,EACT,OAAO,EACP,YAAY,EACZ,YAAY,EAEZ,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EACf,wBAAwB,EACxB,sBAAsB,IAAI,0BAA0B,EAEpD,eAAe,EACf,oCAAoC,EACpC,uBAAuB,EAIvB,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAS,MAAM,qBAAqB,CAAC;AAMzE,MAAM,WAAW,sBAAuB,SAAQ,0BAA0B;IACxE,IAAI,EAAE,eAAe,CAAC;CACvB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,MAAO,SAAQ,QAAQ;IAClC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAE3D,SAAS,aAAa,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAU/E,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;IAI1F,OAAO,CAAC,UAAU;IAIlB,kBAAkB;IACX,aAAa,IAAI,MAAM;IAI9B,kBAAkB;IACX,QAAQ,IAAI,MAAM;IAIzB,kBAAkB;IACX,SAAS,IAAI,MAAM;IAI1B,kBAAkB;IACX,WAAW,IAAI,MAAM;IAI5B,kBAAkB;IAClB,WAAW,IAAI,OAAO;IAItB,oBAAoB;IACpB,sBAAsB,IAAI,YAAY;IAItC,oBAAoB;IACpB,uCAAuC,IAAI,OAAO;IAIlD,eAAe,IAAI,YAAY;IAI/B,kBAAkB;IACZ,iBAAiB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;IAsF3E,kBAAkB;IACZ,eAAe,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBxE,kBAAkB;IAClB,gBAAgB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAI7E,kBAAkB;IAClB,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO;IAYvC,kBAAkB;IAClB,kBAAkB,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAatF,kBAAkB;IAClB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIhC,kBAAkB;IAClB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAMxC,kBAAkB;IAClB,wBAAwB,IAAI,qBAAqB;IAOjD,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAKrD,kBAAkB;IAClB,eAAe,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAI3E,kBAAkB;IAClB,iBAAiB,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,uBAAuB,GAAG,IAAI;IAOlF,kBAAkB;IAClB,6BAA6B,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,oCAAoC,GAAG,IAAI;CAW3G"}
|
package/dist/src/canton.js
CHANGED
|
@@ -21,6 +21,9 @@ class Canton extends sdk_core_1.BaseCoin {
|
|
|
21
21
|
static createInstance(bitgo, staticsCoin) {
|
|
22
22
|
return new Canton(bitgo, staticsCoin);
|
|
23
23
|
}
|
|
24
|
+
getBuilder() {
|
|
25
|
+
return new lib_1.TransactionBuilderFactory(statics_1.coins.get(this.getChain()));
|
|
26
|
+
}
|
|
24
27
|
/** @inheritDoc */
|
|
25
28
|
getBaseFactor() {
|
|
26
29
|
return 1e10;
|
|
@@ -55,27 +58,103 @@ class Canton extends sdk_core_1.BaseCoin {
|
|
|
55
58
|
/** @inheritDoc */
|
|
56
59
|
async verifyTransaction(params) {
|
|
57
60
|
const coinConfig = statics_1.coins.get(this.getChain());
|
|
58
|
-
|
|
59
|
-
const { txPrebuild: txPrebuild } = params;
|
|
61
|
+
const { txPrebuild: txPrebuild, txParams } = params;
|
|
60
62
|
const rawTx = txPrebuild.txHex;
|
|
61
63
|
if (!rawTx) {
|
|
62
64
|
throw new Error('missing required tx prebuild property txHex');
|
|
63
65
|
}
|
|
64
66
|
const txBuilder = new lib_1.TransactionBuilderFactory(coinConfig).from(rawTx);
|
|
65
67
|
const transaction = txBuilder.transaction;
|
|
68
|
+
const explainedTx = transaction.explainTransaction();
|
|
66
69
|
switch (transaction.type) {
|
|
67
|
-
case sdk_core_1.TransactionType.WalletInitialization:
|
|
68
|
-
|
|
70
|
+
case sdk_core_1.TransactionType.WalletInitialization:
|
|
71
|
+
case sdk_core_1.TransactionType.TransferAccept:
|
|
72
|
+
case sdk_core_1.TransactionType.TransferReject:
|
|
73
|
+
case sdk_core_1.TransactionType.TransferAcknowledge:
|
|
74
|
+
case sdk_core_1.TransactionType.TransferOfferWithdrawn:
|
|
75
|
+
case sdk_core_1.TransactionType.CosignDelegationAccept:
|
|
76
|
+
case sdk_core_1.TransactionType.CosignDelegationProposal:
|
|
77
|
+
// There is no input for these type of transactions, so always return true.
|
|
78
|
+
return true;
|
|
79
|
+
case sdk_core_1.TransactionType.OneStepPreApproval:
|
|
80
|
+
// Canton is always a TSS wallet. The SDK's buildTokenEnablements passes enableTokens
|
|
81
|
+
// through unchanged for TSS wallets (no conversion to recipients), so txParams.enableTokens
|
|
82
|
+
// is the only source of user intent here.
|
|
83
|
+
//
|
|
84
|
+
// Receiver validation: the receiver of a OneStepPreApproval is always the wallet's root address.
|
|
85
|
+
// We use enableToken.address if explicitly provided, otherwise fall back to
|
|
86
|
+
// wallet.coinSpecific().rootAddress (the Canton party ID stored at wallet creation time).
|
|
87
|
+
// Token name validation: checked when the token is resolvable from statics.
|
|
88
|
+
if (txParams.type === 'enabletoken' &&
|
|
89
|
+
txParams.enableTokens !== undefined &&
|
|
90
|
+
txParams.enableTokens.length > 0) {
|
|
91
|
+
const txData = transaction.toJson();
|
|
92
|
+
const enableToken = txParams.enableTokens[0];
|
|
93
|
+
const walletRootAddress = params.wallet?.coinSpecific?.()?.rootAddress;
|
|
94
|
+
const expectedReceiver = enableToken.address ?? walletRootAddress;
|
|
95
|
+
if (expectedReceiver) {
|
|
96
|
+
// Strip ?memoId suffix if present in the stored address
|
|
97
|
+
const [expectedReceiverBase] = expectedReceiver.split('?memoId=');
|
|
98
|
+
if (txData.receiver !== expectedReceiverBase) {
|
|
99
|
+
throw new Error(`OneStepPreApproval receiver mismatch: expected '${expectedReceiverBase}', got '${txData.receiver}'`);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
if (txData.token !== undefined && txData.token !== enableToken.name) {
|
|
103
|
+
throw new Error(`OneStepPreApproval token name mismatch: expected '${enableToken.name}', got '${txData.token}'`);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return true;
|
|
107
|
+
case sdk_core_1.TransactionType.Send:
|
|
108
|
+
if (txParams.recipients !== undefined) {
|
|
109
|
+
const filteredRecipients = txParams.recipients?.map((recipient) => {
|
|
110
|
+
const { address, amount, tokenName } = recipient;
|
|
111
|
+
const [addressPart, memoId] = address.split('?memoId=');
|
|
112
|
+
return {
|
|
113
|
+
address: addressPart,
|
|
114
|
+
amount,
|
|
115
|
+
...(memoId && { memo: memoId }),
|
|
116
|
+
...(tokenName && { tokenName }),
|
|
117
|
+
};
|
|
118
|
+
});
|
|
119
|
+
const filteredOutputs = explainedTx.outputs?.map((output) => {
|
|
120
|
+
const { address, amount, tokenName, memo } = output;
|
|
121
|
+
return {
|
|
122
|
+
address,
|
|
123
|
+
amount,
|
|
124
|
+
...(memo && { memo }),
|
|
125
|
+
...(tokenName && { tokenName }),
|
|
126
|
+
};
|
|
127
|
+
});
|
|
128
|
+
if (JSON.stringify(filteredRecipients) !== JSON.stringify(filteredOutputs)) {
|
|
129
|
+
throw new Error('Tx outputs do not match with expected txParams recipients');
|
|
130
|
+
}
|
|
131
|
+
}
|
|
69
132
|
return true;
|
|
70
|
-
}
|
|
71
133
|
default: {
|
|
72
134
|
throw new Error(`unknown transaction type, ${transaction.type}`);
|
|
73
135
|
}
|
|
74
136
|
}
|
|
75
137
|
}
|
|
76
138
|
/** @inheritDoc */
|
|
77
|
-
isWalletAddress(params) {
|
|
78
|
-
|
|
139
|
+
async isWalletAddress(params) {
|
|
140
|
+
// TODO: refactor this and use the `verifyEddsaMemoBasedWalletAddress` once published from sdk-core
|
|
141
|
+
// https://bitgoinc.atlassian.net/browse/COIN-6347
|
|
142
|
+
const { keychains, address: newAddress, index } = params;
|
|
143
|
+
const [addressPart, memoId] = newAddress.split('?memoId=');
|
|
144
|
+
if (!this.isValidAddress(addressPart)) {
|
|
145
|
+
throw new sdk_core_1.InvalidAddressError(`invalid address: ${newAddress}`);
|
|
146
|
+
}
|
|
147
|
+
if (memoId && memoId !== `${index}`) {
|
|
148
|
+
throw new sdk_core_1.InvalidAddressError(`invalid memoId index: ${memoId}`);
|
|
149
|
+
}
|
|
150
|
+
const commonKeychain = (0, sdk_core_1.extractCommonKeychain)(keychains);
|
|
151
|
+
const MPC = await sdk_core_1.EDDSAMethods.getInitializedMpcInstance();
|
|
152
|
+
const derivationPath = 'm/0';
|
|
153
|
+
const derivedPublicKey = MPC.deriveUnhardened(commonKeychain, derivationPath).slice(0, 64);
|
|
154
|
+
const publicKeyBase64 = Buffer.from(derivedPublicKey, 'hex').toString('base64');
|
|
155
|
+
const rootAddressFingerprint = utils_1.default.getAddressFromPublicKey(publicKeyBase64);
|
|
156
|
+
const rootAddress = `${rootAddressFingerprint.slice(0, 5)}::${rootAddressFingerprint}`;
|
|
157
|
+
return addressPart === rootAddress;
|
|
79
158
|
}
|
|
80
159
|
/** @inheritDoc */
|
|
81
160
|
parseTransaction(params) {
|
|
@@ -94,6 +173,20 @@ class Canton extends sdk_core_1.BaseCoin {
|
|
|
94
173
|
};
|
|
95
174
|
}
|
|
96
175
|
/** @inheritDoc */
|
|
176
|
+
explainTransaction(params) {
|
|
177
|
+
const factory = this.getBuilder();
|
|
178
|
+
let rebuiltTransaction;
|
|
179
|
+
const txRaw = params.txHex;
|
|
180
|
+
try {
|
|
181
|
+
const txBuilder = factory.from(txRaw);
|
|
182
|
+
rebuiltTransaction = txBuilder.transaction;
|
|
183
|
+
}
|
|
184
|
+
catch (e) {
|
|
185
|
+
throw new Error('Invalid transaction');
|
|
186
|
+
}
|
|
187
|
+
return rebuiltTransaction.explainTransaction();
|
|
188
|
+
}
|
|
189
|
+
/** @inheritDoc */
|
|
97
190
|
isValidPub(pub) {
|
|
98
191
|
return utils_1.default.isValidPublicKey(pub);
|
|
99
192
|
}
|
|
@@ -104,6 +197,17 @@ class Canton extends sdk_core_1.BaseCoin {
|
|
|
104
197
|
return utils_1.default.isValidAddress(address);
|
|
105
198
|
}
|
|
106
199
|
/** @inheritDoc */
|
|
200
|
+
getTokenEnablementConfig() {
|
|
201
|
+
return {
|
|
202
|
+
requiresTokenEnablement: true,
|
|
203
|
+
supportsMultipleTokenEnablements: false,
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
getAddressFromPublicKey(publicKeyHex) {
|
|
207
|
+
const publicKeyBase64 = Buffer.from(publicKeyHex, 'hex').toString('base64');
|
|
208
|
+
return utils_1.default.getAddressFromPublicKey(publicKeyBase64);
|
|
209
|
+
}
|
|
210
|
+
/** @inheritDoc */
|
|
107
211
|
signTransaction(params) {
|
|
108
212
|
throw new Error('Method not implemented.');
|
|
109
213
|
}
|
|
@@ -114,6 +218,18 @@ class Canton extends sdk_core_1.BaseCoin {
|
|
|
114
218
|
}
|
|
115
219
|
(0, sdk_lib_mpc_1.auditEddsaPrivateKey)(prv, publicKey ?? '');
|
|
116
220
|
}
|
|
221
|
+
/** @inheritDoc */
|
|
222
|
+
setCoinSpecificFieldsInIntent(intent, params) {
|
|
223
|
+
if (params.txRequestId) {
|
|
224
|
+
intent.txRequestId = params.txRequestId;
|
|
225
|
+
}
|
|
226
|
+
if (params.transferOfferId) {
|
|
227
|
+
intent.transferOfferId = params.transferOfferId;
|
|
228
|
+
}
|
|
229
|
+
if (params.unspents) {
|
|
230
|
+
intent.unspents = params.unspents;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
117
233
|
}
|
|
118
234
|
exports.Canton = Canton;
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NhbnRvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFlOEI7QUFDOUIseURBQStEO0FBQy9ELGlEQUF5RTtBQUN6RSwrQkFBa0Q7QUFDbEQsMkNBQXlEO0FBQ3pELHdEQUFnQztBQUVoQyxNQUFhLE1BQU8sU0FBUSxtQkFBUTtJQUdsQyxZQUFzQixLQUFnQixFQUFFLFdBQXVDO1FBQzdFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUViLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7UUFDeEUsQ0FBQztRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQWdCLEVBQUUsV0FBdUM7UUFDN0UsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELGtCQUFrQjtJQUNYLGFBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1gsUUFBUTtRQUNiLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxrQkFBa0I7SUFDWCxTQUFTO1FBQ2QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELGtCQUFrQjtJQUNYLFdBQVc7UUFDaEIsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsb0JBQW9CO0lBQ3BCLHNCQUFzQjtRQUNwQixPQUFPLHdCQUFhLENBQUMsR0FBRyxDQUFDO0lBQzNCLENBQUM7SUFFRCxvQkFBb0I7SUFDcEIsdUNBQXVDO1FBQ3JDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJ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QTdIRCx3QkE2SEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBdWRpdERlY3J5cHRlZEtleVBhcmFtcyxcbiAgQmFzZUNvaW4sXG4gIEJpdEdvQmFzZSxcbiAgS2V5UGFpcixcbiAgTVBDQWxnb3JpdGhtLFxuICBNdWx0aXNpZ1R5cGUsXG4gIG11bHRpc2lnVHlwZXMsXG4gIFBhcnNlZFRyYW5zYWN0aW9uLFxuICBQYXJzZVRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgU2lnbmVkVHJhbnNhY3Rpb24sXG4gIFNpZ25UcmFuc2FjdGlvbk9wdGlvbnMsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbiAgVHNzVmVyaWZ5QWRkcmVzc09wdGlvbnMsXG4gIFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgYXVkaXRFZGRzYVByaXZhdGVLZXkgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstbGliLW1wYyc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBTdGF0aWNzQmFzZUNvaW4sIGNvaW5zIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi9saWInO1xuaW1wb3J0IHsgS2V5UGFpciBhcyBDYW50b25LZXlQYWlyIH0gZnJvbSAnLi9saWIva2V5UGFpcic7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi9saWIvdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgQ2FudG9uIGV4dGVuZHMgQmFzZUNvaW4ge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3N0YXRpY3NDb2luOiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+O1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pIHtcbiAgICBzdXBlcihiaXRnbyk7XG5cbiAgICBpZiAoIXN0YXRpY3NDb2luKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgcmVxdWlyZWQgY29uc3RydWN0b3IgcGFyYW1ldGVyIHN0YXRpY3NDb2luJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fc3RhdGljc0NvaW4gPSBzdGF0aWNzQ29pbjtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVJbnN0YW5jZShiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pOiBCYXNlQ29pbiB7XG4gICAgcmV0dXJuIG5ldyBDYW50b24oYml0Z28sIHN0YXRpY3NDb2luKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgZ2V0QmFzZUZhY3RvcigpOiBudW1iZXIge1xuICAgIHJldHVybiAxZTEwO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBnZXRDaGFpbigpOiBzdHJpbmcge1xuICAgIHJldHVybiAnY2FudG9uJztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgZ2V0RmFtaWx5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdjYW50b24nO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBnZXRGdWxsTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnQ2FudG9uJztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBzdXBwb3J0c1RzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKiBpbmhlcml0ZWQgZG9jICovXG4gIGdldERlZmF1bHRNdWx0aXNpZ1R5cGUoKTogTXVsdGlzaWdUeXBlIHtcbiAgICByZXR1cm4gbXVsdGlzaWdUeXBlcy50c3M7XG4gIH1cblxuICAvKiogaW5oZXJpdGVkIGRvYyAqL1xuICByZXF1aXJlc1dhbGxldEluaXRpYWxpemF0aW9uVHJhbnNhY3Rpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBnZXRNUENBbGdvcml0aG0oKTogTVBDQWxnb3JpdGhtIHtcbiAgICByZXR1cm4gJ2VkZHNhJztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBhc3luYyB2ZXJpZnlUcmFuc2FjdGlvbihwYXJhbXM6IFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGNvaW5Db25maWcgPSBjb2lucy5nZXQodGhpcy5nZXRDaGFpbigpKTtcbiAgICAvLyBleHRyYWN0IGB0eFBhcmFtc2Agd2hlbiB2ZXJpZnlpbmcgb3RoZXIgdHJhbnNhY3Rpb24gdHlwZXNcbiAgICBjb25zdCB7IHR4UHJlYnVpbGQ6IHR4UHJlYnVpbGQgfSA9IHBhcmFtcztcbiAgICBjb25zdCByYXdUeCA9IHR4UHJlYnVpbGQudHhIZXg7XG4gICAgaWYgKCFyYXdUeCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHJlcXVpcmVkIHR4IHByZWJ1aWxkIHByb3BlcnR5IHR4SGV4Jyk7XG4gICAgfVxuICAgIGNvbnN0IHR4QnVpbGRlciA9IG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5KGNvaW5Db25maWcpLmZyb20ocmF3VHgpO1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gdHhCdWlsZGVyLnRyYW5zYWN0aW9uO1xuICAgIHN3aXRjaCAodHJhbnNhY3Rpb24udHlwZSkge1xuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuV2FsbGV0SW5pdGlhbGl6YXRpb246IHtcbiAgICAgICAgLy8gdGhlcmUgaXMgbm8gaW5wdXQgZm9yIHRoaXMgdHlwZSBvZiB0cmFuc2FjdGlvbiwgc28gYWx3YXlzIHJldHVybiB0cnVlXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHVua25vd24gdHJhbnNhY3Rpb24gdHlwZSwgJHt0cmFuc2FjdGlvbi50eXBlfWApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBpc1dhbGxldEFkZHJlc3MocGFyYW1zOiBUc3NWZXJpZnlBZGRyZXNzT3B0aW9ucyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwYXJzZVRyYW5zYWN0aW9uKHBhcmFtczogUGFyc2VUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFBhcnNlZFRyYW5zYWN0aW9uPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGdlbmVyYXRlS2V5UGFpcihzZWVkPzogQnVmZmVyKTogS2V5UGFpciB7XG4gICAgY29uc3Qga2V5UGFpciA9IHNlZWQgPyBuZXcgQ2FudG9uS2V5UGFpcih7IHNlZWQgfSkgOiBuZXcgQ2FudG9uS2V5UGFpcigpO1xuICAgIGNvbnN0IGtleXMgPSBrZXlQYWlyLmdldEtleXMoKTtcbiAgICBpZiAoIWtleXMucHJ2KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgcHJ2IGluIGtleSBnZW5lcmF0aW9uLicpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgcHViOiBrZXlzLnB1YixcbiAgICAgIHBydjoga2V5cy5wcnYsXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBpc1ZhbGlkUHViKHB1Yjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHV0aWxzLmlzVmFsaWRQdWJsaWNLZXkocHViKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAvLyBjYW50b24gYWRkcmVzc2VzIGFyZSBvZiB0aGUgZm9ybSwgcGFydHlIaW50OjpmaW5nZXJwcmludFxuICAgIC8vIHdoZXJlIHBhcnR5SGludCBpcyBvZiBsZW5ndGggNSBhbmQgZmluZ2VycHJpbnQgaXMgNjggY2hhcmFjdGVycyBsb25nXG4gICAgcmV0dXJuIHV0aWxzLmlzVmFsaWRBZGRyZXNzKGFkZHJlc3MpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHNpZ25UcmFuc2FjdGlvbihwYXJhbXM6IFNpZ25UcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFNpZ25lZFRyYW5zYWN0aW9uPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGF1ZGl0RGVjcnlwdGVkS2V5KHsgbXVsdGlTaWdUeXBlLCBwcnYsIHB1YmxpY0tleSB9OiBBdWRpdERlY3J5cHRlZEtleVBhcmFtcyk6IHZvaWQge1xuICAgIGlmIChtdWx0aVNpZ1R5cGUgIT09IG11bHRpc2lnVHlwZXMudHNzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIG11bHRpU2lnVHlwZScpO1xuICAgIH1cbiAgICBhdWRpdEVkZHNhUHJpdmF0ZUtleShwcnYsIHB1YmxpY0tleSA/PyAnJyk7XG4gIH1cbn1cbiJdfQ==
|
|
235
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NhbnRvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREF1QjhCO0FBQzlCLHlEQUErRDtBQUMvRCxpREFBeUU7QUFDekUsK0JBQWtEO0FBQ2xELDJDQUF5RDtBQUV6RCx3REFBZ0M7QUFVaEMsTUFBYSxNQUFPLFNBQVEsbUJBQVE7SUFHbEMsWUFBc0IsS0FBZ0IsRUFBRSxXQUF1QztRQUM3RSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFYixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFnQixFQUFFLFdBQXVDO1FBQzdFLE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTyxVQUFVO1FBQ2hCLE9BQU8sSUFBSSwrQkFBeUIsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELGtCQUFrQjtJQUNYLGFBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1gsUUFBUTtRQUNiLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxrQkFBa0I7SUFDWCxTQUFTO1FBQ2QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELGtCQUFrQjtJQUNYLFdBQVc7UUFDaEIsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsb0JBQW9CO0lBQ3BCLHNC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LFlBQVksRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUEyQjtRQUN6RSxJQUFJLFlBQVksS0FBSyx3QkFBYSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsSUFBQSxrQ0FBb0IsRUFBQyxHQUFHLEVBQUUsU0FBUyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsNkJBQTZCLENBQUMsTUFBdUIsRUFBRSxNQUE0QztRQUNqRyxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN2QixNQUFNLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDMUMsQ0FBQztRQUNELElBQUksTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzNCLE1BQU0sQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQztRQUNsRCxDQUFDO1FBQ0QsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEIsTUFBTSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUEzUEQsd0JBMlBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXVkaXREZWNyeXB0ZWRLZXlQYXJhbXMsXG4gIEJhc2VDb2luLFxuICBCaXRHb0Jhc2UsXG4gIEtleVBhaXIsXG4gIE1QQ0FsZ29yaXRobSxcbiAgTXVsdGlzaWdUeXBlLFxuICBtdWx0aXNpZ1R5cGVzLFxuICBQYXJzZWRUcmFuc2FjdGlvbixcbiAgUGFyc2VUcmFuc2FjdGlvbk9wdGlvbnMsXG4gIFNpZ25lZFRyYW5zYWN0aW9uLFxuICBTaWduVHJhbnNhY3Rpb25PcHRpb25zLFxuICBUcmFuc2FjdGlvblR5cGUsXG4gIFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiBhcyBCYXNlVHJhbnNhY3Rpb25FeHBsYW5hdGlvbixcbiAgQmFzZVRyYW5zYWN0aW9uLFxuICBQb3B1bGF0ZWRJbnRlbnQsXG4gIFByZWJ1aWxkVHJhbnNhY3Rpb25XaXRoSW50ZW50T3B0aW9ucyxcbiAgVHNzVmVyaWZ5QWRkcmVzc09wdGlvbnMsXG4gIEludmFsaWRBZGRyZXNzRXJyb3IsXG4gIGV4dHJhY3RDb21tb25LZXljaGFpbixcbiAgRUREU0FNZXRob2RzLFxuICBUb2tlbkVuYWJsZW1lbnRDb25maWcsXG59IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IGF1ZGl0RWRkc2FQcml2YXRlS2V5IH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWxpYi1tcGMnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgU3RhdGljc0Jhc2VDb2luLCBjb2lucyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4vbGliJztcbmltcG9ydCB7IEtleVBhaXIgYXMgQ2FudG9uS2V5UGFpciB9IGZyb20gJy4vbGliL2tleVBhaXInO1xuaW1wb3J0IHsgVHhEYXRhIH0gZnJvbSAnLi9saWIvaWZhY2UnO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vbGliL3V0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uRXhwbGFuYXRpb24ge1xuICB0eXBlOiBUcmFuc2FjdGlvblR5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXhwbGFpblRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIHR4SGV4OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBDYW50b24gZXh0ZW5kcyBCYXNlQ29pbiB7XG4gIHByb3RlY3RlZCByZWFkb25seSBfc3RhdGljc0NvaW46IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj47XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPikge1xuICAgIHN1cGVyKGJpdGdvKTtcblxuICAgIGlmICghc3RhdGljc0NvaW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIgc3RhdGljc0NvaW4nKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zdGF0aWNzQ29pbiA9IHN0YXRpY3NDb2luO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUluc3RhbmNlKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPik6IEJhc2VDb2luIHtcbiAgICByZXR1cm4gbmV3IENhbnRvbihiaXRnbywgc3RhdGljc0NvaW4pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRCdWlsZGVyKCk6IFRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeShjb2lucy5nZXQodGhpcy5nZXRDaGFpbigpKSk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGdldEJhc2VGYWN0b3IoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gMWUxMDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgZ2V0Q2hhaW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2NhbnRvbic7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGdldEZhbWlseSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnY2FudG9uJztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgZ2V0RnVsbE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ0NhbnRvbic7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgc3VwcG9ydHNUc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKiogaW5oZXJpdGVkIGRvYyAqL1xuICBnZXREZWZhdWx0TXVsdGlzaWdUeXBlKCk6IE11bHRpc2lnVHlwZSB7XG4gICAgcmV0dXJuIG11bHRpc2lnVHlwZXMudHNzO1xuICB9XG5cbiAgLyoqIGluaGVyaXRlZCBkb2MgKi9cbiAgcmVxdWlyZXNXYWxsZXRJbml0aWFsaXphdGlvblRyYW5zYWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgZ2V0TVBDQWxnb3JpdGhtKCk6IE1QQ0FsZ29yaXRobSB7XG4gICAgcmV0dXJuICdlZGRzYSc7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgYXN5bmMgdmVyaWZ5VHJhbnNhY3Rpb24ocGFyYW1zOiBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBjb2luQ29uZmlnID0gY29pbnMuZ2V0KHRoaXMuZ2V0Q2hhaW4oKSk7XG4gICAgY29uc3QgeyB0eFByZWJ1aWxkOiB0eFByZWJ1aWxkLCB0eFBhcmFtcyB9ID0gcGFyYW1zO1xuICAgIGNvbnN0IHJhd1R4ID0gdHhQcmVidWlsZC50eEhleDtcbiAgICBpZiAoIXJhd1R4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgcmVxdWlyZWQgdHggcHJlYnVpbGQgcHJvcGVydHkgdHhIZXgnKTtcbiAgICB9XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZykuZnJvbShyYXdUeCk7XG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSB0eEJ1aWxkZXIudHJhbnNhY3Rpb247XG4gICAgY29uc3QgZXhwbGFpbmVkVHggPSB0cmFuc2FjdGlvbi5leHBsYWluVHJhbnNhY3Rpb24oKTtcbiAgICBzd2l0Y2ggKHRyYW5zYWN0aW9uLnR5cGUpIHtcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLldhbGxldEluaXRpYWxpemF0aW9uOlxuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuVHJhbnNmZXJBY2NlcHQ6XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5UcmFuc2ZlclJlamVjdDpcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlRyYW5zZmVyQWNrbm93bGVkZ2U6XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5UcmFuc2Zlck9mZmVyV2l0aGRyYXduOlxuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuQ29zaWduRGVsZWdhdGlvbkFjY2VwdDpcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLkNvc2lnbkRlbGVnYXRpb25Qcm9wb3NhbDpcbiAgICAgICAgLy8gVGhlcmUgaXMgbm8gaW5wdXQgZm9yIHRoZXNlIHR5cGUgb2YgdHJhbnNhY3Rpb25zLCBzbyBhbHdheXMgcmV0dXJuIHRydWUuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuT25lU3RlcFByZUFwcHJvdmFsOlxuICAgICAgICAvLyBDYW50b24gaXMgYWx3YXlzIGEgVFNTIHdhbGxldC4gVGhlIFNESydzIGJ1aWxkVG9rZW5FbmFibGVtZW50cyBwYXNzZXMgZW5hYmxlVG9rZW5zXG4gICAgICAgIC8vIHRocm91Z2ggdW5jaGFuZ2VkIGZvciBUU1Mgd2FsbGV0cyAobm8gY29udmVyc2lvbiB0byByZWNpcGllbnRzKSwgc28gdHhQYXJhbXMuZW5hYmxlVG9rZW5zXG4gICAgICAgIC8vIGlzIHRoZSBvbmx5IHNvdXJjZSBvZiB1c2VyIGludGVudCBoZXJlLlxuICAgICAgICAvL1xuICAgICAgICAvLyBSZWNlaXZlciB2YWxpZGF0aW9uOiB0aGUgcmVjZWl2ZXIgb2YgYSBPbmVTdGVwUHJlQXBwcm92YWwgaXMgYWx3YXlzIHRoZSB3YWxsZXQncyByb290IGFkZHJlc3MuXG4gICAgICAgIC8vIFdlIHVzZSBlbmFibGVUb2tlbi5hZGRyZXNzIGlmIGV4cGxpY2l0bHkgcHJvdmlkZWQsIG90aGVyd2lzZSBmYWxsIGJhY2sgdG9cbiAgICAgICAgLy8gd2FsbGV0LmNvaW5TcGVjaWZpYygpLnJvb3RBZGRyZXNzICh0aGUgQ2FudG9uIHBhcnR5IElEIHN0b3JlZCBhdCB3YWxsZXQgY3JlYXRpb24gdGltZSkuXG4gICAgICAgIC8vIFRva2VuIG5hbWUgdmFsaWRhdGlvbjogY2hlY2tlZCB3aGVuIHRoZSB0b2tlbiBpcyByZXNvbHZhYmxlIGZyb20gc3RhdGljcy5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHR4UGFyYW1zLnR5cGUgPT09ICdlbmFibGV0b2tlbicgJiZcbiAgICAgICAgICB0eFBhcmFtcy5lbmFibGVUb2tlbnMgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIHR4UGFyYW1zLmVuYWJsZVRva2Vucy5sZW5ndGggPiAwXG4gICAgICAgICkge1xuICAgICAgICAgIGNvbnN0IHR4RGF0YSA9IHRyYW5zYWN0aW9uLnRvSnNvbigpIGFzIFR4RGF0YTtcbiAgICAgICAgICBjb25zdCBlbmFibGVUb2tlbiA9IHR4UGFyYW1zLmVuYWJsZVRva2Vuc1swXTtcbiAgICAgICAgICBjb25zdCB3YWxsZXRSb290QWRkcmVzcyA9IHBhcmFtcy53YWxsZXQ/LmNvaW5TcGVjaWZpYz8uKCk/LnJvb3RBZGRyZXNzO1xuICAgICAgICAgIGNvbnN0IGV4cGVjdGVkUmVjZWl2ZXIgPSBlbmFibGVUb2tlbi5hZGRyZXNzID8/IHdhbGxldFJvb3RBZGRyZXNzO1xuICAgICAgICAgIGlmIChleHBlY3RlZFJlY2VpdmVyKSB7XG4gICAgICAgICAgICAvLyBTdHJpcCA/bWVtb0lkIHN1ZmZpeCBpZiBwcmVzZW50IGluIHRoZSBzdG9yZWQgYWRkcmVzc1xuICAgICAgICAgICAgY29uc3QgW2V4cGVjdGVkUmVjZWl2ZXJCYXNlXSA9IGV4cGVjdGVkUmVjZWl2ZXIuc3BsaXQoJz9tZW1vSWQ9Jyk7XG4gICAgICAgICAgICBpZiAodHhEYXRhLnJlY2VpdmVyICE9PSBleHBlY3RlZFJlY2VpdmVyQmFzZSkge1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgYE9uZVN0ZXBQcmVBcHByb3ZhbCByZWNlaXZlciBtaXNtYXRjaDogZXhwZWN0ZWQgJyR7ZXhwZWN0ZWRSZWNlaXZlckJhc2V9JywgZ290ICcke3R4RGF0YS5yZWNlaXZlcn0nYFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodHhEYXRhLnRva2VuICE9PSB1bmRlZmluZWQgJiYgdHhEYXRhLnRva2VuICE9PSBlbmFibGVUb2tlbi5uYW1lKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgIGBPbmVTdGVwUHJlQXBwcm92YWwgdG9rZW4gbmFtZSBtaXNtYXRjaDogZXhwZWN0ZWQgJyR7ZW5hYmxlVG9rZW4ubmFtZX0nLCBnb3QgJyR7dHhEYXRhLnRva2VufSdgXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlNlbmQ6XG4gICAgICAgIGlmICh0eFBhcmFtcy5yZWNpcGllbnRzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBjb25zdCBmaWx0ZXJlZFJlY2lwaWVudHMgPSB0eFBhcmFtcy5yZWNpcGllbnRzPy5tYXAoKHJlY2lwaWVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBhZGRyZXNzLCBhbW91bnQsIHRva2VuTmFtZSB9ID0gcmVjaXBpZW50O1xuICAgICAgICAgICAgY29uc3QgW2FkZHJlc3NQYXJ0LCBtZW1vSWRdID0gYWRkcmVzcy5zcGxpdCgnP21lbW9JZD0nKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGFkZHJlc3M6IGFkZHJlc3NQYXJ0LFxuICAgICAgICAgICAgICBhbW91bnQsXG4gICAgICAgICAgICAgIC4uLihtZW1vSWQgJiYgeyBtZW1vOiBtZW1vSWQgfSksXG4gICAgICAgICAgICAgIC4uLih0b2tlbk5hbWUgJiYgeyB0b2tlbk5hbWUgfSksXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIGNvbnN0IGZpbHRlcmVkT3V0cHV0cyA9IGV4cGxhaW5lZFR4Lm91dHB1dHM/Lm1hcCgob3V0cHV0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IGFkZHJlc3MsIGFtb3VudCwgdG9rZW5OYW1lLCBtZW1vIH0gPSBvdXRwdXQ7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBhZGRyZXNzLFxuICAgICAgICAgICAgICBhbW91bnQsXG4gICAgICAgICAgICAgIC4uLihtZW1vICYmIHsgbWVtbyB9KSxcbiAgICAgICAgICAgICAgLi4uKHRva2VuTmFtZSAmJiB7IHRva2VuTmFtZSB9KSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGZpbHRlcmVkUmVjaXBpZW50cykgIT09IEpTT04uc3RyaW5naWZ5KGZpbHRlcmVkT3V0cHV0cykpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVHggb3V0cHV0cyBkbyBub3QgbWF0Y2ggd2l0aCBleHBlY3RlZCB0eFBhcmFtcyByZWNpcGllbnRzJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgZGVmYXVsdDoge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHVua25vd24gdHJhbnNhY3Rpb24gdHlwZSwgJHt0cmFuc2FjdGlvbi50eXBlfWApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBhc3luYyBpc1dhbGxldEFkZHJlc3MocGFyYW1zOiBUc3NWZXJpZnlBZGRyZXNzT3B0aW9ucyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIC8vIFRPRE86IHJlZmFjdG9yIHRoaXMgYW5kIHVzZSB0aGUgYHZlcmlmeUVkZHNhTWVtb0Jhc2VkV2FsbGV0QWRkcmVzc2Agb25jZSBwdWJsaXNoZWQgZnJvbSBzZGstY29yZVxuICAgIC8vIGh0dHBzOi8vYml0Z29pbmMuYXRsYXNzaWFuLm5ldC9icm93c2UvQ09JTi02MzQ3XG4gICAgY29uc3QgeyBrZXljaGFpbnMsIGFkZHJlc3M6IG5ld0FkZHJlc3MsIGluZGV4IH0gPSBwYXJhbXM7XG4gICAgY29uc3QgW2FkZHJlc3NQYXJ0LCBtZW1vSWRdID0gbmV3QWRkcmVzcy5zcGxpdCgnP21lbW9JZD0nKTtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZEFkZHJlc3MoYWRkcmVzc1BhcnQpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEFkZHJlc3NFcnJvcihgaW52YWxpZCBhZGRyZXNzOiAke25ld0FkZHJlc3N9YCk7XG4gICAgfVxuICAgIGlmIChtZW1vSWQgJiYgbWVtb0lkICE9PSBgJHtpbmRleH1gKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEFkZHJlc3NFcnJvcihgaW52YWxpZCBtZW1vSWQgaW5kZXg6ICR7bWVtb0lkfWApO1xuICAgIH1cbiAgICBjb25zdCBjb21tb25LZXljaGFpbiA9IGV4dHJhY3RDb21tb25LZXljaGFpbihrZXljaGFpbnMpO1xuICAgIGNvbnN0IE1QQyA9IGF3YWl0IEVERFNBTWV0aG9kcy5nZXRJbml0aWFsaXplZE1wY0luc3RhbmNlKCk7XG4gICAgY29uc3QgZGVyaXZhdGlvblBhdGggPSAnbS8wJztcbiAgICBjb25zdCBkZXJpdmVkUHVibGljS2V5ID0gTVBDLmRlcml2ZVVuaGFyZGVuZWQoY29tbW9uS2V5Y2hhaW4sIGRlcml2YXRpb25QYXRoKS5zbGljZSgwLCA2NCk7XG4gICAgY29uc3QgcHVibGljS2V5QmFzZTY0ID0gQnVmZmVyLmZyb20oZGVyaXZlZFB1YmxpY0tleSwgJ2hleCcpLnRvU3RyaW5nKCdiYXNlNjQnKTtcbiAgICBjb25zdCByb290QWRkcmVzc0ZpbmdlcnByaW50ID0gdXRpbHMuZ2V0QWRkcmVzc0Zyb21QdWJsaWNLZXkocHVibGljS2V5QmFzZTY0KTtcbiAgICBjb25zdCByb290QWRkcmVzcyA9IGAke3Jvb3RBZGRyZXNzRmluZ2VycHJpbnQuc2xpY2UoMCwgNSl9Ojoke3Jvb3RBZGRyZXNzRmluZ2VycHJpbnR9YDtcbiAgICByZXR1cm4gYWRkcmVzc1BhcnQgPT09IHJvb3RBZGRyZXNzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHBhcnNlVHJhbnNhY3Rpb24ocGFyYW1zOiBQYXJzZVRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8UGFyc2VkVHJhbnNhY3Rpb24+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgZ2VuZXJhdGVLZXlQYWlyKHNlZWQ/OiBCdWZmZXIpOiBLZXlQYWlyIHtcbiAgICBjb25zdCBrZXlQYWlyID0gc2VlZCA/IG5ldyBDYW50b25LZXlQYWlyKHsgc2VlZCB9KSA6IG5ldyBDYW50b25LZXlQYWlyKCk7XG4gICAgY29uc3Qga2V5cyA9IGtleVBhaXIuZ2V0S2V5cygpO1xuICAgIGlmICgha2V5cy5wcnYpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBwcnYgaW4ga2V5IGdlbmVyYXRpb24uJyk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBwdWI6IGtleXMucHViLFxuICAgICAgcHJ2OiBrZXlzLnBydixcbiAgICB9O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGV4cGxhaW5UcmFuc2FjdGlvbihwYXJhbXM6IEV4cGxhaW5UcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFRyYW5zYWN0aW9uRXhwbGFuYXRpb24+IHtcbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5nZXRCdWlsZGVyKCk7XG4gICAgbGV0IHJlYnVpbHRUcmFuc2FjdGlvbjogQmFzZVRyYW5zYWN0aW9uO1xuICAgIGNvbnN0IHR4UmF3ID0gcGFyYW1zLnR4SGV4O1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBmYWN0b3J5LmZyb20odHhSYXcpO1xuICAgICAgcmVidWlsdFRyYW5zYWN0aW9uID0gdHhCdWlsZGVyLnRyYW5zYWN0aW9uO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICByZXR1cm4gcmVidWlsdFRyYW5zYWN0aW9uLmV4cGxhaW5UcmFuc2FjdGlvbigpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGlzVmFsaWRQdWIocHViOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdXRpbHMuaXNWYWxpZFB1YmxpY0tleShwdWIpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGlzVmFsaWRBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIC8vIGNhbnRvbiBhZGRyZXNzZXMgYXJlIG9mIHRoZSBmb3JtLCBwYXJ0eUhpbnQ6OmZpbmdlcnByaW50XG4gICAgLy8gd2hlcmUgcGFydHlIaW50IGlzIG9mIGxlbmd0aCA1IGFuZCBmaW5nZXJwcmludCBpcyA2OCBjaGFyYWN0ZXJzIGxvbmdcbiAgICByZXR1cm4gdXRpbHMuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcyk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgZ2V0VG9rZW5FbmFibGVtZW50Q29uZmlnKCk6IFRva2VuRW5hYmxlbWVudENvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlcXVpcmVzVG9rZW5FbmFibGVtZW50OiB0cnVlLFxuICAgICAgc3VwcG9ydHNNdWx0aXBsZVRva2VuRW5hYmxlbWVudHM6IGZhbHNlLFxuICAgIH07XG4gIH1cblxuICBnZXRBZGRyZXNzRnJvbVB1YmxpY0tleShwdWJsaWNLZXlIZXg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcHVibGljS2V5QmFzZTY0ID0gQnVmZmVyLmZyb20ocHVibGljS2V5SGV4LCAnaGV4JykudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICAgIHJldHVybiB1dGlscy5nZXRBZGRyZXNzRnJvbVB1YmxpY0tleShwdWJsaWNLZXlCYXNlNjQpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHNpZ25UcmFuc2FjdGlvbihwYXJhbXM6IFNpZ25UcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFNpZ25lZFRyYW5zYWN0aW9uPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGF1ZGl0RGVjcnlwdGVkS2V5KHsgbXVsdGlTaWdUeXBlLCBwcnYsIHB1YmxpY0tleSB9OiBBdWRpdERlY3J5cHRlZEtleVBhcmFtcyk6IHZvaWQge1xuICAgIGlmIChtdWx0aVNpZ1R5cGUgIT09IG11bHRpc2lnVHlwZXMudHNzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIG11bHRpU2lnVHlwZScpO1xuICAgIH1cbiAgICBhdWRpdEVkZHNhUHJpdmF0ZUtleShwcnYsIHB1YmxpY0tleSA/PyAnJyk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgc2V0Q29pblNwZWNpZmljRmllbGRzSW5JbnRlbnQoaW50ZW50OiBQb3B1bGF0ZWRJbnRlbnQsIHBhcmFtczogUHJlYnVpbGRUcmFuc2FjdGlvbldpdGhJbnRlbnRPcHRpb25zKTogdm9pZCB7XG4gICAgaWYgKHBhcmFtcy50eFJlcXVlc3RJZCkge1xuICAgICAgaW50ZW50LnR4UmVxdWVzdElkID0gcGFyYW1zLnR4UmVxdWVzdElkO1xuICAgIH1cbiAgICBpZiAocGFyYW1zLnRyYW5zZmVyT2ZmZXJJZCkge1xuICAgICAgaW50ZW50LnRyYW5zZmVyT2ZmZXJJZCA9IHBhcmFtcy50cmFuc2Zlck9mZmVySWQ7XG4gICAgfVxuICAgIGlmIChwYXJhbXMudW5zcGVudHMpIHtcbiAgICAgIGludGVudC51bnNwZW50cyA9IHBhcmFtcy51bnNwZW50cztcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BitGoBase, CoinConstructor, NamedCoinConstructor } from '@bitgo-beta/sdk-core';
|
|
2
|
+
import { CantonTokenConfig } from '@bitgo-beta/statics';
|
|
3
|
+
import { Canton } from './canton';
|
|
4
|
+
export declare class CantonToken extends Canton {
|
|
5
|
+
readonly tokenConfig: CantonTokenConfig;
|
|
6
|
+
constructor(bitgo: BitGoBase, tokenConfig: CantonTokenConfig);
|
|
7
|
+
static createTokenConstructor(config: CantonTokenConfig): CoinConstructor;
|
|
8
|
+
static createTokenConstructors(tokenConfig?: CantonTokenConfig[]): NamedCoinConstructor[];
|
|
9
|
+
get name(): string;
|
|
10
|
+
get coin(): string;
|
|
11
|
+
get baseUrl(): string;
|
|
12
|
+
get contractAddress(): string;
|
|
13
|
+
get decimalPlaces(): number;
|
|
14
|
+
getChain(): string;
|
|
15
|
+
getBaseChain(): string;
|
|
16
|
+
getFullName(): string;
|
|
17
|
+
getBaseFactor(): number;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=cantonToken.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cantonToken.d.ts","sourceRoot":"","sources":["../../src/cantonToken.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAS,iBAAiB,EAAuB,MAAM,qBAAqB,CAAC;AAEpF,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,qBAAa,WAAY,SAAQ,MAAM;IACrC,SAAgB,WAAW,EAAE,iBAAiB,CAAC;gBAEnC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,iBAAiB;IAM5D,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,iBAAiB,GAAG,eAAe;IAIzE,MAAM,CAAC,uBAAuB,CAC5B,WAAW,GAAE,iBAAiB,EAAuE,GACpG,oBAAoB,EAAE;IASzB,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,QAAQ,IAAI,MAAM;IAIlB,YAAY,IAAI,MAAM;IAItB,WAAW,IAAI,MAAM;IAIrB,aAAa,IAAI,MAAM;CAGxB"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CantonToken = void 0;
|
|
4
|
+
const statics_1 = require("@bitgo-beta/statics");
|
|
5
|
+
const canton_1 = require("./canton");
|
|
6
|
+
class CantonToken extends canton_1.Canton {
|
|
7
|
+
constructor(bitgo, tokenConfig) {
|
|
8
|
+
const staticsCoin = tokenConfig.network === statics_1.NetworkType.MAINNET ? statics_1.coins.get('canton') : statics_1.coins.get('tcanton');
|
|
9
|
+
super(bitgo, staticsCoin);
|
|
10
|
+
this.tokenConfig = tokenConfig;
|
|
11
|
+
}
|
|
12
|
+
static createTokenConstructor(config) {
|
|
13
|
+
return (bitgo) => new CantonToken(bitgo, config);
|
|
14
|
+
}
|
|
15
|
+
static createTokenConstructors(tokenConfig = [...statics_1.tokens.bitcoin.canton.tokens, ...statics_1.tokens.testnet.canton.tokens]) {
|
|
16
|
+
const tokensCtors = [];
|
|
17
|
+
for (const token of tokenConfig) {
|
|
18
|
+
const tokenConstructor = CantonToken.createTokenConstructor(token);
|
|
19
|
+
tokensCtors.push({ name: token.type, coinConstructor: tokenConstructor });
|
|
20
|
+
}
|
|
21
|
+
return tokensCtors;
|
|
22
|
+
}
|
|
23
|
+
get name() {
|
|
24
|
+
return this.tokenConfig.name;
|
|
25
|
+
}
|
|
26
|
+
get coin() {
|
|
27
|
+
return this.tokenConfig.coin;
|
|
28
|
+
}
|
|
29
|
+
get baseUrl() {
|
|
30
|
+
return this.tokenConfig.baseUrl;
|
|
31
|
+
}
|
|
32
|
+
get contractAddress() {
|
|
33
|
+
return this.tokenConfig.contractAddress;
|
|
34
|
+
}
|
|
35
|
+
get decimalPlaces() {
|
|
36
|
+
return this.tokenConfig.decimalPlaces;
|
|
37
|
+
}
|
|
38
|
+
getChain() {
|
|
39
|
+
return this.tokenConfig.type;
|
|
40
|
+
}
|
|
41
|
+
getBaseChain() {
|
|
42
|
+
return this.coin;
|
|
43
|
+
}
|
|
44
|
+
getFullName() {
|
|
45
|
+
return 'Canton Token';
|
|
46
|
+
}
|
|
47
|
+
getBaseFactor() {
|
|
48
|
+
return Math.pow(10, this.tokenConfig.decimalPlaces);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.CantonToken = CantonToken;
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudG9uVG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2FudG9uVG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsaURBQW9GO0FBRXBGLHFDQUFrQztBQUVsQyxNQUFhLFdBQVksU0FBUSxlQUFNO0lBR3JDLFlBQVksS0FBZ0IsRUFBRSxXQUE4QjtRQUMxRCxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsT0FBTyxLQUFLLHFCQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdHLEtBQUssQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDakMsQ0FBQztJQUVELE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxNQUF5QjtRQUNyRCxPQUFPLENBQUMsS0FBZ0IsRUFBRSxFQUFFLENBQUMsSUFBSSxXQUFXLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxNQUFNLENBQUMsdUJBQXVCLENBQzVCLGNBQW1DLENBQUMsR0FBRyxnQkFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsZ0JBQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUVyRyxNQUFNLFdBQVcsR0FBMkIsRUFBRSxDQUFDO1FBQy9DLEtBQUssTUFBTSxLQUFLLElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEMsTUFBTSxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkUsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFDNUUsQ0FBQztRQUNELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztJQUN4QyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFDL0IsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0Y7QUEzREQsa0NBMkRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQml0R29CYXNlLCBDb2luQ29uc3RydWN0b3IsIE5hbWVkQ29pbkNvbnN0cnVjdG9yIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgY29pbnMsIENhbnRvblRva2VuQ29uZmlnLCBOZXR3b3JrVHlwZSwgdG9rZW5zIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5cbmltcG9ydCB7IENhbnRvbiB9IGZyb20gJy4vY2FudG9uJztcblxuZXhwb3J0IGNsYXNzIENhbnRvblRva2VuIGV4dGVuZHMgQ2FudG9uIHtcbiAgcHVibGljIHJlYWRvbmx5IHRva2VuQ29uZmlnOiBDYW50b25Ub2tlbkNvbmZpZztcblxuICBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCB0b2tlbkNvbmZpZzogQ2FudG9uVG9rZW5Db25maWcpIHtcbiAgICBjb25zdCBzdGF0aWNzQ29pbiA9IHRva2VuQ29uZmlnLm5ldHdvcmsgPT09IE5ldHdvcmtUeXBlLk1BSU5ORVQgPyBjb2lucy5nZXQoJ2NhbnRvbicpIDogY29pbnMuZ2V0KCd0Y2FudG9uJyk7XG4gICAgc3VwZXIoYml0Z28sIHN0YXRpY3NDb2luKTtcbiAgICB0aGlzLnRva2VuQ29uZmlnID0gdG9rZW5Db25maWc7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcihjb25maWc6IENhbnRvblRva2VuQ29uZmlnKTogQ29pbkNvbnN0cnVjdG9yIHtcbiAgICByZXR1cm4gKGJpdGdvOiBCaXRHb0Jhc2UpID0+IG5ldyBDYW50b25Ub2tlbihiaXRnbywgY29uZmlnKTtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVUb2tlbkNvbnN0cnVjdG9ycyhcbiAgICB0b2tlbkNvbmZpZzogQ2FudG9uVG9rZW5Db25maWdbXSA9IFsuLi50b2tlbnMuYml0Y29pbi5jYW50b24udG9rZW5zLCAuLi50b2tlbnMudGVzdG5ldC5jYW50b24udG9rZW5zXVxuICApOiBOYW1lZENvaW5Db25zdHJ1Y3RvcltdIHtcbiAgICBjb25zdCB0b2tlbnNDdG9yczogTmFtZWRDb2luQ29uc3RydWN0b3JbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgdG9rZW4gb2YgdG9rZW5Db25maWcpIHtcbiAgICAgIGNvbnN0IHRva2VuQ29uc3RydWN0b3IgPSBDYW50b25Ub2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuKTtcbiAgICAgIHRva2Vuc0N0b3JzLnB1c2goeyBuYW1lOiB0b2tlbi50eXBlLCBjb2luQ29uc3RydWN0b3I6IHRva2VuQ29uc3RydWN0b3IgfSk7XG4gICAgfVxuICAgIHJldHVybiB0b2tlbnNDdG9ycztcbiAgfVxuXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5Db25maWcubmFtZTtcbiAgfVxuXG4gIGdldCBjb2luKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5Db25maWcuY29pbjtcbiAgfVxuXG4gIGdldCBiYXNlVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5Db25maWcuYmFzZVVybDtcbiAgfVxuXG4gIGdldCBjb250cmFjdEFkZHJlc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbkNvbmZpZy5jb250cmFjdEFkZHJlc3M7XG4gIH1cblxuICBnZXQgZGVjaW1hbFBsYWNlcygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnRva2VuQ29uZmlnLmRlY2ltYWxQbGFjZXM7XG4gIH1cblxuICBnZXRDaGFpbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRva2VuQ29uZmlnLnR5cGU7XG4gIH1cblxuICBnZXRCYXNlQ2hhaW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jb2luO1xuICB9XG5cbiAgZ2V0RnVsbE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ0NhbnRvbiBUb2tlbic7XG4gIH1cblxuICBnZXRCYXNlRmFjdG9yKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgucG93KDEwLCB0aGlzLnRva2VuQ29uZmlnLmRlY2ltYWxQbGFjZXMpO1xuICB9XG59XG4iXX0=
|
package/dist/src/index.d.ts
CHANGED
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -17,4 +17,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./lib"), exports);
|
|
18
18
|
__exportStar(require("./canton"), exports);
|
|
19
19
|
__exportStar(require("./tcanton"), exports);
|
|
20
|
-
|
|
20
|
+
__exportStar(require("./register"), exports);
|
|
21
|
+
__exportStar(require("./cantonToken"), exports);
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdDQUFzQjtBQUN0QiwyQ0FBeUI7QUFDekIsNENBQTBCO0FBQzFCLDZDQUEyQjtBQUMzQixnREFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYic7XG5leHBvcnQgKiBmcm9tICcuL2NhbnRvbic7XG5leHBvcnQgKiBmcm9tICcuL3RjYW50b24nO1xuZXhwb3J0ICogZnJvbSAnLi9yZWdpc3Rlcic7XG5leHBvcnQgKiBmcm9tICcuL2NhbnRvblRva2VuJztcbiJdfQ==
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { PublicKey, TransactionType } from '@bitgo-beta/sdk-core';
|
|
2
|
+
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
3
|
+
import { TransactionBuilder } from './transactionBuilder';
|
|
4
|
+
import { Transaction } from './transaction/transaction';
|
|
5
|
+
import { CantonAllocationAllocateRequest, CantonPrepareCommandResponse } from './iface';
|
|
6
|
+
export declare class AllocationAllocateBuilder extends TransactionBuilder {
|
|
7
|
+
private _commandId;
|
|
8
|
+
private _amount;
|
|
9
|
+
private _token;
|
|
10
|
+
private _operatorId;
|
|
11
|
+
private _contractId;
|
|
12
|
+
private _tradeId;
|
|
13
|
+
private _transferLegId;
|
|
14
|
+
private _allocateBefore;
|
|
15
|
+
private _settleBefore;
|
|
16
|
+
private _receiverPartyId;
|
|
17
|
+
private _senderPartyId;
|
|
18
|
+
private _comment?;
|
|
19
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
20
|
+
initBuilder(tx: Transaction): void;
|
|
21
|
+
get transactionType(): TransactionType;
|
|
22
|
+
setTransactionType(): void;
|
|
23
|
+
setTransaction(transaction: CantonPrepareCommandResponse): void;
|
|
24
|
+
/** @inheritDoc */
|
|
25
|
+
addSignature(publicKey: PublicKey, signature: Buffer): void;
|
|
26
|
+
/**
|
|
27
|
+
* Sets the unique command id for the allocation
|
|
28
|
+
* Also sets the _id of the transaction
|
|
29
|
+
*
|
|
30
|
+
* @param id - A uuid
|
|
31
|
+
* @returns The current builder instance for chaining.
|
|
32
|
+
* @throws Error if id is empty.
|
|
33
|
+
*/
|
|
34
|
+
commandId(id: string): this;
|
|
35
|
+
/**
|
|
36
|
+
* Sets the allocation amount
|
|
37
|
+
* @param amount - allocation amount
|
|
38
|
+
* @returns The current builder instance for chaining.
|
|
39
|
+
* @throws Error if amount is not positive
|
|
40
|
+
*/
|
|
41
|
+
amount(amount: number): this;
|
|
42
|
+
/**
|
|
43
|
+
* Sets the token for the allocation
|
|
44
|
+
* @param token - token identifier
|
|
45
|
+
* @returns The current builder instance for chaining.
|
|
46
|
+
* @throws Error if token is empty.
|
|
47
|
+
*/
|
|
48
|
+
token(token: string): this;
|
|
49
|
+
/**
|
|
50
|
+
* Sets the operator party id
|
|
51
|
+
* @param id - operator party id
|
|
52
|
+
* @returns The current builder instance for chaining.
|
|
53
|
+
* @throws Error if id is empty.
|
|
54
|
+
*/
|
|
55
|
+
operatorId(id: string): this;
|
|
56
|
+
/**
|
|
57
|
+
* Sets the contract id
|
|
58
|
+
* @param id - canton contract id
|
|
59
|
+
* @returns The current builder instance for chaining.
|
|
60
|
+
* @throws Error if id is empty.
|
|
61
|
+
*/
|
|
62
|
+
contractId(id: string): this;
|
|
63
|
+
/**
|
|
64
|
+
* Sets the trade id
|
|
65
|
+
* @param id - trade id
|
|
66
|
+
* @returns The current builder instance for chaining.
|
|
67
|
+
* @throws Error if id is empty.
|
|
68
|
+
*/
|
|
69
|
+
tradeId(id: string): this;
|
|
70
|
+
/**
|
|
71
|
+
* Sets the transfer leg id (e.g. `${tradeId}-security-leg` or `${tradeId}-cash-leg`)
|
|
72
|
+
* @param id - transfer leg id
|
|
73
|
+
* @returns The current builder instance for chaining.
|
|
74
|
+
* @throws Error if id is empty.
|
|
75
|
+
*/
|
|
76
|
+
transferLegId(id: string): this;
|
|
77
|
+
/**
|
|
78
|
+
* Sets the allocate-before deadline (ISO 8601)
|
|
79
|
+
* @param deadline - allocation deadline
|
|
80
|
+
* @returns The current builder instance for chaining.
|
|
81
|
+
* @throws Error if deadline is empty.
|
|
82
|
+
*/
|
|
83
|
+
allocateBefore(deadline: string): this;
|
|
84
|
+
/**
|
|
85
|
+
* Sets the settle-before deadline (ISO 8601)
|
|
86
|
+
* @param deadline - settlement deadline
|
|
87
|
+
* @returns The current builder instance for chaining.
|
|
88
|
+
* @throws Error if deadline is empty.
|
|
89
|
+
*/
|
|
90
|
+
settleBefore(deadline: string): this;
|
|
91
|
+
/**
|
|
92
|
+
* Sets the sender party id
|
|
93
|
+
* @param id - sender party id
|
|
94
|
+
* @returns The current builder instance for chaining.
|
|
95
|
+
* @throws Error if id is empty.
|
|
96
|
+
*/
|
|
97
|
+
senderPartyId(id: string): this;
|
|
98
|
+
/**
|
|
99
|
+
* Sets the receiver party id
|
|
100
|
+
* @param id - receiver party id
|
|
101
|
+
* @returns The current builder instance for chaining.
|
|
102
|
+
* @throws Error if id is empty.
|
|
103
|
+
*/
|
|
104
|
+
receiverPartyId(id: string): this;
|
|
105
|
+
/**
|
|
106
|
+
* Sets the optional comment
|
|
107
|
+
* @param comment - free-form comment
|
|
108
|
+
* @returns The current builder instance for chaining.
|
|
109
|
+
*/
|
|
110
|
+
comment(comment: string): this;
|
|
111
|
+
/**
|
|
112
|
+
* Builds and returns the CantonAllocationAllocateRequest object from the builder's internal state.
|
|
113
|
+
*
|
|
114
|
+
* @returns {CantonAllocationAllocateRequest} - A fully constructed and validated request object.
|
|
115
|
+
* @throws {Error} If any required field is missing or fails validation.
|
|
116
|
+
*/
|
|
117
|
+
toRequestObject(): CantonAllocationAllocateRequest;
|
|
118
|
+
/**
|
|
119
|
+
* Validates the internal state of the builder before building the request object.
|
|
120
|
+
*
|
|
121
|
+
* @private
|
|
122
|
+
* @throws {Error} If any required field is missing.
|
|
123
|
+
*/
|
|
124
|
+
private validate;
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=allocationAllocateBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"allocationAllocateBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/allocationAllocateBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,SAAS,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,+BAA+B,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAGxF,qBAAa,yBAA0B,SAAQ,kBAAkB;IAC/D,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,CAAS;gBAEd,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAKlC,IAAI,eAAe,IAAI,eAAe,CAErC;IAED,kBAAkB,IAAI,IAAI;IAI1B,cAAc,CAAC,WAAW,EAAE,4BAA4B,GAAG,IAAI;IAI/D,kBAAkB;IAClB,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAU3D;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAS3B;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQ5B;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ1B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQ5B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQ5B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQzB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQ/B;;;;;OAKG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQtC;;;;;OAKG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQpC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQ/B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQjC;;;;OAIG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK9B;;;;;OAKG;IACH,eAAe,IAAI,+BAA+B;IAqBlD;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;CAajB"}
|