@secretkeylabs/stacks-tools 0.3.0-05c5288 → 0.3.0-6a691d3
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/index.cjs +36 -445
- package/dist/index.d.cts +285 -546
- package/dist/index.d.ts +285 -546
- package/dist/index.js +42 -444
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -30,11 +30,25 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
30
30
|
// src/index.ts
|
|
31
31
|
var src_exports = {};
|
|
32
32
|
__export(src_exports, {
|
|
33
|
-
|
|
34
|
-
stacksApi: () => stacksApi
|
|
33
|
+
stacksApi: () => stacks_api_exports
|
|
35
34
|
});
|
|
36
35
|
module.exports = __toCommonJS(src_exports);
|
|
37
36
|
|
|
37
|
+
// src/stacks-api/index.ts
|
|
38
|
+
var stacks_api_exports = {};
|
|
39
|
+
__export(stacks_api_exports, {
|
|
40
|
+
accounts: () => accounts_exports,
|
|
41
|
+
blocks: () => blocks_exports,
|
|
42
|
+
info: () => info_exports,
|
|
43
|
+
proofOfTransfer: () => proof_of_transfer_exports
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
// src/stacks-api/accounts/index.ts
|
|
47
|
+
var accounts_exports = {};
|
|
48
|
+
__export(accounts_exports, {
|
|
49
|
+
balances: () => balances
|
|
50
|
+
});
|
|
51
|
+
|
|
38
52
|
// src/utils/safe.ts
|
|
39
53
|
function success(data) {
|
|
40
54
|
return [null, data];
|
|
@@ -128,10 +142,11 @@ async function balances(opts) {
|
|
|
128
142
|
return success(validationResult.output);
|
|
129
143
|
}
|
|
130
144
|
|
|
131
|
-
// src/stacks-api/
|
|
132
|
-
var
|
|
133
|
-
|
|
134
|
-
|
|
145
|
+
// src/stacks-api/blocks/index.ts
|
|
146
|
+
var blocks_exports = {};
|
|
147
|
+
__export(blocks_exports, {
|
|
148
|
+
getBlock: () => getBlock
|
|
149
|
+
});
|
|
135
150
|
|
|
136
151
|
// src/stacks-api/types.ts
|
|
137
152
|
var v2 = __toESM(require("valibot"), 1);
|
|
@@ -206,10 +221,12 @@ async function getBlock(opts) {
|
|
|
206
221
|
return success(validationResult.output);
|
|
207
222
|
}
|
|
208
223
|
|
|
209
|
-
// src/stacks-api/
|
|
210
|
-
var
|
|
211
|
-
|
|
212
|
-
|
|
224
|
+
// src/stacks-api/info/index.ts
|
|
225
|
+
var info_exports = {};
|
|
226
|
+
__export(info_exports, {
|
|
227
|
+
coreApi: () => coreApi,
|
|
228
|
+
poxDetails: () => poxDetails
|
|
229
|
+
});
|
|
213
230
|
|
|
214
231
|
// src/stacks-api/info/core-api.ts
|
|
215
232
|
var v4 = __toESM(require("valibot"), 1);
|
|
@@ -362,11 +379,15 @@ async function poxDetails(args) {
|
|
|
362
379
|
return success(validationResult.output);
|
|
363
380
|
}
|
|
364
381
|
|
|
365
|
-
// src/stacks-api/
|
|
366
|
-
var
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
382
|
+
// src/stacks-api/proof-of-transfer/index.ts
|
|
383
|
+
var proof_of_transfer_exports = {};
|
|
384
|
+
__export(proof_of_transfer_exports, {
|
|
385
|
+
cycle: () => cycle,
|
|
386
|
+
cycles: () => cycles,
|
|
387
|
+
signerInCycle: () => signerInCycle,
|
|
388
|
+
signersInCycle: () => signersInCycle,
|
|
389
|
+
stackersForSignerInCycle: () => stackersForSignerInCycle
|
|
390
|
+
});
|
|
370
391
|
|
|
371
392
|
// src/stacks-api/proof-of-transfer/cycle.ts
|
|
372
393
|
var v6 = __toESM(require("valibot"), 1);
|
|
@@ -654,437 +675,7 @@ async function stackersForSignerInCycle(opts) {
|
|
|
654
675
|
}
|
|
655
676
|
return success(validationResult.output);
|
|
656
677
|
}
|
|
657
|
-
|
|
658
|
-
// src/stacks-api/proof-of-transfer/index.ts
|
|
659
|
-
var proofOfTransfer = {
|
|
660
|
-
cycle,
|
|
661
|
-
cycles,
|
|
662
|
-
signerInCycle,
|
|
663
|
-
signersInCycle,
|
|
664
|
-
stackersForSignerInCycle
|
|
665
|
-
};
|
|
666
|
-
|
|
667
|
-
// src/stacks-api/smart-contracts/read-only.ts
|
|
668
|
-
var v11 = __toESM(require("valibot"), 1);
|
|
669
|
-
var readOnlyResponseSchema = v11.variant("okay", [
|
|
670
|
-
v11.object({
|
|
671
|
-
okay: v11.literal(true),
|
|
672
|
-
result: v11.string()
|
|
673
|
-
}),
|
|
674
|
-
v11.object({
|
|
675
|
-
okay: v11.literal(false),
|
|
676
|
-
cause: v11.unknown()
|
|
677
|
-
})
|
|
678
|
-
]);
|
|
679
|
-
async function readOnly(opts, apiOpts) {
|
|
680
|
-
const init = {};
|
|
681
|
-
if (apiOpts.apiKeyConfig) {
|
|
682
|
-
init.headers = {
|
|
683
|
-
[apiOpts.apiKeyConfig.header]: apiOpts.apiKeyConfig.key
|
|
684
|
-
};
|
|
685
|
-
}
|
|
686
|
-
const res = await fetch(
|
|
687
|
-
`${apiOpts.baseUrl}/v2/contracts/call-read/${opts.contractAddress}/${opts.contractName}/${opts.functionName}`,
|
|
688
|
-
init
|
|
689
|
-
);
|
|
690
|
-
if (!res.ok) {
|
|
691
|
-
return error({
|
|
692
|
-
name: "FetchReadOnlyError",
|
|
693
|
-
message: "Failed to fetch.",
|
|
694
|
-
data: {
|
|
695
|
-
status: res.status,
|
|
696
|
-
statusText: res.statusText,
|
|
697
|
-
bodyParseResult: await safePromise(res.json())
|
|
698
|
-
}
|
|
699
|
-
});
|
|
700
|
-
}
|
|
701
|
-
const [jsonError, data] = await safePromise(res.json());
|
|
702
|
-
if (jsonError) {
|
|
703
|
-
return error({
|
|
704
|
-
name: "ParseBodyError",
|
|
705
|
-
message: "Failed to parse response body as JSON.",
|
|
706
|
-
data: error
|
|
707
|
-
});
|
|
708
|
-
}
|
|
709
|
-
const validationResult = v11.safeParse(readOnlyResponseSchema, data);
|
|
710
|
-
if (!validationResult.success) {
|
|
711
|
-
return error({
|
|
712
|
-
name: "ValidateDataError",
|
|
713
|
-
message: "Failed to validate data.",
|
|
714
|
-
data: validationResult
|
|
715
|
-
});
|
|
716
|
-
}
|
|
717
|
-
return success(validationResult.output);
|
|
718
|
-
}
|
|
719
|
-
|
|
720
|
-
// src/stacks-api/smart-contracts/index.ts
|
|
721
|
-
var smartContracts = {
|
|
722
|
-
readOnly
|
|
723
|
-
};
|
|
724
|
-
|
|
725
|
-
// src/stacks-api/stacking-pool/members.ts
|
|
726
|
-
var v12 = __toESM(require("valibot"), 1);
|
|
727
|
-
var memberSchema = v12.object({
|
|
728
|
-
stacker: v12.string(),
|
|
729
|
-
pox_addr: v12.optional(v12.string()),
|
|
730
|
-
amount_ustx: v12.string(),
|
|
731
|
-
burn_block_unlock_height: v12.optional(v12.number()),
|
|
732
|
-
block_height: v12.number(),
|
|
733
|
-
tx_id: v12.string()
|
|
734
|
-
});
|
|
735
|
-
var membersResponseSchema = v12.object({
|
|
736
|
-
limit: v12.number(),
|
|
737
|
-
offset: v12.number(),
|
|
738
|
-
total: v12.number(),
|
|
739
|
-
results: v12.array(memberSchema)
|
|
740
|
-
});
|
|
741
|
-
async function members(opts, apiOpts) {
|
|
742
|
-
const search = new URLSearchParams();
|
|
743
|
-
if (opts.afterBlock) search.append("after_block", opts.afterBlock.toString());
|
|
744
|
-
if (opts.unanchored) search.append("unanchored", "true");
|
|
745
|
-
if (opts.limit) search.append("limit", opts.limit.toString());
|
|
746
|
-
if (opts.offset) search.append("offset", opts.offset.toString());
|
|
747
|
-
const init = {};
|
|
748
|
-
if (apiOpts.apiKeyConfig) {
|
|
749
|
-
init.headers = {
|
|
750
|
-
[apiOpts.apiKeyConfig.header]: apiOpts.apiKeyConfig.key
|
|
751
|
-
};
|
|
752
|
-
}
|
|
753
|
-
const res = await fetch(
|
|
754
|
-
`${apiOpts.baseUrl}/extended/beta/stacking/${opts.poolPrincipal}/delegations?${search}`,
|
|
755
|
-
init
|
|
756
|
-
);
|
|
757
|
-
if (!res.ok) {
|
|
758
|
-
return error({
|
|
759
|
-
name: "FetchMembersError",
|
|
760
|
-
message: "Failed to fetch members.",
|
|
761
|
-
data: {
|
|
762
|
-
status: res.status,
|
|
763
|
-
statusText: res.statusText,
|
|
764
|
-
bodyParseResult: await safePromise(res.json())
|
|
765
|
-
}
|
|
766
|
-
});
|
|
767
|
-
}
|
|
768
|
-
const [jsonParseError, data] = await safePromise(res.json());
|
|
769
|
-
if (jsonParseError) {
|
|
770
|
-
return error({
|
|
771
|
-
name: "ParseBodyError",
|
|
772
|
-
message: "Failed to parse response body as JSON.",
|
|
773
|
-
data: jsonParseError
|
|
774
|
-
});
|
|
775
|
-
}
|
|
776
|
-
const validationResult = v12.safeParse(membersResponseSchema, data);
|
|
777
|
-
if (!validationResult.success) {
|
|
778
|
-
return error({
|
|
779
|
-
name: "ValidateDataError",
|
|
780
|
-
message: "Failed to validate data.",
|
|
781
|
-
data: validationResult
|
|
782
|
-
});
|
|
783
|
-
}
|
|
784
|
-
return success(validationResult.output);
|
|
785
|
-
}
|
|
786
|
-
|
|
787
|
-
// src/stacks-api/stacking-pool/index.ts
|
|
788
|
-
var stackingPool = {
|
|
789
|
-
members
|
|
790
|
-
};
|
|
791
|
-
|
|
792
|
-
// src/stacks-api/transactions/schemas.ts
|
|
793
|
-
var v13 = __toESM(require("valibot"), 1);
|
|
794
|
-
var baseTransactionSchema = v13.object({
|
|
795
|
-
tx_id: v13.string(),
|
|
796
|
-
nonce: v13.number(),
|
|
797
|
-
fee_rate: v13.string(),
|
|
798
|
-
sender_address: v13.string(),
|
|
799
|
-
sponsored: v13.boolean(),
|
|
800
|
-
post_condition_mode: v13.string(),
|
|
801
|
-
post_conditions: v13.array(v13.unknown()),
|
|
802
|
-
anchor_mode: v13.string(),
|
|
803
|
-
is_unanchored: v13.boolean(),
|
|
804
|
-
block_hash: v13.string(),
|
|
805
|
-
parent_block_hash: v13.string(),
|
|
806
|
-
block_height: v13.number(),
|
|
807
|
-
block_time: v13.number(),
|
|
808
|
-
block_time_iso: v13.string(),
|
|
809
|
-
burn_block_height: v13.number(),
|
|
810
|
-
burn_block_time: v13.number(),
|
|
811
|
-
burn_block_time_iso: v13.string(),
|
|
812
|
-
parent_burn_block_time: v13.number(),
|
|
813
|
-
parent_burn_block_time_iso: v13.string(),
|
|
814
|
-
canonical: v13.boolean(),
|
|
815
|
-
tx_index: v13.number(),
|
|
816
|
-
tx_status: v13.string(),
|
|
817
|
-
tx_result: v13.object({
|
|
818
|
-
hex: v13.string(),
|
|
819
|
-
repr: v13.string()
|
|
820
|
-
}),
|
|
821
|
-
microblock_hash: v13.string(),
|
|
822
|
-
microblock_sequence: v13.number(),
|
|
823
|
-
microblock_canonical: v13.boolean(),
|
|
824
|
-
event_count: v13.number(),
|
|
825
|
-
events: v13.array(v13.unknown()),
|
|
826
|
-
execution_cost_read_count: v13.number(),
|
|
827
|
-
execution_cost_read_length: v13.number(),
|
|
828
|
-
execution_cost_runtime: v13.number(),
|
|
829
|
-
execution_cost_write_count: v13.number(),
|
|
830
|
-
execution_cost_write_length: v13.number()
|
|
831
|
-
});
|
|
832
|
-
var contractCallTransactionSchema = v13.object({
|
|
833
|
-
tx_type: v13.literal("contract_call"),
|
|
834
|
-
contract_call: v13.object({
|
|
835
|
-
contract_id: v13.string(),
|
|
836
|
-
function_name: v13.string(),
|
|
837
|
-
function_signature: v13.string(),
|
|
838
|
-
function_args: v13.array(
|
|
839
|
-
v13.object({
|
|
840
|
-
hex: v13.string(),
|
|
841
|
-
repr: v13.string(),
|
|
842
|
-
name: v13.string(),
|
|
843
|
-
type: v13.string()
|
|
844
|
-
})
|
|
845
|
-
)
|
|
846
|
-
}),
|
|
847
|
-
...baseTransactionSchema.entries
|
|
848
|
-
});
|
|
849
|
-
var smartContractTransactionSchema = v13.object({
|
|
850
|
-
tx_type: v13.literal("smart_contract"),
|
|
851
|
-
smart_contract: v13.object({
|
|
852
|
-
/**
|
|
853
|
-
* NOTE: The types may be wrong, not sure what type of value is used when
|
|
854
|
-
* the version is not `null`.
|
|
855
|
-
*/
|
|
856
|
-
clarity_version: v13.union([v13.null(), v13.number()]),
|
|
857
|
-
contract_id: v13.string(),
|
|
858
|
-
source_code: v13.string()
|
|
859
|
-
}),
|
|
860
|
-
...baseTransactionSchema.entries
|
|
861
|
-
});
|
|
862
|
-
var tokenTransferSchema = v13.object({
|
|
863
|
-
tx_type: v13.literal("token_transfer"),
|
|
864
|
-
token_transfer: v13.object({
|
|
865
|
-
recipient_address: v13.string(),
|
|
866
|
-
amount: v13.string(),
|
|
867
|
-
memo: v13.string()
|
|
868
|
-
}),
|
|
869
|
-
...baseTransactionSchema.entries
|
|
870
|
-
});
|
|
871
|
-
var transactionSchema = v13.variant("tx_type", [
|
|
872
|
-
contractCallTransactionSchema,
|
|
873
|
-
smartContractTransactionSchema,
|
|
874
|
-
tokenTransferSchema
|
|
875
|
-
]);
|
|
876
|
-
|
|
877
|
-
// src/stacks-api/transactions/address-transactions.ts
|
|
878
|
-
var v14 = __toESM(require("valibot"), 1);
|
|
879
|
-
var resultSchema = v14.object({
|
|
880
|
-
tx: transactionSchema,
|
|
881
|
-
stx_sent: v14.string(),
|
|
882
|
-
stx_received: v14.string(),
|
|
883
|
-
events: v14.object({
|
|
884
|
-
stx: v14.object({
|
|
885
|
-
transfer: v14.number(),
|
|
886
|
-
mint: v14.number(),
|
|
887
|
-
burn: v14.number()
|
|
888
|
-
}),
|
|
889
|
-
ft: v14.object({
|
|
890
|
-
transfer: v14.number(),
|
|
891
|
-
mint: v14.number(),
|
|
892
|
-
burn: v14.number()
|
|
893
|
-
}),
|
|
894
|
-
nft: v14.object({
|
|
895
|
-
transfer: v14.number(),
|
|
896
|
-
mint: v14.number(),
|
|
897
|
-
burn: v14.number()
|
|
898
|
-
})
|
|
899
|
-
})
|
|
900
|
-
});
|
|
901
|
-
var resultsSchema4 = v14.array(resultSchema);
|
|
902
|
-
var addressTransactionsResponseSchema = v14.object({
|
|
903
|
-
...baseListResponseSchema.entries,
|
|
904
|
-
results: resultsSchema4
|
|
905
|
-
});
|
|
906
|
-
async function addressTransactions(args) {
|
|
907
|
-
const search = new URLSearchParams();
|
|
908
|
-
if (args.limit) search.append("limit", args.limit.toString());
|
|
909
|
-
if (args.offset) search.append("offset", args.offset.toString());
|
|
910
|
-
const init = {};
|
|
911
|
-
if (args.apiKeyConfig) {
|
|
912
|
-
init.headers = {
|
|
913
|
-
[args.apiKeyConfig.header]: args.apiKeyConfig.key
|
|
914
|
-
};
|
|
915
|
-
}
|
|
916
|
-
const res = await fetch(
|
|
917
|
-
`${args.baseUrl}/extended/v2/addresses/${args.address}/transactions?${search}`,
|
|
918
|
-
init
|
|
919
|
-
);
|
|
920
|
-
if (!res.ok) {
|
|
921
|
-
return error({
|
|
922
|
-
name: "FetchAddressTransactionsError",
|
|
923
|
-
message: "Failed to fetch address transactions.",
|
|
924
|
-
data: {
|
|
925
|
-
status: res.status,
|
|
926
|
-
statusText: res.statusText,
|
|
927
|
-
bodyParseResult: await safePromise(res.json())
|
|
928
|
-
}
|
|
929
|
-
});
|
|
930
|
-
}
|
|
931
|
-
const [jsonParseError, data] = await safePromise(res.json());
|
|
932
|
-
if (jsonParseError) {
|
|
933
|
-
return error({
|
|
934
|
-
name: "ParseBodyError",
|
|
935
|
-
message: "Failed to parse response body as JSON.",
|
|
936
|
-
data: jsonParseError
|
|
937
|
-
});
|
|
938
|
-
}
|
|
939
|
-
const validationResult = v14.safeParse(addressTransactionsResponseSchema, data);
|
|
940
|
-
if (!validationResult.success) {
|
|
941
|
-
return error({
|
|
942
|
-
name: "ValidateDataError",
|
|
943
|
-
message: "Failed to validate data.",
|
|
944
|
-
data: validationResult
|
|
945
|
-
});
|
|
946
|
-
}
|
|
947
|
-
return success(validationResult.output);
|
|
948
|
-
}
|
|
949
|
-
|
|
950
|
-
// src/stacks-api/transactions/get-transaction.ts
|
|
951
|
-
var v15 = __toESM(require("valibot"), 1);
|
|
952
|
-
async function getTransaction(args) {
|
|
953
|
-
const init = {};
|
|
954
|
-
if (args.apiKeyConfig) {
|
|
955
|
-
init.headers = {
|
|
956
|
-
[args.apiKeyConfig.header]: args.apiKeyConfig.key
|
|
957
|
-
};
|
|
958
|
-
}
|
|
959
|
-
const endpoint = `${args.baseUrl}/extended/v1/tx/${args.transactionId}`;
|
|
960
|
-
const res = await fetch(endpoint, init);
|
|
961
|
-
if (!res.ok) {
|
|
962
|
-
return error({
|
|
963
|
-
name: "FetchTransactionError",
|
|
964
|
-
message: `Failed to fetch transaction ${args.transactionId}`,
|
|
965
|
-
response: {
|
|
966
|
-
status: res.status,
|
|
967
|
-
statusText: res.statusText,
|
|
968
|
-
body: await safePromise(res.json())
|
|
969
|
-
}
|
|
970
|
-
});
|
|
971
|
-
}
|
|
972
|
-
const [jsonParseError, data] = await safePromise(res.json());
|
|
973
|
-
if (jsonParseError) {
|
|
974
|
-
return error({
|
|
975
|
-
name: "ParseBodyError",
|
|
976
|
-
message: "Failed to parse response body as JSON.",
|
|
977
|
-
error: jsonParseError
|
|
978
|
-
});
|
|
979
|
-
}
|
|
980
|
-
const validationResult = v15.safeParse(transactionSchema, data);
|
|
981
|
-
if (!validationResult.success) {
|
|
982
|
-
return error({
|
|
983
|
-
name: "ValidateDataError",
|
|
984
|
-
message: "Failed to validate data.",
|
|
985
|
-
error: validationResult
|
|
986
|
-
});
|
|
987
|
-
}
|
|
988
|
-
return success(validationResult.output);
|
|
989
|
-
}
|
|
990
|
-
|
|
991
|
-
// src/stacks-api/transactions/index.ts
|
|
992
|
-
var transactions = {
|
|
993
|
-
addressTransactions,
|
|
994
|
-
getTransaction
|
|
995
|
-
};
|
|
996
|
-
|
|
997
|
-
// src/stacks-api/index.ts
|
|
998
|
-
var stacksApi = {
|
|
999
|
-
accounts,
|
|
1000
|
-
blocks,
|
|
1001
|
-
info,
|
|
1002
|
-
proofOfTransfer,
|
|
1003
|
-
smartContracts,
|
|
1004
|
-
stackingPool,
|
|
1005
|
-
transactions
|
|
1006
|
-
};
|
|
1007
|
-
|
|
1008
|
-
// src/utils/call-rate-limited-api.ts
|
|
1009
|
-
var import_exponential_backoff = require("exponential-backoff");
|
|
1010
|
-
async function safeCallRateLimitedApi(fn, options) {
|
|
1011
|
-
try {
|
|
1012
|
-
return await (0, import_exponential_backoff.backOff)(() => fn(), {
|
|
1013
|
-
startingDelay: options?.startingDelay ?? 15e3,
|
|
1014
|
-
numOfAttempts: options?.numOfAttempts ?? 5
|
|
1015
|
-
});
|
|
1016
|
-
} catch (error2) {
|
|
1017
|
-
return error({
|
|
1018
|
-
name: "MaxRetriesExceeded",
|
|
1019
|
-
message: "Failed to call rate limited API.",
|
|
1020
|
-
data: {
|
|
1021
|
-
error: error2
|
|
1022
|
-
}
|
|
1023
|
-
});
|
|
1024
|
-
}
|
|
1025
|
-
}
|
|
1026
|
-
|
|
1027
|
-
// src/queries/get-signer-stacked-amount.ts
|
|
1028
|
-
async function getSignerStackedAmount(args) {
|
|
1029
|
-
let totalLocked = 0n;
|
|
1030
|
-
const { identifier, ...rest } = args;
|
|
1031
|
-
let hasMore = true;
|
|
1032
|
-
let offset = 0;
|
|
1033
|
-
let found = false;
|
|
1034
|
-
const limit = 200;
|
|
1035
|
-
while (hasMore && !found) {
|
|
1036
|
-
const [error2, data] = await safeCallRateLimitedApi(
|
|
1037
|
-
() => signersInCycle({
|
|
1038
|
-
...rest,
|
|
1039
|
-
limit
|
|
1040
|
-
})
|
|
1041
|
-
);
|
|
1042
|
-
if (error2) {
|
|
1043
|
-
return error({
|
|
1044
|
-
name: "GetSignerTotalLockedError",
|
|
1045
|
-
message: "Failed to get signer total locked.",
|
|
1046
|
-
data: {
|
|
1047
|
-
error: error2
|
|
1048
|
-
}
|
|
1049
|
-
});
|
|
1050
|
-
}
|
|
1051
|
-
for (const signer of data.results) {
|
|
1052
|
-
if (identifier.type === "address") {
|
|
1053
|
-
if (signer.signer_address === identifier.signerAddress) {
|
|
1054
|
-
totalLocked = BigInt(signer.stacked_amount);
|
|
1055
|
-
found = true;
|
|
1056
|
-
break;
|
|
1057
|
-
}
|
|
1058
|
-
} else {
|
|
1059
|
-
if (signer.signing_key === identifier.signerPublicKey) {
|
|
1060
|
-
totalLocked = BigInt(signer.stacked_amount);
|
|
1061
|
-
found = true;
|
|
1062
|
-
break;
|
|
1063
|
-
}
|
|
1064
|
-
}
|
|
1065
|
-
}
|
|
1066
|
-
offset += limit + data.results.length;
|
|
1067
|
-
hasMore = offset < data.total;
|
|
1068
|
-
}
|
|
1069
|
-
if (!found) {
|
|
1070
|
-
return error({
|
|
1071
|
-
name: "SignerNotFound",
|
|
1072
|
-
message: "Signer not found.",
|
|
1073
|
-
data: {
|
|
1074
|
-
identifier,
|
|
1075
|
-
cycle: args.cycleNumber
|
|
1076
|
-
}
|
|
1077
|
-
});
|
|
1078
|
-
}
|
|
1079
|
-
return success(totalLocked);
|
|
1080
|
-
}
|
|
1081
|
-
|
|
1082
|
-
// src/queries/index.ts
|
|
1083
|
-
var queries = {
|
|
1084
|
-
getSignerStackedAmount
|
|
1085
|
-
};
|
|
1086
678
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1087
679
|
0 && (module.exports = {
|
|
1088
|
-
queries,
|
|
1089
680
|
stacksApi
|
|
1090
681
|
});
|