@nevermined-io/core-kit 0.4.5 → 0.5.1

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 (105) hide show
  1. package/dist/Instantiable.abstract.js +15 -13
  2. package/dist/Instantiable.abstract.js.map +1 -0
  3. package/dist/artifacts/generated.d.ts +174 -40
  4. package/dist/artifacts/generated.d.ts.map +1 -1
  5. package/dist/artifacts/generated.js +22805 -7111
  6. package/dist/artifacts/generated.js.map +1 -0
  7. package/dist/contracts/AccessManager.js +12 -3
  8. package/dist/contracts/AccessManager.js.map +1 -0
  9. package/dist/contracts/AssetRegistry.d.ts +1 -0
  10. package/dist/contracts/AssetRegistry.d.ts.map +1 -1
  11. package/dist/contracts/AssetRegistry.js +134 -69
  12. package/dist/contracts/AssetRegistry.js.map +1 -0
  13. package/dist/contracts/ContractBase.d.ts.map +1 -1
  14. package/dist/contracts/ContractBase.js +173 -140
  15. package/dist/contracts/ContractBase.js.map +1 -0
  16. package/dist/contracts/ContractsApi.js +6 -54
  17. package/dist/contracts/ContractsApi.js.map +1 -0
  18. package/dist/contracts/CryptoTemplateBase.js +23 -11
  19. package/dist/contracts/CryptoTemplateBase.js.map +1 -0
  20. package/dist/contracts/FiatPaymentTemplate.js +9 -1
  21. package/dist/contracts/FiatPaymentTemplate.js.map +1 -0
  22. package/dist/contracts/FiatSettlementCondition.js +8 -1
  23. package/dist/contracts/FiatSettlementCondition.js.map +1 -0
  24. package/dist/contracts/FixedPaymentTemplate.js +42 -10
  25. package/dist/contracts/FixedPaymentTemplate.js.map +1 -0
  26. package/dist/contracts/NFT1155Base.js +48 -12
  27. package/dist/contracts/NFT1155Base.js.map +1 -0
  28. package/dist/contracts/NFT1155Credits.js +2 -0
  29. package/dist/contracts/NFT1155Credits.js.map +1 -0
  30. package/dist/contracts/NFT1155ExpirableCredits.js +26 -6
  31. package/dist/contracts/NFT1155ExpirableCredits.js.map +1 -0
  32. package/dist/contracts/NVMConfig.js +2 -0
  33. package/dist/contracts/NVMConfig.js.map +1 -0
  34. package/dist/contracts/PayAsYouGoTemplate.js +36 -10
  35. package/dist/contracts/PayAsYouGoTemplate.js.map +1 -0
  36. package/dist/contracts/ProtocolStandardFees.js +7 -1
  37. package/dist/contracts/ProtocolStandardFees.js.map +1 -0
  38. package/dist/contracts/Roles.js +2 -0
  39. package/dist/contracts/Roles.js.map +1 -0
  40. package/dist/contracts/index.js +2 -0
  41. package/dist/contracts/index.js.map +1 -0
  42. package/dist/errors/NeverminedErrors.js +27 -26
  43. package/dist/errors/NeverminedErrors.js.map +1 -0
  44. package/dist/errors/index.js +2 -0
  45. package/dist/errors/index.js.map +1 -0
  46. package/dist/index.js +2 -0
  47. package/dist/index.js.map +1 -0
  48. package/dist/models/AgentX402AccessToken.js +78 -46
  49. package/dist/models/AgentX402AccessToken.js.map +1 -0
  50. package/dist/models/Logger.js +12 -12
  51. package/dist/models/Logger.js.map +1 -0
  52. package/dist/models/NeverminedOptions.d.ts +3 -3
  53. package/dist/models/NeverminedOptions.d.ts.map +1 -1
  54. package/dist/models/NeverminedOptions.js +3 -28
  55. package/dist/models/NeverminedOptions.js.map +1 -0
  56. package/dist/models/NvmApiKey.js +96 -147
  57. package/dist/models/NvmApiKey.js.map +1 -0
  58. package/dist/models/Transactions.js +3 -1
  59. package/dist/models/Transactions.js.map +1 -0
  60. package/dist/models/index.js +2 -0
  61. package/dist/models/index.js.map +1 -0
  62. package/dist/nevermined/Nevermined.js +20 -42
  63. package/dist/nevermined/Nevermined.js.map +1 -0
  64. package/dist/nevermined/api/PaymentsApi.js +38 -43
  65. package/dist/nevermined/api/PaymentsApi.js.map +1 -0
  66. package/dist/nevermined/api/ServicesApi.js +7 -15
  67. package/dist/nevermined/api/ServicesApi.js.map +1 -0
  68. package/dist/nevermined/api/UtilsApi.js +7 -19
  69. package/dist/nevermined/api/UtilsApi.js.map +1 -0
  70. package/dist/nevermined/index.js +2 -0
  71. package/dist/nevermined/index.js.map +1 -0
  72. package/dist/nevermined/utils/AgentUtils.js +25 -23
  73. package/dist/nevermined/utils/AgentUtils.js.map +1 -0
  74. package/dist/nevermined/utils/AnvilHelpers.js +34 -19
  75. package/dist/nevermined/utils/AnvilHelpers.js.map +1 -0
  76. package/dist/nevermined/utils/BlockchainViemUtils.d.ts +4 -4
  77. package/dist/nevermined/utils/BlockchainViemUtils.js +102 -108
  78. package/dist/nevermined/utils/BlockchainViemUtils.js.map +1 -0
  79. package/dist/nevermined/utils/JwtUtils.js +33 -28
  80. package/dist/nevermined/utils/JwtUtils.js.map +1 -0
  81. package/dist/nevermined/utils/SignatureUtils.js +23 -27
  82. package/dist/nevermined/utils/SignatureUtils.js.map +1 -0
  83. package/dist/nevermined/utils/WebServiceConnector.js +18 -20
  84. package/dist/nevermined/utils/WebServiceConnector.js.map +1 -0
  85. package/dist/nevermined/utils/ZeroDevPolicies.js +115 -75
  86. package/dist/nevermined/utils/ZeroDevPolicies.js.map +1 -0
  87. package/dist/nevermined/utils/index.js +2 -0
  88. package/dist/nevermined/utils/index.js.map +1 -0
  89. package/dist/services/Api.js +11 -5
  90. package/dist/services/Api.js.map +1 -0
  91. package/dist/services/Profiles.js +15 -20
  92. package/dist/services/Profiles.js.map +1 -0
  93. package/dist/services/index.js +2 -0
  94. package/dist/services/index.js.map +1 -0
  95. package/dist/utils/ConversionTypeHelpers.js +13 -6
  96. package/dist/utils/ConversionTypeHelpers.js.map +1 -0
  97. package/dist/utils/DeploymentInfo.js +12 -7
  98. package/dist/utils/DeploymentInfo.js.map +1 -0
  99. package/dist/utils/Network.js +27 -19
  100. package/dist/utils/Network.js.map +1 -0
  101. package/dist/utils/helpers.js +42 -31
  102. package/dist/utils/helpers.js.map +1 -0
  103. package/dist/utils/index.js +2 -0
  104. package/dist/utils/index.js.map +1 -0
  105. package/package.json +17 -1
@@ -1,21 +1,23 @@
1
- import { CallPolicyVersion, ParamCondition, toCallPolicy, toRateLimitPolicy, toTimestampPolicy, } from '@zerodev/permissions/policies';
2
- import { assetsRegistryConfig, fixedPaymentTemplateConfig, nft1155CreditsConfig, payAsYouGoTemplateAddress, payAsYouGoTemplateConfig, } from '../../artifacts/generated.js';
1
+ import { CallPolicyVersion, ParamCondition, toCallPolicy, toRateLimitPolicy, toTimestampPolicy } from '@zerodev/permissions/policies';
2
+ import { assetsRegistryConfig, fixedPaymentTemplateConfig, nft1155CreditsConfig, payAsYouGoTemplateAddress, payAsYouGoTemplateConfig } from '../../artifacts/generated.js';
3
3
  import { isAddress, parseAbi, zeroAddress } from 'viem';
4
4
  export function getPolicy(permissions) {
5
5
  return toCallPolicy({
6
6
  policyVersion: CallPolicyVersion.V0_0_4,
7
- permissions,
7
+ permissions
8
8
  });
9
9
  }
10
10
  export function getPermissions(config, functionNames) {
11
11
  const permissions = [];
12
- functionNames.forEach((functionName) => {
13
- const abis = config.abi.filter((item) => item.type === 'function' && item.name === functionName);
14
- abis.forEach((abi) => {
12
+ functionNames.forEach((functionName)=>{
13
+ const abis = config.abi.filter((item)=>item.type === 'function' && item.name === functionName);
14
+ abis.forEach((abi)=>{
15
15
  permissions.push({
16
16
  target: config.address,
17
- abi: [abi],
18
- functionName,
17
+ abi: [
18
+ abi
19
+ ],
20
+ functionName
19
21
  });
20
22
  });
21
23
  });
@@ -25,84 +27,119 @@ export function getERC20ApprovePermissions(contractAddress) {
25
27
  return {
26
28
  target: contractAddress,
27
29
  abi: parseAbi([
28
- 'function approve(address spender, uint256 amount) external returns (bool)',
30
+ 'function approve(address spender, uint256 amount) external returns (bool)'
29
31
  ]),
30
- functionName: 'approve',
32
+ functionName: 'approve'
31
33
  };
32
34
  }
33
- export const getERC20ApprovePolicy = (contractAddress) => getPolicy([getERC20ApprovePermissions(contractAddress)]);
34
- export const getAgentRegistrationPolicy = () => getPolicy(getPermissions(assetsRegistryConfig, ['register']));
35
- export const getPricingPlanRegistrationPolicy = () => getPolicy(getPermissions(assetsRegistryConfig, ['createPlan', 'createPlanWithHooks']));
36
- export const getRegisterAssetsPolicy = () => getPolicy(getPermissions(assetsRegistryConfig, ['registerAgentAndPlan']));
37
- export const getOrderPolicy = () => {
38
- const perms = [
39
- ...getPermissions(fixedPaymentTemplateConfig, ['order']),
40
- ...getPermissions(payAsYouGoTemplateAddress, ['order']),
41
- ];
42
- return getPolicy(perms);
43
- };
44
- export const getMintNFTPolicy = () => getPolicy(getPermissions(nft1155CreditsConfig, ['mint']));
45
- export const getBurnNFTPolicy = () => getPolicy(getPermissions(nft1155CreditsConfig, ['burn']));
46
- export const getRegisterPolicy = () => getPolicy(getPermissions(assetsRegistryConfig, [
47
- 'register',
48
- 'createPlan',
49
- 'createPlanWithHooks',
50
- 'registerAgentAndPlan',
51
- 'addPlanToAgent',
52
- 'removePlanFromAgent',
53
- ]));
54
- export const buildPolicy = (permissions, contractAddress) => {
35
+ export const getERC20ApprovePolicy = (contractAddress)=>getPolicy([
36
+ getERC20ApprovePermissions(contractAddress)
37
+ ]);
38
+ export const getAgentRegistrationPolicy = ()=>getPolicy(getPermissions(assetsRegistryConfig, [
39
+ 'register'
40
+ ]));
41
+ export const getPricingPlanRegistrationPolicy = ()=>getPolicy(getPermissions(assetsRegistryConfig, [
42
+ 'createPlan',
43
+ 'createPlanWithHooks'
44
+ ]));
45
+ export const getRegisterAssetsPolicy = ()=>getPolicy(getPermissions(assetsRegistryConfig, [
46
+ 'registerAgentAndPlan'
47
+ ]));
48
+ export const getOrderPolicy = ()=>{
55
49
  const perms = [
56
- ...(permissions.includes('register')
57
- ? getPermissions(assetsRegistryConfig, [
58
- 'register',
59
- 'createPlan',
60
- 'createPlanWithHooks',
61
- 'registerAgentAndPlan',
62
- 'addPlanToAgent',
63
- 'removePlanFromAgent',
64
- ])
65
- : []),
66
- ...(permissions.includes('mint') ? getPermissions(nft1155CreditsConfig, ['mint']) : []),
67
- ...(permissions.includes('burn') ? getPermissions(nft1155CreditsConfig, ['burn']) : []),
68
- ...(permissions.includes('order') ? getPermissions(fixedPaymentTemplateConfig, ['order']) : []),
69
- ...(permissions.includes('order') ? getPermissions(payAsYouGoTemplateConfig, ['order']) : []),
70
- ...(permissions.includes('order') ? [getERC20ApprovePermissions(contractAddress)] : []),
50
+ ...getPermissions(fixedPaymentTemplateConfig, [
51
+ 'order'
52
+ ]),
53
+ ...getPermissions(payAsYouGoTemplateAddress, [
54
+ 'order'
55
+ ])
71
56
  ];
72
57
  return getPolicy(perms);
73
58
  };
74
- export const getAllContractsPolicy = (contractAddress) => getPolicy([
75
- ...getPermissions(assetsRegistryConfig, [
59
+ export const getMintNFTPolicy = ()=>getPolicy(getPermissions(nft1155CreditsConfig, [
60
+ 'mint'
61
+ ]));
62
+ export const getBurnNFTPolicy = ()=>getPolicy(getPermissions(nft1155CreditsConfig, [
63
+ 'burn'
64
+ ]));
65
+ export const getRegisterPolicy = ()=>getPolicy(getPermissions(assetsRegistryConfig, [
76
66
  'register',
77
67
  'createPlan',
78
68
  'createPlanWithHooks',
79
69
  'registerAgentAndPlan',
80
70
  'addPlanToAgent',
81
- 'removePlanFromAgent',
82
- ]),
83
- ...getPermissions(fixedPaymentTemplateConfig, ['order']),
84
- ...getPermissions(payAsYouGoTemplateConfig, ['order']),
85
- ...getPermissions(nft1155CreditsConfig, ['mint', 'burn']),
86
- getERC20ApprovePermissions(contractAddress),
87
- ].filter(Boolean));
88
- export const getZeroDevOrderPolicies = (orderPolicyOptions) => {
71
+ 'removePlanFromAgent'
72
+ ]));
73
+ export const buildPolicy = (permissions, contractAddress)=>{
74
+ const perms = [
75
+ ...permissions.includes('register') ? getPermissions(assetsRegistryConfig, [
76
+ 'register',
77
+ 'createPlan',
78
+ 'createPlanWithHooks',
79
+ 'registerAgentAndPlan',
80
+ 'addPlanToAgent',
81
+ 'removePlanFromAgent'
82
+ ]) : [],
83
+ ...permissions.includes('mint') ? getPermissions(nft1155CreditsConfig, [
84
+ 'mint'
85
+ ]) : [],
86
+ ...permissions.includes('burn') ? getPermissions(nft1155CreditsConfig, [
87
+ 'burn'
88
+ ]) : [],
89
+ ...permissions.includes('order') ? getPermissions(fixedPaymentTemplateConfig, [
90
+ 'order'
91
+ ]) : [],
92
+ ...permissions.includes('order') ? getPermissions(payAsYouGoTemplateConfig, [
93
+ 'order'
94
+ ]) : [],
95
+ ...permissions.includes('order') ? [
96
+ getERC20ApprovePermissions(contractAddress)
97
+ ] : []
98
+ ];
99
+ return getPolicy(perms);
100
+ };
101
+ export const getAllContractsPolicy = (contractAddress)=>getPolicy([
102
+ ...getPermissions(assetsRegistryConfig, [
103
+ 'register',
104
+ 'createPlan',
105
+ 'createPlanWithHooks',
106
+ 'registerAgentAndPlan',
107
+ 'addPlanToAgent',
108
+ 'removePlanFromAgent'
109
+ ]),
110
+ ...getPermissions(fixedPaymentTemplateConfig, [
111
+ 'order'
112
+ ]),
113
+ ...getPermissions(payAsYouGoTemplateConfig, [
114
+ 'order'
115
+ ]),
116
+ ...getPermissions(nft1155CreditsConfig, [
117
+ 'mint',
118
+ 'burn'
119
+ ]),
120
+ getERC20ApprovePermissions(contractAddress)
121
+ ].filter(Boolean));
122
+ export const getZeroDevOrderPolicies = (orderPolicyOptions)=>{
89
123
  const policies = [];
90
- const orderPermissions = orderPolicyOptions.contracts.map((contract) => {
124
+ const orderPermissions = orderPolicyOptions.contracts.map((contract)=>{
91
125
  if (contract.isPayAsYouGo) {
92
126
  return {
93
127
  target: contract.address,
94
128
  abi: parseAbi([
95
- 'function order(bytes32 _seed, uint256 _planId, bytes[] memory _params) external payable',
129
+ 'function order(bytes32 _seed, uint256 _planId, bytes[] memory _params) external payable'
96
130
  ]),
97
131
  valueLimit: 0n,
98
132
  functionName: 'order',
99
- args: [null, null],
133
+ args: [
134
+ null,
135
+ null
136
+ ]
100
137
  };
101
138
  }
102
139
  return {
103
140
  target: contract.address,
104
141
  abi: parseAbi([
105
- 'function order(bytes32 _seed, uint256 _planId, address _creditsReceiver, uint256 _numberOfPurchases, bytes[] memory _params) external payable',
142
+ 'function order(bytes32 _seed, uint256 _planId, address _creditsReceiver, uint256 _numberOfPurchases, bytes[] memory _params) external payable'
106
143
  ]),
107
144
  valueLimit: 0n,
108
145
  functionName: 'order',
@@ -111,49 +148,52 @@ export const getZeroDevOrderPolicies = (orderPolicyOptions) => {
111
148
  null,
112
149
  {
113
150
  condition: ParamCondition.EQUAL,
114
- value: orderPolicyOptions.subscriberAddress,
151
+ value: orderPolicyOptions.subscriberAddress
115
152
  },
116
153
  {
117
154
  condition: ParamCondition.EQUAL,
118
- value: orderPolicyOptions.numberOfPurchases,
119
- },
120
- ],
155
+ value: orderPolicyOptions.numberOfPurchases
156
+ }
157
+ ]
121
158
  };
122
159
  });
123
- const callPermissions = [...orderPermissions];
124
- if (orderPolicyOptions.erc20ContractAddress &&
125
- isAddress(orderPolicyOptions.erc20ContractAddress)) {
160
+ const callPermissions = [
161
+ ...orderPermissions
162
+ ];
163
+ if (orderPolicyOptions.erc20ContractAddress && isAddress(orderPolicyOptions.erc20ContractAddress)) {
126
164
  callPermissions.push({
127
165
  target: orderPolicyOptions.erc20ContractAddress,
128
166
  abi: parseAbi([
129
- 'function approve(address spender, uint256 amount) external returns (bool)',
167
+ 'function approve(address spender, uint256 amount) external returns (bool)'
130
168
  ]),
131
169
  valueLimit: 0n,
132
170
  functionName: 'approve',
133
171
  args: [
134
172
  {
135
173
  condition: ParamCondition.NOT_EQUAL,
136
- value: zeroAddress,
174
+ value: zeroAddress
137
175
  },
138
176
  {
139
177
  condition: ParamCondition.LESS_THAN_OR_EQUAL,
140
- value: orderPolicyOptions.totalAmount,
141
- },
142
- ],
178
+ value: orderPolicyOptions.totalAmount
179
+ }
180
+ ]
143
181
  });
144
182
  }
145
183
  policies.push(getPolicy(callPermissions));
146
184
  if (orderPolicyOptions.count) {
147
185
  const rateLimitPolicy = toRateLimitPolicy({
148
- count: orderPolicyOptions.count,
186
+ count: orderPolicyOptions.count
149
187
  });
150
188
  policies.push(rateLimitPolicy);
151
189
  }
152
190
  if (orderPolicyOptions.validUntil) {
153
191
  const timestampPolicy = toTimestampPolicy({
154
- validUntil: orderPolicyOptions.validUntil,
192
+ validUntil: orderPolicyOptions.validUntil
155
193
  });
156
194
  policies.push(timestampPolicy);
157
195
  }
158
196
  return policies;
159
197
  };
198
+
199
+ //# sourceMappingURL=ZeroDevPolicies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/nevermined/utils/ZeroDevPolicies.ts"],"sourcesContent":["import {\n CallPolicyVersion,\n ParamCondition,\n toCallPolicy,\n toRateLimitPolicy,\n toTimestampPolicy,\n} from '@zerodev/permissions/policies'\nimport {\n assetsRegistryConfig,\n fixedPaymentTemplateConfig,\n nft1155CreditsConfig,\n payAsYouGoTemplateAddress,\n payAsYouGoTemplateConfig,\n} from '../../artifacts/generated.js'\nimport { Abi, isAddress, parseAbi, zeroAddress } from 'viem'\nimport { Policy } from '@zerodev/permissions'\n\nexport function getPolicy(permissions: any[]) {\n return toCallPolicy({\n policyVersion: CallPolicyVersion.V0_0_4,\n permissions,\n })\n}\n\nexport function getPermissions(config: any, functionNames: string[]) {\n const permissions: any[] = []\n functionNames.forEach((functionName) => {\n const abis = config.abi.filter(\n (item: any) => item.type === 'function' && item.name === functionName,\n )\n abis.forEach((abi: any) => {\n permissions.push({\n target: config.address,\n abi: [abi],\n functionName,\n })\n })\n })\n return permissions\n}\n\nexport function getERC20ApprovePermissions(contractAddress: `0x${string}`) {\n return {\n target: contractAddress,\n abi: parseAbi([\n 'function approve(address spender, uint256 amount) external returns (bool)',\n ]) as Abi,\n functionName: 'approve',\n }\n}\nexport const getERC20ApprovePolicy = (contractAddress: `0x${string}`) =>\n getPolicy([getERC20ApprovePermissions(contractAddress)])\n\nexport const getAgentRegistrationPolicy = () =>\n getPolicy(getPermissions(assetsRegistryConfig, ['register']))\n\nexport const getPricingPlanRegistrationPolicy = () =>\n getPolicy(getPermissions(assetsRegistryConfig, ['createPlan', 'createPlanWithHooks']))\n\nexport const getRegisterAssetsPolicy = () =>\n getPolicy(getPermissions(assetsRegistryConfig, ['registerAgentAndPlan']))\n\nexport const getOrderPolicy = () => {\n const perms = [\n ...getPermissions(fixedPaymentTemplateConfig, ['order']),\n ...getPermissions(payAsYouGoTemplateAddress, ['order']),\n ]\n return getPolicy(perms)\n}\n\nexport const getMintNFTPolicy = () => getPolicy(getPermissions(nft1155CreditsConfig, ['mint']))\n\nexport const getBurnNFTPolicy = () => getPolicy(getPermissions(nft1155CreditsConfig, ['burn']))\n\nexport const getRegisterPolicy = () =>\n getPolicy(\n getPermissions(assetsRegistryConfig, [\n 'register',\n 'createPlan',\n 'createPlanWithHooks',\n 'registerAgentAndPlan',\n 'addPlanToAgent',\n 'removePlanFromAgent',\n ]),\n )\n\nexport const buildPolicy = (permissions: string[], contractAddress: `0x${string}`) => {\n const perms = [\n ...(permissions.includes('register')\n ? getPermissions(assetsRegistryConfig, [\n 'register',\n 'createPlan',\n 'createPlanWithHooks',\n 'registerAgentAndPlan',\n 'addPlanToAgent',\n 'removePlanFromAgent',\n ])\n : []),\n ...(permissions.includes('mint') ? getPermissions(nft1155CreditsConfig, ['mint']) : []),\n ...(permissions.includes('burn') ? getPermissions(nft1155CreditsConfig, ['burn']) : []),\n ...(permissions.includes('order') ? getPermissions(fixedPaymentTemplateConfig, ['order']) : []),\n ...(permissions.includes('order') ? getPermissions(payAsYouGoTemplateConfig, ['order']) : []),\n ...(permissions.includes('order') ? [getERC20ApprovePermissions(contractAddress)] : []),\n ]\n\n return getPolicy(perms)\n}\n\nexport const getAllContractsPolicy = (contractAddress: `0x${string}`) =>\n getPolicy(\n [\n ...getPermissions(assetsRegistryConfig, [\n 'register',\n 'createPlan',\n 'createPlanWithHooks',\n 'registerAgentAndPlan',\n 'addPlanToAgent',\n 'removePlanFromAgent',\n ]),\n ...getPermissions(fixedPaymentTemplateConfig, ['order']),\n ...getPermissions(payAsYouGoTemplateConfig, ['order']),\n ...getPermissions(nft1155CreditsConfig, ['mint', 'burn']),\n getERC20ApprovePermissions(contractAddress),\n ].filter(Boolean),\n )\n\nexport type OrderContract = {\n address: `0x${string}`\n isPayAsYouGo: boolean\n}\n\nexport type OrderPolicyOptions = {\n contracts: OrderContract[]\n subscriberAddress: `0x${string}`\n numberOfPurchases: bigint\n totalAmount: bigint\n count?: number\n erc20ContractAddress?: `0x${string}`\n validUntil?: number\n}\n\nexport const getZeroDevOrderPolicies = (orderPolicyOptions: OrderPolicyOptions): Policy[] => {\n const policies: Policy[] = []\n\n const orderPermissions = orderPolicyOptions.contracts.map((contract) => {\n if (contract.isPayAsYouGo) {\n return {\n target: contract.address,\n abi: parseAbi([\n 'function order(bytes32 _seed, uint256 _planId, bytes[] memory _params) external payable',\n ]) as Abi,\n valueLimit: 0n,\n functionName: 'order',\n args: [null, null],\n }\n }\n return {\n target: contract.address,\n abi: parseAbi([\n 'function order(bytes32 _seed, uint256 _planId, address _creditsReceiver, uint256 _numberOfPurchases, bytes[] memory _params) external payable',\n ]) as Abi,\n valueLimit: 0n,\n functionName: 'order',\n args: [\n null,\n null,\n {\n condition: ParamCondition.EQUAL,\n value: orderPolicyOptions.subscriberAddress,\n },\n {\n condition: ParamCondition.EQUAL,\n value: orderPolicyOptions.numberOfPurchases,\n },\n ],\n }\n })\n\n const callPermissions: any[] = [...orderPermissions]\n\n if (\n orderPolicyOptions.erc20ContractAddress &&\n isAddress(orderPolicyOptions.erc20ContractAddress)\n ) {\n callPermissions.push({\n target: orderPolicyOptions.erc20ContractAddress,\n abi: parseAbi([\n 'function approve(address spender, uint256 amount) external returns (bool)',\n ]) as Abi,\n valueLimit: 0n,\n functionName: 'approve',\n args: [\n {\n condition: ParamCondition.NOT_EQUAL,\n value: zeroAddress,\n },\n {\n condition: ParamCondition.LESS_THAN_OR_EQUAL,\n value: orderPolicyOptions.totalAmount,\n },\n ],\n })\n }\n\n policies.push(getPolicy(callPermissions))\n\n if (orderPolicyOptions.count) {\n const rateLimitPolicy = toRateLimitPolicy({\n count: orderPolicyOptions.count,\n })\n policies.push(rateLimitPolicy)\n }\n\n if (orderPolicyOptions.validUntil) {\n const timestampPolicy = toTimestampPolicy({\n validUntil: orderPolicyOptions.validUntil,\n })\n policies.push(timestampPolicy)\n }\n\n return policies\n}\n"],"names":["CallPolicyVersion","ParamCondition","toCallPolicy","toRateLimitPolicy","toTimestampPolicy","assetsRegistryConfig","fixedPaymentTemplateConfig","nft1155CreditsConfig","payAsYouGoTemplateAddress","payAsYouGoTemplateConfig","isAddress","parseAbi","zeroAddress","getPolicy","permissions","policyVersion","V0_0_4","getPermissions","config","functionNames","forEach","functionName","abis","abi","filter","item","type","name","push","target","address","getERC20ApprovePermissions","contractAddress","getERC20ApprovePolicy","getAgentRegistrationPolicy","getPricingPlanRegistrationPolicy","getRegisterAssetsPolicy","getOrderPolicy","perms","getMintNFTPolicy","getBurnNFTPolicy","getRegisterPolicy","buildPolicy","includes","getAllContractsPolicy","Boolean","getZeroDevOrderPolicies","orderPolicyOptions","policies","orderPermissions","contracts","map","contract","isPayAsYouGo","valueLimit","args","condition","EQUAL","value","subscriberAddress","numberOfPurchases","callPermissions","erc20ContractAddress","NOT_EQUAL","LESS_THAN_OR_EQUAL","totalAmount","count","rateLimitPolicy","validUntil","timestampPolicy"],"mappings":"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"}
@@ -5,3 +5,5 @@ export * from './SignatureUtils.js';
5
5
  export * from './WebServiceConnector.js';
6
6
  export * from './ZeroDevPolicies.js';
7
7
  export * from './AgentUtils.js';
8
+
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/nevermined/utils/index.ts"],"sourcesContent":["export * from './AnvilHelpers.js'\nexport * from './BlockchainViemUtils.js'\nexport * from './JwtUtils.js'\nexport * from './SignatureUtils.js'\nexport * from './WebServiceConnector.js'\nexport * from './ZeroDevPolicies.js'\nexport * from './AgentUtils.js'\n"],"names":[],"mappings":"AAAA,cAAc,oBAAmB;AACjC,cAAc,2BAA0B;AACxC,cAAc,gBAAe;AAC7B,cAAc,sBAAqB;AACnC,cAAc,2BAA0B;AACxC,cAAc,uBAAsB;AACpC,cAAc,kBAAiB"}
@@ -2,7 +2,7 @@ import { Instantiable } from '../Instantiable.abstract.js';
2
2
  import { ApiError, HttpError } from '../errors/NeverminedErrors.js';
3
3
  const authPath = '/api/v1/api-keys';
4
4
  export class Api extends Instantiable {
5
- constructor(config) {
5
+ constructor(config){
6
6
  super();
7
7
  this.setInstanceConfig(config);
8
8
  }
@@ -13,17 +13,23 @@ export class Api extends Instantiable {
13
13
  try {
14
14
  const response = await fetch(`${this.url}${authPath}/register-key`, {
15
15
  method: 'POST',
16
- headers: { 'Content-Type': 'application/json' },
17
- body: JSON.stringify({ nvmKey: sessionKey, clientAssertion }),
16
+ headers: {
17
+ 'Content-Type': 'application/json'
18
+ },
19
+ body: JSON.stringify({
20
+ nvmKey: sessionKey,
21
+ clientAssertion
22
+ })
18
23
  });
19
24
  if (!response.ok) {
20
25
  throw new HttpError(`Error Login - ${response.statusText} ${response.url}`, response.status);
21
26
  }
22
27
  const backendAuthToken = (await response.json()).hash;
23
28
  return backendAuthToken;
24
- }
25
- catch (error) {
29
+ } catch (error) {
26
30
  throw new ApiError(error instanceof Error ? error.message : String(error));
27
31
  }
28
32
  }
29
33
  }
34
+
35
+ //# sourceMappingURL=Api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/services/Api.ts"],"sourcesContent":["import { Instantiable, InstantiableConfig } from '../Instantiable.abstract.js'\nimport { ApiError, HttpError } from '../errors/NeverminedErrors.js'\n\nconst authPath = '/api/v1/api-keys'\n\nexport class Api extends Instantiable {\n constructor(config: InstantiableConfig) {\n super()\n this.setInstanceConfig(config)\n }\n\n protected get url() {\n return this.config.backendUrl\n }\n\n public async validateAssertion(clientAssertion: string, sessionKey?: string): Promise<string> {\n try {\n const response = await fetch(`${this.url}${authPath}/register-key`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ nvmKey: sessionKey, clientAssertion }),\n })\n\n if (!response.ok) {\n throw new HttpError(`Error Login - ${response.statusText} ${response.url}`, response.status)\n }\n\n const backendAuthToken = (await response.json()).hash\n\n return backendAuthToken as string\n } catch (error) {\n throw new ApiError(error instanceof Error ? error.message : String(error))\n }\n }\n}\n"],"names":["Instantiable","ApiError","HttpError","authPath","Api","config","setInstanceConfig","url","backendUrl","validateAssertion","clientAssertion","sessionKey","response","fetch","method","headers","body","JSON","stringify","nvmKey","ok","statusText","status","backendAuthToken","json","hash","error","Error","message","String"],"mappings":"AAAA,SAASA,YAAY,QAA4B,8BAA6B;AAC9E,SAASC,QAAQ,EAAEC,SAAS,QAAQ,gCAA+B;AAEnE,MAAMC,WAAW;AAEjB,OAAO,MAAMC,YAAYJ;IACvB,YAAYK,MAA0B,CAAE;QACtC,KAAK;QACL,IAAI,CAACC,iBAAiB,CAACD;IACzB;IAEA,IAAcE,MAAM;QAClB,OAAO,IAAI,CAACF,MAAM,CAACG,UAAU;IAC/B;IAEA,MAAaC,kBAAkBC,eAAuB,EAAEC,UAAmB,EAAmB;QAC5F,IAAI;YACF,MAAMC,WAAW,MAAMC,MAAM,GAAG,IAAI,CAACN,GAAG,GAAGJ,SAAS,aAAa,CAAC,EAAE;gBAClEW,QAAQ;gBACRC,SAAS;oBAAE,gBAAgB;gBAAmB;gBAC9CC,MAAMC,KAAKC,SAAS,CAAC;oBAAEC,QAAQR;oBAAYD;gBAAgB;YAC7D;YAEA,IAAI,CAACE,SAASQ,EAAE,EAAE;gBAChB,MAAM,IAAIlB,UAAU,CAAC,cAAc,EAAEU,SAASS,UAAU,CAAC,CAAC,EAAET,SAASL,GAAG,EAAE,EAAEK,SAASU,MAAM;YAC7F;YAEA,MAAMC,mBAAmB,AAAC,CAAA,MAAMX,SAASY,IAAI,EAAC,EAAGC,IAAI;YAErD,OAAOF;QACT,EAAE,OAAOG,OAAO;YACd,MAAM,IAAIzB,SAASyB,iBAAiBC,QAAQD,MAAME,OAAO,GAAGC,OAAOH;QACrE;IACF;AACF"}
@@ -3,38 +3,34 @@ import { Api } from './Api.js';
3
3
  const profilePath = '/api/v1/metadata/profiles';
4
4
  export class Profiles extends Api {
5
5
  /**
6
- * Create user profile
7
- */
8
- async create(newProfile, backendAuthToken) {
6
+ * Create user profile
7
+ */ async create(newProfile, backendAuthToken) {
9
8
  const fullUrl = `${this.url}${profilePath}`;
10
9
  try {
11
10
  const response = await this.nevermined.utils.fetch.post(fullUrl, JSON.stringify(newProfile), {
12
- Authorization: `Bearer ${backendAuthToken}`,
11
+ Authorization: `Bearer ${backendAuthToken}`
13
12
  });
14
13
  if (response.ok) {
15
14
  return response.json();
16
15
  }
17
16
  throw new HttpError(`Create profile fail - ${response.statusText} ${response.url}`, response.status);
18
- }
19
- catch (error) {
17
+ } catch (error) {
20
18
  throw new ApiError(error instanceof Error ? error.message : String(error));
21
19
  }
22
20
  }
23
21
  /**
24
- * Update user profile
25
- */
26
- async update(userId, profile, backendAuthToken) {
22
+ * Update user profile
23
+ */ async update(userId, profile, backendAuthToken) {
27
24
  const fullUrl = `${this.url}${profilePath}/${userId}`;
28
25
  try {
29
26
  const response = await this.nevermined.utils.fetch.put(fullUrl, JSON.stringify(profile), {
30
- Authorization: `Bearer ${backendAuthToken}`,
27
+ Authorization: `Bearer ${backendAuthToken}`
31
28
  });
32
29
  if (response.ok) {
33
30
  return response.json();
34
31
  }
35
32
  throw new HttpError(`Update profile fail - ${response.statusText} ${response.url}`, response.status);
36
- }
37
- catch (error) {
33
+ } catch (error) {
38
34
  throw new ApiError(error instanceof Error ? error.message : String(error));
39
35
  }
40
36
  }
@@ -42,14 +38,13 @@ export class Profiles extends Api {
42
38
  const fullUrl = `${this.url}${profilePath}/${userId}`;
43
39
  try {
44
40
  const response = await this.nevermined.utils.fetch.get(fullUrl, {
45
- Authorization: `Bearer ${backendAuthToken}`,
41
+ Authorization: `Bearer ${backendAuthToken}`
46
42
  });
47
43
  if (response.ok) {
48
44
  return response.json();
49
45
  }
50
46
  throw new HttpError(`Find profile with userId ${userId} fail - ${response.statusText} ${response.url}`, response.status);
51
- }
52
- catch (error) {
47
+ } catch (error) {
53
48
  throw new ApiError(error instanceof Error ? error.message : String(error));
54
49
  }
55
50
  }
@@ -61,8 +56,7 @@ export class Profiles extends Api {
61
56
  return response.json();
62
57
  }
63
58
  throw new HttpError(`Find profile with address ${address} fail - ${response.statusText} ${response.url}`, response.status);
64
- }
65
- catch (error) {
59
+ } catch (error) {
66
60
  throw new ApiError(error instanceof Error ? error.message : String(error));
67
61
  }
68
62
  }
@@ -70,15 +64,16 @@ export class Profiles extends Api {
70
64
  const fullUrl = `${this.url}${profilePath}/${userId}`;
71
65
  try {
72
66
  const response = await this.nevermined.utils.fetch.delete(fullUrl, undefined, {
73
- Authorization: `Bearer ${backendAuthToken}`,
67
+ Authorization: `Bearer ${backendAuthToken}`
74
68
  });
75
69
  if (response.ok) {
76
70
  return response.json();
77
71
  }
78
72
  throw new HttpError(`Disable profile with userId ${userId} fail - ${response.statusText} ${response.url}`, response.status);
79
- }
80
- catch (error) {
73
+ } catch (error) {
81
74
  throw new ApiError(error instanceof Error ? error.message : String(error));
82
75
  }
83
76
  }
84
77
  }
78
+
79
+ //# sourceMappingURL=Profiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/services/Profiles.ts"],"sourcesContent":["import { NewProfile, Profile, ReducedProfile } from '@nevermined-io/commons'\nimport { ApiError, HttpError } from '../errors/NeverminedErrors.js'\nimport { Api } from './Api.js'\n\nconst profilePath = '/api/v1/metadata/profiles'\n\nexport class Profiles extends Api {\n /**\n * Create user profile\n */\n public async create(newProfile: NewProfile, backendAuthToken: string): Promise<Profile> {\n const fullUrl = `${this.url}${profilePath}`\n try {\n const response = await this.nevermined.utils.fetch.post(fullUrl, JSON.stringify(newProfile), {\n Authorization: `Bearer ${backendAuthToken}`,\n })\n\n if (response.ok) {\n return response.json() as Promise<Profile>\n }\n\n throw new HttpError(\n `Create profile fail - ${response.statusText} ${response.url}`,\n response.status,\n )\n } catch (error) {\n throw new ApiError(error instanceof Error ? error.message : String(error))\n }\n }\n\n /**\n * Update user profile\n */\n public async update(\n userId: string,\n profile: Partial<NewProfile>,\n backendAuthToken: string,\n ): Promise<Profile> {\n const fullUrl = `${this.url}${profilePath}/${userId}`\n\n try {\n const response = await this.nevermined.utils.fetch.put(fullUrl, JSON.stringify(profile), {\n Authorization: `Bearer ${backendAuthToken}`,\n })\n\n if (response.ok) {\n return response.json() as Promise<Profile>\n }\n\n throw new HttpError(\n `Update profile fail - ${response.statusText} ${response.url}`,\n response.status,\n )\n } catch (error) {\n throw new ApiError(error instanceof Error ? error.message : String(error))\n }\n }\n\n public async findOneByUserId(userId: string, backendAuthToken: string): Promise<Profile> {\n const fullUrl = `${this.url}${profilePath}/${userId}`\n\n try {\n const response = await this.nevermined.utils.fetch.get(fullUrl, {\n Authorization: `Bearer ${backendAuthToken}`,\n })\n\n if (response.ok) {\n return response.json() as Promise<Profile>\n }\n\n throw new HttpError(\n `Find profile with userId ${userId} fail - ${response.statusText} ${response.url}`,\n response.status,\n )\n } catch (error) {\n throw new ApiError(error instanceof Error ? error.message : String(error))\n }\n }\n\n public async findOneByAddress(address: string): Promise<ReducedProfile> {\n const fullUrl = `${this.url}${profilePath}/address/${address}`\n\n try {\n const response = await this.nevermined.utils.fetch.get(fullUrl)\n\n if (response.ok) {\n return response.json() as Promise<ReducedProfile>\n }\n\n throw new HttpError(\n `Find profile with address ${address} fail - ${response.statusText} ${response.url}`,\n response.status,\n )\n } catch (error) {\n throw new ApiError(error instanceof Error ? error.message : String(error))\n }\n }\n\n public async disableOneByUserId(userId: string, backendAuthToken: string): Promise<Profile> {\n const fullUrl = `${this.url}${profilePath}/${userId}`\n\n try {\n const response = await this.nevermined.utils.fetch.delete(fullUrl, undefined, {\n Authorization: `Bearer ${backendAuthToken}`,\n })\n\n if (response.ok) {\n return response.json() as Promise<Profile>\n }\n\n throw new HttpError(\n `Disable profile with userId ${userId} fail - ${response.statusText} ${response.url}`,\n response.status,\n )\n } catch (error) {\n throw new ApiError(error instanceof Error ? error.message : String(error))\n }\n }\n}\n"],"names":["ApiError","HttpError","Api","profilePath","Profiles","create","newProfile","backendAuthToken","fullUrl","url","response","nevermined","utils","fetch","post","JSON","stringify","Authorization","ok","json","statusText","status","error","Error","message","String","update","userId","profile","put","findOneByUserId","get","findOneByAddress","address","disableOneByUserId","delete","undefined"],"mappings":"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"}
@@ -1,2 +1,4 @@
1
1
  export * from './Api.js';
2
2
  export * from './Profiles.js';
3
+
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/services/index.ts"],"sourcesContent":["export * from './Api.js'\nexport * from './Profiles.js'\n"],"names":[],"mappings":"AAAA,cAAc,WAAU;AACxB,cAAc,gBAAe"}
@@ -1,7 +1,7 @@
1
1
  import { LoggerInstance } from '../models/Logger.js';
2
2
  // Ox transformer
3
- export const zeroX = (input) => zeroXTransformer(input, true);
4
- export const noZeroX = (input) => zeroXTransformer(input, false);
3
+ export const zeroX = (input)=>zeroXTransformer(input, true);
4
+ export const noZeroX = (input)=>zeroXTransformer(input, false);
5
5
  export function zeroXTransformer(input = '', zeroOutput) {
6
6
  const { valid, output } = inputMatch(input, /^(?:0x)*([a-f0-9]+)$/i, 'zeroXTransformer');
7
7
  return (zeroOutput && valid ? '0x' : '') + output;
@@ -9,8 +9,7 @@ export function zeroXTransformer(input = '', zeroOutput) {
9
9
  export function toAgentId(input) {
10
10
  if (typeof input === 'bigint') {
11
11
  return input;
12
- }
13
- else {
12
+ } else {
14
13
  return BigInt(input);
15
14
  }
16
15
  }
@@ -24,7 +23,15 @@ function inputMatch(input, regexp, conversorName) {
24
23
  const match = input.match(regexp);
25
24
  if (!match) {
26
25
  LoggerInstance().debug(`[${conversorName}] Input transformation failed for input ${input}.`);
27
- return { valid: false, output: input };
26
+ return {
27
+ valid: false,
28
+ output: input
29
+ };
28
30
  }
29
- return { valid: true, output: match[1] };
31
+ return {
32
+ valid: true,
33
+ output: match[1]
34
+ };
30
35
  }
36
+
37
+ //# sourceMappingURL=ConversionTypeHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/ConversionTypeHelpers.ts"],"sourcesContent":["import { LoggerInstance } from '../models/Logger.js'\n\n// Ox transformer\nexport const zeroX = (input: string) => zeroXTransformer(input, true) as `0x${string}`\nexport const noZeroX = (input: string) => zeroXTransformer(input, false)\n\nexport function zeroXTransformer(input = '', zeroOutput: boolean) {\n const { valid, output } = inputMatch(input, /^(?:0x)*([a-f0-9]+)$/i, 'zeroXTransformer')\n return (zeroOutput && valid ? '0x' : '') + output\n}\n\nexport function toAgentId(input: string | bigint): bigint {\n if (typeof input === 'bigint') {\n return input\n } else {\n return BigInt(input)\n }\n}\n// Shared functions\nfunction inputMatch(\n input: string,\n regexp: RegExp,\n conversorName: string,\n): { valid: boolean; output: string } {\n if (typeof input !== 'string') {\n LoggerInstance().debug('Not input string:')\n LoggerInstance().debug(input)\n throw new Error(`[${conversorName}] Expected string, input type: ${typeof input}`)\n }\n const match = input.match(regexp)\n if (!match) {\n LoggerInstance().debug(`[${conversorName}] Input transformation failed for input ${input}.`)\n return { valid: false, output: input }\n }\n return { valid: true, output: match[1] }\n}\n"],"names":["LoggerInstance","zeroX","input","zeroXTransformer","noZeroX","zeroOutput","valid","output","inputMatch","toAgentId","BigInt","regexp","conversorName","debug","Error","match"],"mappings":"AAAA,SAASA,cAAc,QAAQ,sBAAqB;AAEpD,iBAAiB;AACjB,OAAO,MAAMC,QAAQ,CAACC,QAAkBC,iBAAiBD,OAAO,MAAsB;AACtF,OAAO,MAAME,UAAU,CAACF,QAAkBC,iBAAiBD,OAAO,OAAM;AAExE,OAAO,SAASC,iBAAiBD,QAAQ,EAAE,EAAEG,UAAmB;IAC9D,MAAM,EAAEC,KAAK,EAAEC,MAAM,EAAE,GAAGC,WAAWN,OAAO,yBAAyB;IACrE,OAAO,AAACG,CAAAA,cAAcC,QAAQ,OAAO,EAAC,IAAKC;AAC7C;AAEA,OAAO,SAASE,UAAUP,KAAsB;IAC9C,IAAI,OAAOA,UAAU,UAAU;QAC7B,OAAOA;IACT,OAAO;QACL,OAAOQ,OAAOR;IAChB;AACF;AACA,mBAAmB;AACnB,SAASM,WACPN,KAAa,EACbS,MAAc,EACdC,aAAqB;IAErB,IAAI,OAAOV,UAAU,UAAU;QAC7BF,iBAAiBa,KAAK,CAAC;QACvBb,iBAAiBa,KAAK,CAACX;QACvB,MAAM,IAAIY,MAAM,CAAC,CAAC,EAAEF,cAAc,+BAA+B,EAAE,OAAOV,OAAO;IACnF;IACA,MAAMa,QAAQb,MAAMa,KAAK,CAACJ;IAC1B,IAAI,CAACI,OAAO;QACVf,iBAAiBa,KAAK,CAAC,CAAC,CAAC,EAAED,cAAc,wCAAwC,EAAEV,MAAM,CAAC,CAAC;QAC3F,OAAO;YAAEI,OAAO;YAAOC,QAAQL;QAAM;IACvC;IACA,OAAO;QAAEI,OAAO;QAAMC,QAAQQ,KAAK,CAAC,EAAE;IAAC;AACzC"}
@@ -1,4 +1,4 @@
1
- import { accessManagerAddress, agreementsStoreAddress, assetsRegistryAddress, distributePaymentsConditionAddress, fiatPaymentTemplateAddress, fiatSettlementConditionAddress, fixedPaymentTemplateAddress, linearPricingAddress, lockPaymentConditionAddress, nft1155CreditsAddress, nft1155ExpirableCreditsAddress, nft1155ExpirableCreditsV2Address, nvmConfigAddress, oneTimeCreatorHookAddress, payAsYouGoTemplateAddress, paymentsVaultAddress, protocolStandardFeesAddress, tokenUtilsAddress, transferCreditsConditionAddress, } from '../artifacts/generated.js';
1
+ import { accessManagerAddress, agreementsStoreAddress, assetsRegistryAddress, distributePaymentsConditionAddress, fiatPaymentTemplateAddress, fiatSettlementConditionAddress, fixedPaymentTemplateAddress, linearPricingAddress, lockPaymentConditionAddress, nft1155CreditsAddress, nft1155ExpirableCreditsAddress, nft1155ExpirableCreditsV2Address, nvmConfigAddress, oneTimeCreatorHookAddress, payAsYouGoTemplateAddress, paymentsVaultAddress, protocolStandardFeesAddress, tokenUtilsAddress, transferCreditsConditionAddress } from '../artifacts/generated.js';
2
2
  /**
3
3
  * Get deployment information from generated artifacts.
4
4
  * This includes all contract addresses that are available in the generated.ts file.
@@ -6,8 +6,7 @@ import { accessManagerAddress, agreementsStoreAddress, assetsRegistryAddress, di
6
6
  * @param chainId - Optional chain ID to include in the response
7
7
  * @param version - Optional version to include in the response
8
8
  * @returns Deployment information with contract addresses
9
- */
10
- export function getDeploymentInfo(chainId, version) {
9
+ */ export function getDeploymentInfo(chainId, version) {
11
10
  const contracts = {
12
11
  AccessManager: accessManagerAddress,
13
12
  AgreementsStore: agreementsStoreAddress,
@@ -27,11 +26,17 @@ export function getDeploymentInfo(chainId, version) {
27
26
  PaymentsVault: paymentsVaultAddress,
28
27
  ProtocolStandardFees: protocolStandardFeesAddress,
29
28
  TokenUtils: tokenUtilsAddress,
30
- TransferCreditsCondition: transferCreditsConditionAddress,
29
+ TransferCreditsCondition: transferCreditsConditionAddress
31
30
  };
32
31
  return {
33
- ...(version && { version }),
34
- ...(chainId && { chainId }),
35
- contracts,
32
+ ...version && {
33
+ version
34
+ },
35
+ ...chainId && {
36
+ chainId
37
+ },
38
+ contracts
36
39
  };
37
40
  }
41
+
42
+ //# sourceMappingURL=DeploymentInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/DeploymentInfo.ts"],"sourcesContent":["import {\n accessManagerAddress,\n agreementsStoreAddress,\n assetsRegistryAddress,\n distributePaymentsConditionAddress,\n fiatPaymentTemplateAddress,\n fiatSettlementConditionAddress,\n fixedPaymentTemplateAddress,\n linearPricingAddress,\n lockPaymentConditionAddress,\n nft1155CreditsAddress,\n nft1155ExpirableCreditsAddress,\n nft1155ExpirableCreditsV2Address,\n nvmConfigAddress,\n oneTimeCreatorHookAddress,\n payAsYouGoTemplateAddress,\n paymentsVaultAddress,\n protocolStandardFeesAddress,\n tokenUtilsAddress,\n transferCreditsConditionAddress,\n} from '../artifacts/generated.js'\n\nexport interface DeploymentInfo {\n version?: string\n chainId?: number\n contracts: Record<string, string>\n}\n\n/**\n * Get deployment information from generated artifacts.\n * This includes all contract addresses that are available in the generated.ts file.\n *\n * @param chainId - Optional chain ID to include in the response\n * @param version - Optional version to include in the response\n * @returns Deployment information with contract addresses\n */\nexport function getDeploymentInfo(chainId?: number, version?: string): DeploymentInfo {\n const contracts: Record<string, string> = {\n AccessManager: accessManagerAddress,\n AgreementsStore: agreementsStoreAddress,\n AssetsRegistry: assetsRegistryAddress,\n DistributePaymentsCondition: distributePaymentsConditionAddress,\n FiatPaymentTemplate: fiatPaymentTemplateAddress,\n FiatSettlementCondition: fiatSettlementConditionAddress,\n FixedPaymentTemplate: fixedPaymentTemplateAddress,\n LinearPricing: linearPricingAddress,\n LockPaymentCondition: lockPaymentConditionAddress,\n NFT1155Credits: nft1155CreditsAddress,\n NFT1155ExpirableCredits: nft1155ExpirableCreditsAddress,\n NFT1155ExpirableCreditsV2: nft1155ExpirableCreditsV2Address,\n NVMConfig: nvmConfigAddress,\n OneTimeCreatorHook: oneTimeCreatorHookAddress,\n PayAsYouGoTemplate: payAsYouGoTemplateAddress,\n PaymentsVault: paymentsVaultAddress,\n ProtocolStandardFees: protocolStandardFeesAddress,\n TokenUtils: tokenUtilsAddress,\n TransferCreditsCondition: transferCreditsConditionAddress,\n }\n\n return {\n ...(version && { version }),\n ...(chainId && { chainId }),\n contracts,\n }\n}\n"],"names":["accessManagerAddress","agreementsStoreAddress","assetsRegistryAddress","distributePaymentsConditionAddress","fiatPaymentTemplateAddress","fiatSettlementConditionAddress","fixedPaymentTemplateAddress","linearPricingAddress","lockPaymentConditionAddress","nft1155CreditsAddress","nft1155ExpirableCreditsAddress","nft1155ExpirableCreditsV2Address","nvmConfigAddress","oneTimeCreatorHookAddress","payAsYouGoTemplateAddress","paymentsVaultAddress","protocolStandardFeesAddress","tokenUtilsAddress","transferCreditsConditionAddress","getDeploymentInfo","chainId","version","contracts","AccessManager","AgreementsStore","AssetsRegistry","DistributePaymentsCondition","FiatPaymentTemplate","FiatSettlementCondition","FixedPaymentTemplate","LinearPricing","LockPaymentCondition","NFT1155Credits","NFT1155ExpirableCredits","NFT1155ExpirableCreditsV2","NVMConfig","OneTimeCreatorHook","PayAsYouGoTemplate","PaymentsVault","ProtocolStandardFees","TokenUtils","TransferCreditsCondition"],"mappings":"AAAA,SACEA,oBAAoB,EACpBC,sBAAsB,EACtBC,qBAAqB,EACrBC,kCAAkC,EAClCC,0BAA0B,EAC1BC,8BAA8B,EAC9BC,2BAA2B,EAC3BC,oBAAoB,EACpBC,2BAA2B,EAC3BC,qBAAqB,EACrBC,8BAA8B,EAC9BC,gCAAgC,EAChCC,gBAAgB,EAChBC,yBAAyB,EACzBC,yBAAyB,EACzBC,oBAAoB,EACpBC,2BAA2B,EAC3BC,iBAAiB,EACjBC,+BAA+B,QAC1B,4BAA2B;AAQlC;;;;;;;CAOC,GACD,OAAO,SAASC,kBAAkBC,OAAgB,EAAEC,OAAgB;IAClE,MAAMC,YAAoC;QACxCC,eAAevB;QACfwB,iBAAiBvB;QACjBwB,gBAAgBvB;QAChBwB,6BAA6BvB;QAC7BwB,qBAAqBvB;QACrBwB,yBAAyBvB;QACzBwB,sBAAsBvB;QACtBwB,eAAevB;QACfwB,sBAAsBvB;QACtBwB,gBAAgBvB;QAChBwB,yBAAyBvB;QACzBwB,2BAA2BvB;QAC3BwB,WAAWvB;QACXwB,oBAAoBvB;QACpBwB,oBAAoBvB;QACpBwB,eAAevB;QACfwB,sBAAsBvB;QACtBwB,YAAYvB;QACZwB,0BAA0BvB;IAC5B;IAEA,OAAO;QACL,GAAIG,WAAW;YAAEA;QAAQ,CAAC;QAC1B,GAAID,WAAW;YAAEA;QAAQ,CAAC;QAC1BE;IACF;AACF"}