@bitgo-beta/sdk-coin-vet 1.0.1-beta.501 → 1.0.1-beta.502

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.
@@ -27,7 +27,6 @@ export interface VetTransactionData {
27
27
  nftTokenId?: number;
28
28
  autorenew?: boolean;
29
29
  nftCollectionId?: string;
30
- claimRewardsData?: ClaimRewardsData;
31
30
  validatorAddress?: string;
32
31
  }
33
32
  export interface VetTransactionExplanation extends BaseTransactionExplanation {
@@ -1 +1 @@
1
- {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,IAAI,0BAA0B,EACpD,eAAe,IAAI,oBAAoB,EACvC,oBAAoB,EACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,yBAA0B,SAAQ,0BAA0B;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC"}
1
+ {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,IAAI,0BAA0B,EACpD,eAAe,IAAI,oBAAoB,EACvC,oBAAoB,EACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,yBAA0B,SAAQ,0BAA0B;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGFzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLFxuICBUcmFuc2FjdGlvblR5cGUgYXMgQml0R29UcmFuc2FjdGlvblR5cGUsXG4gIFRyYW5zYWN0aW9uUmVjaXBpZW50LFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBDbGFpbVJld2FyZHNEYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogVGhlIHRyYW5zYWN0aW9uIGRhdGEgcmV0dXJuZWQgZnJvbSB0aGUgdG9Kc29uKCkgZnVuY3Rpb24gb2YgYSB0cmFuc2FjdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZldFRyYW5zYWN0aW9uRGF0YSB7XG4gIGlkOiBzdHJpbmc7XG4gIGNoYWluVGFnOiBudW1iZXI7XG4gIGJsb2NrUmVmOiBzdHJpbmc7XG4gIGV4cGlyYXRpb246IG51bWJlcjtcbiAgZ2FzUHJpY2VDb2VmOiBudW1iZXI7XG4gIGdhczogbnVtYmVyO1xuICBkZXBlbmRzT246IHN0cmluZyB8IG51bGw7XG4gIG5vbmNlOiBzdHJpbmc7XG4gIHNlbmRlcj86IHN0cmluZztcbiAgZmVlUGF5ZXI/OiBzdHJpbmc7XG4gIHJlY2lwaWVudHM/OiBUcmFuc2FjdGlvblJlY2lwaWVudFtdO1xuICBkYXRhPzogc3RyaW5nO1xuICB2YWx1ZT86IHN0cmluZztcbiAgZGVwbG95ZWRBZGRyZXNzPzogc3RyaW5nO1xuICB0bz86IHN0cmluZztcbiAgdG9rZW5BZGRyZXNzPzogc3RyaW5nO1xuICB0b2tlbklkPzogc3RyaW5nOyAvLyBBZGRlZCBmb3IgdW5zdGFraW5nIGFuZCBidXJuIE5GVCB0cmFuc2FjdGlvbnNcbiAgc3Rha2luZ0NvbnRyYWN0QWRkcmVzcz86IHN0cmluZztcbiAgYW1vdW50VG9TdGFrZT86IHN0cmluZztcbiAgbGV2ZWxJZD86IG51bWJlcjsgLy8gTkZUIHRpZXIgbGV2ZWxcbiAgbmZ0VG9rZW5JZD86IG51bWJlcjsgLy8gVXNlZCBhcyB0aWVyIGxldmVsIChsZXZlbElkKSBmb3Igc3Rha2VBbmREZWxlZ2F0ZSBtZXRob2QgKG5vdCB0aGUgYWN0dWFsIE5GVCB0b2tlbiBJRClcbiAgYXV0b3JlbmV3PzogYm9vbGVhbjsgLy8gQXV0b3JlbmV3IGZsYWcgZm9yIHN0YWtlQW5kRGVsZWdhdGUgbWV0aG9kXG4gIG5mdENvbGxlY3Rpb25JZD86IHN0cmluZztcbiAgY2xhaW1SZXdhcmRzRGF0YT86IENsYWltUmV3YXJkc0RhdGE7XG4gIHZhbGlkYXRvckFkZHJlc3M/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmV0VHJhbnNhY3Rpb25FeHBsYW5hdGlvbiBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgc2VuZGVyPzogc3RyaW5nO1xuICB0eXBlPzogQml0R29UcmFuc2FjdGlvblR5cGU7XG4gIGNsYWltUmV3YXJkc0RhdGE/OiBDbGFpbVJld2FyZHNEYXRhO1xufVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGFzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLFxuICBUcmFuc2FjdGlvblR5cGUgYXMgQml0R29UcmFuc2FjdGlvblR5cGUsXG4gIFRyYW5zYWN0aW9uUmVjaXBpZW50LFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBDbGFpbVJld2FyZHNEYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogVGhlIHRyYW5zYWN0aW9uIGRhdGEgcmV0dXJuZWQgZnJvbSB0aGUgdG9Kc29uKCkgZnVuY3Rpb24gb2YgYSB0cmFuc2FjdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZldFRyYW5zYWN0aW9uRGF0YSB7XG4gIGlkOiBzdHJpbmc7XG4gIGNoYWluVGFnOiBudW1iZXI7XG4gIGJsb2NrUmVmOiBzdHJpbmc7XG4gIGV4cGlyYXRpb246IG51bWJlcjtcbiAgZ2FzUHJpY2VDb2VmOiBudW1iZXI7XG4gIGdhczogbnVtYmVyO1xuICBkZXBlbmRzT246IHN0cmluZyB8IG51bGw7XG4gIG5vbmNlOiBzdHJpbmc7XG4gIHNlbmRlcj86IHN0cmluZztcbiAgZmVlUGF5ZXI/OiBzdHJpbmc7XG4gIHJlY2lwaWVudHM/OiBUcmFuc2FjdGlvblJlY2lwaWVudFtdO1xuICBkYXRhPzogc3RyaW5nO1xuICB2YWx1ZT86IHN0cmluZztcbiAgZGVwbG95ZWRBZGRyZXNzPzogc3RyaW5nO1xuICB0bz86IHN0cmluZztcbiAgdG9rZW5BZGRyZXNzPzogc3RyaW5nO1xuICB0b2tlbklkPzogc3RyaW5nOyAvLyBBZGRlZCBmb3IgdW5zdGFraW5nIGFuZCBidXJuIE5GVCB0cmFuc2FjdGlvbnNcbiAgc3Rha2luZ0NvbnRyYWN0QWRkcmVzcz86IHN0cmluZztcbiAgYW1vdW50VG9TdGFrZT86IHN0cmluZztcbiAgbGV2ZWxJZD86IG51bWJlcjsgLy8gTkZUIHRpZXIgbGV2ZWxcbiAgbmZ0VG9rZW5JZD86IG51bWJlcjsgLy8gVXNlZCBhcyB0aWVyIGxldmVsIChsZXZlbElkKSBmb3Igc3Rha2VBbmREZWxlZ2F0ZSBtZXRob2QgKG5vdCB0aGUgYWN0dWFsIE5GVCB0b2tlbiBJRClcbiAgYXV0b3JlbmV3PzogYm9vbGVhbjsgLy8gQXV0b3JlbmV3IGZsYWcgZm9yIHN0YWtlQW5kRGVsZWdhdGUgbWV0aG9kXG4gIG5mdENvbGxlY3Rpb25JZD86IHN0cmluZztcbiAgdmFsaWRhdG9yQWRkcmVzcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWZXRUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uRXhwbGFuYXRpb24ge1xuICBzZW5kZXI/OiBzdHJpbmc7XG4gIHR5cGU/OiBCaXRHb1RyYW5zYWN0aW9uVHlwZTtcbiAgY2xhaW1SZXdhcmRzRGF0YT86IENsYWltUmV3YXJkc0RhdGE7XG59XG4iXX0=
@@ -3,12 +3,14 @@ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
3
  import { Transaction as VetTransaction, TransactionClause } from '@vechain/sdk-core';
4
4
  import { Transaction } from './transaction';
5
5
  import { VetTransactionData } from '../iface';
6
- import { ClaimRewardsData } from '../types';
7
6
  export declare class ClaimRewardsTransaction extends Transaction {
8
- private _claimRewardsData;
7
+ private _stakingContractAddress;
8
+ private _tokenId;
9
9
  constructor(_coinConfig: Readonly<CoinConfig>);
10
- get claimRewardsData(): ClaimRewardsData;
11
- set claimRewardsData(data: ClaimRewardsData);
10
+ get stakingContractAddress(): string;
11
+ set stakingContractAddress(address: string);
12
+ get tokenId(): string;
13
+ set tokenId(tokenId: string);
12
14
  /** @inheritdoc */
13
15
  build(): Promise<void>;
14
16
  get clauses(): TransactionClause[];
@@ -17,14 +19,6 @@ export declare class ClaimRewardsTransaction extends Transaction {
17
19
  set recipients(recipients: TransactionRecipient[]);
18
20
  /** @inheritdoc */
19
21
  buildClauses(): void;
20
- /**
21
- * Build clause for claiming base rewards (claimVetGeneratedVtho)
22
- */
23
- private buildClaimBaseRewardsClause;
24
- /**
25
- * Build clause for claiming staking rewards (claimRewards)
26
- */
27
- private buildClaimStakingRewardsClause;
28
22
  /**
29
23
  * Encode the claim rewards method call data
30
24
  */
@@ -33,9 +27,5 @@ export declare class ClaimRewardsTransaction extends Transaction {
33
27
  toJson(): VetTransactionData;
34
28
  /** @inheritdoc */
35
29
  fromDeserializedSignedTransaction(signedTx: VetTransaction): void;
36
- /**
37
- * Parse claim rewards data from transaction clauses
38
- */
39
- private parseClaimRewardsDataFromClauses;
40
30
  }
41
31
  //# sourceMappingURL=claimRewards.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"claimRewards.d.ts","sourceRoot":"","sources":["../../../../src/lib/transaction/claimRewards.ts"],"names":[],"mappings":"AAEA,OAAO,EAA4C,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,WAAW,IAAI,cAAc,EAAa,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAI5C,qBAAa,uBAAwB,SAAQ,WAAW;IACtD,OAAO,CAAC,iBAAiB,CAAmB;gBAEhC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,IAAI,gBAAgB,IAAI,gBAAgB,CAEvC;IAED,IAAI,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,EAE1C;IAED,kBAAkB;IACZ,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B,IAAI,OAAO,IAAI,iBAAiB,EAAE,CAEjC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAEvC;IAED,IAAI,UAAU,IAAI,oBAAoB,EAAE,CAEvC;IAED,IAAI,UAAU,CAAC,UAAU,EAAE,oBAAoB,EAAE,EAEhD;IAED,kBAAkB;IAClB,YAAY,IAAI,IAAI;IA6BpB;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAUnC;;OAEG;IACH,OAAO,CAAC,8BAA8B;IAUtC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAWhC,kBAAkB;IAClB,MAAM,IAAI,kBAAkB;IAkB5B,kBAAkB;IAClB,iCAAiC,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IA+CjE;;OAEG;IACH,OAAO,CAAC,gCAAgC;CAmDzC"}
1
+ {"version":3,"file":"claimRewards.d.ts","sourceRoot":"","sources":["../../../../src/lib/transaction/claimRewards.ts"],"names":[],"mappings":"AAEA,OAAO,EAA4C,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,WAAW,IAAI,cAAc,EAAa,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAI9C,qBAAa,uBAAwB,SAAQ,WAAW;IACtD,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAS;gBAEb,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,IAAI,sBAAsB,IAAI,MAAM,CAEnC;IAED,IAAI,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAEzC;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,MAAM,EAE1B;IAED,kBAAkB;IACZ,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B,IAAI,OAAO,IAAI,iBAAiB,EAAE,CAEjC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAEvC;IAED,IAAI,UAAU,IAAI,oBAAoB,EAAE,CAEvC;IAED,IAAI,UAAU,CAAC,UAAU,EAAE,oBAAoB,EAAE,EAEhD;IAED,kBAAkB;IAClB,YAAY,IAAI,IAAI;IA2BpB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAWhC,kBAAkB;IAClB,MAAM,IAAI,kBAAkB;IAmB5B,kBAAkB;IAClB,iCAAiC,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;CAoDlE"}
@@ -16,11 +16,17 @@ class ClaimRewardsTransaction extends transaction_1.Transaction {
16
16
  super(_coinConfig);
17
17
  this._type = sdk_core_1.TransactionType.StakingClaim;
18
18
  }
19
- get claimRewardsData() {
20
- return this._claimRewardsData;
19
+ get stakingContractAddress() {
20
+ return this._stakingContractAddress;
21
21
  }
22
- set claimRewardsData(data) {
23
- this._claimRewardsData = data;
22
+ set stakingContractAddress(address) {
23
+ this._stakingContractAddress = address;
24
+ }
25
+ get tokenId() {
26
+ return this._tokenId;
27
+ }
28
+ set tokenId(tokenId) {
29
+ this._tokenId = tokenId;
24
30
  }
25
31
  /** @inheritdoc */
26
32
  async build() {
@@ -43,54 +49,31 @@ class ClaimRewardsTransaction extends transaction_1.Transaction {
43
49
  }
44
50
  /** @inheritdoc */
45
51
  buildClauses() {
46
- if (!this._claimRewardsData) {
47
- throw new sdk_core_1.InvalidTransactionError('Missing claim rewards data');
48
- }
49
- const clauses = [];
50
- // Add clause for claiming base rewards if requested
51
- const shouldClaimBaseRewards = this.claimRewardsData.claimBaseRewards !== false; // Default true
52
- if (shouldClaimBaseRewards) {
53
- clauses.push(this.buildClaimBaseRewardsClause());
54
- }
55
- // Add clause for claiming staking rewards if requested
56
- const shouldClaimStakingRewards = this.claimRewardsData.claimStakingRewards !== false; // Default true
57
- if (shouldClaimStakingRewards) {
58
- clauses.push(this.buildClaimStakingRewardsClause());
52
+ if (!this.stakingContractAddress) {
53
+ throw new Error('Staking contract address is not set');
59
54
  }
60
- if (clauses.length === 0) {
61
- throw new sdk_core_1.InvalidTransactionError('At least one type of rewards must be claimed');
55
+ utils_1.default.validateStakingContractAddress(this.stakingContractAddress, this._coinConfig);
56
+ if (this.tokenId === undefined || this.tokenId === null) {
57
+ throw new Error('Token ID is not set');
62
58
  }
63
- this.clauses = clauses;
59
+ const data = this.encodeClaimRewardsMethod(this.tokenId);
60
+ this._transactionData = data;
61
+ // Create the clause for claim rewards
62
+ this._clauses = [
63
+ {
64
+ to: this.stakingContractAddress,
65
+ value: '0x0',
66
+ data: this._transactionData,
67
+ },
68
+ ];
64
69
  // Set recipients as empty since claim rewards doesn't send value
65
70
  this.recipients = [];
66
71
  }
67
- /**
68
- * Build clause for claiming base rewards (claimVetGeneratedVtho)
69
- */
70
- buildClaimBaseRewardsClause() {
71
- const methodData = this.encodeClaimRewardsMethod(constants_1.CLAIM_BASE_REWARDS_METHOD_ID, this._claimRewardsData.tokenId);
72
- return {
73
- to: utils_1.default.getDefaultStakingAddress(this._coinConfig),
74
- value: '0x0',
75
- data: methodData,
76
- };
77
- }
78
- /**
79
- * Build clause for claiming staking rewards (claimRewards)
80
- */
81
- buildClaimStakingRewardsClause() {
82
- const methodData = this.encodeClaimRewardsMethod(constants_1.CLAIM_STAKING_REWARDS_METHOD_ID, this._claimRewardsData.tokenId);
83
- return {
84
- to: utils_1.default.getDefaultDelegationAddress(this._coinConfig),
85
- value: '0x0',
86
- data: methodData,
87
- };
88
- }
89
72
  /**
90
73
  * Encode the claim rewards method call data
91
74
  */
92
- encodeClaimRewardsMethod(methodId, tokenId) {
93
- const methodName = methodId === constants_1.CLAIM_BASE_REWARDS_METHOD_ID ? 'claimVetGeneratedVtho' : 'claimRewards';
75
+ encodeClaimRewardsMethod(tokenId) {
76
+ const methodName = 'claimRewards';
94
77
  const types = ['uint256'];
95
78
  const params = [tokenId];
96
79
  const method = ethereumjs_abi_1.default.methodID(methodName, types);
@@ -111,7 +94,8 @@ class ClaimRewardsTransaction extends transaction_1.Transaction {
111
94
  sender: this.sender,
112
95
  feePayer: this.feePayerAddress,
113
96
  recipients: this.recipients,
114
- claimRewardsData: this._claimRewardsData,
97
+ tokenId: this.tokenId,
98
+ stakingContractAddress: this.stakingContractAddress,
115
99
  };
116
100
  return json;
117
101
  }
@@ -133,8 +117,14 @@ class ClaimRewardsTransaction extends transaction_1.Transaction {
133
117
  this.gas = typeof body.gas === 'number' ? body.gas : Number(body.gas) || 0;
134
118
  this.dependsOn = body.dependsOn || null;
135
119
  this.nonce = String(body.nonce);
136
- // Parse claim rewards data from clauses
137
- this.parseClaimRewardsDataFromClauses(body.clauses);
120
+ if (body.clauses.length === 1) {
121
+ const clause = body.clauses[0];
122
+ if (clause.data && clause.data.startsWith(constants_1.CLAIM_STAKING_REWARDS_METHOD_ID)) {
123
+ // claimRewards should go to STARGATE_DELEGATION_ADDRESS
124
+ this.tokenId = utils_1.default.decodeClaimRewardsData(clause.data);
125
+ this.stakingContractAddress = clause.to || '0x0';
126
+ }
127
+ }
138
128
  // Set recipients as empty for claim rewards
139
129
  this.recipients = [];
140
130
  this.loadInputsAndOutputs();
@@ -156,55 +146,6 @@ class ClaimRewardsTransaction extends transaction_1.Transaction {
156
146
  throw new sdk_core_1.InvalidTransactionError(`Failed to deserialize transaction: ${e.message}`);
157
147
  }
158
148
  }
159
- /**
160
- * Parse claim rewards data from transaction clauses
161
- */
162
- parseClaimRewardsDataFromClauses(clauses) {
163
- if (!clauses || clauses.length === 0) {
164
- throw new sdk_core_1.InvalidTransactionError('No clauses found in transaction');
165
- }
166
- let claimBaseRewards = false;
167
- let claimStakingRewards = false;
168
- let tokenId = '';
169
- let delegationContractAddress = '';
170
- let stargateNftAddress = '';
171
- for (const clause of clauses) {
172
- if (clause.data) {
173
- if (clause.data.startsWith(constants_1.CLAIM_BASE_REWARDS_METHOD_ID)) {
174
- // claimVetGeneratedVtho should go to STARGATE_NFT_ADDRESS
175
- claimBaseRewards = true;
176
- if (!tokenId) {
177
- tokenId = utils_1.default.decodeClaimRewardsData(clause.data);
178
- }
179
- if (!stargateNftAddress && clause.to) {
180
- stargateNftAddress = clause.to;
181
- }
182
- }
183
- else if (clause.data.startsWith(constants_1.CLAIM_STAKING_REWARDS_METHOD_ID)) {
184
- // claimRewards should go to STARGATE_DELEGATION_ADDRESS
185
- claimStakingRewards = true;
186
- if (!tokenId) {
187
- tokenId = utils_1.default.decodeClaimRewardsData(clause.data);
188
- }
189
- if (!delegationContractAddress && clause.to) {
190
- delegationContractAddress = clause.to;
191
- }
192
- }
193
- }
194
- }
195
- if (!claimBaseRewards && !claimStakingRewards) {
196
- throw new sdk_core_1.InvalidTransactionError('Transaction does not contain claim rewards clauses');
197
- }
198
- this._claimRewardsData = {
199
- tokenId,
200
- delegationContractAddress: delegationContractAddress && !utils_1.default.isDelegationContractAddress(delegationContractAddress)
201
- ? delegationContractAddress
202
- : undefined,
203
- stargateNftAddress: stargateNftAddress && !utils_1.default.isNftContractAddress(stargateNftAddress) ? stargateNftAddress : undefined,
204
- claimBaseRewards,
205
- claimStakingRewards,
206
- };
207
- }
208
149
  }
209
150
  exports.ClaimRewardsTransaction = ClaimRewardsTransaction;
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhaW1SZXdhcmRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbi9jbGFpbVJld2FyZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0VBQXlDO0FBQ3pDLHFEQUErQztBQUMvQyxtREFBc0c7QUFFdEcsZ0RBQWdHO0FBQ2hHLCtDQUE0QztBQUc1Qyw0Q0FBNkY7QUFDN0YscURBQTZCO0FBRTdCLE1BQWEsdUJBQXdCLFNBQVEseUJBQVc7SUFHdEQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRywwQkFBZSxDQUFDLFlBQVksQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksZ0JBQWdCLENBQUMsSUFBc0I7UUFDekMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztJQUNoQyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLEtBQUssQ0FBQyxLQUFLO1FBQ1QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsT0FBNEI7UUFDdEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxVQUFVLENBQUMsVUFBa0M7UUFD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QyxDQUFDLENBQUMsU0FBUztZQUN4RyxnQkFBZ0I7WUFDaEIsbUJBQW1CO1NBQ3BCLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUF2T0QsMERBdU9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEV0aGVyZXVtQWJpIGZyb20gJ2V0aGVyZXVtanMtYWJpJztcbmltcG9ydCB7IGFkZEhleFByZWZpeCB9IGZyb20gJ2V0aGVyZXVtanMtdXRpbCc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUsIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblJlY2lwaWVudCB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIGFzIFZldFRyYW5zYWN0aW9uLCBTZWNwMjU2azEsIFRyYW5zYWN0aW9uQ2xhdXNlIH0gZnJvbSAnQHZlY2hhaW4vc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFZldFRyYW5zYWN0aW9uRGF0YSB9IGZyb20gJy4uL2lmYWNlJztcbmltcG9ydCB7IENsYWltUmV3YXJkc0RhdGEgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBDTEFJTV9CQVNFX1JFV0FSRFNfTUVUSE9EX0lELCBDTEFJTV9TVEFLSU5HX1JFV0FSRFNfTUVUSE9EX0lEIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB1dGlscyBmcm9tICcuLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBDbGFpbVJld2FyZHNUcmFuc2FjdGlvbiBleHRlbmRzIFRyYW5zYWN0aW9uIHtcbiAgcHJpdmF0ZSBfY2xhaW1SZXdhcmRzRGF0YTogQ2xhaW1SZXdhcmRzRGF0YTtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fdHlwZSA9IFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nQ2xhaW07XG4gIH1cblxuICBnZXQgY2xhaW1SZXdhcmRzRGF0YSgpOiBDbGFpbVJld2FyZHNEYXRhIHtcbiAgICByZXR1cm4gdGhpcy5fY2xhaW1SZXdhcmRzRGF0YTtcbiAgfVxuXG4gIHNldCBjbGFpbVJld2FyZHNEYXRhKGRhdGE6IENsYWltUmV3YXJkc0RhdGEpIHtcbiAgICB0aGlzLl9jbGFpbVJld2FyZHNEYXRhID0gZGF0YTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBhc3luYyBidWlsZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmJ1aWxkQ2xhdXNlcygpO1xuICAgIGF3YWl0IHRoaXMuYnVpbGRSYXdUcmFuc2FjdGlvbigpO1xuICAgIHRoaXMuZ2VuZXJhdGVUeG5JZEFuZFNldFNlbmRlcigpO1xuICAgIHRoaXMubG9hZElucHV0c0FuZE91dHB1dHMoKTtcbiAgfVxuXG4gIGdldCBjbGF1c2VzKCk6IFRyYW5zYWN0aW9uQ2xhdXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9jbGF1c2VzO1xuICB9XG5cbiAgc2V0IGNsYXVzZXMoY2xhdXNlczogVHJhbnNhY3Rpb25DbGF1c2VbXSkge1xuICAgIHRoaXMuX2NsYXVzZXMgPSBjbGF1c2VzO1xuICB9XG5cbiAgZ2V0IHJlY2lwaWVudHMoKTogVHJhbnNhY3Rpb25SZWNpcGllbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlY2lwaWVudHM7XG4gIH1cblxuICBzZXQgcmVjaXBpZW50cyhyZWNpcGllbnRzOiBUcmFuc2FjdGlvblJlY2lwaWVudFtdKSB7XG4gICAgdGhpcy5fcmVjaXBpZW50cyA9IHJlY2lwaWVudHM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgYnVpbGRDbGF1c2VzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fY2xhaW1SZXdhcmRzRGF0YSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdNaXNzaW5nIGNsYWltIHJld2FyZHMgZGF0YScpO1xuICAgIH1cblxuICAgIGNvbnN0IGNsYXVzZXM6IFRyYW5zYWN0aW9uQ2xhdXNlW10gPSBbXTtcblxuICAgIC8vIEFkZCBjbGF1c2UgZm9yIGNsYWltaW5nIGJhc2UgcmV3YXJkcyBpZiByZXF1ZXN0ZWRcbiAgICBjb25zdCBzaG91bGRDbGFpbUJhc2VSZXdhcmRzID0gdGhpcy5jbGFpbVJld2FyZHNEYXRhLmNsYWltQmFzZVJld2FyZHMgIT09IGZhbHNlOyAvLyBEZWZhdWx0IHRydWVcbiAgICBpZiAoc2hvdWxkQ2xhaW1CYXNlUmV3YXJkcykge1xuICAgICAgY2xhdXNlcy5wdXNoKHRoaXMuYnVpbGRDbGFpbUJhc2VSZXdhcmRzQ2xhdXNlKCkpO1xuICAgIH1cblxuICAgIC8vIEFkZCBjbGF1c2UgZm9yIGNsYWltaW5nIHN0YWtpbmcgcmV3YXJkcyBpZiByZXF1ZXN0ZWRcbiAgICBjb25zdCBzaG91bGRDbGFpbVN0YWtpbmdSZXdhcmRzID0gdGhpcy5jbGFpbVJld2FyZHNEYXRhLmNsYWltU3Rha2luZ1Jld2FyZHMgIT09IGZhbHNlOyAvLyBEZWZhdWx0IHRydWVcbiAgICBpZiAoc2hvdWxkQ2xhaW1TdGFraW5nUmV3YXJkcykge1xuICAgICAgY2xhdXNlcy5wdXNoKHRoaXMuYnVpbGRDbGFpbVN0YWtpbmdSZXdhcmRzQ2xhdXNlKCkpO1xuICAgIH1cblxuICAgIGlmIChjbGF1c2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdBdCBsZWFzdCBvbmUgdHlwZSBvZiByZXdhcmRzIG11c3QgYmUgY2xhaW1lZCcpO1xuICAgIH1cblxuICAgIHRoaXMuY2xhdXNlcyA9IGNsYXVzZXM7XG5cbiAgICAvLyBTZXQgcmVjaXBpZW50cyBhcyBlbXB0eSBzaW5jZSBjbGFpbSByZXdhcmRzIGRvZXNuJ3Qgc2VuZCB2YWx1ZVxuICAgIHRoaXMucmVjaXBpZW50cyA9IFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGNsYXVzZSBmb3IgY2xhaW1pbmcgYmFzZSByZXdhcmRzIChjbGFpbVZldEdlbmVyYXRlZFZ0aG8pXG4gICAqL1xuICBwcml2YXRlIGJ1aWxkQ2xhaW1CYXNlUmV3YXJkc0NsYXVzZSgpOiBUcmFuc2FjdGlvbkNsYXVzZSB7XG4gICAgY29uc3QgbWV0aG9kRGF0YSA9IHRoaXMuZW5jb2RlQ2xhaW1SZXdhcmRzTWV0aG9kKENMQUlNX0JBU0VfUkVXQVJEU19NRVRIT0RfSUQsIHRoaXMuX2NsYWltUmV3YXJkc0RhdGEudG9rZW5JZCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgdG86IHV0aWxzLmdldERlZmF1bHRTdGFraW5nQWRkcmVzcyh0aGlzLl9jb2luQ29uZmlnKSxcbiAgICAgIHZhbHVlOiAnMHgwJyxcbiAgICAgIGRhdGE6IG1ldGhvZERhdGEsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCBjbGF1c2UgZm9yIGNsYWltaW5nIHN0YWtpbmcgcmV3YXJkcyAoY2xhaW1SZXdhcmRzKVxuICAgKi9cbiAgcHJpdmF0ZSBidWlsZENsYWltU3Rha2luZ1Jld2FyZHNDbGF1c2UoKTogVHJhbnNhY3Rpb25DbGF1c2Uge1xuICAgIGNvbnN0IG1ldGhvZERhdGEgPSB0aGlzLmVuY29kZUNsYWltUmV3YXJkc01ldGhvZChDTEFJTV9TVEFLSU5HX1JFV0FSRFNfTUVUSE9EX0lELCB0aGlzLl9jbGFpbVJld2FyZHNEYXRhLnRva2VuSWQpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHRvOiB1dGlscy5nZXREZWZhdWx0RGVsZWdhdGlvbkFkZHJlc3ModGhpcy5fY29pbkNvbmZpZyksXG4gICAgICB2YWx1ZTogJzB4MCcsXG4gICAgICBkYXRhOiBtZXRob2REYXRhLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogRW5jb2RlIHRoZSBjbGFpbSByZXdhcmRzIG1ldGhvZCBjYWxsIGRhdGFcbiAgICovXG4gIHByaXZhdGUgZW5jb2RlQ2xhaW1SZXdhcmRzTWV0aG9kKG1ldGhvZElkOiBzdHJpbmcsIHRva2VuSWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgbWV0aG9kTmFtZSA9IG1ldGhvZElkID09PSBDTEFJTV9CQVNFX1JFV0FSRFNfTUVUSE9EX0lEID8gJ2NsYWltVmV0R2VuZXJhdGVkVnRobycgOiAnY2xhaW1SZXdhcmRzJztcbiAgICBjb25zdCB0eXBlcyA9IFsndWludDI1NiddO1xuICAgIGNvbnN0IHBhcmFtcyA9IFt0b2tlbklkXTtcblxuICAgIGNvbnN0IG1ldGhvZCA9IEV0aGVyZXVtQWJpLm1ldGhvZElEKG1ldGhvZE5hbWUsIHR5cGVzKTtcbiAgICBjb25zdCBhcmdzID0gRXRoZXJldW1BYmkucmF3RW5jb2RlKHR5cGVzLCBwYXJhbXMpO1xuXG4gICAgcmV0dXJuIGFkZEhleFByZWZpeChCdWZmZXIuY29uY2F0KFttZXRob2QsIGFyZ3NdKS50b1N0cmluZygnaGV4JykpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHRvSnNvbigpOiBWZXRUcmFuc2FjdGlvbkRhdGEge1xuICAgIGNvbnN0IGpzb246IFZldFRyYW5zYWN0aW9uRGF0YSA9IHtcbiAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgY2hhaW5UYWc6IHRoaXMuY2hhaW5UYWcsXG4gICAgICBibG9ja1JlZjogdGhpcy5ibG9ja1JlZixcbiAgICAgIGV4cGlyYXRpb246IHRoaXMuZXhwaXJhdGlvbixcbiAgICAgIGdhc1ByaWNlQ29lZjogdGhpcy5nYXNQcmljZUNvZWYsXG4gICAgICBnYXM6IHRoaXMuZ2FzLFxuICAgICAgZGVwZW5kc09uOiB0aGlzLmRlcGVuZHNPbixcbiAgICAgIG5vbmNlOiB0aGlzLm5vbmNlLFxuICAgICAgc2VuZGVyOiB0aGlzLnNlbmRlcixcbiAgICAgIGZlZVBheWVyOiB0aGlzLmZlZVBheWVyQWRkcmVzcyxcbiAgICAgIHJlY2lwaWVudHM6IHRoaXMucmVjaXBpZW50cyxcbiAgICAgIGNsYWltUmV3YXJkc0RhdGE6IHRoaXMuX2NsYWltUmV3YXJkc0RhdGEsXG4gICAgfTtcbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBmcm9tRGVzZXJpYWxpemVkU2lnbmVkVHJhbnNhY3Rpb24oc2lnbmVkVHg6IFZldFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICghc2lnbmVkVHggfHwgIXNpZ25lZFR4LmJvZHkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uOiBtaXNzaW5nIHRyYW5zYWN0aW9uIGJvZHknKTtcbiAgICAgIH1cblxuICAgICAgLy8gU3RvcmUgdGhlIHJhdyB0cmFuc2FjdGlvblxuICAgICAgdGhpcy5yYXdUcmFuc2FjdGlvbiA9IHNpZ25lZFR4O1xuXG4gICAgICAvLyBTZXQgdHJhbnNhY3Rpb24gYm9keSBwcm9wZXJ0aWVzXG4gICAgICBjb25zdCBib2R5ID0gc2lnbmVkVHguYm9keTtcbiAgICAgIHRoaXMuY2hhaW5UYWcgPSB0eXBlb2YgYm9keS5jaGFpblRhZyA9PT0gJ251bWJlcicgPyBib2R5LmNoYWluVGFnIDogMDtcbiAgICAgIHRoaXMuYmxvY2tSZWYgPSBib2R5LmJsb2NrUmVmIHx8ICcweDAnO1xuICAgICAgdGhpcy5leHBpcmF0aW9uID0gdHlwZW9mIGJvZHkuZXhwaXJhdGlvbiA9PT0gJ251bWJlcicgPyBib2R5LmV4cGlyYXRpb24gOiA2NDtcbiAgICAgIHRoaXMuY2xhdXNlcyA9IGJvZHkuY2xhdXNlcyB8fCBbXTtcbiAgICAgIHRoaXMuZ2FzUHJpY2VDb2VmID0gdHlwZW9mIGJvZHkuZ2FzUHJpY2VDb2VmID09PSAnbnVtYmVyJyA/IGJvZHkuZ2FzUHJpY2VDb2VmIDogMTI4O1xuICAgICAgdGhpcy5nYXMgPSB0eXBlb2YgYm9keS5nYXMgPT09ICdudW1iZXInID8gYm9keS5nYXMgOiBOdW1iZXIoYm9keS5nYXMpIHx8IDA7XG4gICAgICB0aGlzLmRlcGVuZHNPbiA9IGJvZHkuZGVwZW5kc09uIHx8IG51bGw7XG4gICAgICB0aGlzLm5vbmNlID0gU3RyaW5nKGJvZHkubm9uY2UpO1xuXG4gICAgICAvLyBQYXJzZSBjbGFpbSByZXdhcmRzIGRhdGEgZnJvbSBjbGF1c2VzXG4gICAgICB0aGlzLnBhcnNlQ2xhaW1SZXdhcmRzRGF0YUZyb21DbGF1c2VzKGJvZHkuY2xhdXNlcyk7XG5cbiAgICAgIC8vIFNldCByZWNpcGllbnRzIGFzIGVtcHR5IGZvciBjbGFpbSByZXdhcmRzXG4gICAgICB0aGlzLnJlY2lwaWVudHMgPSBbXTtcbiAgICAgIHRoaXMubG9hZElucHV0c0FuZE91dHB1dHMoKTtcblxuICAgICAgLy8gU2V0IHNlbmRlciBhZGRyZXNzXG4gICAgICBpZiAoc2lnbmVkVHguc2lnbmF0dXJlICYmIHNpZ25lZFR4Lm9yaWdpbikge1xuICAgICAgICB0aGlzLnNlbmRlciA9IHNpZ25lZFR4Lm9yaWdpbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNldCBzaWduYXR1cmVzIGlmIHByZXNlbnRcbiAgICAgIGlmIChzaWduZWRUeC5zaWduYXR1cmUpIHtcbiAgICAgICAgLy8gRmlyc3Qgc2lnbmF0dXJlIGlzIHNlbmRlcidzIHNpZ25hdHVyZVxuICAgICAgICB0aGlzLnNlbmRlclNpZ25hdHVyZSA9IEJ1ZmZlci5mcm9tKHNpZ25lZFR4LnNpZ25hdHVyZS5zbGljZSgwLCBTZWNwMjU2azEuU0lHTkFUVVJFX0xFTkdUSCkpO1xuXG4gICAgICAgIC8vIElmIHRoZXJlJ3MgYWRkaXRpb25hbCBzaWduYXR1cmUgZGF0YSwgaXQncyB0aGUgZmVlIHBheWVyJ3Mgc2lnbmF0dXJlXG4gICAgICAgIGlmIChzaWduZWRUeC5zaWduYXR1cmUubGVuZ3RoID4gU2VjcDI1NmsxLlNJR05BVFVSRV9MRU5HVEgpIHtcbiAgICAgICAgICB0aGlzLmZlZVBheWVyU2lnbmF0dXJlID0gQnVmZmVyLmZyb20oc2lnbmVkVHguc2lnbmF0dXJlLnNsaWNlKFNlY3AyNTZrMS5TSUdOQVRVUkVfTEVOR1RIKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYEZhaWxlZCB0byBkZXNlcmlhbGl6ZSB0cmFuc2FjdGlvbjogJHtlLm1lc3NhZ2V9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFBhcnNlIGNsYWltIHJld2FyZHMgZGF0YSBmcm9tIHRyYW5zYWN0aW9uIGNsYXVzZXNcbiAgICovXG4gIHByaXZhdGUgcGFyc2VDbGFpbVJld2FyZHNEYXRhRnJvbUNsYXVzZXMoY2xhdXNlczogVHJhbnNhY3Rpb25DbGF1c2VbXSk6IHZvaWQge1xuICAgIGlmICghY2xhdXNlcyB8fCBjbGF1c2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdObyBjbGF1c2VzIGZvdW5kIGluIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuXG4gICAgbGV0IGNsYWltQmFzZVJld2FyZHMgPSBmYWxzZTtcbiAgICBsZXQgY2xhaW1TdGFraW5nUmV3YXJkcyA9IGZhbHNlO1xuICAgIGxldCB0b2tlbklkID0gJyc7XG4gICAgbGV0IGRlbGVnYXRpb25Db250cmFjdEFkZHJlc3MgPSAnJztcbiAgICBsZXQgc3RhcmdhdGVOZnRBZGRyZXNzID0gJyc7XG5cbiAgICBmb3IgKGNvbnN0IGNsYXVzZSBvZiBjbGF1c2VzKSB7XG4gICAgICBpZiAoY2xhdXNlLmRhdGEpIHtcbiAgICAgICAgaWYgKGNsYXVzZS5kYXRhLnN0YXJ0c1dpdGgoQ0xBSU1fQkFTRV9SRVdBUkRTX01FVEhPRF9JRCkpIHtcbiAgICAgICAgICAvLyBjbGFpbVZldEdlbmVyYXRlZFZ0aG8gc2hvdWxkIGdvIHRvIFNUQVJHQVRFX05GVF9BRERSRVNTXG4gICAgICAgICAgY2xhaW1CYXNlUmV3YXJkcyA9IHRydWU7XG4gICAgICAgICAgaWYgKCF0b2tlbklkKSB7XG4gICAgICAgICAgICB0b2tlbklkID0gdXRpbHMuZGVjb2RlQ2xhaW1SZXdhcmRzRGF0YShjbGF1c2UuZGF0YSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghc3RhcmdhdGVOZnRBZGRyZXNzICYmIGNsYXVzZS50bykge1xuICAgICAgICAgICAgc3RhcmdhdGVOZnRBZGRyZXNzID0gY2xhdXNlLnRvO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChjbGF1c2UuZGF0YS5zdGFydHNXaXRoKENMQUlNX1NUQUtJTkdfUkVXQVJEU19NRVRIT0RfSUQpKSB7XG4gICAgICAgICAgLy8gY2xhaW1SZXdhcmRzIHNob3VsZCBnbyB0byBTVEFSR0FURV9ERUxFR0FUSU9OX0FERFJFU1NcbiAgICAgICAgICBjbGFpbVN0YWtpbmdSZXdhcmRzID0gdHJ1ZTtcbiAgICAgICAgICBpZiAoIXRva2VuSWQpIHtcbiAgICAgICAgICAgIHRva2VuSWQgPSB1dGlscy5kZWNvZGVDbGFpbVJld2FyZHNEYXRhKGNsYXVzZS5kYXRhKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCFkZWxlZ2F0aW9uQ29udHJhY3RBZGRyZXNzICYmIGNsYXVzZS50bykge1xuICAgICAgICAgICAgZGVsZWdhdGlvbkNvbnRyYWN0QWRkcmVzcyA9IGNsYXVzZS50bztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIWNsYWltQmFzZVJld2FyZHMgJiYgIWNsYWltU3Rha2luZ1Jld2FyZHMpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignVHJhbnNhY3Rpb24gZG9lcyBub3QgY29udGFpbiBjbGFpbSByZXdhcmRzIGNsYXVzZXMnKTtcbiAgICB9XG5cbiAgICB0aGlzLl9jbGFpbVJld2FyZHNEYXRhID0ge1xuICAgICAgdG9rZW5JZCxcbiAgICAgIGRlbGVnYXRpb25Db250cmFjdEFkZHJlc3M6XG4gICAgICAgIGRlbGVnYXRpb25Db250cmFjdEFkZHJlc3MgJiYgIXV0aWxzLmlzRGVsZWdhdGlvbkNvbnRyYWN0QWRkcmVzcyhkZWxlZ2F0aW9uQ29udHJhY3RBZGRyZXNzKVxuICAgICAgICAgID8gZGVsZWdhdGlvbkNvbnRyYWN0QWRkcmVzc1xuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgc3RhcmdhdGVOZnRBZGRyZXNzOlxuICAgICAgICBzdGFyZ2F0ZU5mdEFkZHJlc3MgJiYgIXV0aWxzLmlzTmZ0Q29udHJhY3RBZGRyZXNzKHN0YXJnYXRlTmZ0QWRkcmVzcykgPyBzdGFyZ2F0ZU5mdEFkZHJlc3MgOiB1bmRlZmluZWQsXG4gICAgICBjbGFpbUJhc2VSZXdhcmRzLFxuICAgICAgY2xhaW1TdGFraW5nUmV3YXJkcyxcbiAgICB9O1xuICB9XG59XG4iXX0=
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhaW1SZXdhcmRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbi9jbGFpbVJld2FyZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0VBQXlDO0FBQ3pDLHFEQUErQztBQUMvQyxtREFBc0c7QUFFdEcsZ0RBQWdHO0FBQ2hHLCtDQUE0QztBQUU1Qyw0Q0FBK0Q7QUFDL0QscURBQTZCO0FBRTdCLE1BQWEsdUJBQXdCLFNBQVEseUJBQVc7SUFJdEQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRywwQkFBZSxDQUFDLFlBQVksQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFBSSxzQkFBc0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUksc0JBQXNCLENBQUMsT0FBZTtRQUN4QyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsT0FBTyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLE9BQWU7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7SUFDMUIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixLQUFLLENBQUMsS0FBSztRQUNULElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixNQUFNLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLE9BQTRCO1FBQ3RD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QyxTQUFTLENBQUMsS0FBSyxDQUFDLG9CQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO2dCQUM3RixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHNDQUFzQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN2RixDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBcEtELDBEQW9LQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFdGhlcmV1bUFiaSBmcm9tICdldGhlcmV1bWpzLWFiaSc7XG5pbXBvcnQgeyBhZGRIZXhQcmVmaXggfSBmcm9tICdldGhlcmV1bWpzLXV0aWwnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlLCBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25SZWNpcGllbnQgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiBhcyBWZXRUcmFuc2FjdGlvbiwgU2VjcDI1NmsxLCBUcmFuc2FjdGlvbkNsYXVzZSB9IGZyb20gJ0B2ZWNoYWluL3Nkay1jb3JlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBWZXRUcmFuc2FjdGlvbkRhdGEgfSBmcm9tICcuLi9pZmFjZSc7XG5pbXBvcnQgeyBDTEFJTV9TVEFLSU5HX1JFV0FSRFNfTUVUSE9EX0lEIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB1dGlscyBmcm9tICcuLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBDbGFpbVJld2FyZHNUcmFuc2FjdGlvbiBleHRlbmRzIFRyYW5zYWN0aW9uIHtcbiAgcHJpdmF0ZSBfc3Rha2luZ0NvbnRyYWN0QWRkcmVzczogc3RyaW5nO1xuICBwcml2YXRlIF90b2tlbklkOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX3R5cGUgPSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0NsYWltO1xuICB9XG5cbiAgZ2V0IHN0YWtpbmdDb250cmFjdEFkZHJlc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc3Rha2luZ0NvbnRyYWN0QWRkcmVzcztcbiAgfVxuXG4gIHNldCBzdGFraW5nQ29udHJhY3RBZGRyZXNzKGFkZHJlc3M6IHN0cmluZykge1xuICAgIHRoaXMuX3N0YWtpbmdDb250cmFjdEFkZHJlc3MgPSBhZGRyZXNzO1xuICB9XG5cbiAgZ2V0IHRva2VuSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdG9rZW5JZDtcbiAgfVxuXG4gIHNldCB0b2tlbklkKHRva2VuSWQ6IHN0cmluZykge1xuICAgIHRoaXMuX3Rva2VuSWQgPSB0b2tlbklkO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGFzeW5jIGJ1aWxkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuYnVpbGRDbGF1c2VzKCk7XG4gICAgYXdhaXQgdGhpcy5idWlsZFJhd1RyYW5zYWN0aW9uKCk7XG4gICAgdGhpcy5nZW5lcmF0ZVR4bklkQW5kU2V0U2VuZGVyKCk7XG4gICAgdGhpcy5sb2FkSW5wdXRzQW5kT3V0cHV0cygpO1xuICB9XG5cbiAgZ2V0IGNsYXVzZXMoKTogVHJhbnNhY3Rpb25DbGF1c2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2NsYXVzZXM7XG4gIH1cblxuICBzZXQgY2xhdXNlcyhjbGF1c2VzOiBUcmFuc2FjdGlvbkNsYXVzZVtdKSB7XG4gICAgdGhpcy5fY2xhdXNlcyA9IGNsYXVzZXM7XG4gIH1cblxuICBnZXQgcmVjaXBpZW50cygpOiBUcmFuc2FjdGlvblJlY2lwaWVudFtdIHtcbiAgICByZXR1cm4gdGhpcy5fcmVjaXBpZW50cztcbiAgfVxuXG4gIHNldCByZWNpcGllbnRzKHJlY2lwaWVudHM6IFRyYW5zYWN0aW9uUmVjaXBpZW50W10pIHtcbiAgICB0aGlzLl9yZWNpcGllbnRzID0gcmVjaXBpZW50cztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBidWlsZENsYXVzZXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnN0YWtpbmdDb250cmFjdEFkZHJlc3MpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU3Rha2luZyBjb250cmFjdCBhZGRyZXNzIGlzIG5vdCBzZXQnKTtcbiAgICB9XG5cbiAgICB1dGlscy52YWxpZGF0ZVN0YWtpbmdDb250cmFjdEFkZHJlc3ModGhpcy5zdGFraW5nQ29udHJhY3RBZGRyZXNzLCB0aGlzLl9jb2luQ29uZmlnKTtcblxuICAgIGlmICh0aGlzLnRva2VuSWQgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnRva2VuSWQgPT09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVG9rZW4gSUQgaXMgbm90IHNldCcpO1xuICAgIH1cblxuICAgIGNvbnN0IGRhdGEgPSB0aGlzLmVuY29kZUNsYWltUmV3YXJkc01ldGhvZCh0aGlzLnRva2VuSWQpO1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uRGF0YSA9IGRhdGE7XG5cbiAgICAvLyBDcmVhdGUgdGhlIGNsYXVzZSBmb3IgY2xhaW0gcmV3YXJkc1xuICAgIHRoaXMuX2NsYXVzZXMgPSBbXG4gICAgICB7XG4gICAgICAgIHRvOiB0aGlzLnN0YWtpbmdDb250cmFjdEFkZHJlc3MsXG4gICAgICAgIHZhbHVlOiAnMHgwJyxcbiAgICAgICAgZGF0YTogdGhpcy5fdHJhbnNhY3Rpb25EYXRhLFxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgLy8gU2V0IHJlY2lwaWVudHMgYXMgZW1wdHkgc2luY2UgY2xhaW0gcmV3YXJkcyBkb2Vzbid0IHNlbmQgdmFsdWVcbiAgICB0aGlzLnJlY2lwaWVudHMgPSBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmNvZGUgdGhlIGNsYWltIHJld2FyZHMgbWV0aG9kIGNhbGwgZGF0YVxuICAgKi9cbiAgcHJpdmF0ZSBlbmNvZGVDbGFpbVJld2FyZHNNZXRob2QodG9rZW5JZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBtZXRob2ROYW1lID0gJ2NsYWltUmV3YXJkcyc7XG4gICAgY29uc3QgdHlwZXMgPSBbJ3VpbnQyNTYnXTtcbiAgICBjb25zdCBwYXJhbXMgPSBbdG9rZW5JZF07XG5cbiAgICBjb25zdCBtZXRob2QgPSBFdGhlcmV1bUFiaS5tZXRob2RJRChtZXRob2ROYW1lLCB0eXBlcyk7XG4gICAgY29uc3QgYXJncyA9IEV0aGVyZXVtQWJpLnJhd0VuY29kZSh0eXBlcywgcGFyYW1zKTtcblxuICAgIHJldHVybiBhZGRIZXhQcmVmaXgoQnVmZmVyLmNvbmNhdChbbWV0aG9kLCBhcmdzXSkudG9TdHJpbmcoJ2hleCcpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB0b0pzb24oKTogVmV0VHJhbnNhY3Rpb25EYXRhIHtcbiAgICBjb25zdCBqc29uOiBWZXRUcmFuc2FjdGlvbkRhdGEgPSB7XG4gICAgICBpZDogdGhpcy5pZCxcbiAgICAgIGNoYWluVGFnOiB0aGlzLmNoYWluVGFnLFxuICAgICAgYmxvY2tSZWY6IHRoaXMuYmxvY2tSZWYsXG4gICAgICBleHBpcmF0aW9uOiB0aGlzLmV4cGlyYXRpb24sXG4gICAgICBnYXNQcmljZUNvZWY6IHRoaXMuZ2FzUHJpY2VDb2VmLFxuICAgICAgZ2FzOiB0aGlzLmdhcyxcbiAgICAgIGRlcGVuZHNPbjogdGhpcy5kZXBlbmRzT24sXG4gICAgICBub25jZTogdGhpcy5ub25jZSxcbiAgICAgIHNlbmRlcjogdGhpcy5zZW5kZXIsXG4gICAgICBmZWVQYXllcjogdGhpcy5mZWVQYXllckFkZHJlc3MsXG4gICAgICByZWNpcGllbnRzOiB0aGlzLnJlY2lwaWVudHMsXG4gICAgICB0b2tlbklkOiB0aGlzLnRva2VuSWQsXG4gICAgICBzdGFraW5nQ29udHJhY3RBZGRyZXNzOiB0aGlzLnN0YWtpbmdDb250cmFjdEFkZHJlc3MsXG4gICAgfTtcbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBmcm9tRGVzZXJpYWxpemVkU2lnbmVkVHJhbnNhY3Rpb24oc2lnbmVkVHg6IFZldFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICghc2lnbmVkVHggfHwgIXNpZ25lZFR4LmJvZHkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uOiBtaXNzaW5nIHRyYW5zYWN0aW9uIGJvZHknKTtcbiAgICAgIH1cblxuICAgICAgLy8gU3RvcmUgdGhlIHJhdyB0cmFuc2FjdGlvblxuICAgICAgdGhpcy5yYXdUcmFuc2FjdGlvbiA9IHNpZ25lZFR4O1xuXG4gICAgICAvLyBTZXQgdHJhbnNhY3Rpb24gYm9keSBwcm9wZXJ0aWVzXG4gICAgICBjb25zdCBib2R5ID0gc2lnbmVkVHguYm9keTtcbiAgICAgIHRoaXMuY2hhaW5UYWcgPSB0eXBlb2YgYm9keS5jaGFpblRhZyA9PT0gJ251bWJlcicgPyBib2R5LmNoYWluVGFnIDogMDtcbiAgICAgIHRoaXMuYmxvY2tSZWYgPSBib2R5LmJsb2NrUmVmIHx8ICcweDAnO1xuICAgICAgdGhpcy5leHBpcmF0aW9uID0gdHlwZW9mIGJvZHkuZXhwaXJhdGlvbiA9PT0gJ251bWJlcicgPyBib2R5LmV4cGlyYXRpb24gOiA2NDtcbiAgICAgIHRoaXMuY2xhdXNlcyA9IGJvZHkuY2xhdXNlcyB8fCBbXTtcbiAgICAgIHRoaXMuZ2FzUHJpY2VDb2VmID0gdHlwZW9mIGJvZHkuZ2FzUHJpY2VDb2VmID09PSAnbnVtYmVyJyA/IGJvZHkuZ2FzUHJpY2VDb2VmIDogMTI4O1xuICAgICAgdGhpcy5nYXMgPSB0eXBlb2YgYm9keS5nYXMgPT09ICdudW1iZXInID8gYm9keS5nYXMgOiBOdW1iZXIoYm9keS5nYXMpIHx8IDA7XG4gICAgICB0aGlzLmRlcGVuZHNPbiA9IGJvZHkuZGVwZW5kc09uIHx8IG51bGw7XG4gICAgICB0aGlzLm5vbmNlID0gU3RyaW5nKGJvZHkubm9uY2UpO1xuXG4gICAgICBpZiAoYm9keS5jbGF1c2VzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICBjb25zdCBjbGF1c2UgPSBib2R5LmNsYXVzZXNbMF07XG4gICAgICAgIGlmIChjbGF1c2UuZGF0YSAmJiBjbGF1c2UuZGF0YS5zdGFydHNXaXRoKENMQUlNX1NUQUtJTkdfUkVXQVJEU19NRVRIT0RfSUQpKSB7XG4gICAgICAgICAgLy8gY2xhaW1SZXdhcmRzIHNob3VsZCBnbyB0byBTVEFSR0FURV9ERUxFR0FUSU9OX0FERFJFU1NcbiAgICAgICAgICB0aGlzLnRva2VuSWQgPSB1dGlscy5kZWNvZGVDbGFpbVJld2FyZHNEYXRhKGNsYXVzZS5kYXRhKTtcbiAgICAgICAgICB0aGlzLnN0YWtpbmdDb250cmFjdEFkZHJlc3MgPSBjbGF1c2UudG8gfHwgJzB4MCc7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gU2V0IHJlY2lwaWVudHMgYXMgZW1wdHkgZm9yIGNsYWltIHJld2FyZHNcbiAgICAgIHRoaXMucmVjaXBpZW50cyA9IFtdO1xuICAgICAgdGhpcy5sb2FkSW5wdXRzQW5kT3V0cHV0cygpO1xuXG4gICAgICAvLyBTZXQgc2VuZGVyIGFkZHJlc3NcbiAgICAgIGlmIChzaWduZWRUeC5zaWduYXR1cmUgJiYgc2lnbmVkVHgub3JpZ2luKSB7XG4gICAgICAgIHRoaXMuc2VuZGVyID0gc2lnbmVkVHgub3JpZ2luLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTtcbiAgICAgIH1cblxuICAgICAgLy8gU2V0IHNpZ25hdHVyZXMgaWYgcHJlc2VudFxuICAgICAgaWYgKHNpZ25lZFR4LnNpZ25hdHVyZSkge1xuICAgICAgICAvLyBGaXJzdCBzaWduYXR1cmUgaXMgc2VuZGVyJ3Mgc2lnbmF0dXJlXG4gICAgICAgIHRoaXMuc2VuZGVyU2lnbmF0dXJlID0gQnVmZmVyLmZyb20oc2lnbmVkVHguc2lnbmF0dXJlLnNsaWNlKDAsIFNlY3AyNTZrMS5TSUdOQVRVUkVfTEVOR1RIKSk7XG5cbiAgICAgICAgLy8gSWYgdGhlcmUncyBhZGRpdGlvbmFsIHNpZ25hdHVyZSBkYXRhLCBpdCdzIHRoZSBmZWUgcGF5ZXIncyBzaWduYXR1cmVcbiAgICAgICAgaWYgKHNpZ25lZFR4LnNpZ25hdHVyZS5sZW5ndGggPiBTZWNwMjU2azEuU0lHTkFUVVJFX0xFTkdUSCkge1xuICAgICAgICAgIHRoaXMuZmVlUGF5ZXJTaWduYXR1cmUgPSBCdWZmZXIuZnJvbShzaWduZWRUeC5zaWduYXR1cmUuc2xpY2UoU2VjcDI1NmsxLlNJR05BVFVSRV9MRU5HVEgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgRmFpbGVkIHRvIGRlc2VyaWFsaXplIHRyYW5zYWN0aW9uOiAke2UubWVzc2FnZX1gKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -39,7 +39,7 @@ class DelegateClauseTransaction extends transaction_1.Transaction {
39
39
  if (!this.stakingContractAddress) {
40
40
  throw new Error('Staking contract address is not set');
41
41
  }
42
- utils_1.default.validateDelegationContractAddress(this.stakingContractAddress, this._coinConfig);
42
+ utils_1.default.validateStakingContractAddress(this.stakingContractAddress, this._coinConfig);
43
43
  if (this.tokenId === undefined || this.tokenId === null) {
44
44
  throw new Error('Token ID is not set');
45
45
  }
@@ -155,4 +155,4 @@ class DelegateClauseTransaction extends transaction_1.Transaction {
155
155
  }
156
156
  }
157
157
  exports.DelegateClauseTransaction = DelegateClauseTransaction;
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdhdGVDbGF1c2VUcmFuc2FjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb24vZGVsZWdhdGVDbGF1c2VUcmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFBZ0Y7QUFFaEYsZ0RBQTZFO0FBQzdFLCtDQUE0QztBQUU1QyxvRUFBeUM7QUFDekMscURBQTZCO0FBQzdCLGdFQUFxQztBQUNyQyxxREFBbUQ7QUFDbkQsNENBQWlEO0FBRWpELE1BQWEseUJBQTBCLFNBQVEseUJBQVc7SUFLeEQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRywwQkFBZSxDQUFDLGVBQWUsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxPQUFlO1FBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLHNCQUFzQjtRQUN4QixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBSSxzQkFBc0IsQ0FBQyxPQUFlO1FBQ3hDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxPQUFPLENBQUM7SUFDekMsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsT0FBZTtRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUMxQixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7UUFD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QUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN6RCxDQUFDO1lBRUQsNEJBQTRCO1lBQzVCLElBQUksUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUN2Qix3Q0FBd0M7Z0JBQ3hDLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsb0JBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7Z0JBRTVGLHVFQUF1RTtnQkFDdkUsSUFBSSxRQUFRLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxvQkFBUyxDQUFDLGdCQUFnQixFQUFFLENBQUM7b0JBQzNELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLG9CQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO2dCQUM3RixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHNDQUFzQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN2RixDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBektELDhEQXlLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSwgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiBhcyBWZXRUcmFuc2FjdGlvbiwgU2VjcDI1NmsxIH0gZnJvbSAnQHZlY2hhaW4vc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFZldFRyYW5zYWN0aW9uRGF0YSB9IGZyb20gJy4uL2lmYWNlJztcbmltcG9ydCBFdGhlcmV1bUFiaSBmcm9tICdldGhlcmV1bWpzLWFiaSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgYWRkSGV4UHJlZml4LCBCTiB9IGZyb20gJ2V0aGVyZXVtanMtdXRpbCc7XG5pbXBvcnQgeyBaRVJPX1ZBTFVFX0FNT1VOVCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjbGFzcyBEZWxlZ2F0ZUNsYXVzZVRyYW5zYWN0aW9uIGV4dGVuZHMgVHJhbnNhY3Rpb24ge1xuICBwcml2YXRlIF9zdGFraW5nQ29udHJhY3RBZGRyZXNzOiBzdHJpbmc7XG4gIHByaXZhdGUgX3Rva2VuSWQ6IHN0cmluZztcbiAgcHJpdmF0ZSBfdmFsaWRhdG9yOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX3R5cGUgPSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0RlbGVnYXRlO1xuICB9XG5cbiAgZ2V0IHZhbGlkYXRvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl92YWxpZGF0b3I7XG4gIH1cblxuICBzZXQgdmFsaWRhdG9yKGFkZHJlc3M6IHN0cmluZykge1xuICAgIHRoaXMuX3ZhbGlkYXRvciA9IGFkZHJlc3M7XG4gIH1cblxuICBnZXQgc3Rha2luZ0NvbnRyYWN0QWRkcmVzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zdGFraW5nQ29udHJhY3RBZGRyZXNzO1xuICB9XG5cbiAgc2V0IHN0YWtpbmdDb250cmFjdEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKSB7XG4gICAgdGhpcy5fc3Rha2luZ0NvbnRyYWN0QWRkcmVzcyA9IGFkZHJlc3M7XG4gIH1cblxuICBnZXQgdG9rZW5JZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl90b2tlbklkO1xuICB9XG5cbiAgc2V0IHRva2VuSWQodG9rZW5JZDogc3RyaW5nKSB7XG4gICAgdGhpcy5fdG9rZW5JZCA9IHRva2VuSWQ7XG4gIH1cblxuICBidWlsZENsYXVzZXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnN0YWtpbmdDb250cmFjdEFkZHJlc3MpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU3Rha2luZyBjb250cmFjdCBhZGRyZXNzIGlzIG5vdCBzZXQnKTtcbiAgICB9XG5cbiAgICB1dGlscy52YWxpZGF0ZURlbGVnYXRpb25Db250cmFjdEFkZHJlc3ModGhpcy5zdGFraW5nQ29udHJhY3RBZGRyZXNzLCB0aGlzLl9jb2luQ29uZmlnKTtcblxuICAgIGlmICh0aGlzLnRva2VuSWQgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnRva2VuSWQgPT09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVG9rZW4gSUQgaXMgbm90IHNldCcpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZhbGlkYXRvciA9PT0gdW5kZWZpbmVkIHx8IHRoaXMudmFsaWRhdG9yID09PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1ZhbGlkYXRvciBhZGRyZXNzIGlzIG5vdCBzZXQnKTtcbiAgICB9XG5cbiAgICBjb25zdCBkYXRhID0gdGhpcy5nZXREZWxlZ2F0ZURhdGEodGhpcy50b2tlbklkLCB0aGlzLnZhbGlkYXRvcik7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb25EYXRhID0gZGF0YTtcblxuICAgIC8vIENyZWF0ZSB0aGUgY2xhdXNlIGZvciBkZWxlZ2F0aW9uXG4gICAgdGhpcy5fY2xhdXNlcyA9IFtcbiAgICAgIHtcbiAgICAgICAgdG86IHRoaXMuc3Rha2luZ0NvbnRyYWN0QWRkcmVzcyxcbiAgICAgICAgdmFsdWU6IFpFUk9fVkFMVUVfQU1PVU5ULFxuICAgICAgICBkYXRhOiB0aGlzLl90cmFuc2FjdGlvbkRhdGEsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICAvLyBTZXQgcmVjaXBpZW50cyBiYXNlZCBvbiB0aGUgY2xhdXNlc1xuICAgIHRoaXMuX3JlY2lwaWVudHMgPSBbXG4gICAgICB7XG4gICAgICAgIGFkZHJlc3M6IHRoaXMuc3Rha2luZ0NvbnRyYWN0QWRkcmVzcyxcbiAgICAgICAgYW1vdW50OiBaRVJPX1ZBTFVFX0FNT1VOVCxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxuICAvKipcbiAgICogRW5jb2RlcyBkZWxlZ2F0aW9uIHRyYW5zYWN0aW9uIGRhdGEgdXNpbmcgZXRoZXJldW1qcy1hYmkgZm9yIGRlbGVnYXRlIG1ldGhvZFxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gdG9rZW5JZCAtIFRoZSBUb2tlbiBJRCBmb3IgZGVsZWdhdGlvblxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSAtIFRoZSBlbmNvZGVkIHRyYW5zYWN0aW9uIGRhdGFcbiAgICovXG4gIGdldERlbGVnYXRlRGF0YSh0b2tlbklkOiBzdHJpbmcsIHZhbGlkYXRvckFkZHJlc3M6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgbWV0aG9kTmFtZSA9ICdkZWxlZ2F0ZSc7XG4gICAgY29uc3QgdHlwZXMgPSBbJ3VpbnQyNTYnLCAnYWRkcmVzcyddO1xuICAgIGNvbnN0IHBhcmFtcyA9IFtuZXcgQk4odG9rZW5JZCksIHZhbGlkYXRvckFkZHJlc3NdO1xuXG4gICAgY29uc3QgbWV0aG9kID0gRXRoZXJldW1BYmkubWV0aG9kSUQobWV0aG9kTmFtZSwgdHlwZXMpO1xuICAgIGNvbnN0IGFyZ3MgPSBFdGhlcmV1bUFiaS5yYXdFbmNvZGUodHlwZXMsIHBhcmFtcyk7XG5cbiAgICByZXR1cm4gYWRkSGV4UHJlZml4KEJ1ZmZlci5jb25jYXQoW21ldGhvZCwgYXJnc10pLnRvU3RyaW5nKCdoZXgnKSk7XG4gIH1cblxuICB0b0pzb24oKTogVmV0VHJhbnNhY3Rpb25EYXRhIHtcbiAgICBjb25zdCBqc29uOiBWZXRUcmFuc2FjdGlvbkRhdGEgPSB7XG4gICAgICBpZDogdGhpcy5pZCxcbiAgICAgIGNoYWluVGFnOiB0aGlzLmNoYWluVGFnLFxuICAgICAgYmxvY2tSZWY6IHRoaXMuYmxvY2tSZWYsXG4gICAgICBleHBpcmF0aW9uOiB0aGlzLmV4cGlyYXRpb24sXG4gICAgICBnYXNQcmljZUNvZWY6IHRoaXMuZ2FzUHJpY2VDb2VmLFxuICAgICAgZ2FzOiB0aGlzLmdhcyxcbiAgICAgIGRlcGVuZHNPbjogdGhpcy5kZXBlbmRzT24sXG4gICAgICBub25jZTogdGhpcy5ub25jZSxcbiAgICAgIGRhdGE6IHRoaXMudHJhbnNhY3Rpb25EYXRhLFxuICAgICAgdmFsdWU6IFpFUk9fVkFMVUVfQU1PVU5ULFxuICAgICAgc2VuZGVyOiB0aGlzLnNlbmRlcixcbiAgICAgIHRvOiB0aGlzLnN0YWtpbmdDb250cmFjdEFkZHJlc3MsXG4gICAgICBzdGFraW5nQ29udHJhY3RBZGRyZXNzOiB0aGlzLnN0YWtpbmdDb250cmFjdEFkZHJlc3MsXG4gICAgICBhbW91bnRUb1N0YWtlOiBaRVJPX1ZBTFVFX0FNT1VOVCxcbiAgICAgIHRva2VuSWQ6IHRoaXMudG9rZW5JZCxcbiAgICAgIHZhbGlkYXRvckFkZHJlc3M6IHRoaXMudmFsaWRhdG9yLFxuICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIGZyb21EZXNlcmlhbGl6ZWRTaWduZWRUcmFuc2FjdGlvbihzaWduZWRUeDogVmV0VHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgaWYgKCFzaWduZWRUeCB8fCAhc2lnbmVkVHguYm9keSkge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb246IG1pc3NpbmcgdHJhbnNhY3Rpb24gYm9keScpO1xuICAgICAgfVxuXG4gICAgICAvLyBTdG9yZSB0aGUgcmF3IHRyYW5zYWN0aW9uXG4gICAgICB0aGlzLnJhd1RyYW5zYWN0aW9uID0gc2lnbmVkVHg7XG5cbiAgICAgIC8vIFNldCB0cmFuc2FjdGlvbiBib2R5IHByb3BlcnRpZXNcbiAgICAgIGNvbnN0IGJvZHkgPSBzaWduZWRUeC5ib2R5O1xuICAgICAgdGhpcy5jaGFpblRhZyA9IHR5cGVvZiBib2R5LmNoYWluVGFnID09PSAnbnVtYmVyJyA/IGJvZHkuY2hhaW5UYWcgOiAwO1xuICAgICAgdGhpcy5ibG9ja1JlZiA9IGJvZHkuYmxvY2tSZWYgfHwgJzB4MCc7XG4gICAgICB0aGlzLmV4cGlyYXRpb24gPSB0eXBlb2YgYm9keS5leHBpcmF0aW9uID09PSAnbnVtYmVyJyA/IGJvZHkuZXhwaXJhdGlvbiA6IDY0O1xuICAgICAgdGhpcy5jbGF1c2VzID0gYm9keS5jbGF1c2VzIHx8IFtdO1xuICAgICAgdGhpcy5nYXNQcmljZUNvZWYgPSB0eXBlb2YgYm9keS5nYXNQcmljZUNvZWYgPT09ICdudW1iZXInID8gYm9keS5nYXNQcmljZUNvZWYgOiAxMjg7XG4gICAgICB0aGlzLmdhcyA9IHR5cGVvZiBib2R5LmdhcyA9PT0gJ251bWJlcicgPyBib2R5LmdhcyA6IE51bWJlcihib2R5LmdhcykgfHwgMDtcbiAgICAgIHRoaXMuZGVwZW5kc09uID0gYm9keS5kZXBlbmRzT24gfHwgbnVsbDtcbiAgICAgIHRoaXMubm9uY2UgPSBTdHJpbmcoYm9keS5ub25jZSk7XG5cbiAgICAgIC8vIFNldCBkZWxlZ2F0aW9uLXNwZWNpZmljIHByb3BlcnRpZXNcbiAgICAgIGlmIChib2R5LmNsYXVzZXMubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBjbGF1c2UgPSBib2R5LmNsYXVzZXNbMF07XG4gICAgICAgIGlmIChjbGF1c2UudG8pIHtcbiAgICAgICAgICB0aGlzLnN0YWtpbmdDb250cmFjdEFkZHJlc3MgPSBjbGF1c2UudG87XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNsYXVzZS5kYXRhKSB7XG4gICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkRhdGEgPSBjbGF1c2UuZGF0YTtcbiAgICAgICAgICBjb25zdCBkZWNvZGVkID0gdXRpbHMuZGVjb2RlRGVsZWdhdGVDbGF1c2VEYXRhKGNsYXVzZS5kYXRhKTtcbiAgICAgICAgICB0aGlzLnRva2VuSWQgPSBkZWNvZGVkLnRva2VuSWQ7XG4gICAgICAgICAgdGhpcy52YWxpZGF0b3IgPSBkZWNvZGVkLnZhbGlkYXRvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBTZXQgcmVjaXBpZW50cyBmcm9tIGNsYXVzZXNcbiAgICAgIHRoaXMucmVjaXBpZW50cyA9IGJvZHkuY2xhdXNlcy5tYXAoKGNsYXVzZSkgPT4gKHtcbiAgICAgICAgYWRkcmVzczogKGNsYXVzZS50byB8fCAnMHgwJykudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLFxuICAgICAgICBhbW91bnQ6IG5ldyBCaWdOdW1iZXIoY2xhdXNlLnZhbHVlIHx8IDApLnRvU3RyaW5nKCksXG4gICAgICB9KSk7XG4gICAgICB0aGlzLmxvYWRJbnB1dHNBbmRPdXRwdXRzKCk7XG5cbiAgICAgIC8vIFNldCBzZW5kZXIgYWRkcmVzc1xuICAgICAgaWYgKHNpZ25lZFR4LnNpZ25hdHVyZSAmJiBzaWduZWRUeC5vcmlnaW4pIHtcbiAgICAgICAgdGhpcy5zZW5kZXIgPSBzaWduZWRUeC5vcmlnaW4udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgfVxuXG4gICAgICAvLyBTZXQgc2lnbmF0dXJlcyBpZiBwcmVzZW50XG4gICAgICBpZiAoc2lnbmVkVHguc2lnbmF0dXJlKSB7XG4gICAgICAgIC8vIEZpcnN0IHNpZ25hdHVyZSBpcyBzZW5kZXIncyBzaWduYXR1cmVcbiAgICAgICAgdGhpcy5zZW5kZXJTaWduYXR1cmUgPSBCdWZmZXIuZnJvbShzaWduZWRUeC5zaWduYXR1cmUuc2xpY2UoMCwgU2VjcDI1NmsxLlNJR05BVFVSRV9MRU5HVEgpKTtcblxuICAgICAgICAvLyBJZiB0aGVyZSdzIGFkZGl0aW9uYWwgc2lnbmF0dXJlIGRhdGEsIGl0J3MgdGhlIGZlZSBwYXllcidzIHNpZ25hdHVyZVxuICAgICAgICBpZiAoc2lnbmVkVHguc2lnbmF0dXJlLmxlbmd0aCA+IFNlY3AyNTZrMS5TSUdOQVRVUkVfTEVOR1RIKSB7XG4gICAgICAgICAgdGhpcy5mZWVQYXllclNpZ25hdHVyZSA9IEJ1ZmZlci5mcm9tKHNpZ25lZFR4LnNpZ25hdHVyZS5zbGljZShTZWNwMjU2azEuU0lHTkFUVVJFX0xFTkdUSCkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBGYWlsZWQgdG8gZGVzZXJpYWxpemUgdHJhbnNhY3Rpb246ICR7ZS5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxufVxuIl19
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdhdGVDbGF1c2VUcmFuc2FjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb24vZGVsZWdhdGVDbGF1c2VUcmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFBZ0Y7QUFFaEYsZ0RBQTZFO0FBQzdFLCtDQUE0QztBQUU1QyxvRUFBeUM7QUFDekMscURBQTZCO0FBQzdCLGdFQUFxQztBQUNyQyxxREFBbUQ7QUFDbkQsNENBQWlEO0FBRWpELE1BQWEseUJBQTBCLFNBQVEseUJBQVc7SUFLeEQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRywwQkFBZSxDQUFDLGVBQWUsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxPQUFlO1FBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLHNCQUFzQjtRQUN4QixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBSSxzQkFBc0IsQ0FBQyxPQUFlO1FBQ3hDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxPQUFPLENBQUM7SUFDekMsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsT0FBZTtRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUMxQixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7UUFD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QUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN6RCxDQUFDO1lBRUQsNEJBQTRCO1lBQzVCLElBQUksUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUN2Qix3Q0FBd0M7Z0JBQ3hDLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsb0JBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7Z0JBRTVGLHVFQUF1RTtnQkFDdkUsSUFBSSxRQUFRLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxvQkFBUyxDQUFDLGdCQUFnQixFQUFFLENBQUM7b0JBQzNELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLG9CQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO2dCQUM3RixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHNDQUFzQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN2RixDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBektELDhEQXlLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSwgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiBhcyBWZXRUcmFuc2FjdGlvbiwgU2VjcDI1NmsxIH0gZnJvbSAnQHZlY2hhaW4vc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFZldFRyYW5zYWN0aW9uRGF0YSB9IGZyb20gJy4uL2lmYWNlJztcbmltcG9ydCBFdGhlcmV1bUFiaSBmcm9tICdldGhlcmV1bWpzLWFiaSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgYWRkSGV4UHJlZml4LCBCTiB9IGZyb20gJ2V0aGVyZXVtanMtdXRpbCc7XG5pbXBvcnQgeyBaRVJPX1ZBTFVFX0FNT1VOVCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjbGFzcyBEZWxlZ2F0ZUNsYXVzZVRyYW5zYWN0aW9uIGV4dGVuZHMgVHJhbnNhY3Rpb24ge1xuICBwcml2YXRlIF9zdGFraW5nQ29udHJhY3RBZGRyZXNzOiBzdHJpbmc7XG4gIHByaXZhdGUgX3Rva2VuSWQ6IHN0cmluZztcbiAgcHJpdmF0ZSBfdmFsaWRhdG9yOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX3R5cGUgPSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0RlbGVnYXRlO1xuICB9XG5cbiAgZ2V0IHZhbGlkYXRvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl92YWxpZGF0b3I7XG4gIH1cblxuICBzZXQgdmFsaWRhdG9yKGFkZHJlc3M6IHN0cmluZykge1xuICAgIHRoaXMuX3ZhbGlkYXRvciA9IGFkZHJlc3M7XG4gIH1cblxuICBnZXQgc3Rha2luZ0NvbnRyYWN0QWRkcmVzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zdGFraW5nQ29udHJhY3RBZGRyZXNzO1xuICB9XG5cbiAgc2V0IHN0YWtpbmdDb250cmFjdEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKSB7XG4gICAgdGhpcy5fc3Rha2luZ0NvbnRyYWN0QWRkcmVzcyA9IGFkZHJlc3M7XG4gIH1cblxuICBnZXQgdG9rZW5JZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl90b2tlbklkO1xuICB9XG5cbiAgc2V0IHRva2VuSWQodG9rZW5JZDogc3RyaW5nKSB7XG4gICAgdGhpcy5fdG9rZW5JZCA9IHRva2VuSWQ7XG4gIH1cblxuICBidWlsZENsYXVzZXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnN0YWtpbmdDb250cmFjdEFkZHJlc3MpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU3Rha2luZyBjb250cmFjdCBhZGRyZXNzIGlzIG5vdCBzZXQnKTtcbiAgICB9XG5cbiAgICB1dGlscy52YWxpZGF0ZVN0YWtpbmdDb250cmFjdEFkZHJlc3ModGhpcy5zdGFraW5nQ29udHJhY3RBZGRyZXNzLCB0aGlzLl9jb2luQ29uZmlnKTtcblxuICAgIGlmICh0aGlzLnRva2VuSWQgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnRva2VuSWQgPT09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVG9rZW4gSUQgaXMgbm90IHNldCcpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZhbGlkYXRvciA9PT0gdW5kZWZpbmVkIHx8IHRoaXMudmFsaWRhdG9yID09PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1ZhbGlkYXRvciBhZGRyZXNzIGlzIG5vdCBzZXQnKTtcbiAgICB9XG5cbiAgICBjb25zdCBkYXRhID0gdGhpcy5nZXREZWxlZ2F0ZURhdGEodGhpcy50b2tlbklkLCB0aGlzLnZhbGlkYXRvcik7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb25EYXRhID0gZGF0YTtcblxuICAgIC8vIENyZWF0ZSB0aGUgY2xhdXNlIGZvciBkZWxlZ2F0aW9uXG4gICAgdGhpcy5fY2xhdXNlcyA9IFtcbiAgICAgIHtcbiAgICAgICAgdG86IHRoaXMuc3Rha2luZ0NvbnRyYWN0QWRkcmVzcyxcbiAgICAgICAgdmFsdWU6IFpFUk9fVkFMVUVfQU1PVU5ULFxuICAgICAgICBkYXRhOiB0aGlzLl90cmFuc2FjdGlvbkRhdGEsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICAvLyBTZXQgcmVjaXBpZW50cyBiYXNlZCBvbiB0aGUgY2xhdXNlc1xuICAgIHRoaXMuX3JlY2lwaWVudHMgPSBbXG4gICAgICB7XG4gICAgICAgIGFkZHJlc3M6IHRoaXMuc3Rha2luZ0NvbnRyYWN0QWRkcmVzcyxcbiAgICAgICAgYW1vdW50OiBaRVJPX1ZBTFVFX0FNT1VOVCxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxuICAvKipcbiAgICogRW5jb2RlcyBkZWxlZ2F0aW9uIHRyYW5zYWN0aW9uIGRhdGEgdXNpbmcgZXRoZXJldW1qcy1hYmkgZm9yIGRlbGVnYXRlIG1ldGhvZFxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gdG9rZW5JZCAtIFRoZSBUb2tlbiBJRCBmb3IgZGVsZWdhdGlvblxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSAtIFRoZSBlbmNvZGVkIHRyYW5zYWN0aW9uIGRhdGFcbiAgICovXG4gIGdldERlbGVnYXRlRGF0YSh0b2tlbklkOiBzdHJpbmcsIHZhbGlkYXRvckFkZHJlc3M6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgbWV0aG9kTmFtZSA9ICdkZWxlZ2F0ZSc7XG4gICAgY29uc3QgdHlwZXMgPSBbJ3VpbnQyNTYnLCAnYWRkcmVzcyddO1xuICAgIGNvbnN0IHBhcmFtcyA9IFtuZXcgQk4odG9rZW5JZCksIHZhbGlkYXRvckFkZHJlc3NdO1xuXG4gICAgY29uc3QgbWV0aG9kID0gRXRoZXJldW1BYmkubWV0aG9kSUQobWV0aG9kTmFtZSwgdHlwZXMpO1xuICAgIGNvbnN0IGFyZ3MgPSBFdGhlcmV1bUFiaS5yYXdFbmNvZGUodHlwZXMsIHBhcmFtcyk7XG5cbiAgICByZXR1cm4gYWRkSGV4UHJlZml4KEJ1ZmZlci5jb25jYXQoW21ldGhvZCwgYXJnc10pLnRvU3RyaW5nKCdoZXgnKSk7XG4gIH1cblxuICB0b0pzb24oKTogVmV0VHJhbnNhY3Rpb25EYXRhIHtcbiAgICBjb25zdCBqc29uOiBWZXRUcmFuc2FjdGlvbkRhdGEgPSB7XG4gICAgICBpZDogdGhpcy5pZCxcbiAgICAgIGNoYWluVGFnOiB0aGlzLmNoYWluVGFnLFxuICAgICAgYmxvY2tSZWY6IHRoaXMuYmxvY2tSZWYsXG4gICAgICBleHBpcmF0aW9uOiB0aGlzLmV4cGlyYXRpb24sXG4gICAgICBnYXNQcmljZUNvZWY6IHRoaXMuZ2FzUHJpY2VDb2VmLFxuICAgICAgZ2FzOiB0aGlzLmdhcyxcbiAgICAgIGRlcGVuZHNPbjogdGhpcy5kZXBlbmRzT24sXG4gICAgICBub25jZTogdGhpcy5ub25jZSxcbiAgICAgIGRhdGE6IHRoaXMudHJhbnNhY3Rpb25EYXRhLFxuICAgICAgdmFsdWU6IFpFUk9fVkFMVUVfQU1PVU5ULFxuICAgICAgc2VuZGVyOiB0aGlzLnNlbmRlcixcbiAgICAgIHRvOiB0aGlzLnN0YWtpbmdDb250cmFjdEFkZHJlc3MsXG4gICAgICBzdGFraW5nQ29udHJhY3RBZGRyZXNzOiB0aGlzLnN0YWtpbmdDb250cmFjdEFkZHJlc3MsXG4gICAgICBhbW91bnRUb1N0YWtlOiBaRVJPX1ZBTFVFX0FNT1VOVCxcbiAgICAgIHRva2VuSWQ6IHRoaXMudG9rZW5JZCxcbiAgICAgIHZhbGlkYXRvckFkZHJlc3M6IHRoaXMudmFsaWRhdG9yLFxuICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIGZyb21EZXNlcmlhbGl6ZWRTaWduZWRUcmFuc2FjdGlvbihzaWduZWRUeDogVmV0VHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgaWYgKCFzaWduZWRUeCB8fCAhc2lnbmVkVHguYm9keSkge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb246IG1pc3NpbmcgdHJhbnNhY3Rpb24gYm9keScpO1xuICAgICAgfVxuXG4gICAgICAvLyBTdG9yZSB0aGUgcmF3IHRyYW5zYWN0aW9uXG4gICAgICB0aGlzLnJhd1RyYW5zYWN0aW9uID0gc2lnbmVkVHg7XG5cbiAgICAgIC8vIFNldCB0cmFuc2FjdGlvbiBib2R5IHByb3BlcnRpZXNcbiAgICAgIGNvbnN0IGJvZHkgPSBzaWduZWRUeC5ib2R5O1xuICAgICAgdGhpcy5jaGFpblRhZyA9IHR5cGVvZiBib2R5LmNoYWluVGFnID09PSAnbnVtYmVyJyA/IGJvZHkuY2hhaW5UYWcgOiAwO1xuICAgICAgdGhpcy5ibG9ja1JlZiA9IGJvZHkuYmxvY2tSZWYgfHwgJzB4MCc7XG4gICAgICB0aGlzLmV4cGlyYXRpb24gPSB0eXBlb2YgYm9keS5leHBpcmF0aW9uID09PSAnbnVtYmVyJyA/IGJvZHkuZXhwaXJhdGlvbiA6IDY0O1xuICAgICAgdGhpcy5jbGF1c2VzID0gYm9keS5jbGF1c2VzIHx8IFtdO1xuICAgICAgdGhpcy5nYXNQcmljZUNvZWYgPSB0eXBlb2YgYm9keS5nYXNQcmljZUNvZWYgPT09ICdudW1iZXInID8gYm9keS5nYXNQcmljZUNvZWYgOiAxMjg7XG4gICAgICB0aGlzLmdhcyA9IHR5cGVvZiBib2R5LmdhcyA9PT0gJ251bWJlcicgPyBib2R5LmdhcyA6IE51bWJlcihib2R5LmdhcykgfHwgMDtcbiAgICAgIHRoaXMuZGVwZW5kc09uID0gYm9keS5kZXBlbmRzT24gfHwgbnVsbDtcbiAgICAgIHRoaXMubm9uY2UgPSBTdHJpbmcoYm9keS5ub25jZSk7XG5cbiAgICAgIC8vIFNldCBkZWxlZ2F0aW9uLXNwZWNpZmljIHByb3BlcnRpZXNcbiAgICAgIGlmIChib2R5LmNsYXVzZXMubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBjbGF1c2UgPSBib2R5LmNsYXVzZXNbMF07XG4gICAgICAgIGlmIChjbGF1c2UudG8pIHtcbiAgICAgICAgICB0aGlzLnN0YWtpbmdDb250cmFjdEFkZHJlc3MgPSBjbGF1c2UudG87XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNsYXVzZS5kYXRhKSB7XG4gICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkRhdGEgPSBjbGF1c2UuZGF0YTtcbiAgICAgICAgICBjb25zdCBkZWNvZGVkID0gdXRpbHMuZGVjb2RlRGVsZWdhdGVDbGF1c2VEYXRhKGNsYXVzZS5kYXRhKTtcbiAgICAgICAgICB0aGlzLnRva2VuSWQgPSBkZWNvZGVkLnRva2VuSWQ7XG4gICAgICAgICAgdGhpcy52YWxpZGF0b3IgPSBkZWNvZGVkLnZhbGlkYXRvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBTZXQgcmVjaXBpZW50cyBmcm9tIGNsYXVzZXNcbiAgICAgIHRoaXMucmVjaXBpZW50cyA9IGJvZHkuY2xhdXNlcy5tYXAoKGNsYXVzZSkgPT4gKHtcbiAgICAgICAgYWRkcmVzczogKGNsYXVzZS50byB8fCAnMHgwJykudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLFxuICAgICAgICBhbW91bnQ6IG5ldyBCaWdOdW1iZXIoY2xhdXNlLnZhbHVlIHx8IDApLnRvU3RyaW5nKCksXG4gICAgICB9KSk7XG4gICAgICB0aGlzLmxvYWRJbnB1dHNBbmRPdXRwdXRzKCk7XG5cbiAgICAgIC8vIFNldCBzZW5kZXIgYWRkcmVzc1xuICAgICAgaWYgKHNpZ25lZFR4LnNpZ25hdHVyZSAmJiBzaWduZWRUeC5vcmlnaW4pIHtcbiAgICAgICAgdGhpcy5zZW5kZXIgPSBzaWduZWRUeC5vcmlnaW4udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgfVxuXG4gICAgICAvLyBTZXQgc2lnbmF0dXJlcyBpZiBwcmVzZW50XG4gICAgICBpZiAoc2lnbmVkVHguc2lnbmF0dXJlKSB7XG4gICAgICAgIC8vIEZpcnN0IHNpZ25hdHVyZSBpcyBzZW5kZXIncyBzaWduYXR1cmVcbiAgICAgICAgdGhpcy5zZW5kZXJTaWduYXR1cmUgPSBCdWZmZXIuZnJvbShzaWduZWRUeC5zaWduYXR1cmUuc2xpY2UoMCwgU2VjcDI1NmsxLlNJR05BVFVSRV9MRU5HVEgpKTtcblxuICAgICAgICAvLyBJZiB0aGVyZSdzIGFkZGl0aW9uYWwgc2lnbmF0dXJlIGRhdGEsIGl0J3MgdGhlIGZlZSBwYXllcidzIHNpZ25hdHVyZVxuICAgICAgICBpZiAoc2lnbmVkVHguc2lnbmF0dXJlLmxlbmd0aCA+IFNlY3AyNTZrMS5TSUdOQVRVUkVfTEVOR1RIKSB7XG4gICAgICAgICAgdGhpcy5mZWVQYXllclNpZ25hdHVyZSA9IEJ1ZmZlci5mcm9tKHNpZ25lZFR4LnNpZ25hdHVyZS5zbGljZShTZWNwMjU2azEuU0lHTkFUVVJFX0xFTkdUSCkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBGYWlsZWQgdG8gZGVzZXJpYWxpemUgdHJhbnNhY3Rpb246ICR7ZS5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -4,7 +4,6 @@ import { TransactionClause } from '@vechain/sdk-core';
4
4
  import { TransactionBuilder } from './transactionBuilder';
5
5
  import { ClaimRewardsTransaction } from '../transaction/claimRewards';
6
6
  import { Transaction } from '../transaction/transaction';
7
- import { ClaimRewardsData } from '../types';
8
7
  export declare class ClaimRewardsBuilder extends TransactionBuilder {
9
8
  /**
10
9
  * Creates a new ClaimRewardsBuilder instance.
@@ -31,24 +30,27 @@ export declare class ClaimRewardsBuilder extends TransactionBuilder {
31
30
  */
32
31
  protected get transactionType(): TransactionType;
33
32
  /**
34
- * Validates the transaction clauses for claim rewards transaction.
35
- * @param {TransactionClause[]} clauses - The transaction clauses to validate.
36
- * @returns {boolean} - Returns true if the clauses are valid, false otherwise.
37
- */
38
- protected isValidTransactionClauses(clauses: TransactionClause[]): boolean;
39
- /**
40
- * Sets the claim rewards data for this transaction.
33
+ * Sets the staking contract address for this claim tx.
34
+ * The address must be explicitly provided to ensure the correct contract is used.
41
35
  *
42
- * @param {ClaimRewardsData} data - The claim rewards data
36
+ * @param {string} address - The staking contract address (required)
43
37
  * @returns {ClaimRewardsBuilder} This transaction builder
38
+ * @throws {Error} If no address is provided
44
39
  */
45
- claimRewardsData(data: ClaimRewardsData): this;
40
+ stakingContractAddress(address: string): this;
46
41
  /**
47
- * Validates the claim rewards data.
42
+ * Sets the token ID for this claim tx.
48
43
  *
49
- * @param {ClaimRewardsData} data - The claim rewards data to validate
44
+ * @param {number} levelId - The NFT token ID
45
+ * @returns {DelegateTxnBuilder} This transaction builder
50
46
  */
51
- private validateClaimRewardsData;
47
+ tokenId(tokenId: string): this;
48
+ /**
49
+ * Validates the transaction clauses for claim rewards transaction.
50
+ * @param {TransactionClause[]} clauses - The transaction clauses to validate.
51
+ * @returns {boolean} - Returns true if the clauses are valid, false otherwise.
52
+ */
53
+ protected isValidTransactionClauses(clauses: TransactionClause[]): boolean;
52
54
  /** @inheritdoc */
53
55
  validateTransaction(transaction?: ClaimRewardsTransaction): void;
54
56
  /** @inheritdoc */
@@ -1 +1 @@
1
- {"version":3,"file":"claimRewardsBuilder.d.ts","sourceRoot":"","sources":["../../../../src/lib/transactionBuilder/claimRewardsBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAI5C,qBAAa,mBAAoB,SAAQ,kBAAkB;IACzD;;;;OAIG;gBACS,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,uBAAuB,GAAG,IAAI;IAI9C;;;;OAIG;IACH,IAAI,uBAAuB,IAAI,uBAAuB,CAErD;IAED;;;;OAIG;IACH,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;;OAIG;IACH,SAAS,CAAC,yBAAyB,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,OAAO;IAqC1E;;;;;OAKG;IACH,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAM9C;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IA+BhC,kBAAkB;IAClB,mBAAmB,CAAC,WAAW,CAAC,EAAE,uBAAuB,GAAG,IAAI;IAehE,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;CAK5D"}
1
+ {"version":3,"file":"claimRewardsBuilder.d.ts","sourceRoot":"","sources":["../../../../src/lib/transactionBuilder/claimRewardsBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAIzD,qBAAa,mBAAoB,SAAQ,kBAAkB;IACzD;;;;OAIG;gBACS,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,uBAAuB,GAAG,IAAI;IAI9C;;;;OAIG;IACH,IAAI,uBAAuB,IAAI,uBAAuB,CAErD;IAED;;;;OAIG;IACH,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;;;;;OAOG;IACH,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAS7C;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK9B;;;;OAIG;IACH,SAAS,CAAC,yBAAyB,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,OAAO;IA0B1E,kBAAkB;IAClB,mBAAmB,CAAC,WAAW,CAAC,EAAE,uBAAuB,GAAG,IAAI;IAWhE,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;CAK5D"}