@coinbase/cdp-sdk 1.7.0 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/README.md +326 -28
- package/_cjs/accounts/evm/toEvmServerAccount.js +4 -2
- package/_cjs/accounts/evm/toEvmServerAccount.js.map +1 -1
- package/_cjs/accounts/evm/toEvmSmartAccount.js.map +1 -1
- package/_cjs/accounts/solana/toSolanaAccount.js +8 -0
- package/_cjs/accounts/solana/toSolanaAccount.js.map +1 -1
- package/_cjs/actions/evm/transfer/accountTransferStrategy.js +30 -63
- package/_cjs/actions/evm/transfer/accountTransferStrategy.js.map +1 -1
- package/_cjs/actions/evm/transfer/smartAccountTransferStrategy.js +39 -56
- package/_cjs/actions/evm/transfer/smartAccountTransferStrategy.js.map +1 -1
- package/_cjs/actions/evm/transfer/transfer.js +2 -39
- package/_cjs/actions/evm/transfer/transfer.js.map +1 -1
- package/_cjs/actions/evm/transfer/utils.js +0 -12
- package/_cjs/actions/evm/transfer/utils.js.map +1 -1
- package/_cjs/actions/solana/constants.js +9 -0
- package/_cjs/actions/solana/constants.js.map +1 -0
- package/_cjs/actions/solana/transfer.js +117 -0
- package/_cjs/actions/solana/transfer.js.map +1 -0
- package/_cjs/actions/solana/utils.js +66 -0
- package/_cjs/actions/solana/utils.js.map +1 -0
- package/_cjs/analytics.js +70 -8
- package/_cjs/analytics.js.map +1 -1
- package/_cjs/client/cdp.js +9 -3
- package/_cjs/client/cdp.js.map +1 -1
- package/_cjs/client/evm/evm.js +133 -15
- package/_cjs/client/evm/evm.js.map +1 -1
- package/_cjs/client/policies/index.js +6 -0
- package/_cjs/client/policies/index.js.map +1 -0
- package/_cjs/client/policies/policies.js +232 -0
- package/_cjs/client/policies/policies.js.map +1 -0
- package/_cjs/client/policies/policies.types.js +3 -0
- package/_cjs/client/policies/policies.types.js.map +1 -0
- package/_cjs/client/solana/solana.js +76 -19
- package/_cjs/client/solana/solana.js.map +1 -1
- package/_cjs/index.js +4 -1
- package/_cjs/index.js.map +1 -1
- package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +35 -4
- package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
- package/_cjs/openapi-client/generated/evm-accounts/evm-accounts.js +27 -1
- package/_cjs/openapi-client/generated/evm-accounts/evm-accounts.js.map +1 -1
- package/_cjs/openapi-client/generated/evm-accounts/evm-accounts.msw.js +56 -1
- package/_cjs/openapi-client/generated/evm-accounts/evm-accounts.msw.js.map +1 -1
- package/_cjs/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.js +3 -1
- package/_cjs/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.js.map +1 -1
- package/_cjs/openapi-client/generated/index.msw.js +2 -2
- package/_cjs/openapi-client/generated/index.msw.js.map +1 -1
- package/_cjs/openapi-client/generated/policy-engine/policy-engine.msw.js +121 -36
- package/_cjs/openapi-client/generated/policy-engine/policy-engine.msw.js.map +1 -1
- package/_cjs/openapi-client/generated/solana-accounts/solana-accounts.js +14 -1
- package/_cjs/openapi-client/generated/solana-accounts/solana-accounts.js.map +1 -1
- package/_cjs/openapi-client/generated/solana-accounts/solana-accounts.msw.js +42 -1
- package/_cjs/openapi-client/generated/solana-accounts/solana-accounts.msw.js.map +1 -1
- package/_cjs/openapi-client/index.js +6 -1
- package/_cjs/openapi-client/index.js.map +1 -1
- package/_cjs/policies/schema.js +245 -0
- package/_cjs/policies/schema.js.map +1 -0
- package/_cjs/policies/types.js +3 -0
- package/_cjs/policies/types.js.map +1 -0
- package/_cjs/version.js +1 -1
- package/_esm/accounts/evm/toEvmServerAccount.js +4 -2
- package/_esm/accounts/evm/toEvmServerAccount.js.map +1 -1
- package/_esm/accounts/evm/toEvmSmartAccount.js.map +1 -1
- package/_esm/accounts/solana/toSolanaAccount.js +8 -0
- package/_esm/accounts/solana/toSolanaAccount.js.map +1 -1
- package/_esm/actions/evm/transfer/accountTransferStrategy.js +31 -64
- package/_esm/actions/evm/transfer/accountTransferStrategy.js.map +1 -1
- package/_esm/actions/evm/transfer/smartAccountTransferStrategy.js +39 -56
- package/_esm/actions/evm/transfer/smartAccountTransferStrategy.js.map +1 -1
- package/_esm/actions/evm/transfer/transfer.js +2 -39
- package/_esm/actions/evm/transfer/transfer.js.map +1 -1
- package/_esm/actions/evm/transfer/utils.js +0 -11
- package/_esm/actions/evm/transfer/utils.js.map +1 -1
- package/_esm/actions/solana/constants.js +6 -0
- package/_esm/actions/solana/constants.js.map +1 -0
- package/_esm/actions/solana/transfer.js +114 -0
- package/_esm/actions/solana/transfer.js.map +1 -0
- package/_esm/actions/solana/utils.js +61 -0
- package/_esm/actions/solana/utils.js.map +1 -0
- package/_esm/analytics.js +70 -7
- package/_esm/analytics.js.map +1 -1
- package/_esm/client/cdp.js +10 -4
- package/_esm/client/cdp.js.map +1 -1
- package/_esm/client/evm/evm.js +133 -15
- package/_esm/client/evm/evm.js.map +1 -1
- package/_esm/client/policies/index.js +2 -0
- package/_esm/client/policies/index.js.map +1 -0
- package/_esm/client/policies/policies.js +228 -0
- package/_esm/client/policies/policies.js.map +1 -0
- package/_esm/client/policies/policies.types.js +2 -0
- package/_esm/client/policies/policies.types.js.map +1 -0
- package/_esm/client/solana/solana.js +76 -19
- package/_esm/client/solana/solana.js.map +1 -1
- package/_esm/index.js +1 -0
- package/_esm/index.js.map +1 -1
- package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +34 -3
- package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
- package/_esm/openapi-client/generated/evm-accounts/evm-accounts.js +24 -0
- package/_esm/openapi-client/generated/evm-accounts/evm-accounts.js.map +1 -1
- package/_esm/openapi-client/generated/evm-accounts/evm-accounts.msw.js +51 -0
- package/_esm/openapi-client/generated/evm-accounts/evm-accounts.msw.js.map +1 -1
- package/_esm/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.js +3 -1
- package/_esm/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.js.map +1 -1
- package/_esm/openapi-client/generated/index.msw.js +2 -2
- package/_esm/openapi-client/generated/index.msw.js.map +1 -1
- package/_esm/openapi-client/generated/policy-engine/policy-engine.msw.js +116 -35
- package/_esm/openapi-client/generated/policy-engine/policy-engine.msw.js.map +1 -1
- package/_esm/openapi-client/generated/solana-accounts/solana-accounts.js +12 -0
- package/_esm/openapi-client/generated/solana-accounts/solana-accounts.js.map +1 -1
- package/_esm/openapi-client/generated/solana-accounts/solana-accounts.msw.js +39 -0
- package/_esm/openapi-client/generated/solana-accounts/solana-accounts.msw.js.map +1 -1
- package/_esm/openapi-client/index.js +5 -0
- package/_esm/openapi-client/index.js.map +1 -1
- package/_esm/policies/schema.js +242 -0
- package/_esm/policies/schema.js.map +1 -0
- package/_esm/policies/types.js +2 -0
- package/_esm/policies/types.js.map +1 -0
- package/_esm/version.js +1 -1
- package/_types/accounts/evm/toEvmServerAccount.d.ts.map +1 -1
- package/_types/accounts/evm/toEvmSmartAccount.d.ts.map +1 -1
- package/_types/accounts/evm/types.d.ts +6 -3
- package/_types/accounts/evm/types.d.ts.map +1 -1
- package/_types/accounts/solana/toSolanaAccount.d.ts.map +1 -1
- package/_types/actions/evm/transfer/accountTransferStrategy.d.ts +2 -2
- package/_types/actions/evm/transfer/accountTransferStrategy.d.ts.map +1 -1
- package/_types/actions/evm/transfer/smartAccountTransferStrategy.d.ts +2 -2
- package/_types/actions/evm/transfer/smartAccountTransferStrategy.d.ts.map +1 -1
- package/_types/actions/evm/transfer/transfer.d.ts +6 -4
- package/_types/actions/evm/transfer/transfer.d.ts.map +1 -1
- package/_types/actions/evm/transfer/types.d.ts +8 -54
- package/_types/actions/evm/transfer/types.d.ts.map +1 -1
- package/_types/actions/evm/transfer/utils.d.ts +0 -619
- package/_types/actions/evm/transfer/utils.d.ts.map +1 -1
- package/_types/actions/evm/types.d.ts +140 -68
- package/_types/actions/evm/types.d.ts.map +1 -1
- package/_types/actions/solana/constants.d.ts +6 -0
- package/_types/actions/solana/constants.d.ts.map +1 -0
- package/_types/actions/solana/transfer.d.ts +36 -0
- package/_types/actions/solana/transfer.d.ts.map +1 -0
- package/_types/actions/solana/types.d.ts +27 -0
- package/_types/actions/solana/types.d.ts.map +1 -1
- package/_types/actions/solana/utils.d.ts +34 -0
- package/_types/actions/solana/utils.d.ts.map +1 -0
- package/_types/analytics.d.ts +14 -5
- package/_types/analytics.d.ts.map +1 -1
- package/_types/client/cdp.d.ts +3 -0
- package/_types/client/cdp.d.ts.map +1 -1
- package/_types/client/evm/evm.d.ts +89 -1
- package/_types/client/evm/evm.d.ts.map +1 -1
- package/_types/client/evm/evm.types.d.ts +33 -3
- package/_types/client/evm/evm.types.d.ts.map +1 -1
- package/_types/client/policies/index.d.ts +2 -0
- package/_types/client/policies/index.d.ts.map +1 -0
- package/_types/client/policies/policies.d.ts +216 -0
- package/_types/client/policies/policies.d.ts.map +1 -0
- package/_types/client/policies/policies.types.d.ts +96 -0
- package/_types/client/policies/policies.types.d.ts.map +1 -0
- package/_types/client/solana/solana.d.ts +43 -1
- package/_types/client/solana/solana.d.ts.map +1 -1
- package/_types/client/solana/solana.types.d.ts +14 -2
- package/_types/client/solana/solana.types.d.ts.map +1 -1
- package/_types/index.d.ts +2 -0
- package/_types/index.d.ts.map +1 -1
- package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts +176 -17
- package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts.map +1 -1
- package/_types/openapi-client/generated/evm-accounts/evm-accounts.d.ts +13 -1
- package/_types/openapi-client/generated/evm-accounts/evm-accounts.d.ts.map +1 -1
- package/_types/openapi-client/generated/evm-accounts/evm-accounts.msw.d.ts +5 -1
- package/_types/openapi-client/generated/evm-accounts/evm-accounts.msw.d.ts.map +1 -1
- package/_types/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.d.ts +3 -1
- package/_types/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.d.ts.map +1 -1
- package/_types/openapi-client/generated/index.msw.d.ts +2 -2
- package/_types/openapi-client/generated/index.msw.d.ts.map +1 -1
- package/_types/openapi-client/generated/policy-engine/policy-engine.msw.d.ts +5 -1
- package/_types/openapi-client/generated/policy-engine/policy-engine.msw.d.ts.map +1 -1
- package/_types/openapi-client/generated/solana-accounts/solana-accounts.d.ts +7 -1
- package/_types/openapi-client/generated/solana-accounts/solana-accounts.d.ts.map +1 -1
- package/_types/openapi-client/generated/solana-accounts/solana-accounts.msw.d.ts +2 -0
- package/_types/openapi-client/generated/solana-accounts/solana-accounts.msw.d.ts.map +1 -1
- package/_types/openapi-client/index.d.ts +18 -0
- package/_types/openapi-client/index.d.ts.map +1 -1
- package/_types/policies/schema.d.ts +1552 -0
- package/_types/policies/schema.d.ts.map +1 -0
- package/_types/policies/types.d.ts +19 -0
- package/_types/policies/types.d.ts.map +1 -0
- package/_types/types/misc.d.ts +39 -0
- package/_types/types/misc.d.ts.map +1 -1
- package/_types/version.d.ts +1 -1
- package/accounts/evm/toEvmServerAccount.ts +11 -7
- package/accounts/evm/toEvmSmartAccount.ts +1 -2
- package/accounts/evm/types.ts +6 -8
- package/accounts/solana/toSolanaAccount.ts +8 -0
- package/actions/evm/transfer/accountTransferStrategy.ts +38 -78
- package/actions/evm/transfer/smartAccountTransferStrategy.ts +43 -63
- package/actions/evm/transfer/transfer.ts +10 -51
- package/actions/evm/transfer/types.ts +9 -67
- package/actions/evm/transfer/utils.ts +0 -13
- package/actions/evm/types.ts +143 -78
- package/actions/solana/constants.ts +6 -0
- package/actions/solana/transfer.ts +219 -0
- package/actions/solana/types.ts +28 -0
- package/actions/solana/utils.ts +79 -0
- package/analytics.ts +86 -11
- package/client/cdp.ts +11 -4
- package/client/evm/evm.ts +159 -17
- package/client/evm/evm.types.ts +38 -1
- package/client/policies/index.ts +1 -0
- package/client/policies/policies.ts +246 -0
- package/client/policies/policies.types.ts +109 -0
- package/client/solana/solana.ts +94 -20
- package/client/solana/solana.types.ts +16 -1
- package/index.ts +7 -0
- package/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.ts +220 -18
- package/openapi-client/generated/evm-accounts/evm-accounts.msw.ts +102 -0
- package/openapi-client/generated/evm-accounts/evm-accounts.ts +43 -0
- package/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.ts +3 -1
- package/openapi-client/generated/index.msw.ts +2 -2
- package/openapi-client/generated/policy-engine/policy-engine.msw.ts +199 -56
- package/openapi-client/generated/solana-accounts/solana-accounts.msw.ts +75 -0
- package/openapi-client/generated/solana-accounts/solana-accounts.ts +23 -0
- package/openapi-client/index.ts +6 -0
- package/package.json +4 -2
- package/policies/schema.ts +349 -0
- package/policies/types.ts +19 -0
- package/types/misc.ts +41 -0
- package/version.ts +1 -1
package/_esm/analytics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../analytics.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../analytics.ts"],"names":[],"mappings":"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"}
|
package/_esm/client/cdp.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Analytics } from "../analytics.js";
|
|
2
2
|
import { CdpOpenApiClient } from "../openapi-client/index.js";
|
|
3
3
|
import { version } from "../version.js";
|
|
4
4
|
import { EvmClient } from "./evm/evm.js";
|
|
5
|
+
import { PoliciesClient } from "./policies/policies.js";
|
|
5
6
|
import { SolanaClient } from "./solana/solana.js";
|
|
6
7
|
/**
|
|
7
8
|
* The main client for interacting with the CDP API.
|
|
@@ -11,6 +12,8 @@ export class CdpClient {
|
|
|
11
12
|
evm;
|
|
12
13
|
/** Namespace containing all Solana methods. */
|
|
13
14
|
solana;
|
|
15
|
+
/** Namespace containing all Policies methods. */
|
|
16
|
+
policies;
|
|
14
17
|
/**
|
|
15
18
|
* The CdpClient is the main class for interacting with the CDP API.
|
|
16
19
|
*
|
|
@@ -90,12 +93,15 @@ For more information, see: https://github.com/coinbase/cdp-sdk/blob/main/typescr
|
|
|
90
93
|
sourceVersion: version,
|
|
91
94
|
});
|
|
92
95
|
if (process.env.DISABLE_CDP_ERROR_REPORTING !== "true") {
|
|
93
|
-
|
|
94
|
-
wrapClassWithErrorTracking(
|
|
95
|
-
wrapClassWithErrorTracking(
|
|
96
|
+
Analytics.identifier = apiKeyId;
|
|
97
|
+
Analytics.wrapClassWithErrorTracking(CdpClient);
|
|
98
|
+
Analytics.wrapClassWithErrorTracking(EvmClient);
|
|
99
|
+
Analytics.wrapClassWithErrorTracking(SolanaClient);
|
|
100
|
+
Analytics.wrapClassWithErrorTracking(PoliciesClient);
|
|
96
101
|
}
|
|
97
102
|
this.evm = new EvmClient();
|
|
98
103
|
this.solana = new SolanaClient();
|
|
104
|
+
this.policies = new PoliciesClient();
|
|
99
105
|
}
|
|
100
106
|
}
|
|
101
107
|
//# sourceMappingURL=cdp.js.map
|
package/_esm/client/cdp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdp.js","sourceRoot":"","sources":["../../client/cdp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cdp.js","sourceRoot":"","sources":["../../client/cdp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAelD;;GAEG;AACH,MAAM,OAAO,SAAS;IACpB,4CAA4C;IACrC,GAAG,CAAY;IAEtB,+CAA+C;IACxC,MAAM,CAAe;IAE5B,iDAAiD;IAC1C,QAAQ,CAAiB;IAEhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,YAAY,UAA4B,EAAE;QACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAChG,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAC5E,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAE3E,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BrB,CAAC,CAAC;QACC,CAAC;QAED,gBAAgB,CAAC,SAAS,CAAC;YACzB,GAAG,OAAO;YACV,QAAQ;YACR,YAAY;YACZ,YAAY;YACZ,MAAM,EAAE,KAAK;YACb,aAAa,EAAE,OAAO;SACvB,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,GAAG,CAAC,2BAA2B,KAAK,MAAM,EAAE,CAAC;YACvD,SAAS,CAAC,UAAU,GAAG,QAAQ,CAAC;YAChC,SAAS,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;YAChD,SAAS,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;YAChD,SAAS,CAAC,0BAA0B,CAAC,YAAY,CAAC,CAAC;YACnD,SAAS,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;IACvC,CAAC;CACF"}
|
package/_esm/client/evm/evm.js
CHANGED
|
@@ -6,6 +6,7 @@ import { requestFaucet, } from "../../actions/evm/requestFaucet.js";
|
|
|
6
6
|
import { sendTransaction } from "../../actions/evm/sendTransaction.js";
|
|
7
7
|
import { sendUserOperation, } from "../../actions/evm/sendUserOperation.js";
|
|
8
8
|
import { waitForUserOperation, } from "../../actions/evm/waitForUserOperation.js";
|
|
9
|
+
import { Analytics } from "../../analytics.js";
|
|
9
10
|
import { APIError } from "../../openapi-client/errors.js";
|
|
10
11
|
import { CdpOpenApiClient } from "../../openapi-client/index.js";
|
|
11
12
|
/**
|
|
@@ -47,12 +48,14 @@ export class EvmClient {
|
|
|
47
48
|
* ```
|
|
48
49
|
*/
|
|
49
50
|
async createAccount(options = {}) {
|
|
50
|
-
const
|
|
51
|
+
const openApiAccount = await CdpOpenApiClient.createEvmAccount({
|
|
51
52
|
name: options.name,
|
|
52
53
|
}, options.idempotencyKey);
|
|
53
|
-
|
|
54
|
-
account,
|
|
54
|
+
const account = toEvmServerAccount(CdpOpenApiClient, {
|
|
55
|
+
account: openApiAccount,
|
|
55
56
|
});
|
|
57
|
+
Analytics.wrapObjectMethodsWithErrorTracking(account);
|
|
58
|
+
return account;
|
|
56
59
|
}
|
|
57
60
|
/**
|
|
58
61
|
* Creates a new CDP EVM smart account.
|
|
@@ -100,13 +103,15 @@ export class EvmClient {
|
|
|
100
103
|
* ```
|
|
101
104
|
*/
|
|
102
105
|
async createSmartAccount(options) {
|
|
103
|
-
const
|
|
106
|
+
const openApiSmartAccount = await CdpOpenApiClient.createEvmSmartAccount({
|
|
104
107
|
owners: [options.owner.address],
|
|
105
108
|
}, options.idempotencyKey);
|
|
106
|
-
|
|
107
|
-
smartAccount,
|
|
109
|
+
const smartAccount = toEvmSmartAccount(CdpOpenApiClient, {
|
|
110
|
+
smartAccount: openApiSmartAccount,
|
|
108
111
|
owner: options.owner,
|
|
109
112
|
});
|
|
113
|
+
Analytics.wrapObjectMethodsWithErrorTracking(smartAccount);
|
|
114
|
+
return smartAccount;
|
|
110
115
|
}
|
|
111
116
|
/**
|
|
112
117
|
* Gets a CDP EVM account.
|
|
@@ -134,7 +139,7 @@ export class EvmClient {
|
|
|
134
139
|
* ```
|
|
135
140
|
*/
|
|
136
141
|
async getAccount(options) {
|
|
137
|
-
const
|
|
142
|
+
const openApiAccount = await (() => {
|
|
138
143
|
if (options.address) {
|
|
139
144
|
return CdpOpenApiClient.getEvmAccount(options.address);
|
|
140
145
|
}
|
|
@@ -143,9 +148,11 @@ export class EvmClient {
|
|
|
143
148
|
}
|
|
144
149
|
throw new Error("Either address or name must be provided");
|
|
145
150
|
})();
|
|
146
|
-
|
|
147
|
-
account,
|
|
151
|
+
const account = toEvmServerAccount(CdpOpenApiClient, {
|
|
152
|
+
account: openApiAccount,
|
|
148
153
|
});
|
|
154
|
+
Analytics.wrapObjectMethodsWithErrorTracking(account);
|
|
155
|
+
return account;
|
|
149
156
|
}
|
|
150
157
|
/**
|
|
151
158
|
* Gets a CDP EVM smart account.
|
|
@@ -167,11 +174,13 @@ export class EvmClient {
|
|
|
167
174
|
* ```
|
|
168
175
|
*/
|
|
169
176
|
async getSmartAccount(options) {
|
|
170
|
-
const
|
|
171
|
-
|
|
172
|
-
smartAccount,
|
|
177
|
+
const openApiSmartAccount = await CdpOpenApiClient.getEvmSmartAccount(options.address);
|
|
178
|
+
const smartAccount = toEvmSmartAccount(CdpOpenApiClient, {
|
|
179
|
+
smartAccount: openApiSmartAccount,
|
|
173
180
|
owner: options.owner,
|
|
174
181
|
});
|
|
182
|
+
Analytics.wrapObjectMethodsWithErrorTracking(smartAccount);
|
|
183
|
+
return smartAccount;
|
|
175
184
|
}
|
|
176
185
|
/**
|
|
177
186
|
* Gets a CDP EVM account, or creates one if it doesn't exist.
|
|
@@ -264,9 +273,13 @@ export class EvmClient {
|
|
|
264
273
|
pageToken: options.pageToken,
|
|
265
274
|
});
|
|
266
275
|
return {
|
|
267
|
-
accounts: ethAccounts.accounts.map(account =>
|
|
268
|
-
|
|
269
|
-
|
|
276
|
+
accounts: ethAccounts.accounts.map(account => {
|
|
277
|
+
const evmAccount = toEvmServerAccount(CdpOpenApiClient, {
|
|
278
|
+
account,
|
|
279
|
+
});
|
|
280
|
+
Analytics.wrapObjectMethodsWithErrorTracking(evmAccount);
|
|
281
|
+
return evmAccount;
|
|
282
|
+
}),
|
|
270
283
|
nextPageToken: ethAccounts.nextPageToken,
|
|
271
284
|
};
|
|
272
285
|
}
|
|
@@ -558,6 +571,62 @@ export class EvmClient {
|
|
|
558
571
|
signature: signature.signature,
|
|
559
572
|
};
|
|
560
573
|
}
|
|
574
|
+
/**
|
|
575
|
+
* Signs an EIP-712 message.
|
|
576
|
+
*
|
|
577
|
+
* @param {SignTypedDataOptions} options - Parameters for signing the EIP-712 message.
|
|
578
|
+
* @returns A promise that resolves to the signature.
|
|
579
|
+
*
|
|
580
|
+
* @example
|
|
581
|
+
* ```ts
|
|
582
|
+
* const signature = await cdp.evm.signTypedData({
|
|
583
|
+
* address: account.address,
|
|
584
|
+
* domain: {
|
|
585
|
+
* name: "Permit2",
|
|
586
|
+
* chainId: 1,
|
|
587
|
+
* verifyingContract: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
|
|
588
|
+
* },
|
|
589
|
+
* types: {
|
|
590
|
+
* EIP712Domain: [
|
|
591
|
+
* { name: "name", type: "string" },
|
|
592
|
+
* { name: "chainId", type: "uint256" },
|
|
593
|
+
* { name: "verifyingContract", type: "address" },
|
|
594
|
+
* ],
|
|
595
|
+
* PermitTransferFrom: [
|
|
596
|
+
* { name: "permitted", type: "TokenPermissions" },
|
|
597
|
+
* { name: "spender", type: "address" },
|
|
598
|
+
* { name: "nonce", type: "uint256" },
|
|
599
|
+
* { name: "deadline", type: "uint256" },
|
|
600
|
+
* ],
|
|
601
|
+
* TokenPermissions: [
|
|
602
|
+
* { name: "token", type: "address" },
|
|
603
|
+
* { name: "amount", type: "uint256" },
|
|
604
|
+
* ],
|
|
605
|
+
* },
|
|
606
|
+
* primaryType: "PermitTransferFrom",
|
|
607
|
+
* message: {
|
|
608
|
+
* permitted: {
|
|
609
|
+
* token: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
|
|
610
|
+
* amount: "1000000",
|
|
611
|
+
* },
|
|
612
|
+
* spender: "0xFfFfFfFFfFFfFFfFFfFFFFFffFFFffffFfFFFfFf",
|
|
613
|
+
* nonce: "0",
|
|
614
|
+
* deadline: "1717123200",
|
|
615
|
+
* },
|
|
616
|
+
* });
|
|
617
|
+
* ```
|
|
618
|
+
*/
|
|
619
|
+
async signTypedData(options) {
|
|
620
|
+
const signature = await CdpOpenApiClient.signEvmTypedData(options.address, {
|
|
621
|
+
domain: options.domain,
|
|
622
|
+
types: options.types,
|
|
623
|
+
primaryType: options.primaryType,
|
|
624
|
+
message: options.message,
|
|
625
|
+
}, options.idempotencyKey);
|
|
626
|
+
return {
|
|
627
|
+
signature: signature.signature,
|
|
628
|
+
};
|
|
629
|
+
}
|
|
561
630
|
/**
|
|
562
631
|
* Signs an EVM transaction.
|
|
563
632
|
*
|
|
@@ -596,6 +665,55 @@ export class EvmClient {
|
|
|
596
665
|
signature: signature.signedTransaction,
|
|
597
666
|
};
|
|
598
667
|
}
|
|
668
|
+
/**
|
|
669
|
+
* Updates a CDP EVM account.
|
|
670
|
+
*
|
|
671
|
+
* @param {UpdateEvmAccountOptions} [options] - Optional parameters for creating the account.
|
|
672
|
+
* @param {string} options.address - The address of the account to update
|
|
673
|
+
* @param {UpdateEvmAccountBody} options.update - An object containing account fields to update.
|
|
674
|
+
* @param {string} [options.update.name] - The new name for the account.
|
|
675
|
+
* @param {string} [options.update.accountPolicy] - The ID of a Policy to apply to the account.
|
|
676
|
+
* @param {string} [options.idempotencyKey] - An idempotency key.
|
|
677
|
+
*
|
|
678
|
+
* @returns A promise that resolves to the updated account.
|
|
679
|
+
*
|
|
680
|
+
* @example **With a name**
|
|
681
|
+
* ```ts
|
|
682
|
+
* const account = await cdp.evm.updateAccount({ address: "0x...", update: { name: "New Name" } });
|
|
683
|
+
* ```
|
|
684
|
+
*
|
|
685
|
+
* @example **With an account policy**
|
|
686
|
+
* ```ts
|
|
687
|
+
* const account = await cdp.evm.updateAccount({ address: "0x...", update: { accountPolicy: "73bcaeeb-d7af-4615-b064-42b5fe83a31e" } });
|
|
688
|
+
* ```
|
|
689
|
+
*
|
|
690
|
+
* @example **With an idempotency key**
|
|
691
|
+
* ```ts
|
|
692
|
+
* const idempotencyKey = uuidv4();
|
|
693
|
+
*
|
|
694
|
+
* // First call
|
|
695
|
+
* await cdp.evm.updateAccount({
|
|
696
|
+
* address: "0x...",
|
|
697
|
+
* update: { accountPolicy: "73bcaeeb-d7af-4615-b064-42b5fe83a31e" },
|
|
698
|
+
* idempotencyKey,
|
|
699
|
+
* });
|
|
700
|
+
*
|
|
701
|
+
* // Second call with the same idempotency key will not update
|
|
702
|
+
* await cdp.evm.updateAccount({
|
|
703
|
+
* address: '0x...',
|
|
704
|
+
* update: { name: "" },
|
|
705
|
+
* idempotencyKey,
|
|
706
|
+
* });
|
|
707
|
+
* ```
|
|
708
|
+
*/
|
|
709
|
+
async updateAccount(options) {
|
|
710
|
+
const openApiAccount = await CdpOpenApiClient.updateEvmAccount(options.address, options.update, options.idempotencyKey);
|
|
711
|
+
const account = toEvmServerAccount(CdpOpenApiClient, {
|
|
712
|
+
account: openApiAccount,
|
|
713
|
+
});
|
|
714
|
+
Analytics.wrapObjectMethodsWithErrorTracking(account);
|
|
715
|
+
return account;
|
|
716
|
+
}
|
|
599
717
|
/**
|
|
600
718
|
* Waits for a user operation to complete or fail.
|
|
601
719
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evm.js","sourceRoot":"","sources":["../../../client/evm/evm.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"evm.js","sourceRoot":"","sources":["../../../client/evm/evm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../client/policies/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
import { CdpOpenApiClient } from "../../openapi-client/index.js";
|
|
2
|
+
import { CreatePolicyBodySchema, UpdatePolicyBodySchema } from "../../policies/schema.js";
|
|
3
|
+
/**
|
|
4
|
+
* The namespace containing all Policy methods.
|
|
5
|
+
*/
|
|
6
|
+
export class PoliciesClient {
|
|
7
|
+
/**
|
|
8
|
+
* Lists policies belonging to the developer's CDP Project.
|
|
9
|
+
* Can be filtered by scope (project or account).
|
|
10
|
+
*
|
|
11
|
+
* @param {ListPoliciesOptions} [options] - Options for filtering and paginating the results
|
|
12
|
+
* @param {string} [options.scope] - Filter policies by scope ('project' or 'account')
|
|
13
|
+
* @param {number} [options.pageSize] - Maximum number of policies to return
|
|
14
|
+
* @param {string} [options.pageToken] - Pagination cursor for fetching next page of results
|
|
15
|
+
*
|
|
16
|
+
* @returns {Promise<ListPoliciesResult>} A paginated list of policies
|
|
17
|
+
*
|
|
18
|
+
* @example **List all policies**
|
|
19
|
+
* ```ts
|
|
20
|
+
* const { policies } = await cdp.policies.listPolicies();
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @example **Filter by scope**
|
|
24
|
+
* ```ts
|
|
25
|
+
* const { policies } = await cdp.policies.listPolicies({
|
|
26
|
+
* scope: 'project'
|
|
27
|
+
* });
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* @example **With pagination**
|
|
31
|
+
* ```ts
|
|
32
|
+
* // Get first page
|
|
33
|
+
* const firstPage = await cdp.policies.listPolicies({
|
|
34
|
+
* pageSize: 10
|
|
35
|
+
* });
|
|
36
|
+
*
|
|
37
|
+
* // Get next page using cursor
|
|
38
|
+
* const nextPage = await cdp.policies.listPolicies({
|
|
39
|
+
* pageSize: 10,
|
|
40
|
+
* pageToken: firstPage.pageToken
|
|
41
|
+
* });
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
async listPolicies(options = {}) {
|
|
45
|
+
return CdpOpenApiClient.listPolicies(options);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Creates a new policy that can be used to govern the behavior of projects and accounts.
|
|
49
|
+
*
|
|
50
|
+
* @param {CreatePolicyOptions} options - Options for creating the policy
|
|
51
|
+
* @param {CreatePolicyBody} options.policy - The policy configuration to create
|
|
52
|
+
* @param {string} [options.policy.description] - Description of the policy's purpose
|
|
53
|
+
* @param {Rule[]} options.policy.rules - Rules that define the policy behavior
|
|
54
|
+
* @param {string} [options.idempotencyKey] - An idempotency key to prevent duplicate policy creation
|
|
55
|
+
*
|
|
56
|
+
* @returns {Promise<Policy>} The created policy
|
|
57
|
+
* @throws {ZodError<typeof CreatePolicyBodySchema>} When the policy is invalid
|
|
58
|
+
*
|
|
59
|
+
* @example **Creating a new policy**
|
|
60
|
+
* ```ts
|
|
61
|
+
* const policy = await cdp.policies.createPolicy({
|
|
62
|
+
* policy: {
|
|
63
|
+
* scope: "account",
|
|
64
|
+
* description: "Limits the amount of ETH in transaction",
|
|
65
|
+
* rules: [
|
|
66
|
+
* {
|
|
67
|
+
* action: "reject",
|
|
68
|
+
* operation: "signEvmTransaction",
|
|
69
|
+
* criteria: [
|
|
70
|
+
* {
|
|
71
|
+
* type: "ethValue",
|
|
72
|
+
* ethValue: "1000000000000000000",
|
|
73
|
+
* operator: ">",
|
|
74
|
+
* },
|
|
75
|
+
* ],
|
|
76
|
+
* },
|
|
77
|
+
* ],
|
|
78
|
+
* }
|
|
79
|
+
* });
|
|
80
|
+
* ```
|
|
81
|
+
*
|
|
82
|
+
* @example **With idempotency key**
|
|
83
|
+
* ```ts
|
|
84
|
+
* const idempotencyKey = uuidv4();
|
|
85
|
+
*
|
|
86
|
+
* // First call creates the policy
|
|
87
|
+
* const policy = await cdp.policies.createPolicy({
|
|
88
|
+
* policy: {
|
|
89
|
+
* scope: "account",
|
|
90
|
+
* description: "Limits the amount of ETH in transaction",
|
|
91
|
+
* rules: [
|
|
92
|
+
* {
|
|
93
|
+
* action: "reject",
|
|
94
|
+
* operation: "signEvmTransaction",
|
|
95
|
+
* criteria: [
|
|
96
|
+
* {
|
|
97
|
+
* type: "ethValue",
|
|
98
|
+
* ethValue: "1000000000000000000",
|
|
99
|
+
* operator: ">",
|
|
100
|
+
* },
|
|
101
|
+
* ],
|
|
102
|
+
* },
|
|
103
|
+
* ],
|
|
104
|
+
* },
|
|
105
|
+
* idempotencyKey
|
|
106
|
+
* });
|
|
107
|
+
*
|
|
108
|
+
* // Second call with same key returns the same policy
|
|
109
|
+
* const samePolicy = await cdp.policies.createPolicy({
|
|
110
|
+
* policy: { ... },
|
|
111
|
+
* idempotencyKey
|
|
112
|
+
* });
|
|
113
|
+
* ```
|
|
114
|
+
*/
|
|
115
|
+
async createPolicy(options) {
|
|
116
|
+
CreatePolicyBodySchema.parse(options.policy);
|
|
117
|
+
return CdpOpenApiClient.createPolicy(options.policy, options.idempotencyKey);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Retrieves a policy by its unique identifier.
|
|
121
|
+
*
|
|
122
|
+
* @param {GetPolicyByIdOptions} options - Options containing the policy ID to retrieve
|
|
123
|
+
* @param {string} options.id - The unique identifier of the policy to retrieve
|
|
124
|
+
*
|
|
125
|
+
* @returns {Promise<Policy>} The requested policy
|
|
126
|
+
*
|
|
127
|
+
* @example **Retrieving a policy by ID**
|
|
128
|
+
* ```ts
|
|
129
|
+
* const policy = await cdp.policies.getPolicyById({
|
|
130
|
+
* id: "__ID__"
|
|
131
|
+
* });
|
|
132
|
+
*
|
|
133
|
+
* console.log(policy.name);
|
|
134
|
+
* console.log(policy.rules);
|
|
135
|
+
* ```
|
|
136
|
+
*/
|
|
137
|
+
async getPolicyById(options) {
|
|
138
|
+
return CdpOpenApiClient.getPolicyById(options.id);
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Deletes a policy by its unique identifier.
|
|
142
|
+
* If a policy is referenced by an active project or account, this operation will fail.
|
|
143
|
+
*
|
|
144
|
+
* @param {DeletePolicyOptions} options - Options containing the policy ID to delete
|
|
145
|
+
* @param {string} options.id - The unique identifier of the policy to delete
|
|
146
|
+
* @param {string} [options.idempotencyKey] - An idempotency key to prevent duplicate deletion
|
|
147
|
+
*
|
|
148
|
+
* @returns {Promise<void>} Void on successful deletion
|
|
149
|
+
*
|
|
150
|
+
* @example **Deleting a policy**
|
|
151
|
+
* ```ts
|
|
152
|
+
* await cdp.policies.deletePolicy({
|
|
153
|
+
* id: "__ID__"
|
|
154
|
+
* });
|
|
155
|
+
* ```
|
|
156
|
+
*
|
|
157
|
+
* @example **With idempotency key**
|
|
158
|
+
* ```ts
|
|
159
|
+
* const idempotencyKey = uuidv4();
|
|
160
|
+
*
|
|
161
|
+
* // This operation is idempotent with the key
|
|
162
|
+
* await cdp.policies.deletePolicy({
|
|
163
|
+
* id: "__ID__",
|
|
164
|
+
* idempotencyKey
|
|
165
|
+
* });
|
|
166
|
+
* ```
|
|
167
|
+
*/
|
|
168
|
+
async deletePolicy(options) {
|
|
169
|
+
return CdpOpenApiClient.deletePolicy(options.id, options.idempotencyKey);
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Updates an existing policy by its unique identifier.
|
|
173
|
+
* This will apply the updated policy to any project or accounts that are currently using it.
|
|
174
|
+
*
|
|
175
|
+
* @param {UpdatePolicyOptions} options - Options containing the policy ID and updated policy data
|
|
176
|
+
* @param {string} options.id - The unique identifier of the policy to update
|
|
177
|
+
* @param {UpdatePolicyBody} options.policy - The updated policy configuration
|
|
178
|
+
* @param {string} [options.policy.description] - Updated description of the policy's purpose
|
|
179
|
+
* @param {Rule[]} [options.policy.rules] - Updated rules that define the policy behavior
|
|
180
|
+
* @param {string} [options.idempotencyKey] - An idempotency key to prevent duplicate updates
|
|
181
|
+
*
|
|
182
|
+
* @returns {Promise<Policy>} The updated policy
|
|
183
|
+
* @throws {ZodError<typeof UpdatePolicyBodySchema>} When the updated policy is invalid
|
|
184
|
+
*
|
|
185
|
+
* @example **Updating a policy**
|
|
186
|
+
* ```ts
|
|
187
|
+
* const updatedPolicy = await cdp.policies.updatePolicy({
|
|
188
|
+
* id: "__ID__",
|
|
189
|
+
* policy: {
|
|
190
|
+
* description: "Now with lower transaction limits",
|
|
191
|
+
* rules: [
|
|
192
|
+
* {
|
|
193
|
+
* action: "reject",
|
|
194
|
+
* operation: "signEvmTransaction",
|
|
195
|
+
* criteria: [
|
|
196
|
+
* {
|
|
197
|
+
* type: "ethValue",
|
|
198
|
+
* ethValue: "1000000000",
|
|
199
|
+
* operator: ">",
|
|
200
|
+
* },
|
|
201
|
+
* ],
|
|
202
|
+
* },
|
|
203
|
+
* ],
|
|
204
|
+
* },
|
|
205
|
+
* });
|
|
206
|
+
* ```
|
|
207
|
+
*
|
|
208
|
+
* @example **With idempotency key**
|
|
209
|
+
* ```ts
|
|
210
|
+
* const idempotencyKey = uuidv4();
|
|
211
|
+
*
|
|
212
|
+
* // This operation is idempotent with the key
|
|
213
|
+
* await cdp.policies.updatePolicy({
|
|
214
|
+
* id: "__ID__",
|
|
215
|
+
* policy: {
|
|
216
|
+
* description: "Modified Policy",
|
|
217
|
+
* rules: { ... }
|
|
218
|
+
* },
|
|
219
|
+
* idempotencyKey
|
|
220
|
+
* });
|
|
221
|
+
* ```
|
|
222
|
+
*/
|
|
223
|
+
async updatePolicy(options) {
|
|
224
|
+
UpdatePolicyBodySchema.parse(options.policy);
|
|
225
|
+
return CdpOpenApiClient.updatePolicy(options.id, options.policy, options.idempotencyKey);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
//# sourceMappingURL=policies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policies.js","sourceRoot":"","sources":["../../../client/policies/policies.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAG1F;;GAEG;AACH,MAAM,OAAO,cAAc;IACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,KAAK,CAAC,YAAY,CAAC,UAA+B,EAAE;QAClD,OAAO,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAgC,CAAC;IAC/E,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmEG;IACH,KAAK,CAAC,YAAY,CAAC,OAA4B;QAC7C,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAoB,CAAC;IAClG,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,aAAa,CAAC,OAA6B;QAC/C,OAAO,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAoB,CAAC;IACvE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,KAAK,CAAC,YAAY,CAAC,OAA4B;QAC7C,OAAO,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmDG;IACH,KAAK,CAAC,YAAY,CAAC,OAA4B;QAC7C,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,gBAAgB,CAAC,YAAY,CAClC,OAAO,CAAC,EAAE,EACV,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,cAAc,CACJ,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policies.types.js","sourceRoot":"","sources":["../../../client/policies/policies.types.ts"],"names":[],"mappings":""}
|