@nevermined-io/core-kit 0.0.58-rc0 → 0.0.58
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/artifacts/generated.d.ts +9775 -3866
- package/dist/artifacts/generated.d.ts.map +1 -1
- package/dist/artifacts/generated.js +7428 -3943
- package/dist/contracts/AssetRegistry.d.ts +47 -15
- package/dist/contracts/AssetRegistry.d.ts.map +1 -1
- package/dist/contracts/AssetRegistry.js +65 -26
- package/dist/contracts/ContractBase.d.ts +3 -0
- package/dist/contracts/ContractBase.d.ts.map +1 -1
- package/dist/contracts/ContractBase.js +80 -7
- package/dist/contracts/ContractsApi.d.ts +7 -0
- package/dist/contracts/ContractsApi.d.ts.map +1 -1
- package/dist/contracts/ContractsApi.js +7 -0
- package/dist/contracts/FiatPaymentTemplate.d.ts +1 -1
- package/dist/contracts/FiatPaymentTemplate.d.ts.map +1 -1
- package/dist/contracts/FiatPaymentTemplate.js +2 -2
- package/dist/contracts/FiatSettlementCondition.d.ts +1 -1
- package/dist/contracts/FiatSettlementCondition.d.ts.map +1 -1
- package/dist/contracts/FiatSettlementCondition.js +2 -2
- package/dist/contracts/FixedPaymentTemplate.d.ts +2 -2
- package/dist/contracts/FixedPaymentTemplate.d.ts.map +1 -1
- package/dist/contracts/FixedPaymentTemplate.js +5 -5
- package/dist/contracts/NFT1155Base.d.ts +9 -0
- package/dist/contracts/NFT1155Base.d.ts.map +1 -1
- package/dist/contracts/NFT1155Base.js +3 -0
- package/dist/contracts/PayAsYouGoTemplate.d.ts +13 -0
- package/dist/contracts/PayAsYouGoTemplate.d.ts.map +1 -0
- package/dist/contracts/PayAsYouGoTemplate.js +59 -0
- package/dist/errors/NeverminedErrors.d.ts +4 -1
- package/dist/errors/NeverminedErrors.d.ts.map +1 -1
- package/dist/errors/NeverminedErrors.js +7 -2
- package/dist/models/AgentAccessToken.d.ts +1 -1
- package/dist/models/AgentAccessToken.d.ts.map +1 -1
- package/dist/models/AgentAccessToken.js +1 -1
- package/dist/nevermined/api/PaymentsApi.d.ts +6 -4
- package/dist/nevermined/api/PaymentsApi.d.ts.map +1 -1
- package/dist/nevermined/api/PaymentsApi.js +41 -16
- package/dist/nevermined/api/ServicesApi.d.ts +0 -5
- package/dist/nevermined/api/ServicesApi.d.ts.map +1 -1
- package/dist/nevermined/api/ServicesApi.js +0 -6
- package/dist/nevermined/index.d.ts +0 -1
- package/dist/nevermined/index.d.ts.map +1 -1
- package/dist/nevermined/index.js +0 -1
- package/dist/nevermined/utils/BlockchainViemUtils.d.ts +1 -8
- package/dist/nevermined/utils/BlockchainViemUtils.d.ts.map +1 -1
- package/dist/nevermined/utils/BlockchainViemUtils.js +1 -11
- package/dist/nevermined/utils/ZeroDevPolicies.d.ts.map +1 -1
- package/dist/nevermined/utils/ZeroDevPolicies.js +20 -16
- package/dist/services/index.d.ts +0 -1
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +0 -1
- package/dist/utils/ConversionTypeHelpers.d.ts +1 -4
- package/dist/utils/ConversionTypeHelpers.d.ts.map +1 -1
- package/dist/utils/ConversionTypeHelpers.js +7 -8
- package/package.json +1 -1
- package/dist/nevermined/DID.d.ts +0 -45
- package/dist/nevermined/DID.d.ts.map +0 -1
- package/dist/nevermined/DID.js +0 -90
- package/dist/services/MetadataService.d.ts +0 -53
- package/dist/services/MetadataService.d.ts.map +0 -1
- package/dist/services/MetadataService.js +0 -155
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NFT1155Base.d.ts","sourceRoot":"","sources":["../../src/contracts/NFT1155Base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,8BAAsB,WAAY,SAAQ,YAAY;IACvC,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI5D,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAI1E,IAAI,CAAC,EAChB,EAAE,EACF,MAAM,EACN,MAAM,EACN,IAAW,EACX,KAAK,EACL,QAAQ,GACT,EAAE;QACD,EAAE,EAAE,OAAO,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;QACd,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,OAAO,GAAG,YAAY,CAAA;QAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,QAAQ,CAAC,EAAE,YAAY,CAAA;KACxB;IAIY,SAAS,CAAC,EACrB,EAAE,EACF,OAAO,EACP,OAAO,EACP,IAAW,EACX,KAAK,EACL,QAAQ,GACT,EAAE;QACD,EAAE,EAAE,OAAO,EAAE,CAAA;QACb,OAAO,EAAE,MAAM,EAAE,CAAA;QACjB,OAAO,EAAE,MAAM,EAAE,CAAA;QACjB,KAAK,EAAE,OAAO,GAAG,YAAY,CAAA;QAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,QAAQ,CAAC,EAAE,YAAY,CAAA;KACxB;IAIY,IAAI,CAAC,EAChB,IAAI,EACJ,MAAM,EACN,MAAM,EACN,QAAQ,EACR,SAAS,EACT,KAAK,EACL,QAAQ,GACT,EAAE;QACD,IAAI,EAAE,OAAO,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;QACd,MAAM,EAAE,MAAM,CAAA;QACd,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,OAAO,GAAG,YAAY,CAAA;QAC7B,QAAQ,CAAC,EAAE,YAAY,CAAA;KACxB;IASY,SAAS,CAAC,EACrB,IAAI,EACJ,OAAO,EACP,OAAO,EACP,KAAK,EACL,QAAQ,GACT,EAAE;QACD,IAAI,EAAE,OAAO,EAAE,CAAA;QACf,OAAO,EAAE,MAAM,EAAE,CAAA;QACjB,OAAO,EAAE,MAAM,EAAE,CAAA;QACjB,KAAK,EAAE,OAAO,GAAG,YAAY,CAAA;QAC7B,QAAQ,CAAC,EAAE,YAAY,CAAA;KACxB;CAGF"}
|
|
1
|
+
{"version":3,"file":"NFT1155Base.d.ts","sourceRoot":"","sources":["../../src/contracts/NFT1155Base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,8BAAsB,WAAY,SAAQ,YAAY;IACvC,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI5D,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAI1E,IAAI,CAAC,EAChB,EAAE,EACF,MAAM,EACN,MAAM,EACN,IAAW,EACX,KAAK,EACL,QAAQ,GACT,EAAE;QACD,EAAE,EAAE,OAAO,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;QACd,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,OAAO,GAAG,YAAY,CAAA;QAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,QAAQ,CAAC,EAAE,YAAY,CAAA;KACxB;IAIY,SAAS,CAAC,EACrB,EAAE,EACF,OAAO,EACP,OAAO,EACP,IAAW,EACX,KAAK,EACL,QAAQ,GACT,EAAE;QACD,EAAE,EAAE,OAAO,EAAE,CAAA;QACb,OAAO,EAAE,MAAM,EAAE,CAAA;QACjB,OAAO,EAAE,MAAM,EAAE,CAAA;QACjB,KAAK,EAAE,OAAO,GAAG,YAAY,CAAA;QAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,QAAQ,CAAC,EAAE,YAAY,CAAA;KACxB;IAIY,yBAAyB,CAAC,EACrC,IAAI,EACJ,MAAM,EACN,MAAM,EACN,QAAQ,EACR,SAAS,EACT,KAAK,EACL,QAAQ,GACT,EAAE;QACD,IAAI,EAAE,OAAO,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;QACd,MAAM,EAAE,MAAM,CAAA;QACd,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,OAAO,GAAG,YAAY,CAAA;QAC7B,QAAQ,CAAC,EAAE,YAAY,CAAA;KACxB;IASY,IAAI,CAAC,EAChB,IAAI,EACJ,MAAM,EACN,MAAM,EACN,QAAQ,EACR,SAAS,EACT,KAAK,EACL,QAAQ,GACT,EAAE;QACD,IAAI,EAAE,OAAO,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;QACd,MAAM,EAAE,MAAM,CAAA;QACd,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,OAAO,GAAG,YAAY,CAAA;QAC7B,QAAQ,CAAC,EAAE,YAAY,CAAA;KACxB;IASY,SAAS,CAAC,EACrB,IAAI,EACJ,OAAO,EACP,OAAO,EACP,KAAK,EACL,QAAQ,GACT,EAAE;QACD,IAAI,EAAE,OAAO,EAAE,CAAA;QACf,OAAO,EAAE,MAAM,EAAE,CAAA;QACjB,OAAO,EAAE,MAAM,EAAE,CAAA;QACjB,KAAK,EAAE,OAAO,GAAG,YAAY,CAAA;QAC7B,QAAQ,CAAC,EAAE,YAAY,CAAA;KACxB;CAGF"}
|
|
@@ -12,6 +12,9 @@ export class NFT1155Base extends ContractBase {
|
|
|
12
12
|
async mintBatch({ to, planIds, amounts, data = '0x', owner, txParams, }) {
|
|
13
13
|
return this.send('mintBatch', owner, [to, planIds, amounts, data], txParams);
|
|
14
14
|
}
|
|
15
|
+
async simulateCreditsRedemption({ from, planId, amount, keyspace, signature, owner, txParams, }) {
|
|
16
|
+
return this.simulate('burn', owner, [from, planId, amount, keyspace ?? 0n, signature ?? '0x'], txParams);
|
|
17
|
+
}
|
|
15
18
|
async burn({ from, planId, amount, keyspace, signature, owner, txParams, }) {
|
|
16
19
|
return this.send('burn', owner, [from, planId, amount, keyspace ?? 0n, signature ?? '0x'], txParams);
|
|
17
20
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Account, Address } from 'viem';
|
|
2
|
+
import { SmartAccount } from 'viem/account-abstraction';
|
|
3
|
+
import { InstantiableConfig } from '../Instantiable.abstract.js';
|
|
4
|
+
import { TxParameters } from '../models/Transactions.js';
|
|
5
|
+
import { ContractBase } from './ContractBase.js';
|
|
6
|
+
export declare class PayAsYouGoTemplate extends ContractBase {
|
|
7
|
+
private TOKEN_APPROVE_ABI;
|
|
8
|
+
static getInstance(config: InstantiableConfig): Promise<PayAsYouGoTemplate>;
|
|
9
|
+
order(planId: bigint, owner: Account | SmartAccount, txParams?: TxParameters): Promise<import("viem").TransactionReceipt | import("viem/account-abstraction").UserOperationReceipt>;
|
|
10
|
+
approveERC20(totalAmount: bigint, tokenAddress: Address, owner: Account | SmartAccount, txParams?: TxParameters): Promise<import("viem").TransactionReceipt | undefined>;
|
|
11
|
+
orderWithApprovals(planId: bigint, totalAmount: bigint, tokenAddress: Address, owner: Account | SmartAccount, creditsReceiver?: Address, txParams?: TxParameters): Promise<import("viem").TransactionReceipt | undefined>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=PayAsYouGoTemplate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PayAsYouGoTemplate.d.ts","sourceRoot":"","sources":["../../src/contracts/PayAsYouGoTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,OAAO,EAAE,OAAO,EAAY,MAAM,MAAM,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAMvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,OAAO,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAA;AAEhE,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,OAAO,CAAC,iBAAiB,CAEhB;WAEoB,WAAW,CACtC,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,kBAAkB,CAAC;IASjB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,YAAY,EAAE,QAAQ,CAAC,EAAE,YAAY;IAK5E,YAAY,CACvB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,OAAO,EACrB,KAAK,EAAE,OAAO,GAAG,YAAY,EAC7B,QAAQ,CAAC,EAAE,YAAY;IAmBZ,kBAAkB,CAC7B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,OAAO,EACrB,KAAK,EAAE,OAAO,GAAG,YAAY,EAC7B,eAAe,CAAC,EAAE,OAAO,EACzB,QAAQ,CAAC,EAAE,YAAY;CA0B1B"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { parseAbi } from 'viem';
|
|
2
|
+
import { lockPaymentConditionAddress, payAsYouGoTemplateConfig, paymentsVaultAddress, } from '../artifacts/generated.js';
|
|
3
|
+
import { generateZeroXId } from '../utils/helpers.js';
|
|
4
|
+
import { ContractBase } from './ContractBase.js';
|
|
5
|
+
export class PayAsYouGoTemplate extends ContractBase {
|
|
6
|
+
TOKEN_APPROVE_ABI = parseAbi([
|
|
7
|
+
'function approve(address spender, uint256 amount) external returns (bool)',
|
|
8
|
+
]);
|
|
9
|
+
static async getInstance(config) {
|
|
10
|
+
const payAsYouGoTemplate = new PayAsYouGoTemplate('PayAsYouGoTemplate', payAsYouGoTemplateConfig.address);
|
|
11
|
+
await payAsYouGoTemplate.init(config, payAsYouGoTemplateConfig);
|
|
12
|
+
return payAsYouGoTemplate;
|
|
13
|
+
}
|
|
14
|
+
async order(planId, owner, txParams) {
|
|
15
|
+
const agreementIdSeed = generateZeroXId();
|
|
16
|
+
return this.send('order', owner, [agreementIdSeed, planId, []], txParams);
|
|
17
|
+
}
|
|
18
|
+
async approveERC20(totalAmount, tokenAddress, owner, txParams) {
|
|
19
|
+
const calls = [
|
|
20
|
+
{
|
|
21
|
+
contractAddress: tokenAddress,
|
|
22
|
+
abi: this.TOKEN_APPROVE_ABI,
|
|
23
|
+
functionName: 'approve',
|
|
24
|
+
args: [lockPaymentConditionAddress, totalAmount],
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
contractAddress: tokenAddress,
|
|
28
|
+
abi: this.TOKEN_APPROVE_ABI,
|
|
29
|
+
functionName: 'approve',
|
|
30
|
+
args: [paymentsVaultAddress, totalAmount],
|
|
31
|
+
},
|
|
32
|
+
];
|
|
33
|
+
return await this.multicall(calls, owner, txParams);
|
|
34
|
+
}
|
|
35
|
+
async orderWithApprovals(planId, totalAmount, tokenAddress, owner, creditsReceiver, txParams) {
|
|
36
|
+
const agreementIdSeed = generateZeroXId();
|
|
37
|
+
const calls = [
|
|
38
|
+
{
|
|
39
|
+
contractAddress: tokenAddress,
|
|
40
|
+
abi: this.TOKEN_APPROVE_ABI,
|
|
41
|
+
functionName: 'approve',
|
|
42
|
+
args: [lockPaymentConditionAddress, totalAmount],
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
contractAddress: tokenAddress,
|
|
46
|
+
abi: this.TOKEN_APPROVE_ABI,
|
|
47
|
+
functionName: 'approve',
|
|
48
|
+
args: [paymentsVaultAddress, totalAmount],
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
contractAddress: this.address,
|
|
52
|
+
abi: this.contract.abi,
|
|
53
|
+
functionName: 'order',
|
|
54
|
+
args: [agreementIdSeed, planId, creditsReceiver || owner.address, []],
|
|
55
|
+
},
|
|
56
|
+
];
|
|
57
|
+
return await this.multicall(calls, owner, txParams);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -11,6 +11,9 @@ export declare class HttpError extends Error {
|
|
|
11
11
|
export declare class ContractsError extends Error {
|
|
12
12
|
constructor(message: string);
|
|
13
13
|
}
|
|
14
|
+
export declare class ContractSimulationError extends Error {
|
|
15
|
+
constructor(message: string);
|
|
16
|
+
}
|
|
14
17
|
export declare class Web3Error extends Error {
|
|
15
18
|
constructor(message: string);
|
|
16
19
|
}
|
|
@@ -38,7 +41,7 @@ export declare class MethodNotSupported extends Error {
|
|
|
38
41
|
export declare class PlanNotFound extends Error {
|
|
39
42
|
constructor(message: string);
|
|
40
43
|
}
|
|
41
|
-
export declare class
|
|
44
|
+
export declare class AgentNotFound extends Error {
|
|
42
45
|
constructor(message: string);
|
|
43
46
|
}
|
|
44
47
|
export declare class AssetError extends Error {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NeverminedErrors.d.ts","sourceRoot":"","sources":["../../src/errors/NeverminedErrors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAE9B,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,UAAW,SAAQ,KAAK;gBACvB,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,SAAU,SAAQ,KAAK;gBACtB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAG1C;AAED,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,SAAU,SAAQ,KAAK;gBACtB,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,QAAS,SAAQ,KAAK;gBACrB,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,QAAS,SAAQ,KAAK;gBACrB,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,uBAAwB,SAAQ,QAAQ;gBACvC,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,wBAAyB,SAAQ,QAAQ;gBACxC,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,CAAC,EAAE,OAAO;CAG9B;AAED,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,aAAc,SAAQ,KAAK;gBAC1B,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,UAAW,SAAQ,KAAK;gBACvB,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,QAAS,SAAQ,KAAK;gBACrB,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;CAW1C;AAED,qBAAa,uBAAwB,SAAQ,QAAQ;gBACvC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;CAG9C;AAED,qBAAa,uBAAwB,SAAQ,QAAQ;gBACvC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAG/C;AAED,qBAAa,yBAA0B,SAAQ,QAAQ;gBACzC,aAAa,EAAE,MAAM;CAGlC;AAED,qBAAa,qBAAsB,SAAQ,QAAQ;gBACrC,aAAa,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;CAGtD;AAED,qBAAa,qBAAsB,SAAQ,QAAQ;gBACrC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;CAG9C;AAED,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAG5B"}
|
|
1
|
+
{"version":3,"file":"NeverminedErrors.d.ts","sourceRoot":"","sources":["../../src/errors/NeverminedErrors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAE9B,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,UAAW,SAAQ,KAAK;gBACvB,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,SAAU,SAAQ,KAAK;gBACtB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAG1C;AAED,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,SAAU,SAAQ,KAAK;gBACtB,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,QAAS,SAAQ,KAAK;gBACrB,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,QAAS,SAAQ,KAAK;gBACrB,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,uBAAwB,SAAQ,QAAQ;gBACvC,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,wBAAyB,SAAQ,QAAQ;gBACxC,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,CAAC,EAAE,OAAO;CAG9B;AAED,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,aAAc,SAAQ,KAAK;gBAC1B,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,UAAW,SAAQ,KAAK;gBACvB,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,QAAS,SAAQ,KAAK;gBACrB,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;CAW1C;AAED,qBAAa,uBAAwB,SAAQ,QAAQ;gBACvC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;CAG9C;AAED,qBAAa,uBAAwB,SAAQ,QAAQ;gBACvC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAG/C;AAED,qBAAa,yBAA0B,SAAQ,QAAQ;gBACzC,aAAa,EAAE,MAAM;CAGlC;AAED,qBAAa,qBAAsB,SAAQ,QAAQ;gBACrC,aAAa,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;CAGtD;AAED,qBAAa,qBAAsB,SAAQ,QAAQ;gBACrC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;CAG9C;AAED,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAG5B"}
|
|
@@ -18,6 +18,11 @@ export class ContractsError extends Error {
|
|
|
18
18
|
super(`Contracts error: ${message}`);
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
+
export class ContractSimulationError extends Error {
|
|
22
|
+
constructor(message) {
|
|
23
|
+
super(`Contract simulation error: ${message}`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
21
26
|
export class Web3Error extends Error {
|
|
22
27
|
constructor(message) {
|
|
23
28
|
super(`Web3 error: ${message}`);
|
|
@@ -63,9 +68,9 @@ export class PlanNotFound extends Error {
|
|
|
63
68
|
super(`PlanNotFound: ${message}`);
|
|
64
69
|
}
|
|
65
70
|
}
|
|
66
|
-
export class
|
|
71
|
+
export class AgentNotFound extends Error {
|
|
67
72
|
constructor(message) {
|
|
68
|
-
super(`
|
|
73
|
+
super(`AgentNotFound: ${message}`);
|
|
69
74
|
}
|
|
70
75
|
}
|
|
71
76
|
export class AssetError extends Error {
|
|
@@ -81,7 +81,7 @@ export declare class AgentAccessToken implements JWTPayload {
|
|
|
81
81
|
* @param issuerAccount The account issuing the key
|
|
82
82
|
|
|
83
83
|
*/
|
|
84
|
-
static generate(signatureUtils: SignatureUtils, issuerAccount: Account | SmartAccount, agentId: string, planId: string | bigint, subscriberAddress: `0x${string}`, expirationTime?: number | string, version?: string): Promise<AgentAccessToken>;
|
|
84
|
+
static generate(signatureUtils: SignatureUtils, issuerAccount: Account | SmartAccount, agentId: string | bigint, planId: string | bigint, subscriberAddress: `0x${string}`, expirationTime?: number | string, version?: string): Promise<AgentAccessToken>;
|
|
85
85
|
setRedemptionProof(keyspace: string, nonce: string): Promise<this>;
|
|
86
86
|
decodeAuthToken(): JWTAuthTokenParams;
|
|
87
87
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentAccessToken.d.ts","sourceRoot":"","sources":["../../src/models/AgentAccessToken.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,MAAM,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAGvD,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AAEtE;;;;;;GAMG;AAEH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,GAAG,EAAE,KAAK,MAAM,EAAE,CAAA;IAClB;;OAEG;IACH,GAAG,CAAC,EAAE,KAAK,MAAM,EAAE,CAAA;IACnB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,qBAAa,gBAAiB,YAAW,UAAU;IACjD;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;IACnC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAA;IAE3B,eAAe,EAAE,cAAc,CAAA;IAC/B,cAAc,EAAE,OAAO,GAAG,YAAY,CAAA;IAEtC,OAAO;IAMP;;;;;;OAMG;WACiB,QAAQ,CAC1B,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,OAAO,GAAG,YAAY,EACrC,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"AgentAccessToken.d.ts","sourceRoot":"","sources":["../../src/models/AgentAccessToken.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,MAAM,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAGvD,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AAEtE;;;;;;GAMG;AAEH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,GAAG,EAAE,KAAK,MAAM,EAAE,CAAA;IAClB;;OAEG;IACH,GAAG,CAAC,EAAE,KAAK,MAAM,EAAE,CAAA;IACnB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,qBAAa,gBAAiB,YAAW,UAAU;IACjD;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;IACnC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAA;IAE3B,eAAe,EAAE,cAAc,CAAA;IAC/B,cAAc,EAAE,OAAO,GAAG,YAAY,CAAA;IAEtC,OAAO;IAMP;;;;;;OAMG;WACiB,QAAQ,CAC1B,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,OAAO,GAAG,YAAY,EACrC,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,iBAAiB,EAAE,KAAK,MAAM,EAAE,EAChC,cAAc,GAAE,MAAM,GAAG,MAAa,EACtC,OAAO,SAAM,GACZ,OAAO,CAAC,gBAAgB,CAAC;IA8Bf,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAWxD,eAAe,IAAI,kBAAkB;IAiB5C;;;OAGG;IACI,SAAS,IAAI,MAAM;IAI1B;;;OAGG;IACI,QAAQ,IAAI,MAAM;IAUzB;;;;;OAKG;IACU,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;WAYvB,OAAO,CACnB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,OAAO,GAAG,YAAY,GACpC,gBAAgB;IAWnB;;;;OAIG;WACW,SAAS,CAAC,GAAG,EAAE,MAAM;IAInC;;;OAGG;IACI,IAAI;IAIX;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM;CAG/B"}
|
|
@@ -45,7 +45,7 @@ export class AgentAccessToken {
|
|
|
45
45
|
iss: issuerAddress,
|
|
46
46
|
aud: chainId.toString(),
|
|
47
47
|
sub,
|
|
48
|
-
agentId,
|
|
48
|
+
agentId: typeof agentId === 'bigint' ? agentId.toString() : agentId,
|
|
49
49
|
planId: typeof planId === 'bigint' ? planId.toString() : planId,
|
|
50
50
|
};
|
|
51
51
|
const signedJWTAuth = await new EthSignJWT(jwtAuth)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { OrderResult, Plan } from '@nvm-monorepo/commons';
|
|
1
2
|
import { Account, Address } from 'viem';
|
|
2
|
-
import { Instantiable, InstantiableConfig } from '../../Instantiable.abstract.js';
|
|
3
3
|
import { SmartAccount } from 'viem/account-abstraction';
|
|
4
|
-
import {
|
|
4
|
+
import { Instantiable, InstantiableConfig } from '../../Instantiable.abstract.js';
|
|
5
5
|
export declare class PaymentsApi extends Instantiable {
|
|
6
6
|
/**
|
|
7
7
|
* Creates a new PaymentsApi
|
|
@@ -17,7 +17,9 @@ export declare class PaymentsApi extends Instantiable {
|
|
|
17
17
|
totalAmount: bigint;
|
|
18
18
|
ownerAmount: bigint;
|
|
19
19
|
}>;
|
|
20
|
-
orderFiatPayment(planId: bigint, planReceiver: Address, from: Account | SmartAccount): Promise<OrderResult>;
|
|
21
|
-
|
|
20
|
+
orderFiatPayment(planId: bigint, planReceiver: Address, from: Account | SmartAccount, numberOfPurchases?: bigint): Promise<OrderResult>;
|
|
21
|
+
orderCryptoPlan(planId: bigint, plan: Plan, from: Account | SmartAccount, planReceiver?: Address, numberOfPurchases?: bigint): Promise<OrderResult>;
|
|
22
|
+
orderPayAsYouGoPlan(planId: bigint, plan: Plan, from: Account | SmartAccount): Promise<OrderResult>;
|
|
23
|
+
private _orderCryptoPlan;
|
|
22
24
|
}
|
|
23
25
|
//# sourceMappingURL=PaymentsApi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaymentsApi.d.ts","sourceRoot":"","sources":["../../../src/nevermined/api/PaymentsApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"PaymentsApi.d.ts","sourceRoot":"","sources":["../../../src/nevermined/api/PaymentsApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,IAAI,EAA8B,MAAM,uBAAuB,CAAA;AACrF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAoC,MAAM,MAAM,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AAOjF,qBAAa,WAAY,SAAQ,YAAY;IAC3C;;;;OAIG;gBACS,MAAM,EAAE,kBAAkB;IAKzB,eAAe,CAAC,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAgB7E,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAChD,aAAa,EAAE,MAAM,CAAA;QACrB,WAAW,EAAE,MAAM,CAAA;QACnB,cAAc,EAAE,MAAM,CAAA;QACtB,WAAW,EAAE,MAAM,CAAA;QACnB,WAAW,EAAE,MAAM,CAAA;KACpB,CAAC;IA4CW,gBAAgB,CAC3B,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,OAAO,EACrB,IAAI,EAAE,OAAO,GAAG,YAAY,EAC5B,iBAAiB,SAAK,GACrB,OAAO,CAAC,WAAW,CAAC;IA0BV,eAAe,CAC1B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,OAAO,GAAG,YAAY,EAC5B,YAAY,CAAC,EAAE,OAAO,EACtB,iBAAiB,SAAK,GACrB,OAAO,CAAC,WAAW,CAAC;IAOV,mBAAmB,CAC9B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,OAAO,GAAG,YAAY,GAC3B,OAAO,CAAC,WAAW,CAAC;YAKT,gBAAgB;CAsH/B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { isAddress, parseAbi, zeroAddress } from 'viem';
|
|
2
|
-
import { Instantiable } from '../../Instantiable.abstract.js';
|
|
3
1
|
import { PlanTransactionPaymentType } from '@nvm-monorepo/commons';
|
|
2
|
+
import { isAddress, parseAbi, zeroAddress } from 'viem';
|
|
4
3
|
import { NotEnoughBalance } from '../../errors/NeverminedErrors.js';
|
|
4
|
+
import { Instantiable } from '../../Instantiable.abstract.js';
|
|
5
5
|
const TOKEN_BALANCE_ABI = parseAbi(['function balanceOf(address) view returns (uint256)']);
|
|
6
6
|
const GET_FEE_RATES_ABI = parseAbi([
|
|
7
7
|
'function getFeeRates() view returns (uint256, uint256, uint256)',
|
|
@@ -65,15 +65,15 @@ export class PaymentsApi extends Instantiable {
|
|
|
65
65
|
};
|
|
66
66
|
}
|
|
67
67
|
catch (error) {
|
|
68
|
-
this.logger.error(`Error fetching plan fee for planId ${planId}
|
|
68
|
+
this.logger.error(`Error fetching plan fee for planId ${planId}: ${String(error)}`);
|
|
69
69
|
throw error;
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
|
-
async orderFiatPayment(planId, planReceiver, from) {
|
|
72
|
+
async orderFiatPayment(planId, planReceiver, from, numberOfPurchases = 1n) {
|
|
73
73
|
const plan = await this.nevermined.contracts.assetRegistry.getPlan(planId);
|
|
74
74
|
const totalAmount = plan.price.amounts.reduce((a, b) => a + b, 0n);
|
|
75
75
|
this.logger.info(`Ordering fiat payment for planId ${planId} to ${planReceiver} from account ${from.address} `);
|
|
76
|
-
const txHash = await this.nevermined.contracts.fiatPaymentTemplate.
|
|
76
|
+
const txHash = await this.nevermined.contracts.fiatPaymentTemplate.order(planId, planReceiver, from, numberOfPurchases);
|
|
77
77
|
const txReceipt = await this.nevermined.contracts.assetRegistry.getTransactionReceipt(txHash);
|
|
78
78
|
return {
|
|
79
79
|
txHash: txReceipt.transactionHash,
|
|
@@ -85,11 +85,20 @@ export class PaymentsApi extends Instantiable {
|
|
|
85
85
|
currency: 'USD',
|
|
86
86
|
};
|
|
87
87
|
}
|
|
88
|
-
async
|
|
88
|
+
async orderCryptoPlan(planId, plan, from, planReceiver, numberOfPurchases = 1n) {
|
|
89
|
+
this.logger.debug(`Setting up Fixed Payment order...`);
|
|
90
|
+
return this._orderCryptoPlan(planId, plan, from, 'fixed', planReceiver, numberOfPurchases);
|
|
91
|
+
}
|
|
92
|
+
// simulateCreditsRedemption
|
|
93
|
+
async orderPayAsYouGoPlan(planId, plan, from) {
|
|
94
|
+
this.logger.debug(`Setting up Pay-As-You-Go order...`);
|
|
95
|
+
return this._orderCryptoPlan(planId, plan, from, 'payAsYouGo');
|
|
96
|
+
}
|
|
97
|
+
async _orderCryptoPlan(planId, plan, from, planType, planReceiver, numberOfPurchases = 1n) {
|
|
89
98
|
try {
|
|
90
99
|
// const plan = await this.nevermined.contracts.assetRegistry.getPlan(planId)
|
|
91
100
|
const tokenAddress = plan.price.tokenAddress;
|
|
92
|
-
const totalAmount = plan.price.amounts.reduce((a, b) => a + b, 0n);
|
|
101
|
+
const totalAmount = plan.price.amounts.reduce((a, b) => a + b, 0n) * numberOfPurchases;
|
|
93
102
|
this.logger.debug(`Ordering ${tokenAddress} ${totalAmount}`);
|
|
94
103
|
let txHash;
|
|
95
104
|
if (tokenAddress && tokenAddress !== zeroAddress) {
|
|
@@ -101,12 +110,21 @@ export class PaymentsApi extends Instantiable {
|
|
|
101
110
|
if (erc20Balance < totalAmount) {
|
|
102
111
|
throw new NotEnoughBalance(`Insufficient balance (${erc20Balance} < ${totalAmount}) for ERC20 ${tokenAddress}`);
|
|
103
112
|
}
|
|
104
|
-
|
|
105
|
-
await this.nevermined.contracts.
|
|
113
|
+
if (planType === 'payAsYouGo') {
|
|
114
|
+
txHash = await this.nevermined.contracts.payAsYouGoTemplate.orderWithApprovals(planId, totalAmount, tokenAddress, from);
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
txHash = await this.nevermined.contracts.fixedPaymentTemplate.orderWithApprovals(planId, totalAmount, tokenAddress, from, planReceiver || from.address, numberOfPurchases);
|
|
118
|
+
}
|
|
106
119
|
this.logger.debug(`Token approved + Agreement Created: ${txHash}`);
|
|
107
120
|
}
|
|
108
121
|
else {
|
|
109
|
-
|
|
122
|
+
if (planType === 'payAsYouGo') {
|
|
123
|
+
txHash = await this.nevermined.contracts.payAsYouGoTemplate.order(planId, from);
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
txHash = await this.nevermined.contracts.fixedPaymentTemplate.order(planId, from, planReceiver || from.address);
|
|
127
|
+
}
|
|
110
128
|
}
|
|
111
129
|
if (!txHash) {
|
|
112
130
|
this.logger.error('Error in PaymentsApi order method: txHash not defined');
|
|
@@ -118,7 +136,7 @@ export class PaymentsApi extends Instantiable {
|
|
|
118
136
|
planId,
|
|
119
137
|
planReceiver: from.address,
|
|
120
138
|
totalAmount,
|
|
121
|
-
numCredits: plan.credits.amount,
|
|
139
|
+
numCredits: plan.credits.amount * numberOfPurchases,
|
|
122
140
|
paymentMethod: PlanTransactionPaymentType.Crypto,
|
|
123
141
|
currency: 'USDC',
|
|
124
142
|
tokenAddress,
|
|
@@ -130,16 +148,23 @@ export class PaymentsApi extends Instantiable {
|
|
|
130
148
|
if (nativeTokenBalance < totalAmount) {
|
|
131
149
|
throw new NotEnoughBalance(`Insufficient balance (${nativeTokenBalance} < ${totalAmount}) for native token payment`);
|
|
132
150
|
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
151
|
+
if (planType === 'payAsYouGo') {
|
|
152
|
+
txHash = await this.nevermined.contracts.payAsYouGoTemplate.order(planId, from, {
|
|
153
|
+
value: totalAmount,
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
txHash = await this.nevermined.contracts.fixedPaymentTemplate.order(planId, from, planReceiver || from.address, numberOfPurchases, {
|
|
158
|
+
value: totalAmount,
|
|
159
|
+
});
|
|
160
|
+
}
|
|
136
161
|
const txReceipt = await this.nevermined.contracts.assetRegistry.getTransactionReceipt(txHash);
|
|
137
162
|
return {
|
|
138
163
|
txHash: txReceipt.transactionHash,
|
|
139
164
|
planId,
|
|
140
165
|
planReceiver: from.address,
|
|
141
166
|
totalAmount,
|
|
142
|
-
numCredits: plan.credits.amount,
|
|
167
|
+
numCredits: plan.credits.amount * numberOfPurchases,
|
|
143
168
|
paymentMethod: PlanTransactionPaymentType.Crypto,
|
|
144
169
|
currency: 'Native',
|
|
145
170
|
tokenAddress: zeroAddress,
|
|
@@ -147,7 +172,7 @@ export class PaymentsApi extends Instantiable {
|
|
|
147
172
|
}
|
|
148
173
|
}
|
|
149
174
|
catch (error) {
|
|
150
|
-
this.logger.error(
|
|
175
|
+
this.logger.error(`Error in PaymentsApi order method: ${String(error)}`);
|
|
151
176
|
throw error;
|
|
152
177
|
}
|
|
153
178
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Instantiable, InstantiableConfig } from '../../Instantiable.abstract.js';
|
|
2
2
|
import { Api } from '../../services/Api.js';
|
|
3
|
-
import { MetadataService } from '../../services/MetadataService.js';
|
|
4
3
|
import { Profiles } from '../../services/Profiles.js';
|
|
5
4
|
/**
|
|
6
5
|
* Utils internal submodule of Nevermined.
|
|
@@ -10,10 +9,6 @@ export declare class ServicesApi extends Instantiable {
|
|
|
10
9
|
* Nevermined Node Service
|
|
11
10
|
*/
|
|
12
11
|
api: Api;
|
|
13
|
-
/**
|
|
14
|
-
* Marketplace instance.
|
|
15
|
-
*/
|
|
16
|
-
metadata: MetadataService;
|
|
17
12
|
/**
|
|
18
13
|
* Profiles instance
|
|
19
14
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServicesApi.d.ts","sourceRoot":"","sources":["../../../src/nevermined/api/ServicesApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACjF,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAA;AAC3C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ServicesApi.d.ts","sourceRoot":"","sources":["../../../src/nevermined/api/ServicesApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACjF,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAErD;;GAEG;AACH,qBAAa,WAAY,SAAQ,YAAY;IAC3C;;OAEG;IACI,GAAG,EAAE,GAAG,CAAA;IAEf;;OAEG;IACI,QAAQ,EAAE,QAAQ,CAAA;IAEzB;;;;OAIG;gBACS,MAAM,EAAE,kBAAkB;CAOvC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Instantiable } from '../../Instantiable.abstract.js';
|
|
2
2
|
import { Api } from '../../services/Api.js';
|
|
3
|
-
import { MetadataService } from '../../services/MetadataService.js';
|
|
4
3
|
import { Profiles } from '../../services/Profiles.js';
|
|
5
4
|
/**
|
|
6
5
|
* Utils internal submodule of Nevermined.
|
|
@@ -10,10 +9,6 @@ export class ServicesApi extends Instantiable {
|
|
|
10
9
|
* Nevermined Node Service
|
|
11
10
|
*/
|
|
12
11
|
api;
|
|
13
|
-
/**
|
|
14
|
-
* Marketplace instance.
|
|
15
|
-
*/
|
|
16
|
-
metadata;
|
|
17
12
|
/**
|
|
18
13
|
* Profiles instance
|
|
19
14
|
*/
|
|
@@ -27,7 +22,6 @@ export class ServicesApi extends Instantiable {
|
|
|
27
22
|
super();
|
|
28
23
|
this.setInstanceConfig(config);
|
|
29
24
|
this.api = new Api(config);
|
|
30
|
-
this.metadata = new MetadataService(config);
|
|
31
25
|
this.profiles = new Profiles(config);
|
|
32
26
|
}
|
|
33
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nevermined/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nevermined/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,cAAc,kBAAkB,CAAA"}
|
package/dist/nevermined/index.js
CHANGED
|
@@ -123,7 +123,7 @@ export declare function getContractInstance(contractAddress: string, abi: Abi, c
|
|
|
123
123
|
} | undefined]) => import("viem").WatchContractEventReturnType;
|
|
124
124
|
};
|
|
125
125
|
write: {
|
|
126
|
-
[x: string]: <chainOverride extends import("viem").Chain | undefined, options extends import("viem").UnionOmit<import("viem").WriteContractParameters<Abi, string, readonly unknown[], import("viem").Chain | undefined, Account | undefined, chainOverride>, "address" | "abi" | "args" | "functionName"> extends infer T ? { [K in keyof T]:
|
|
126
|
+
[x: string]: <chainOverride extends import("viem").Chain | undefined, options extends import("viem").UnionOmit<import("viem").WriteContractParameters<Abi, string, readonly unknown[], import("viem").Chain | undefined, Account | undefined, chainOverride>, "address" | "abi" | "args" | "functionName"> extends infer T ? { [K in keyof T]: T[K]; } : never, Rest extends unknown[] = [options: options]>(...parameters: Rest | [args: readonly unknown[], ...parameters: Rest]) => Promise<import("viem").WriteContractReturnType>;
|
|
127
127
|
};
|
|
128
128
|
address: `0x${string}`;
|
|
129
129
|
abi: Abi;
|
|
@@ -170,13 +170,6 @@ export declare function getInputsOfFunctionFormatted(abi: Abi, funcName: string,
|
|
|
170
170
|
name: string | undefined;
|
|
171
171
|
value: any;
|
|
172
172
|
}[];
|
|
173
|
-
/**
|
|
174
|
-
* It converts a DID to a Token ID.
|
|
175
|
-
* This is useful because in the Solidity Smart contracts the tokenId is a uint256.
|
|
176
|
-
* @param did the unique identifier of the asset
|
|
177
|
-
* @returns the token id in a bigint format
|
|
178
|
-
*/
|
|
179
|
-
export declare function didToTokenId(did: string): bigint;
|
|
180
173
|
/**
|
|
181
174
|
* Given an address it returns that address in checksum format.
|
|
182
175
|
* @param address the address
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockchainViemUtils.d.ts","sourceRoot":"","sources":["../../../src/nevermined/utils/BlockchainViemUtils.ts"],"names":[],"mappings":"AAOA,OAAO,EAML,mBAAmB,EACpB,MAAM,cAAc,CAAA;AAErB,OAAO,EACL,OAAO,
|
|
1
|
+
{"version":3,"file":"BlockchainViemUtils.d.ts","sourceRoot":"","sources":["../../../src/nevermined/utils/BlockchainViemUtils.ts"],"names":[],"mappings":"AAOA,OAAO,EAML,mBAAmB,EACpB,MAAM,cAAc,CAAA;AAErB,OAAO,EACL,OAAO,EAaP,KAAK,GAAG,EACR,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAQvD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAI9F,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAI3C;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;gBACvC,MAAM,EAAE,kBAAkB;CAIvC;AAQD;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CAAC,EAC1C,MAAM,EACN,SAAa,EACb,YAAY,GACb,EAAE;IACD,MAAM,EAAE,KAAK,MAAM,EAAE,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,YAAY,CAAA;CAC3B,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAsB9B;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAM/F;AAID;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,GAAG,EAAO,GAAG,WAAW,CAM3F;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,QAAQ,CASpE;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,GAAG,EAAO,GAAG,WAAW,CAEhG;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,GAAG,EAAO,0CAE/E;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,GAAG,EAAO;;;IAOxF;AAID;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAEpD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,MAAM,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtF;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,iBAElD;AAGD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,SAAI,GAAG,OAAO,CAExE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,SAAK,aAM/D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAG1C;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,SAAK,GAAG,OAAO,EAAE,CAG7D;AAID;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAGvE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAEnE;AAID;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,aAAa,EAAE,YAAY,EAC3B,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,GAAG,GAChB,OAAO,CAAC,mBAAmB,CAAC,CAyB9B;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,YAAY,CAAC,CAcvB;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,mBAyBnF;AAED,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,wEAatF;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,mBA6BxF;AAED,wBAAsB,aAAa,CAAC,oBAAoB,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,wEASlF;AAED,eAAO,MAAM,WAAW;;;;;CAKvB,CAAA"}
|
|
@@ -3,11 +3,10 @@ import { deserializePermissionAccount, serializePermissionAccount, toPermissionV
|
|
|
3
3
|
import { toECDSASigner } from '@zerodev/permissions/signers';
|
|
4
4
|
import { addressToEmptyAccount, createKernelAccount, createKernelAccountClient, createZeroDevPaymasterClient, getUserOperationGasPrice, } from '@zerodev/sdk';
|
|
5
5
|
import { KERNEL_V3_1, getEntryPoint } from '@zerodev/sdk/constants';
|
|
6
|
-
import { TransactionReceiptNotFoundError, encodeAbiParameters, getAbiItem, getAddress, getContract,
|
|
6
|
+
import { TransactionReceiptNotFoundError, encodeAbiParameters, getAbiItem, getAddress, getContract, http, isAddress, pad, stringToBytes, stringToHex, toBytes, keccak256 as viemKeccak256, } from 'viem';
|
|
7
7
|
import { english, generateMnemonic, generatePrivateKey, mnemonicToAccount, privateKeyToAccount, } from 'viem/accounts';
|
|
8
8
|
import { Instantiable } from '../../Instantiable.abstract.js';
|
|
9
9
|
import { ContractsError } from '../../errors/NeverminedErrors.js';
|
|
10
|
-
import { didZeroX } from '../../utils/ConversionTypeHelpers.js';
|
|
11
10
|
import { getChain } from '../../utils/Network.js';
|
|
12
11
|
import { _sleep } from '../../utils/helpers.js';
|
|
13
12
|
const ENTRY_POINT_VERSION = '0.7';
|
|
@@ -140,15 +139,6 @@ export function getInputsOfFunctionFormatted(abi, funcName, args = []) {
|
|
|
140
139
|
});
|
|
141
140
|
}
|
|
142
141
|
//////// UTILS
|
|
143
|
-
/**
|
|
144
|
-
* It converts a DID to a Token ID.
|
|
145
|
-
* This is useful because in the Solidity Smart contracts the tokenId is a uint256.
|
|
146
|
-
* @param did the unique identifier of the asset
|
|
147
|
-
* @returns the token id in a bigint format
|
|
148
|
-
*/
|
|
149
|
-
export function didToTokenId(did) {
|
|
150
|
-
return hexToBigInt(didZeroX(did), { size: 32 });
|
|
151
|
-
}
|
|
152
142
|
/**
|
|
153
143
|
* Given an address it returns that address in checksum format.
|
|
154
144
|
* @param address the address
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ZeroDevPolicies.d.ts","sourceRoot":"","sources":["../../../src/nevermined/utils/ZeroDevPolicies.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ZeroDevPolicies.d.ts","sourceRoot":"","sources":["../../../src/nevermined/utils/ZeroDevPolicies.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,GAAG,EAAY,MAAM,MAAM,CAAA;AAEpC,wBAAgB,SAAS,CAAC,WAAW,EAAE,GAAG,EAAE,yCAK3C;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,SAelE;AAED,wBAAgB,0BAA0B,CAAC,eAAe,EAAE,KAAK,MAAM,EAAE;;SAK/D,GAAG;;EAGZ;AACD,eAAO,MAAM,qBAAqB,GAAI,iBAAiB,KAAK,MAAM,EAAE,0CACV,CAAA;AAE1D,eAAO,MAAM,0BAA0B,6CACwB,CAAA;AAE/D,eAAO,MAAM,gCAAgC,6CAC2C,CAAA;AAExF,eAAO,MAAM,uBAAuB,6CACuC,CAAA;AAE3E,eAAO,MAAM,cAAc,6CAM1B,CAAA;AAED,eAAO,MAAM,gBAAgB,6CAAkE,CAAA;AAE/F,eAAO,MAAM,gBAAgB,6CAAkE,CAAA;AAE/F,eAAO,MAAM,iBAAiB,6CAU3B,CAAA;AAEH,eAAO,MAAM,WAAW,GAAI,aAAa,MAAM,EAAE,EAAE,iBAAiB,KAAK,MAAM,EAAE,0CAmBhF,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,iBAAiB,KAAK,MAAM,EAAE,0CAejE,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CallPolicyVersion, toCallPolicy } from '@zerodev/permissions/policies';
|
|
2
|
-
import { assetsRegistryConfig, fixedPaymentTemplateConfig, nft1155CreditsConfig, } from '../../artifacts/generated.js';
|
|
2
|
+
import { assetsRegistryConfig, fixedPaymentTemplateConfig, nft1155CreditsConfig, payAsYouGoTemplateAddress, } from '../../artifacts/generated.js';
|
|
3
3
|
import { parseAbi } from 'viem';
|
|
4
4
|
export function getPolicy(permissions) {
|
|
5
5
|
return toCallPolicy({
|
|
@@ -33,17 +33,23 @@ export function getERC20ApprovePermissions(contractAddress) {
|
|
|
33
33
|
export const getERC20ApprovePolicy = (contractAddress) => getPolicy([getERC20ApprovePermissions(contractAddress)]);
|
|
34
34
|
export const getAgentRegistrationPolicy = () => getPolicy(getPermissions(assetsRegistryConfig, ['register']));
|
|
35
35
|
export const getPricingPlanRegistrationPolicy = () => getPolicy(getPermissions(assetsRegistryConfig, ['createPlan', 'createPlanWithHooks']));
|
|
36
|
-
export const getRegisterAssetsPolicy = () => getPolicy(getPermissions(assetsRegistryConfig, ['
|
|
37
|
-
export const getOrderPolicy = () =>
|
|
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
|
+
};
|
|
38
44
|
export const getMintNFTPolicy = () => getPolicy(getPermissions(nft1155CreditsConfig, ['mint']));
|
|
39
45
|
export const getBurnNFTPolicy = () => getPolicy(getPermissions(nft1155CreditsConfig, ['burn']));
|
|
40
46
|
export const getRegisterPolicy = () => getPolicy(getPermissions(assetsRegistryConfig, [
|
|
41
47
|
'register',
|
|
42
48
|
'createPlan',
|
|
43
49
|
'createPlanWithHooks',
|
|
44
|
-
'
|
|
45
|
-
'
|
|
46
|
-
'
|
|
50
|
+
'registerAgentAndPlan',
|
|
51
|
+
'addPlanToAgent',
|
|
52
|
+
'removePlanFromAgent',
|
|
47
53
|
]));
|
|
48
54
|
export const buildPolicy = (permissions, contractAddress) => {
|
|
49
55
|
const perms = [
|
|
@@ -52,16 +58,14 @@ export const buildPolicy = (permissions, contractAddress) => {
|
|
|
52
58
|
'register',
|
|
53
59
|
'createPlan',
|
|
54
60
|
'createPlanWithHooks',
|
|
55
|
-
'
|
|
56
|
-
'
|
|
57
|
-
'
|
|
61
|
+
'registerAgentAndPlan',
|
|
62
|
+
'addPlanToAgent',
|
|
63
|
+
'removePlanFromAgent',
|
|
58
64
|
])
|
|
59
65
|
: []),
|
|
60
66
|
...(permissions.includes('mint') ? getPermissions(nft1155CreditsConfig, ['mint']) : []),
|
|
61
67
|
...(permissions.includes('burn') ? getPermissions(nft1155CreditsConfig, ['burn']) : []),
|
|
62
|
-
...(permissions.includes('order')
|
|
63
|
-
? getPermissions(fixedPaymentTemplateConfig, ['createAgreement'])
|
|
64
|
-
: []),
|
|
68
|
+
...(permissions.includes('order') ? getPermissions(fixedPaymentTemplateConfig, ['order']) : []),
|
|
65
69
|
...(permissions.includes('order') ? [getERC20ApprovePermissions(contractAddress)] : []),
|
|
66
70
|
];
|
|
67
71
|
return getPolicy(perms);
|
|
@@ -71,11 +75,11 @@ export const getAllContractsPolicy = (contractAddress) => getPolicy([
|
|
|
71
75
|
'register',
|
|
72
76
|
'createPlan',
|
|
73
77
|
'createPlanWithHooks',
|
|
74
|
-
'
|
|
75
|
-
'
|
|
76
|
-
'
|
|
78
|
+
'registerAgentAndPlan',
|
|
79
|
+
'addPlanToAgent',
|
|
80
|
+
'removePlanFromAgent',
|
|
77
81
|
]),
|
|
78
|
-
...getPermissions(fixedPaymentTemplateConfig, ['
|
|
82
|
+
...getPermissions(fixedPaymentTemplateConfig, ['order']),
|
|
79
83
|
...getPermissions(nft1155CreditsConfig, ['mint', 'burn']),
|
|
80
84
|
getERC20ApprovePermissions(contractAddress),
|
|
81
85
|
].filter(Boolean));
|
package/dist/services/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA"}
|
package/dist/services/index.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
export declare const zeroX: (input: string) => `0x${string}`;
|
|
2
2
|
export declare const noZeroX: (input: string) => string;
|
|
3
3
|
export declare function zeroXTransformer(input: string | undefined, zeroOutput: boolean): string;
|
|
4
|
-
export declare
|
|
5
|
-
export declare const noDidPrefixed: (input: string) => string;
|
|
6
|
-
export declare function didTransformer(input: string | undefined, prefixOutput: boolean): string;
|
|
7
|
-
export declare const didZeroX: (input: string) => `0x${string}`;
|
|
4
|
+
export declare function toAgentId(input: string | bigint): bigint;
|
|
8
5
|
//# sourceMappingURL=ConversionTypeHelpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConversionTypeHelpers.d.ts","sourceRoot":"","sources":["../../src/utils/ConversionTypeHelpers.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,KAAsC,KAAK,MAAM,EAAE,CAAA;AACtF,eAAO,MAAM,OAAO,GAAI,OAAO,MAAM,WAAmC,CAAA;AAExE,wBAAgB,gBAAgB,CAAC,KAAK,oBAAK,EAAE,UAAU,EAAE,OAAO,UAG/D;
|
|
1
|
+
{"version":3,"file":"ConversionTypeHelpers.d.ts","sourceRoot":"","sources":["../../src/utils/ConversionTypeHelpers.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,KAAsC,KAAK,MAAM,EAAE,CAAA;AACtF,eAAO,MAAM,OAAO,GAAI,OAAO,MAAM,WAAmC,CAAA;AAExE,wBAAgB,gBAAgB,CAAC,KAAK,oBAAK,EAAE,UAAU,EAAE,OAAO,UAG/D;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAMxD"}
|
|
@@ -6,15 +6,14 @@ 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;
|
|
8
8
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
export function toAgentId(input) {
|
|
10
|
+
if (typeof input === 'bigint') {
|
|
11
|
+
return input;
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
return BigInt(input);
|
|
15
|
+
}
|
|
15
16
|
}
|
|
16
|
-
// 0x + did:nv: transformer
|
|
17
|
-
export const didZeroX = (input) => zeroX(noDidPrefixed(input));
|
|
18
17
|
// Shared functions
|
|
19
18
|
function inputMatch(input, regexp, conversorName) {
|
|
20
19
|
if (typeof input !== 'string') {
|