@story-protocol/core-sdk 0.0.1-beta-rc.5 → 0.0.1-beta-rc.7
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +97 -43
- package/dist/declarations/src/constants/common.d.ts +1 -0
- package/dist/declarations/src/constants/common.d.ts.map +1 -1
- package/dist/declarations/src/resources/dispute.d.ts +0 -20
- package/dist/declarations/src/resources/dispute.d.ts.map +1 -1
- package/dist/declarations/src/resources/ipAccount.d.ts +0 -20
- package/dist/declarations/src/resources/ipAccount.d.ts.map +1 -1
- package/dist/declarations/src/resources/ipAsset.d.ts +52 -21
- package/dist/declarations/src/resources/ipAsset.d.ts.map +1 -1
- package/dist/declarations/src/resources/license.d.ts +43 -40
- package/dist/declarations/src/resources/license.d.ts.map +1 -1
- package/dist/declarations/src/resources/permission.d.ts +1 -41
- package/dist/declarations/src/resources/permission.d.ts.map +1 -1
- package/dist/declarations/src/resources/policy.d.ts +99 -82
- package/dist/declarations/src/resources/policy.d.ts.map +1 -1
- package/dist/declarations/src/types/resources/ipAsset.d.ts +4 -4
- package/dist/declarations/src/types/resources/ipAsset.d.ts.map +1 -1
- package/dist/declarations/src/types/resources/permission.d.ts +1 -1
- package/dist/declarations/src/types/resources/permission.d.ts.map +1 -1
- package/dist/declarations/src/types/resources/policy.d.ts +39 -1
- package/dist/declarations/src/types/resources/policy.d.ts.map +1 -1
- package/dist/story-protocol-core-sdk.cjs.dev.js +551 -114
- package/dist/story-protocol-core-sdk.cjs.prod.js +551 -114
- package/dist/story-protocol-core-sdk.esm.js +552 -115
- package/package.json +1 -1
package/README.md
CHANGED
@@ -1,70 +1,124 @@
|
|
1
|
-
|
1
|
+
# Story Protocol SDK
|
2
2
|
|
3
|
-
|
3
|
+
Welcome to the documents for Story Protocol SDK. The SDK provides the APIs for developers to build applications with Story Protocol. By using the SDK, developers can create the resources like IP assets and perform actions to interact with the resource.
|
4
4
|
|
5
|
-
|
5
|
+
## How to use Story Protocol SDK in Your Project
|
6
6
|
|
7
|
-
|
7
|
+
### Install Story Protocol core SDK
|
8
8
|
|
9
|
-
|
10
|
-
npm i @story-protocol/core-sdk ethers@^5.7.2
|
11
|
-
```
|
9
|
+
Suppose you already have a node project or created a new node project. First, you need to install `@story-protocol/core-sdk` in your project. You can use one of the following command to install the package:
|
12
10
|
|
13
|
-
|
11
|
+
Use `npm`:
|
14
12
|
|
15
|
-
```
|
16
|
-
|
13
|
+
```
|
14
|
+
npm install --save @story-protocol/core-sdk viem@1.21.4
|
17
15
|
```
|
18
16
|
|
19
|
-
|
17
|
+
Use `pnpm`:
|
20
18
|
|
21
|
-
```
|
22
|
-
|
19
|
+
```
|
20
|
+
pnpm install @story-protocol/core-sdk viem@1.21.4
|
23
21
|
```
|
24
22
|
|
25
|
-
|
26
|
-
|
27
|
-
(Ask the team to provide the values)
|
23
|
+
Use `yarn`:
|
28
24
|
|
29
25
|
```
|
30
|
-
|
31
|
-
NEXT_PUBLIC_FRANCHISE_REGISTRY_CONTRACT =
|
32
|
-
NEXT_PUBLIC_RELATIONSHIP_MODULE_CONTRACT =
|
33
|
-
NEXT_PUBLIC_COLLECT_MODULE_CONTRACT =
|
34
|
-
NEXT_PUBLIC_LICENSING_MODULE_CONTRACT =
|
26
|
+
yarn add @story-protocol/core-sdk viem@1.21.4
|
35
27
|
```
|
36
28
|
|
37
|
-
|
29
|
+
Besides the Story Protocol SDK package `@story-protocol/core-sdk`, we also require the package `viem` (https://www.npmjs.com/package/viem) to access the DeFi wallet accounts.
|
38
30
|
|
39
|
-
|
31
|
+
# Initiate SDK Client
|
40
32
|
|
41
|
-
|
42
|
-
import { StoryClient } from "@story-protocol/core-sdk";
|
43
|
-
import ethers from "ethers";
|
33
|
+
Next we can initiate the SDK Client by first setting up our wallet and then the client itself.
|
44
34
|
|
45
|
-
|
46
|
-
const provider = new ethers.providers.Web3Provider(window.ethereum);
|
47
|
-
await provider.send("eth_requestAccounts", []);
|
48
|
-
const signer = await provider.getSigner();
|
35
|
+
## Set up your wallet
|
49
36
|
|
50
|
-
|
51
|
-
const client = StoryClient.newReadOnlyClient({ provider });
|
37
|
+
The SDK supports using `viem` for initiating SDK client. Create a typescript file and write the following code to initiate the client with a private key:
|
52
38
|
|
53
|
-
|
54
|
-
|
39
|
+
> :information-source: Make sure to have WALLET_PRIVATE_KEY set up in your .env file.
|
40
|
+
|
41
|
+
```typescript index.ts
|
42
|
+
import { privateKeyToAccount } from "viem/accounts";
|
43
|
+
|
44
|
+
const PRIVATE_KEY = process.env.WALLET_PRIVATE_KEY || "0x";
|
45
|
+
const account = privateKeyToAccount(WALLET_PRIVATE_KEY as `0x${string}`);
|
55
46
|
```
|
56
47
|
|
57
|
-
|
48
|
+
The preceding code created the `account` object for creating the SDK client.
|
49
|
+
|
50
|
+
## Set up SDK client
|
58
51
|
|
59
|
-
|
60
|
-
import { StoryClient } from "@story-protocol/core-sdk"
|
61
|
-
import ethers from "ethers"
|
52
|
+
To set up the SDK client, import `StoryClient` and `StoryConfig` from `@story-protocol/core-sdk`. Write the following code, utilizing the `account` we created previously.
|
62
53
|
|
63
|
-
|
64
|
-
const provider = new ethers.providers.JsonRpcProvider(<YOUR RPC URL>)
|
65
|
-
const signer = new ethers.Wallet(<YOUR PRIVATE KEY>, provider)
|
54
|
+
> :information-source: Make sure to have RPC_PROVIDER_URL for your desired chain set up in your .env file. We recommend using the Sepolia network with `RPC_PROVIDER_URL=https://rpc.ankr.com/eth_sepolia`.
|
66
55
|
|
67
|
-
|
68
|
-
|
56
|
+
```typescript index.ts
|
57
|
+
import { StoryClient, StoryConfig } from "@story-protocol/core-sdk";
|
69
58
|
|
59
|
+
const config: StoryConfig = {
|
60
|
+
transport: http(process.env.RPC_PROVIDER_URL),
|
61
|
+
account: account,
|
62
|
+
};
|
63
|
+
const client = StoryClient.newClient(config);
|
70
64
|
```
|
65
|
+
|
66
|
+
## How To Build and Test Story Protocol SDK for local testing
|
67
|
+
|
68
|
+
This section provides the instructions on how to build Story Protocol SDK from source code.
|
69
|
+
|
70
|
+
### Prerequisite
|
71
|
+
|
72
|
+
- Install PNPM: Execute `npm install -g pnpm`
|
73
|
+
- Install TypeScript: Run `pnpm add typescript -D`
|
74
|
+
- Install Yalc: Use `npm install -g yalc`
|
75
|
+
|
76
|
+
### Steps for Using Yalc for Local Testing of Core-SDK
|
77
|
+
|
78
|
+
For manual testing of the core-sdk, set up a separate web project. The guide below uses `yalc` to link the `core-sdk` locally, enabling its installation and import for testing.
|
79
|
+
|
80
|
+
Under the `typescript-sdk/packages/core-sdk` directory:
|
81
|
+
|
82
|
+
- Navigate to the `core-sdk` directory.
|
83
|
+
- Execute `npm run build` to build your latest code.
|
84
|
+
- Run `yalc publish`. You should see a message like `@story-protocol/core-sdk@<version> published in store.` (Note: The version number may vary).
|
85
|
+
|
86
|
+
To set up your testing environment (e.g., a new Next.js project), use `yalc add @story-protocol/core-sdk@<version>` (ensure the version number is updated accordingly).
|
87
|
+
|
88
|
+
- Run `pnpm install`. This installs `@story-protocol/core-sdk@<version>` with your local changes.
|
89
|
+
|
90
|
+
### Steps to Refresh the Changes
|
91
|
+
|
92
|
+
Under the `typescript-sdk/packages/core-sdk` directory:
|
93
|
+
|
94
|
+
- Execute `npm run build` to build your latest code.
|
95
|
+
- Run `yalc push`.
|
96
|
+
|
97
|
+
In your testing environment:
|
98
|
+
|
99
|
+
- Run `yalc update` to pull the latest changes.
|
100
|
+
|
101
|
+
## Steps to pull and compile latest smart contract ABIs (Currently pulls from the protocol-contracts `dev` branch)
|
102
|
+
|
103
|
+
Must have `solc` installed (https://docs.soliditylang.org/en/v0.8.9/installing-solidity.html)
|
104
|
+
|
105
|
+
- run `make compile_contracts`
|
106
|
+
|
107
|
+
## Release
|
108
|
+
|
109
|
+
| Package | Description |
|
110
|
+
| :------------------------------ | :--------------------------------------------- |
|
111
|
+
| [core-sdk](./packages/core-sdk) | The core sdk for interacting with the protocol |
|
112
|
+
|
113
|
+
## Contributing
|
114
|
+
|
115
|
+
Pull requests are welcome. For major changes, please open an issue first
|
116
|
+
to discuss what you would like to change. Details see: [CONTRIBUTING](/CONTRIBUTING.md)
|
117
|
+
|
118
|
+
Please make sure to update tests as appropriate.
|
119
|
+
|
120
|
+
## License
|
121
|
+
|
122
|
+
[MIT License](/LICENSE.md)
|
123
|
+
|
124
|
+
## Contact Us
|
@@ -1,3 +1,4 @@
|
|
1
1
|
export declare const AddressZero = "0x0000000000000000000000000000000000000000";
|
2
2
|
export declare const HashZero = "0x0000000000000000000000000000000000000000000000000000000000000000";
|
3
|
+
export declare const SepoliaChainId = "11155111";
|
3
4
|
//# sourceMappingURL=common.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"../../../../src/constants","sources":["common.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,+CAA+C,CAAC;AAExE,eAAO,MAAM,QAAQ,uEAAuE,CAAC"}
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"../../../../src/constants","sources":["common.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,+CAA+C,CAAC;AAExE,eAAO,MAAM,QAAQ,uEAAuE,CAAC;AAE7F,eAAO,MAAM,cAAc,aAAa,CAAC"}
|
@@ -652,26 +652,6 @@ export declare class DisputeClient {
|
|
652
652
|
readonly inputs: readonly [];
|
653
653
|
readonly name: "RoyaltyPolicyLAP__ZeroRoyaltyModule";
|
654
654
|
readonly type: "error";
|
655
|
-
} | {
|
656
|
-
readonly inputs: readonly [];
|
657
|
-
readonly name: "TaggingModule__DstIpIdDoesNotHaveDstTag";
|
658
|
-
readonly type: "error";
|
659
|
-
} | {
|
660
|
-
readonly inputs: readonly [];
|
661
|
-
readonly name: "TaggingModule__InvalidRelationTypeName";
|
662
|
-
readonly type: "error";
|
663
|
-
} | {
|
664
|
-
readonly inputs: readonly [];
|
665
|
-
readonly name: "TaggingModule__RelationTypeAlreadyExists";
|
666
|
-
readonly type: "error";
|
667
|
-
} | {
|
668
|
-
readonly inputs: readonly [];
|
669
|
-
readonly name: "TaggingModule__RelationTypeDoesNotExist";
|
670
|
-
readonly type: "error";
|
671
|
-
} | {
|
672
|
-
readonly inputs: readonly [];
|
673
|
-
readonly name: "TaggingModule__SrcIpIdDoesNotHaveSrcTag";
|
674
|
-
readonly type: "error";
|
675
655
|
} | {
|
676
656
|
readonly anonymous: false;
|
677
657
|
readonly inputs: readonly [{
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"dispute.d.ts","sourceRoot":"../../../../src/resources","sources":["dispute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAe,MAAM,MAAM,CAAC;AAI/D,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACvB,sCAAmC;AAGpC,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IAClC,mBAAmB
|
1
|
+
{"version":3,"file":"dispute.d.ts","sourceRoot":"../../../../src/resources","sources":["dispute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAe,MAAM,MAAM,CAAC;AAI/D,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACvB,sCAAmC;AAGpC,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IAClC,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAuB;gBAErC,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY;IAKzD;;;;;;;;;;;;;;;OAeG;IACU,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAgCtF;;;;;;;;;;;OAWG;IACU,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAqBzF;;;;;;;;OAQG;IACU,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAoB7F"}
|
@@ -651,26 +651,6 @@ export declare class IPAccountClient {
|
|
651
651
|
readonly inputs: readonly [];
|
652
652
|
readonly name: "RoyaltyPolicyLAP__ZeroRoyaltyModule";
|
653
653
|
readonly type: "error";
|
654
|
-
} | {
|
655
|
-
readonly inputs: readonly [];
|
656
|
-
readonly name: "TaggingModule__DstIpIdDoesNotHaveDstTag";
|
657
|
-
readonly type: "error";
|
658
|
-
} | {
|
659
|
-
readonly inputs: readonly [];
|
660
|
-
readonly name: "TaggingModule__InvalidRelationTypeName";
|
661
|
-
readonly type: "error";
|
662
|
-
} | {
|
663
|
-
readonly inputs: readonly [];
|
664
|
-
readonly name: "TaggingModule__RelationTypeAlreadyExists";
|
665
|
-
readonly type: "error";
|
666
|
-
} | {
|
667
|
-
readonly inputs: readonly [];
|
668
|
-
readonly name: "TaggingModule__RelationTypeDoesNotExist";
|
669
|
-
readonly type: "error";
|
670
|
-
} | {
|
671
|
-
readonly inputs: readonly [];
|
672
|
-
readonly name: "TaggingModule__SrcIpIdDoesNotHaveSrcTag";
|
673
|
-
readonly type: "error";
|
674
654
|
} | {
|
675
655
|
readonly inputs: readonly [{
|
676
656
|
readonly internalType: "address";
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ipAccount.d.ts","sourceRoot":"../../../../src/resources","sources":["ipAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAc,MAAM,MAAM,CAAC;AAE9D,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,8BAA8B,EAC9B,+BAA+B,EAChC,wCAAqC;AAKtC,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IAClC,YAAY
|
1
|
+
{"version":3,"file":"ipAccount.d.ts","sourceRoot":"../../../../src/resources","sources":["ipAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAc,MAAM,MAAM,CAAC;AAE9D,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,8BAA8B,EAC9B,+BAA+B,EAChC,wCAAqC;AAKtC,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IAClC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAgB;gBAEvB,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY;IAKzD;;;;;;OAMG;IACU,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAwBzF;;;;;;;;;OASG;IACU,cAAc,CACzB,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,+BAA+B,CAAC;CA8B5C"}
|
@@ -46,6 +46,42 @@ export declare class IPAssetClient {
|
|
46
46
|
}];
|
47
47
|
readonly name: "IPRegistered";
|
48
48
|
readonly type: "event";
|
49
|
+
}, {
|
50
|
+
readonly inputs: readonly [{
|
51
|
+
readonly internalType: "uint256";
|
52
|
+
readonly name: "chainId";
|
53
|
+
readonly type: "uint256";
|
54
|
+
}, {
|
55
|
+
readonly internalType: "address";
|
56
|
+
readonly name: "tokenContract";
|
57
|
+
readonly type: "address";
|
58
|
+
}, {
|
59
|
+
readonly internalType: "uint256";
|
60
|
+
readonly name: "tokenId";
|
61
|
+
readonly type: "uint256";
|
62
|
+
}];
|
63
|
+
readonly name: "ipId";
|
64
|
+
readonly outputs: readonly [{
|
65
|
+
readonly internalType: "address";
|
66
|
+
readonly name: "";
|
67
|
+
readonly type: "address";
|
68
|
+
}];
|
69
|
+
readonly stateMutability: "view";
|
70
|
+
readonly type: "function";
|
71
|
+
}, {
|
72
|
+
readonly inputs: readonly [{
|
73
|
+
readonly internalType: "address";
|
74
|
+
readonly name: "id";
|
75
|
+
readonly type: "address";
|
76
|
+
}];
|
77
|
+
readonly name: "isRegistered";
|
78
|
+
readonly outputs: readonly [{
|
79
|
+
readonly internalType: "bool";
|
80
|
+
readonly name: "";
|
81
|
+
readonly type: "bool";
|
82
|
+
}];
|
83
|
+
readonly stateMutability: "view";
|
84
|
+
readonly type: "function";
|
49
85
|
}];
|
50
86
|
address: `0x${string}`;
|
51
87
|
};
|
@@ -166,7 +202,21 @@ export declare class IPAssetClient {
|
|
166
202
|
}, {
|
167
203
|
readonly internalType: "address";
|
168
204
|
readonly name: "to";
|
169
|
-
readonly type: "address";
|
205
|
+
readonly type: "address"; /**
|
206
|
+
* Registers a root-level IP into the protocol. Root-level IPs can be thought of as organizational hubs
|
207
|
+
* for encapsulating policies that actual IPs can use to register through. As such, a root-level IP is not an
|
208
|
+
* actual IP, but a container for IP policy management for their child IP assets.
|
209
|
+
* @param request The request object that contains all data needed to register a root IP.
|
210
|
+
* @param request.policyId The policy that identifies the licensing terms of the IP.
|
211
|
+
* @param request.tokenContract The address of the NFT bound to the root-level IP.
|
212
|
+
* @param request.tokenId The token id of the NFT bound to the root-level IP.
|
213
|
+
* @param request.ipName [Optional] The name assigned to the new IP.
|
214
|
+
* @param request.contentHash [Optional] The content hash of the IP being registered.
|
215
|
+
* @param request.uri [Optional] An external URI to link to the IP.
|
216
|
+
* @param request.txOptions [Optional] The transaction options.
|
217
|
+
* @returns A Promise that resolves to an object containing the transaction hash and optional IP ID if waitForTxn is set to true.
|
218
|
+
* @emits RootIPRegistered (msg.sender, ipId, policyId)
|
219
|
+
*/
|
170
220
|
}, {
|
171
221
|
readonly internalType: "bytes4";
|
172
222
|
readonly name: "func";
|
@@ -766,26 +816,6 @@ export declare class IPAssetClient {
|
|
766
816
|
readonly inputs: readonly [];
|
767
817
|
readonly name: "RoyaltyPolicyLAP__ZeroRoyaltyModule";
|
768
818
|
readonly type: "error";
|
769
|
-
} | {
|
770
|
-
readonly inputs: readonly [];
|
771
|
-
readonly name: "TaggingModule__DstIpIdDoesNotHaveDstTag";
|
772
|
-
readonly type: "error";
|
773
|
-
} | {
|
774
|
-
readonly inputs: readonly [];
|
775
|
-
readonly name: "TaggingModule__InvalidRelationTypeName";
|
776
|
-
readonly type: "error";
|
777
|
-
} | {
|
778
|
-
readonly inputs: readonly [];
|
779
|
-
readonly name: "TaggingModule__RelationTypeAlreadyExists";
|
780
|
-
readonly type: "error";
|
781
|
-
} | {
|
782
|
-
readonly inputs: readonly [];
|
783
|
-
readonly name: "TaggingModule__RelationTypeDoesNotExist";
|
784
|
-
readonly type: "error";
|
785
|
-
} | {
|
786
|
-
readonly inputs: readonly [];
|
787
|
-
readonly name: "TaggingModule__SrcIpIdDoesNotHaveSrcTag";
|
788
|
-
readonly type: "error";
|
789
819
|
})[];
|
790
820
|
address: `0x${string}`;
|
791
821
|
};
|
@@ -822,5 +852,6 @@ export declare class IPAssetClient {
|
|
822
852
|
* @emits RootIPRegistered (msg.sender, ipId, policyId)
|
823
853
|
*/
|
824
854
|
registerDerivativeIp(request: RegisterDerivativeIpRequest): Promise<RegisterDerivativeIpResponse>;
|
855
|
+
private isNFTRegistered;
|
825
856
|
}
|
826
857
|
//# sourceMappingURL=ipAsset.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ipAsset.d.ts","sourceRoot":"../../../../src/resources","sources":["ipAsset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAc,MAAM,MAAM,CAAC;AAK9D,OAAO,EAAE,cAAc,EAAE,+BAA4B;AACrD,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,EACvB,sCAAmC;
|
1
|
+
{"version":3,"file":"ipAsset.d.ts","sourceRoot":"../../../../src/resources","sources":["ipAsset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAc,MAAM,MAAM,CAAC;AAK9D,OAAO,EAAE,cAAc,EAAE,+BAA4B;AACrD,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,EACvB,sCAAmC;AAMpC,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IACtC,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAyB;IAC9C,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CAQ/B;;;;;;;;;;;;;;mBAcG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAtBwD;gBAE/C,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc;IAMtF;;;;;;;;;;;;;;OAcG;IACU,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAuC5F;;;;;;;;;;;;;;OAcG;IACU,oBAAoB,CAC/B,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,4BAA4B,CAAC;YAiD1B,eAAe;CAkB9B"}
|
@@ -653,26 +653,6 @@ export declare class LicenseClient {
|
|
653
653
|
readonly inputs: readonly [];
|
654
654
|
readonly name: "RoyaltyPolicyLAP__ZeroRoyaltyModule";
|
655
655
|
readonly type: "error";
|
656
|
-
} | {
|
657
|
-
readonly inputs: readonly [];
|
658
|
-
readonly name: "TaggingModule__DstIpIdDoesNotHaveDstTag";
|
659
|
-
readonly type: "error";
|
660
|
-
} | {
|
661
|
-
readonly inputs: readonly [];
|
662
|
-
readonly name: "TaggingModule__InvalidRelationTypeName";
|
663
|
-
readonly type: "error";
|
664
|
-
} | {
|
665
|
-
readonly inputs: readonly [];
|
666
|
-
readonly name: "TaggingModule__RelationTypeAlreadyExists";
|
667
|
-
readonly type: "error";
|
668
|
-
} | {
|
669
|
-
readonly inputs: readonly [];
|
670
|
-
readonly name: "TaggingModule__RelationTypeDoesNotExist";
|
671
|
-
readonly type: "error";
|
672
|
-
} | {
|
673
|
-
readonly inputs: readonly [];
|
674
|
-
readonly name: "TaggingModule__SrcIpIdDoesNotHaveSrcTag";
|
675
|
-
readonly type: "error";
|
676
656
|
} | {
|
677
657
|
readonly inputs: readonly [{
|
678
658
|
readonly internalType: "address";
|
@@ -1443,26 +1423,6 @@ export declare class LicenseClient {
|
|
1443
1423
|
readonly inputs: readonly [];
|
1444
1424
|
readonly name: "RoyaltyPolicyLAP__ZeroRoyaltyModule";
|
1445
1425
|
readonly type: "error";
|
1446
|
-
} | {
|
1447
|
-
readonly inputs: readonly [];
|
1448
|
-
readonly name: "TaggingModule__DstIpIdDoesNotHaveDstTag";
|
1449
|
-
readonly type: "error";
|
1450
|
-
} | {
|
1451
|
-
readonly inputs: readonly [];
|
1452
|
-
readonly name: "TaggingModule__InvalidRelationTypeName";
|
1453
|
-
readonly type: "error";
|
1454
|
-
} | {
|
1455
|
-
readonly inputs: readonly [];
|
1456
|
-
readonly name: "TaggingModule__RelationTypeAlreadyExists";
|
1457
|
-
readonly type: "error";
|
1458
|
-
} | {
|
1459
|
-
readonly inputs: readonly [];
|
1460
|
-
readonly name: "TaggingModule__RelationTypeDoesNotExist";
|
1461
|
-
readonly type: "error";
|
1462
|
-
} | {
|
1463
|
-
readonly inputs: readonly [];
|
1464
|
-
readonly name: "TaggingModule__SrcIpIdDoesNotHaveSrcTag";
|
1465
|
-
readonly type: "error";
|
1466
1426
|
} | {
|
1467
1427
|
readonly anonymous: false;
|
1468
1428
|
readonly inputs: readonly [{
|
@@ -1571,6 +1531,49 @@ export declare class LicenseClient {
|
|
1571
1531
|
}];
|
1572
1532
|
readonly stateMutability: "nonpayable";
|
1573
1533
|
readonly type: "function";
|
1534
|
+
} | {
|
1535
|
+
readonly inputs: readonly [{
|
1536
|
+
readonly components: readonly [{
|
1537
|
+
readonly internalType: "bool";
|
1538
|
+
readonly name: "isLicenseTransferable";
|
1539
|
+
readonly type: "bool";
|
1540
|
+
}, {
|
1541
|
+
readonly internalType: "address";
|
1542
|
+
readonly name: "policyFramework";
|
1543
|
+
readonly type: "address";
|
1544
|
+
}, {
|
1545
|
+
readonly internalType: "bytes";
|
1546
|
+
readonly name: "frameworkData";
|
1547
|
+
readonly type: "bytes";
|
1548
|
+
}, {
|
1549
|
+
readonly internalType: "address";
|
1550
|
+
readonly name: "royaltyPolicy";
|
1551
|
+
readonly type: "address";
|
1552
|
+
}, {
|
1553
|
+
readonly internalType: "bytes";
|
1554
|
+
readonly name: "royaltyData";
|
1555
|
+
readonly type: "bytes";
|
1556
|
+
}, {
|
1557
|
+
readonly internalType: "uint256";
|
1558
|
+
readonly name: "mintingFee";
|
1559
|
+
readonly type: "uint256";
|
1560
|
+
}, {
|
1561
|
+
readonly internalType: "address";
|
1562
|
+
readonly name: "mintingFeeToken";
|
1563
|
+
readonly type: "address";
|
1564
|
+
}];
|
1565
|
+
readonly internalType: "struct Licensing.Policy";
|
1566
|
+
readonly name: "pol";
|
1567
|
+
readonly type: "tuple";
|
1568
|
+
}];
|
1569
|
+
readonly name: "getPolicyId";
|
1570
|
+
readonly outputs: readonly [{
|
1571
|
+
readonly internalType: "uint256";
|
1572
|
+
readonly name: "policyId";
|
1573
|
+
readonly type: "uint256";
|
1574
|
+
}];
|
1575
|
+
readonly stateMutability: "view";
|
1576
|
+
readonly type: "function";
|
1574
1577
|
} | {
|
1575
1578
|
readonly inputs: readonly [{
|
1576
1579
|
readonly internalType: "uint256[]";
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"license.d.ts","sourceRoot":"../../../../src/resources","sources":["license.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkC,MAAM,MAAM,CAAC;AAMlF,OAAO,EAAE,cAAc,EAAE,+BAA4B;AACrD,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACpB,sCAAmC;AAGpC,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IACtC,YAAY
|
1
|
+
{"version":3,"file":"license.d.ts","sourceRoot":"../../../../src/resources","sources":["license.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkC,MAAM,MAAM,CAAC;AAMlF,OAAO,EAAE,cAAc,EAAE,+BAA4B;AACrD,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACpB,sCAAmC;AAGpC,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IACtC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAgB;IAC5B,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAyB;IAC9C,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAyB;gBAEzC,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc;IAMtF;;;;;;;;;;;OAWG;IACU,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA8CtE,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CA8C7F"}
|
@@ -651,26 +651,6 @@ export declare class PermissionClient {
|
|
651
651
|
readonly inputs: readonly [];
|
652
652
|
readonly name: "RoyaltyPolicyLAP__ZeroRoyaltyModule";
|
653
653
|
readonly type: "error";
|
654
|
-
} | {
|
655
|
-
readonly inputs: readonly [];
|
656
|
-
readonly name: "TaggingModule__DstIpIdDoesNotHaveDstTag";
|
657
|
-
readonly type: "error";
|
658
|
-
} | {
|
659
|
-
readonly inputs: readonly [];
|
660
|
-
readonly name: "TaggingModule__InvalidRelationTypeName";
|
661
|
-
readonly type: "error";
|
662
|
-
} | {
|
663
|
-
readonly inputs: readonly [];
|
664
|
-
readonly name: "TaggingModule__RelationTypeAlreadyExists";
|
665
|
-
readonly type: "error";
|
666
|
-
} | {
|
667
|
-
readonly inputs: readonly [];
|
668
|
-
readonly name: "TaggingModule__RelationTypeDoesNotExist";
|
669
|
-
readonly type: "error";
|
670
|
-
} | {
|
671
|
-
readonly inputs: readonly [];
|
672
|
-
readonly name: "TaggingModule__SrcIpIdDoesNotHaveSrcTag";
|
673
|
-
readonly type: "error";
|
674
654
|
} | {
|
675
655
|
readonly inputs: readonly [{
|
676
656
|
readonly internalType: "address";
|
@@ -1377,26 +1357,6 @@ export declare class PermissionClient {
|
|
1377
1357
|
readonly inputs: readonly [];
|
1378
1358
|
readonly name: "RoyaltyPolicyLAP__ZeroRoyaltyModule";
|
1379
1359
|
readonly type: "error";
|
1380
|
-
} | {
|
1381
|
-
readonly inputs: readonly [];
|
1382
|
-
readonly name: "TaggingModule__DstIpIdDoesNotHaveDstTag";
|
1383
|
-
readonly type: "error";
|
1384
|
-
} | {
|
1385
|
-
readonly inputs: readonly [];
|
1386
|
-
readonly name: "TaggingModule__InvalidRelationTypeName";
|
1387
|
-
readonly type: "error";
|
1388
|
-
} | {
|
1389
|
-
readonly inputs: readonly [];
|
1390
|
-
readonly name: "TaggingModule__RelationTypeAlreadyExists";
|
1391
|
-
readonly type: "error";
|
1392
|
-
} | {
|
1393
|
-
readonly inputs: readonly [];
|
1394
|
-
readonly name: "TaggingModule__RelationTypeDoesNotExist";
|
1395
|
-
readonly type: "error";
|
1396
|
-
} | {
|
1397
|
-
readonly inputs: readonly [];
|
1398
|
-
readonly name: "TaggingModule__SrcIpIdDoesNotHaveSrcTag";
|
1399
|
-
readonly type: "error";
|
1400
1360
|
} | {
|
1401
1361
|
readonly anonymous: false;
|
1402
1362
|
readonly inputs: readonly [{
|
@@ -1476,7 +1436,7 @@ export declare class PermissionClient {
|
|
1476
1436
|
* @param request.ipAsset The address of the IP account that grants the permission for `signer`
|
1477
1437
|
* @param request.signer The address that can call `to` on behalf of the `ipAccount`
|
1478
1438
|
* @param request.to The address that can be called by the `signer` (currently only modules can be `to`)
|
1479
|
-
* @param request.func The function selector string of `to` that can be called by the `signer` on behalf of the `ipAccount
|
1439
|
+
* @param request.func Optional. The function selector string of `to` that can be called by the `signer` on behalf of the `ipAccount`. Be default, it allows all functions.
|
1480
1440
|
* @param request.permission The new permission level
|
1481
1441
|
* @returns A Promise that resolves to an object containing the transaction hash
|
1482
1442
|
* @emits PermissionSet (ipAccountOwner, ipAccount, signer, to, func, permission)
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"permission.d.ts","sourceRoot":"../../../../src/resources","sources":["permission.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAuC,MAAM,MAAM,CAAC;AAGvF,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,yCAAsC;AAI9F,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IAClC,YAAY
|
1
|
+
{"version":3,"file":"permission.d.ts","sourceRoot":"../../../../src/resources","sources":["permission.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAuC,MAAM,MAAM,CAAC;AAGvF,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,yCAAsC;AAI9F,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IAClC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAgB;IAC5B,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAA0B;gBAE3C,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY;IAKzD;;;;;;;;;;;;;;;;;;OAkBG;IACU,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CA2C5F"}
|