koilib 9.2.0 → 9.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/Provider.d.ts CHANGED
@@ -83,6 +83,48 @@ export interface ProviderInterface {
83
83
  address: string;
84
84
  };
85
85
  } | undefined>;
86
+ invokeGetObject?: (args: {
87
+ address: string;
88
+ id: number;
89
+ key?: string;
90
+ system?: boolean;
91
+ zone?: string;
92
+ }) => Promise<string | undefined>;
93
+ invokeGetNextObject?: (args: {
94
+ address: string;
95
+ id: number;
96
+ key?: string;
97
+ system?: boolean;
98
+ zone?: string;
99
+ }) => Promise<{
100
+ exists: boolean;
101
+ value: string;
102
+ key: string;
103
+ } | undefined>;
104
+ invokeGetPrevObject?: (args: {
105
+ address: string;
106
+ id: number;
107
+ key?: string;
108
+ system?: boolean;
109
+ zone?: string;
110
+ }) => Promise<{
111
+ exists: boolean;
112
+ value: string;
113
+ key: string;
114
+ } | undefined>;
115
+ invokeGetManyObjects?: (args: {
116
+ address: string;
117
+ id: number;
118
+ key?: string;
119
+ limit?: number;
120
+ direction?: "ascending" | "descending";
121
+ system?: boolean;
122
+ zone?: string;
123
+ }) => Promise<{
124
+ exists: boolean;
125
+ value: string;
126
+ key: string;
127
+ }[]>;
86
128
  }
87
129
  /**
88
130
  * Class to connect with the RPC node
@@ -571,5 +613,168 @@ export declare class Provider implements ProviderInterface {
571
613
  address: string;
572
614
  };
573
615
  } | undefined>;
616
+ invokeGetObjectGeneric({ systemCallIdOrName, address, id, key, system, zone, }: {
617
+ systemCallIdOrName: string | number;
618
+ address: string;
619
+ id: number;
620
+ key?: string;
621
+ system?: boolean;
622
+ zone?: string;
623
+ }): Promise<{
624
+ exists: boolean;
625
+ value: string;
626
+ key: string;
627
+ } | undefined>;
628
+ /**
629
+ * Function to get an object from the database via the get_object system call.
630
+ * @param args - object space and key
631
+ * @param args.address - caller address (also used as zone when zone is omitted)
632
+ * @param args.id - object space id
633
+ * @param args.key - object key (defaults to empty)
634
+ * @param args.zone - object space zone (defaults to address)
635
+ *
636
+ * @example
637
+ * ```ts
638
+ * const provider = new Provider("https://api.koinos.io");
639
+ * const result = await provider.invokeGetObject({
640
+ * address: "1KD9Es7LBBjA1FY3ViCgQJ7e6WH1ipKbhz",
641
+ * id: 0,
642
+ * });
643
+ * console.log(result);
644
+ *
645
+ * // {
646
+ * // exists: true,
647
+ * // value: '...',
648
+ * // key: ''
649
+ * // }
650
+ * ```
651
+ */
652
+ invokeGetObject({ address, id, key, system, zone, }: {
653
+ address: string;
654
+ id: number;
655
+ key?: string;
656
+ system?: boolean;
657
+ zone?: string;
658
+ }): Promise<string | undefined>;
659
+ /**
660
+ * Function to get the next object from the database via the
661
+ * get_next_object system call.
662
+ * @param args - object space and key
663
+ * @param args.address - caller address (also used as zone when zone is omitted)
664
+ * @param args.id - object space id
665
+ * @param args.key - object key to seek from (defaults to empty)
666
+ * @param args.system - whether the space is a system space
667
+ * @param args.zone - object space zone (defaults to address)
668
+ *
669
+ * @example
670
+ * ```ts
671
+ * const provider = new Provider("https://api.koinos.io");
672
+ * const result = await provider.invokeGetNextObject({
673
+ * address: "1KD9Es7LBBjA1FY3ViCgQJ7e6WH1ipKbhz",
674
+ * id: 0,
675
+ * });
676
+ * console.log(result);
677
+ *
678
+ * // {
679
+ * // exists: true,
680
+ * // value: '...',
681
+ * // key: '...'
682
+ * // }
683
+ * ```
684
+ */
685
+ invokeGetNextObject({ address, id, key, system, zone, }: {
686
+ address: string;
687
+ id: number;
688
+ key?: string;
689
+ system?: boolean;
690
+ zone?: string;
691
+ }): Promise<{
692
+ exists: boolean;
693
+ value: string;
694
+ key: string;
695
+ } | undefined>;
696
+ /**
697
+ * Function to get the previous object from the database via the
698
+ * get_prev_object system call.
699
+ * @param args - object space and key
700
+ * @param args.address - caller address (also used as zone when zone is omitted)
701
+ * @param args.id - object space id
702
+ * @param args.key - object key to seek from (defaults to empty)
703
+ * @param args.system - whether the space is a system space
704
+ * @param args.zone - object space zone (defaults to address)
705
+ *
706
+ * @example
707
+ * ```ts
708
+ * const provider = new Provider("https://api.koinos.io");
709
+ * const result = await provider.invokeGetPrevObject({
710
+ * address: "1KD9Es7LBBjA1FY3ViCgQJ7e6WH1ipKbhz",
711
+ * id: 0,
712
+ * key: "...",
713
+ * });
714
+ * console.log(result);
715
+ *
716
+ * // {
717
+ * // exists: true,
718
+ * // value: '...',
719
+ * // key: '...'
720
+ * // }
721
+ * ```
722
+ */
723
+ invokeGetPrevObject({ address, id, key, system, zone, }: {
724
+ address: string;
725
+ id: number;
726
+ key?: string;
727
+ system?: boolean;
728
+ zone?: string;
729
+ }): Promise<{
730
+ exists: boolean;
731
+ value: string;
732
+ key: string;
733
+ } | undefined>;
734
+ /**
735
+ * Function to get many objects from the database by repeatedly
736
+ * calling get_next_object or get_prev_object.
737
+ * @param args - object space and pagination options
738
+ * @param args.address - caller address (also used as zone when zone is omitted)
739
+ * @param args.id - object space id
740
+ * @param args.key - offset key to seek from (defaults to empty)
741
+ * @param args.limit - maximum number of objects to return
742
+ * @param args.direction - traversal direction ("ascending" or "descending")
743
+ * @param args.system - whether the space is a system space
744
+ * @param args.zone - object space zone (defaults to address)
745
+ *
746
+ * @example
747
+ * ```ts
748
+ * const provider = new Provider("https://api.koinos.io");
749
+ * const result = await provider.invokeGetManyObjects({
750
+ * address: "1KD9Es7LBBjA1FY3ViCgQJ7e6WH1ipKbhz",
751
+ * id: 0,
752
+ * limit: 10,
753
+ * });
754
+ * console.log(result);
755
+ *
756
+ * // [
757
+ * // {
758
+ * // exists: true,
759
+ * // value: '...',
760
+ * // key: '...'
761
+ * // },
762
+ * // ...
763
+ * // ]
764
+ * ```
765
+ */
766
+ invokeGetManyObjects({ address, id, key, limit, direction, system, zone, }: {
767
+ address: string;
768
+ id: number;
769
+ key?: string;
770
+ limit?: number;
771
+ direction?: "ascending" | "descending";
772
+ system?: boolean;
773
+ zone?: string;
774
+ }): Promise<{
775
+ exists: boolean;
776
+ value: string;
777
+ key: string;
778
+ }[]>;
574
779
  }
575
780
  export default Provider;
package/lib/Provider.js CHANGED
@@ -10,6 +10,65 @@ const cross_fetch_1 = __importDefault(require("cross-fetch"));
10
10
  const protocol_proto_js_1 = require("./protoModules/protocol-proto.js");
11
11
  const utils_1 = require("./utils");
12
12
  const Serializer_1 = require("./Serializer");
13
+ const getObjectTypes = {
14
+ nested: {
15
+ get_object_arguments: {
16
+ fields: {
17
+ space: {
18
+ type: "object_space",
19
+ id: 1,
20
+ },
21
+ key: {
22
+ type: "bytes",
23
+ id: 2,
24
+ },
25
+ },
26
+ },
27
+ get_object_result: {
28
+ fields: {
29
+ value: {
30
+ type: "database_object",
31
+ id: 1,
32
+ },
33
+ },
34
+ },
35
+ object_space: {
36
+ fields: {
37
+ system: {
38
+ type: "bool",
39
+ id: 1,
40
+ },
41
+ zone: {
42
+ type: "bytes",
43
+ id: 2,
44
+ options: {
45
+ "(koinos.btype)": "ADDRESS",
46
+ },
47
+ },
48
+ id: {
49
+ type: "uint32",
50
+ id: 3,
51
+ },
52
+ },
53
+ },
54
+ database_object: {
55
+ fields: {
56
+ exists: {
57
+ type: "bool",
58
+ id: 1,
59
+ },
60
+ value: {
61
+ type: "bytes",
62
+ id: 2,
63
+ },
64
+ key: {
65
+ type: "bytes",
66
+ id: 3,
67
+ },
68
+ },
69
+ },
70
+ },
71
+ };
13
72
  /* eslint-disable @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access */
14
73
  async function sleep(ms) {
15
74
  return new Promise((r) => setTimeout(r, ms));
@@ -763,6 +822,194 @@ class Provider {
763
822
  });
764
823
  return this.invokeSystemCall(serializer, "get_contract_address", { name });
765
824
  }
825
+ async invokeGetObjectGeneric({ systemCallIdOrName, address, id, key = "", system = false, zone = address, }) {
826
+ const serializer = new Serializer_1.Serializer(getObjectTypes, {
827
+ argumentsTypeName: "get_object_arguments",
828
+ returnTypeName: "get_object_result",
829
+ });
830
+ const result = await this.invokeSystemCall(serializer, systemCallIdOrName, {
831
+ space: {
832
+ system,
833
+ zone,
834
+ id,
835
+ },
836
+ key,
837
+ }, {
838
+ caller: address,
839
+ caller_privilege: system ? 0 : 1,
840
+ });
841
+ return result === null || result === void 0 ? void 0 : result.value;
842
+ }
843
+ /**
844
+ * Function to get an object from the database via the get_object system call.
845
+ * @param args - object space and key
846
+ * @param args.address - caller address (also used as zone when zone is omitted)
847
+ * @param args.id - object space id
848
+ * @param args.key - object key (defaults to empty)
849
+ * @param args.zone - object space zone (defaults to address)
850
+ *
851
+ * @example
852
+ * ```ts
853
+ * const provider = new Provider("https://api.koinos.io");
854
+ * const result = await provider.invokeGetObject({
855
+ * address: "1KD9Es7LBBjA1FY3ViCgQJ7e6WH1ipKbhz",
856
+ * id: 0,
857
+ * });
858
+ * console.log(result);
859
+ *
860
+ * // {
861
+ * // exists: true,
862
+ * // value: '...',
863
+ * // key: ''
864
+ * // }
865
+ * ```
866
+ */
867
+ async invokeGetObject({ address, id, key = "", system = false, zone = address, }) {
868
+ const result = await this.invokeGetObjectGeneric({
869
+ systemCallIdOrName: "get_object",
870
+ address,
871
+ id,
872
+ key,
873
+ system,
874
+ zone,
875
+ });
876
+ if (!result || !result.exists)
877
+ return undefined;
878
+ return result.value;
879
+ }
880
+ /**
881
+ * Function to get the next object from the database via the
882
+ * get_next_object system call.
883
+ * @param args - object space and key
884
+ * @param args.address - caller address (also used as zone when zone is omitted)
885
+ * @param args.id - object space id
886
+ * @param args.key - object key to seek from (defaults to empty)
887
+ * @param args.system - whether the space is a system space
888
+ * @param args.zone - object space zone (defaults to address)
889
+ *
890
+ * @example
891
+ * ```ts
892
+ * const provider = new Provider("https://api.koinos.io");
893
+ * const result = await provider.invokeGetNextObject({
894
+ * address: "1KD9Es7LBBjA1FY3ViCgQJ7e6WH1ipKbhz",
895
+ * id: 0,
896
+ * });
897
+ * console.log(result);
898
+ *
899
+ * // {
900
+ * // exists: true,
901
+ * // value: '...',
902
+ * // key: '...'
903
+ * // }
904
+ * ```
905
+ */
906
+ async invokeGetNextObject({ address, id, key = "", system = false, zone = address, }) {
907
+ return this.invokeGetObjectGeneric({
908
+ systemCallIdOrName: "get_next_object",
909
+ address,
910
+ id,
911
+ key,
912
+ system,
913
+ zone,
914
+ });
915
+ }
916
+ /**
917
+ * Function to get the previous object from the database via the
918
+ * get_prev_object system call.
919
+ * @param args - object space and key
920
+ * @param args.address - caller address (also used as zone when zone is omitted)
921
+ * @param args.id - object space id
922
+ * @param args.key - object key to seek from (defaults to empty)
923
+ * @param args.system - whether the space is a system space
924
+ * @param args.zone - object space zone (defaults to address)
925
+ *
926
+ * @example
927
+ * ```ts
928
+ * const provider = new Provider("https://api.koinos.io");
929
+ * const result = await provider.invokeGetPrevObject({
930
+ * address: "1KD9Es7LBBjA1FY3ViCgQJ7e6WH1ipKbhz",
931
+ * id: 0,
932
+ * key: "...",
933
+ * });
934
+ * console.log(result);
935
+ *
936
+ * // {
937
+ * // exists: true,
938
+ * // value: '...',
939
+ * // key: '...'
940
+ * // }
941
+ * ```
942
+ */
943
+ async invokeGetPrevObject({ address, id, key = "", system = false, zone = address, }) {
944
+ return this.invokeGetObjectGeneric({
945
+ systemCallIdOrName: "get_prev_object",
946
+ address,
947
+ id,
948
+ key,
949
+ system,
950
+ zone,
951
+ });
952
+ }
953
+ /**
954
+ * Function to get many objects from the database by repeatedly
955
+ * calling get_next_object or get_prev_object.
956
+ * @param args - object space and pagination options
957
+ * @param args.address - caller address (also used as zone when zone is omitted)
958
+ * @param args.id - object space id
959
+ * @param args.key - offset key to seek from (defaults to empty)
960
+ * @param args.limit - maximum number of objects to return
961
+ * @param args.direction - traversal direction ("ascending" or "descending")
962
+ * @param args.system - whether the space is a system space
963
+ * @param args.zone - object space zone (defaults to address)
964
+ *
965
+ * @example
966
+ * ```ts
967
+ * const provider = new Provider("https://api.koinos.io");
968
+ * const result = await provider.invokeGetManyObjects({
969
+ * address: "1KD9Es7LBBjA1FY3ViCgQJ7e6WH1ipKbhz",
970
+ * id: 0,
971
+ * limit: 10,
972
+ * });
973
+ * console.log(result);
974
+ *
975
+ * // [
976
+ * // {
977
+ * // exists: true,
978
+ * // value: '...',
979
+ * // key: '...'
980
+ * // },
981
+ * // ...
982
+ * // ]
983
+ * ```
984
+ */
985
+ async invokeGetManyObjects({ address, id, key = "", limit = Number.MAX_SAFE_INTEGER, direction = "ascending", system = false, zone = address, }) {
986
+ const result = [];
987
+ let currentKey = key;
988
+ let done = false;
989
+ do {
990
+ const obj = direction === "ascending"
991
+ ? await this.invokeGetNextObject({
992
+ address,
993
+ id,
994
+ key: currentKey,
995
+ system,
996
+ zone,
997
+ })
998
+ : await this.invokeGetPrevObject({
999
+ address,
1000
+ id,
1001
+ key: currentKey,
1002
+ system,
1003
+ zone,
1004
+ });
1005
+ if (obj && obj.exists) {
1006
+ result.push(obj);
1007
+ currentKey = obj.key;
1008
+ }
1009
+ done = !obj || !obj.exists || result.length >= limit;
1010
+ } while (!done);
1011
+ return result;
1012
+ }
766
1013
  }
767
1014
  exports.Provider = Provider;
768
1015
  exports.default = Provider;
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../src/Provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../src/Provider.ts"],"names":[],"mappings":"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"}