@q00bs/agent-sdk 1.0.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.
Files changed (85) hide show
  1. package/dist/Q00bsAgent.d.ts +331 -0
  2. package/dist/Q00bsAgent.d.ts.map +1 -0
  3. package/dist/Q00bsAgent.js +695 -0
  4. package/dist/Q00bsAgent.js.map +1 -0
  5. package/dist/abis/AgentEscrow.d.ts +336 -0
  6. package/dist/abis/AgentEscrow.d.ts.map +1 -0
  7. package/dist/abis/AgentEscrow.js +206 -0
  8. package/dist/abis/AgentEscrow.js.map +1 -0
  9. package/dist/abis/AgentRegistry.d.ts +496 -0
  10. package/dist/abis/AgentRegistry.d.ts.map +1 -0
  11. package/dist/abis/AgentRegistry.js +280 -0
  12. package/dist/abis/AgentRegistry.js.map +1 -0
  13. package/dist/abis/ConsensusModule.d.ts +270 -0
  14. package/dist/abis/ConsensusModule.d.ts.map +1 -0
  15. package/dist/abis/ConsensusModule.js +157 -0
  16. package/dist/abis/ConsensusModule.js.map +1 -0
  17. package/dist/abis/ERC8004Identity.d.ts +293 -0
  18. package/dist/abis/ERC8004Identity.d.ts.map +1 -0
  19. package/dist/abis/ERC8004Identity.js +223 -0
  20. package/dist/abis/ERC8004Identity.js.map +1 -0
  21. package/dist/abis/ERC8004Reputation.d.ts +362 -0
  22. package/dist/abis/ERC8004Reputation.d.ts.map +1 -0
  23. package/dist/abis/ERC8004Reputation.js +229 -0
  24. package/dist/abis/ERC8004Reputation.js.map +1 -0
  25. package/dist/abis/ERC8004Validation.d.ts +234 -0
  26. package/dist/abis/ERC8004Validation.d.ts.map +1 -0
  27. package/dist/abis/ERC8004Validation.js +162 -0
  28. package/dist/abis/ERC8004Validation.js.map +1 -0
  29. package/dist/abis/Q00bFactory.d.ts +123 -0
  30. package/dist/abis/Q00bFactory.d.ts.map +1 -0
  31. package/dist/abis/Q00bFactory.js +65 -0
  32. package/dist/abis/Q00bFactory.js.map +1 -0
  33. package/dist/abis/TheQ00bs.d.ts +119 -0
  34. package/dist/abis/TheQ00bs.d.ts.map +1 -0
  35. package/dist/abis/TheQ00bs.js +73 -0
  36. package/dist/abis/TheQ00bs.js.map +1 -0
  37. package/dist/abis/index.d.ts +9 -0
  38. package/dist/abis/index.d.ts.map +1 -0
  39. package/dist/abis/index.js +17 -0
  40. package/dist/abis/index.js.map +1 -0
  41. package/dist/client.d.ts +111 -0
  42. package/dist/client.d.ts.map +1 -0
  43. package/dist/client.js +134 -0
  44. package/dist/client.js.map +1 -0
  45. package/dist/consensus.d.ts +85 -0
  46. package/dist/consensus.d.ts.map +1 -0
  47. package/dist/consensus.js +227 -0
  48. package/dist/consensus.js.map +1 -0
  49. package/dist/constants.d.ts +85 -0
  50. package/dist/constants.d.ts.map +1 -0
  51. package/dist/constants.js +113 -0
  52. package/dist/constants.js.map +1 -0
  53. package/dist/discovery.d.ts +70 -0
  54. package/dist/discovery.d.ts.map +1 -0
  55. package/dist/discovery.js +214 -0
  56. package/dist/discovery.js.map +1 -0
  57. package/dist/erc8004.d.ts +311 -0
  58. package/dist/erc8004.d.ts.map +1 -0
  59. package/dist/erc8004.js +824 -0
  60. package/dist/erc8004.js.map +1 -0
  61. package/dist/errors.d.ts +107 -0
  62. package/dist/errors.d.ts.map +1 -0
  63. package/dist/errors.js +210 -0
  64. package/dist/errors.js.map +1 -0
  65. package/dist/escrow.d.ts +86 -0
  66. package/dist/escrow.d.ts.map +1 -0
  67. package/dist/escrow.js +267 -0
  68. package/dist/escrow.js.map +1 -0
  69. package/dist/index.d.ts +51 -0
  70. package/dist/index.d.ts.map +1 -0
  71. package/dist/index.js +118 -0
  72. package/dist/index.js.map +1 -0
  73. package/dist/privy.d.ts +197 -0
  74. package/dist/privy.d.ts.map +1 -0
  75. package/dist/privy.js +524 -0
  76. package/dist/privy.js.map +1 -0
  77. package/dist/trust.d.ts +49 -0
  78. package/dist/trust.d.ts.map +1 -0
  79. package/dist/trust.js +117 -0
  80. package/dist/trust.js.map +1 -0
  81. package/dist/types.d.ts +472 -0
  82. package/dist/types.d.ts.map +1 -0
  83. package/dist/types.js +36 -0
  84. package/dist/types.js.map +1 -0
  85. package/package.json +30 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ERC8004Identity.js","sourceRoot":"","sources":["../../src/abis/ERC8004Identity.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACU,QAAA,oBAAoB,GAAG;IAClC,6DAA6D;IAE7D;;;;OAIG;IACH;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAClE,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IAED,6DAA6D;IAE7D;;;OAGG;IACH;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC9D;QACD,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IAED;;OAEG;IACH;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACvE,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC/D,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IAED,6DAA6D;IAE7D;;OAEG;IACH;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;SACxD;QACD,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC/D,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IAED;;;;OAIG;IACH;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvD,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC1D;QACD,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IAED,6DAA6D;IAE7D;;;OAGG;IACH;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACvE,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IAED;;;;OAIG;IACH;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE;SACxD;QACD,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IAED;;;OAGG;IACH;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACvE,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IAED,6DAA6D;IAE7D;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACvE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACrE,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACzE,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC3D,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IAED,6DAA6D;IAE7D;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YACvE,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;SAC7E;QACD,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5E,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC7E;QACD,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5E,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvE,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC1E;QACD,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5E,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;SAC5E;QACD,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;SAC7E;QACD,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,OAAO;KACd;IACD,yDAAyD;IACzD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YACzE,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YACvE,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;SAC7E;QACD,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,OAAO;KACd;CACO,CAAC"}
@@ -0,0 +1,362 @@
1
+ /**
2
+ * ABI for the ERC-8004 ReputationRegistryUpgradeable contract.
3
+ *
4
+ * The Reputation Registry stores and exposes feedback signals as signed
5
+ * fixed-point numbers. Any ERC-8004 identity can give feedback to any
6
+ * other identity (self-feedback is blocked). Feedback can be revoked,
7
+ * and the subject can append a response.
8
+ *
9
+ * DEPLOYED ON BASE MAINNET:
10
+ * 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63
11
+ *
12
+ * KEY CONCEPTS:
13
+ * - Feedback is a signed fixed-point number: { value, valueDecimals }
14
+ * - Example: value=350, valueDecimals=2 → 3.50 (positive)
15
+ * - Example: value=-100, valueDecimals=2 → -1.00 (negative)
16
+ * - Feedback is indexed by (identityRegistry, agentId) pair
17
+ * - Self-feedback is prevented at the contract level
18
+ * - Subjects can append a text response to any feedback they receive
19
+ *
20
+ * REFERENCE: https://www.8004.org/build
21
+ */
22
+ export declare const ERC8004_REPUTATION_ABI: readonly [{
23
+ readonly inputs: readonly [{
24
+ readonly internalType: "address";
25
+ readonly name: "identityRegistry";
26
+ readonly type: "address";
27
+ }, {
28
+ readonly internalType: "uint256";
29
+ readonly name: "subjectAgentId";
30
+ readonly type: "uint256";
31
+ }, {
32
+ readonly internalType: "address";
33
+ readonly name: "fromIdentityRegistry";
34
+ readonly type: "address";
35
+ }, {
36
+ readonly internalType: "uint256";
37
+ readonly name: "fromAgentId";
38
+ readonly type: "uint256";
39
+ }, {
40
+ readonly internalType: "int256";
41
+ readonly name: "value";
42
+ readonly type: "int256";
43
+ }, {
44
+ readonly internalType: "uint8";
45
+ readonly name: "valueDecimals";
46
+ readonly type: "uint8";
47
+ }];
48
+ readonly name: "giveFeedback";
49
+ readonly outputs: readonly [{
50
+ readonly internalType: "uint256";
51
+ readonly name: "";
52
+ readonly type: "uint256";
53
+ }];
54
+ readonly stateMutability: "nonpayable";
55
+ readonly type: "function";
56
+ }, {
57
+ readonly inputs: readonly [{
58
+ readonly internalType: "address";
59
+ readonly name: "identityRegistry";
60
+ readonly type: "address";
61
+ }, {
62
+ readonly internalType: "uint256";
63
+ readonly name: "subjectAgentId";
64
+ readonly type: "uint256";
65
+ }, {
66
+ readonly internalType: "address";
67
+ readonly name: "fromIdentityRegistry";
68
+ readonly type: "address";
69
+ }, {
70
+ readonly internalType: "uint256";
71
+ readonly name: "fromAgentId";
72
+ readonly type: "uint256";
73
+ }, {
74
+ readonly internalType: "uint256";
75
+ readonly name: "feedbackIndex";
76
+ readonly type: "uint256";
77
+ }];
78
+ readonly name: "revokeFeedback";
79
+ readonly outputs: readonly [];
80
+ readonly stateMutability: "nonpayable";
81
+ readonly type: "function";
82
+ }, {
83
+ readonly inputs: readonly [{
84
+ readonly internalType: "address";
85
+ readonly name: "identityRegistry";
86
+ readonly type: "address";
87
+ }, {
88
+ readonly internalType: "uint256";
89
+ readonly name: "agentId";
90
+ readonly type: "uint256";
91
+ }, {
92
+ readonly internalType: "address";
93
+ readonly name: "fromIdentityRegistry";
94
+ readonly type: "address";
95
+ }, {
96
+ readonly internalType: "uint256";
97
+ readonly name: "fromAgentId";
98
+ readonly type: "uint256";
99
+ }, {
100
+ readonly internalType: "uint256";
101
+ readonly name: "feedbackIndex";
102
+ readonly type: "uint256";
103
+ }, {
104
+ readonly internalType: "string";
105
+ readonly name: "response";
106
+ readonly type: "string";
107
+ }];
108
+ readonly name: "appendResponse";
109
+ readonly outputs: readonly [];
110
+ readonly stateMutability: "nonpayable";
111
+ readonly type: "function";
112
+ }, {
113
+ readonly inputs: readonly [{
114
+ readonly internalType: "address";
115
+ readonly name: "identityRegistry";
116
+ readonly type: "address";
117
+ }, {
118
+ readonly internalType: "uint256";
119
+ readonly name: "agentId";
120
+ readonly type: "uint256";
121
+ }];
122
+ readonly name: "getLastIndex";
123
+ readonly outputs: readonly [{
124
+ readonly internalType: "uint256";
125
+ readonly name: "";
126
+ readonly type: "uint256";
127
+ }];
128
+ readonly stateMutability: "view";
129
+ readonly type: "function";
130
+ }, {
131
+ readonly inputs: readonly [{
132
+ readonly internalType: "address";
133
+ readonly name: "identityRegistry";
134
+ readonly type: "address";
135
+ }, {
136
+ readonly internalType: "uint256";
137
+ readonly name: "agentId";
138
+ readonly type: "uint256";
139
+ }, {
140
+ readonly internalType: "uint256";
141
+ readonly name: "index";
142
+ readonly type: "uint256";
143
+ }];
144
+ readonly name: "readFeedback";
145
+ readonly outputs: readonly [{
146
+ readonly components: readonly [{
147
+ readonly internalType: "address";
148
+ readonly name: "fromIdentityRegistry";
149
+ readonly type: "address";
150
+ }, {
151
+ readonly internalType: "uint256";
152
+ readonly name: "fromAgentId";
153
+ readonly type: "uint256";
154
+ }, {
155
+ readonly internalType: "int256";
156
+ readonly name: "value";
157
+ readonly type: "int256";
158
+ }, {
159
+ readonly internalType: "uint8";
160
+ readonly name: "valueDecimals";
161
+ readonly type: "uint8";
162
+ }, {
163
+ readonly internalType: "uint256";
164
+ readonly name: "timestamp";
165
+ readonly type: "uint256";
166
+ }, {
167
+ readonly internalType: "bool";
168
+ readonly name: "revoked";
169
+ readonly type: "bool";
170
+ }, {
171
+ readonly internalType: "string";
172
+ readonly name: "response";
173
+ readonly type: "string";
174
+ }];
175
+ readonly internalType: "struct ReputationRegistry.Feedback";
176
+ readonly name: "";
177
+ readonly type: "tuple";
178
+ }];
179
+ readonly stateMutability: "view";
180
+ readonly type: "function";
181
+ }, {
182
+ readonly inputs: readonly [{
183
+ readonly internalType: "address";
184
+ readonly name: "identityRegistry";
185
+ readonly type: "address";
186
+ }, {
187
+ readonly internalType: "uint256";
188
+ readonly name: "agentId";
189
+ readonly type: "uint256";
190
+ }];
191
+ readonly name: "readAllFeedback";
192
+ readonly outputs: readonly [{
193
+ readonly components: readonly [{
194
+ readonly internalType: "address";
195
+ readonly name: "fromIdentityRegistry";
196
+ readonly type: "address";
197
+ }, {
198
+ readonly internalType: "uint256";
199
+ readonly name: "fromAgentId";
200
+ readonly type: "uint256";
201
+ }, {
202
+ readonly internalType: "int256";
203
+ readonly name: "value";
204
+ readonly type: "int256";
205
+ }, {
206
+ readonly internalType: "uint8";
207
+ readonly name: "valueDecimals";
208
+ readonly type: "uint8";
209
+ }, {
210
+ readonly internalType: "uint256";
211
+ readonly name: "timestamp";
212
+ readonly type: "uint256";
213
+ }, {
214
+ readonly internalType: "bool";
215
+ readonly name: "revoked";
216
+ readonly type: "bool";
217
+ }, {
218
+ readonly internalType: "string";
219
+ readonly name: "response";
220
+ readonly type: "string";
221
+ }];
222
+ readonly internalType: "struct ReputationRegistry.Feedback[]";
223
+ readonly name: "";
224
+ readonly type: "tuple[]";
225
+ }];
226
+ readonly stateMutability: "view";
227
+ readonly type: "function";
228
+ }, {
229
+ readonly inputs: readonly [{
230
+ readonly internalType: "address";
231
+ readonly name: "identityRegistry";
232
+ readonly type: "address";
233
+ }, {
234
+ readonly internalType: "uint256";
235
+ readonly name: "agentId";
236
+ readonly type: "uint256";
237
+ }];
238
+ readonly name: "getSummary";
239
+ readonly outputs: readonly [{
240
+ readonly internalType: "uint256";
241
+ readonly name: "count";
242
+ readonly type: "uint256";
243
+ }, {
244
+ readonly internalType: "int256";
245
+ readonly name: "sum";
246
+ readonly type: "int256";
247
+ }, {
248
+ readonly internalType: "uint8";
249
+ readonly name: "decimals";
250
+ readonly type: "uint8";
251
+ }];
252
+ readonly stateMutability: "view";
253
+ readonly type: "function";
254
+ }, {
255
+ readonly inputs: readonly [{
256
+ readonly internalType: "address";
257
+ readonly name: "identityRegistry";
258
+ readonly type: "address";
259
+ }, {
260
+ readonly internalType: "uint256";
261
+ readonly name: "agentId";
262
+ readonly type: "uint256";
263
+ }];
264
+ readonly name: "getClients";
265
+ readonly outputs: readonly [{
266
+ readonly internalType: "address[]";
267
+ readonly name: "registries";
268
+ readonly type: "address[]";
269
+ }, {
270
+ readonly internalType: "uint256[]";
271
+ readonly name: "agentIds";
272
+ readonly type: "uint256[]";
273
+ }];
274
+ readonly stateMutability: "view";
275
+ readonly type: "function";
276
+ }, {
277
+ readonly anonymous: false;
278
+ readonly inputs: readonly [{
279
+ readonly indexed: true;
280
+ readonly internalType: "address";
281
+ readonly name: "identityRegistry";
282
+ readonly type: "address";
283
+ }, {
284
+ readonly indexed: true;
285
+ readonly internalType: "uint256";
286
+ readonly name: "subjectAgentId";
287
+ readonly type: "uint256";
288
+ }, {
289
+ readonly indexed: false;
290
+ readonly internalType: "address";
291
+ readonly name: "fromIdentityRegistry";
292
+ readonly type: "address";
293
+ }, {
294
+ readonly indexed: false;
295
+ readonly internalType: "uint256";
296
+ readonly name: "fromAgentId";
297
+ readonly type: "uint256";
298
+ }, {
299
+ readonly indexed: false;
300
+ readonly internalType: "int256";
301
+ readonly name: "value";
302
+ readonly type: "int256";
303
+ }, {
304
+ readonly indexed: false;
305
+ readonly internalType: "uint8";
306
+ readonly name: "valueDecimals";
307
+ readonly type: "uint8";
308
+ }, {
309
+ readonly indexed: false;
310
+ readonly internalType: "uint256";
311
+ readonly name: "feedbackIndex";
312
+ readonly type: "uint256";
313
+ }];
314
+ readonly name: "FeedbackGiven";
315
+ readonly type: "event";
316
+ }, {
317
+ readonly anonymous: false;
318
+ readonly inputs: readonly [{
319
+ readonly indexed: true;
320
+ readonly internalType: "address";
321
+ readonly name: "identityRegistry";
322
+ readonly type: "address";
323
+ }, {
324
+ readonly indexed: true;
325
+ readonly internalType: "uint256";
326
+ readonly name: "subjectAgentId";
327
+ readonly type: "uint256";
328
+ }, {
329
+ readonly indexed: false;
330
+ readonly internalType: "uint256";
331
+ readonly name: "feedbackIndex";
332
+ readonly type: "uint256";
333
+ }];
334
+ readonly name: "FeedbackRevoked";
335
+ readonly type: "event";
336
+ }, {
337
+ readonly anonymous: false;
338
+ readonly inputs: readonly [{
339
+ readonly indexed: true;
340
+ readonly internalType: "address";
341
+ readonly name: "identityRegistry";
342
+ readonly type: "address";
343
+ }, {
344
+ readonly indexed: true;
345
+ readonly internalType: "uint256";
346
+ readonly name: "agentId";
347
+ readonly type: "uint256";
348
+ }, {
349
+ readonly indexed: false;
350
+ readonly internalType: "uint256";
351
+ readonly name: "feedbackIndex";
352
+ readonly type: "uint256";
353
+ }, {
354
+ readonly indexed: false;
355
+ readonly internalType: "string";
356
+ readonly name: "response";
357
+ readonly type: "string";
358
+ }];
359
+ readonly name: "ResponseAppended";
360
+ readonly type: "event";
361
+ }];
362
+ //# sourceMappingURL=ERC8004Reputation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ERC8004Reputation.d.ts","sourceRoot":"","sources":["../../src/abis/ERC8004Reputation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsNzB,CAAC"}
@@ -0,0 +1,229 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ERC8004_REPUTATION_ABI = void 0;
4
+ /**
5
+ * ABI for the ERC-8004 ReputationRegistryUpgradeable contract.
6
+ *
7
+ * The Reputation Registry stores and exposes feedback signals as signed
8
+ * fixed-point numbers. Any ERC-8004 identity can give feedback to any
9
+ * other identity (self-feedback is blocked). Feedback can be revoked,
10
+ * and the subject can append a response.
11
+ *
12
+ * DEPLOYED ON BASE MAINNET:
13
+ * 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63
14
+ *
15
+ * KEY CONCEPTS:
16
+ * - Feedback is a signed fixed-point number: { value, valueDecimals }
17
+ * - Example: value=350, valueDecimals=2 → 3.50 (positive)
18
+ * - Example: value=-100, valueDecimals=2 → -1.00 (negative)
19
+ * - Feedback is indexed by (identityRegistry, agentId) pair
20
+ * - Self-feedback is prevented at the contract level
21
+ * - Subjects can append a text response to any feedback they receive
22
+ *
23
+ * REFERENCE: https://www.8004.org/build
24
+ */
25
+ exports.ERC8004_REPUTATION_ABI = [
26
+ // ── Feedback Management ───────────────────────────────────
27
+ /**
28
+ * Give feedback to another agent.
29
+ * @param identityRegistry The identity registry of the SUBJECT agent.
30
+ * @param subjectAgentId The agentId (tokenId) of the SUBJECT.
31
+ * @param fromIdentityRegistry The identity registry of the SENDER.
32
+ * @param fromAgentId The agentId (tokenId) of the SENDER.
33
+ * @param value Signed fixed-point feedback value.
34
+ * @param valueDecimals Number of decimal places in the value.
35
+ * @returns feedbackIndex The index of the stored feedback.
36
+ */
37
+ {
38
+ inputs: [
39
+ { internalType: 'address', name: 'identityRegistry', type: 'address' },
40
+ { internalType: 'uint256', name: 'subjectAgentId', type: 'uint256' },
41
+ { internalType: 'address', name: 'fromIdentityRegistry', type: 'address' },
42
+ { internalType: 'uint256', name: 'fromAgentId', type: 'uint256' },
43
+ { internalType: 'int256', name: 'value', type: 'int256' },
44
+ { internalType: 'uint8', name: 'valueDecimals', type: 'uint8' },
45
+ ],
46
+ name: 'giveFeedback',
47
+ outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
48
+ stateMutability: 'nonpayable',
49
+ type: 'function',
50
+ },
51
+ /**
52
+ * Revoke previously given feedback.
53
+ */
54
+ {
55
+ inputs: [
56
+ { internalType: 'address', name: 'identityRegistry', type: 'address' },
57
+ { internalType: 'uint256', name: 'subjectAgentId', type: 'uint256' },
58
+ { internalType: 'address', name: 'fromIdentityRegistry', type: 'address' },
59
+ { internalType: 'uint256', name: 'fromAgentId', type: 'uint256' },
60
+ { internalType: 'uint256', name: 'feedbackIndex', type: 'uint256' },
61
+ ],
62
+ name: 'revokeFeedback',
63
+ outputs: [],
64
+ stateMutability: 'nonpayable',
65
+ type: 'function',
66
+ },
67
+ /**
68
+ * Append a response to feedback received by your agent.
69
+ * Only the subject of the feedback can respond.
70
+ */
71
+ {
72
+ inputs: [
73
+ { internalType: 'address', name: 'identityRegistry', type: 'address' },
74
+ { internalType: 'uint256', name: 'agentId', type: 'uint256' },
75
+ { internalType: 'address', name: 'fromIdentityRegistry', type: 'address' },
76
+ { internalType: 'uint256', name: 'fromAgentId', type: 'uint256' },
77
+ { internalType: 'uint256', name: 'feedbackIndex', type: 'uint256' },
78
+ { internalType: 'string', name: 'response', type: 'string' },
79
+ ],
80
+ name: 'appendResponse',
81
+ outputs: [],
82
+ stateMutability: 'nonpayable',
83
+ type: 'function',
84
+ },
85
+ // ── Feedback Reading ──────────────────────────────────────
86
+ /**
87
+ * Get the last feedback index for an agent (number of feedback entries - 1).
88
+ */
89
+ {
90
+ inputs: [
91
+ { internalType: 'address', name: 'identityRegistry', type: 'address' },
92
+ { internalType: 'uint256', name: 'agentId', type: 'uint256' },
93
+ ],
94
+ name: 'getLastIndex',
95
+ outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
96
+ stateMutability: 'view',
97
+ type: 'function',
98
+ },
99
+ /**
100
+ * Read a specific feedback entry by index.
101
+ * Returns the feedback details as a tuple.
102
+ */
103
+ {
104
+ inputs: [
105
+ { internalType: 'address', name: 'identityRegistry', type: 'address' },
106
+ { internalType: 'uint256', name: 'agentId', type: 'uint256' },
107
+ { internalType: 'uint256', name: 'index', type: 'uint256' },
108
+ ],
109
+ name: 'readFeedback',
110
+ outputs: [
111
+ {
112
+ components: [
113
+ { internalType: 'address', name: 'fromIdentityRegistry', type: 'address' },
114
+ { internalType: 'uint256', name: 'fromAgentId', type: 'uint256' },
115
+ { internalType: 'int256', name: 'value', type: 'int256' },
116
+ { internalType: 'uint8', name: 'valueDecimals', type: 'uint8' },
117
+ { internalType: 'uint256', name: 'timestamp', type: 'uint256' },
118
+ { internalType: 'bool', name: 'revoked', type: 'bool' },
119
+ { internalType: 'string', name: 'response', type: 'string' },
120
+ ],
121
+ internalType: 'struct ReputationRegistry.Feedback',
122
+ name: '',
123
+ type: 'tuple',
124
+ },
125
+ ],
126
+ stateMutability: 'view',
127
+ type: 'function',
128
+ },
129
+ /**
130
+ * Read all feedback entries for an agent.
131
+ */
132
+ {
133
+ inputs: [
134
+ { internalType: 'address', name: 'identityRegistry', type: 'address' },
135
+ { internalType: 'uint256', name: 'agentId', type: 'uint256' },
136
+ ],
137
+ name: 'readAllFeedback',
138
+ outputs: [
139
+ {
140
+ components: [
141
+ { internalType: 'address', name: 'fromIdentityRegistry', type: 'address' },
142
+ { internalType: 'uint256', name: 'fromAgentId', type: 'uint256' },
143
+ { internalType: 'int256', name: 'value', type: 'int256' },
144
+ { internalType: 'uint8', name: 'valueDecimals', type: 'uint8' },
145
+ { internalType: 'uint256', name: 'timestamp', type: 'uint256' },
146
+ { internalType: 'bool', name: 'revoked', type: 'bool' },
147
+ { internalType: 'string', name: 'response', type: 'string' },
148
+ ],
149
+ internalType: 'struct ReputationRegistry.Feedback[]',
150
+ name: '',
151
+ type: 'tuple[]',
152
+ },
153
+ ],
154
+ stateMutability: 'view',
155
+ type: 'function',
156
+ },
157
+ /**
158
+ * Get the reputation summary for an agent.
159
+ * Returns aggregate feedback statistics.
160
+ */
161
+ {
162
+ inputs: [
163
+ { internalType: 'address', name: 'identityRegistry', type: 'address' },
164
+ { internalType: 'uint256', name: 'agentId', type: 'uint256' },
165
+ ],
166
+ name: 'getSummary',
167
+ outputs: [
168
+ { internalType: 'uint256', name: 'count', type: 'uint256' },
169
+ { internalType: 'int256', name: 'sum', type: 'int256' },
170
+ { internalType: 'uint8', name: 'decimals', type: 'uint8' },
171
+ ],
172
+ stateMutability: 'view',
173
+ type: 'function',
174
+ },
175
+ /**
176
+ * Get all clients (feedback providers) for an agent.
177
+ * Returns an array of (identityRegistry, agentId) pairs.
178
+ */
179
+ {
180
+ inputs: [
181
+ { internalType: 'address', name: 'identityRegistry', type: 'address' },
182
+ { internalType: 'uint256', name: 'agentId', type: 'uint256' },
183
+ ],
184
+ name: 'getClients',
185
+ outputs: [
186
+ { internalType: 'address[]', name: 'registries', type: 'address[]' },
187
+ { internalType: 'uint256[]', name: 'agentIds', type: 'uint256[]' },
188
+ ],
189
+ stateMutability: 'view',
190
+ type: 'function',
191
+ },
192
+ // ── Events ────────────────────────────────────────────────
193
+ {
194
+ anonymous: false,
195
+ inputs: [
196
+ { indexed: true, internalType: 'address', name: 'identityRegistry', type: 'address' },
197
+ { indexed: true, internalType: 'uint256', name: 'subjectAgentId', type: 'uint256' },
198
+ { indexed: false, internalType: 'address', name: 'fromIdentityRegistry', type: 'address' },
199
+ { indexed: false, internalType: 'uint256', name: 'fromAgentId', type: 'uint256' },
200
+ { indexed: false, internalType: 'int256', name: 'value', type: 'int256' },
201
+ { indexed: false, internalType: 'uint8', name: 'valueDecimals', type: 'uint8' },
202
+ { indexed: false, internalType: 'uint256', name: 'feedbackIndex', type: 'uint256' },
203
+ ],
204
+ name: 'FeedbackGiven',
205
+ type: 'event',
206
+ },
207
+ {
208
+ anonymous: false,
209
+ inputs: [
210
+ { indexed: true, internalType: 'address', name: 'identityRegistry', type: 'address' },
211
+ { indexed: true, internalType: 'uint256', name: 'subjectAgentId', type: 'uint256' },
212
+ { indexed: false, internalType: 'uint256', name: 'feedbackIndex', type: 'uint256' },
213
+ ],
214
+ name: 'FeedbackRevoked',
215
+ type: 'event',
216
+ },
217
+ {
218
+ anonymous: false,
219
+ inputs: [
220
+ { indexed: true, internalType: 'address', name: 'identityRegistry', type: 'address' },
221
+ { indexed: true, internalType: 'uint256', name: 'agentId', type: 'uint256' },
222
+ { indexed: false, internalType: 'uint256', name: 'feedbackIndex', type: 'uint256' },
223
+ { indexed: false, internalType: 'string', name: 'response', type: 'string' },
224
+ ],
225
+ name: 'ResponseAppended',
226
+ type: 'event',
227
+ },
228
+ ];
229
+ //# sourceMappingURL=ERC8004Reputation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ERC8004Reputation.js","sourceRoot":"","sources":["../../src/abis/ERC8004Reputation.ts"],"names":[],"mappings":"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"}