From 8948c77eba24fa6557811b419b0d723cdd59f788 Mon Sep 17 00:00:00 2001 From: Ze Date: Tue, 23 Jan 2024 17:22:58 -0800 Subject: [PATCH] Add IP Account functions (#44) --- Makefile | 4 +- .../src/abi/json/IPAccountImpl.abi.ts | 55 +++++++++++++++++++ .../src/abi/json/RegistrationModule.abi.ts | 2 +- packages/core-sdk/src/abi/sdkEntities.json | 4 +- 4 files changed, 62 insertions(+), 3 deletions(-) create mode 100644 packages/core-sdk/src/abi/json/IPAccountImpl.abi.ts diff --git a/Makefile b/Makefile index 94e102cd..ac4a44fa 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,9 @@ compile_contracts: git submodule add -b main --force https://github.com/storyprotocol/protocol-core packages/core-sdk/protocol-contracts git submodule update --remote --merge - cd packages/core-sdk/protocol-contracts && npm i && forge install + cd packages/core-sdk/protocol-contracts && npm i --force && forge install + solc --pretty-json --base-path packages/core-sdk/protocol-contracts --include-path packages/core-sdk/protocol-contracts/node_modules/ --abi packages/core-sdk/protocol-contracts/contracts/IPAccountImpl.sol -o packages/core-sdk/src/abi/json/tmp/IPAccountImpl solc --pretty-json --base-path packages/core-sdk/protocol-contracts --include-path packages/core-sdk/protocol-contracts/node_modules/ --abi packages/core-sdk/protocol-contracts/contracts/AccessController.sol -o packages/core-sdk/src/abi/json/tmp/AccessController solc --pretty-json --base-path packages/core-sdk/protocol-contracts --include-path packages/core-sdk/protocol-contracts/node_modules/ --abi packages/core-sdk/protocol-contracts/contracts/modules/RegistrationModule.sol -o packages/core-sdk/src/abi/json/tmp/RegistrationModule solc --pretty-json --base-path packages/core-sdk/protocol-contracts --include-path packages/core-sdk/protocol-contracts/node_modules/ --abi packages/core-sdk/protocol-contracts/contracts/modules/tagging/TaggingModule.sol -o packages/core-sdk/src/abi/json/tmp/TaggingModule @@ -10,6 +11,7 @@ compile_contracts: solc --pretty-json --base-path packages/core-sdk/protocol-contracts --include-path packages/core-sdk/protocol-contracts/node_modules/ --abi packages/core-sdk/protocol-contracts/contracts/registries/LicenseRegistry.sol -o packages/core-sdk/src/abi/json/tmp/LicenseRegistry solc --pretty-json --base-path packages/core-sdk/protocol-contracts --include-path packages/core-sdk/protocol-contracts/node_modules/ --abi packages/core-sdk/protocol-contracts/contracts/registries/ModuleRegistry.sol -o packages/core-sdk/src/abi/json/tmp/ModuleRegistry + echo 'export default '"$$(jq --argjson entities "$$(jq -c '.' packages/core-sdk/src/abi/sdkEntities.json)" 'map(select(.name as $$name | $$entities | if type == "array" then index($$name) else false end))' packages/core-sdk/src/abi/json/tmp/IPAccountImpl/IPAccountImpl.abi)"' as const;' > packages/core-sdk/src/abi/json/IPAccountImpl.abi.ts echo 'export default '"$$(jq --argjson entities "$$(jq -c '.' packages/core-sdk/src/abi/sdkEntities.json)" 'map(select(.name as $$name | $$entities | if type == "array" then index($$name) else false end))' packages/core-sdk/src/abi/json/tmp/AccessController/AccessController.abi)"' as const;' > packages/core-sdk/src/abi/json/AccessController.abi.ts echo 'export default '"$$(jq --argjson entities "$$(jq -c '.' packages/core-sdk/src/abi/sdkEntities.json)" 'map(select(.name as $$name | $$entities | if type == "array" then index($$name) else false end))' packages/core-sdk/src/abi/json/tmp/RegistrationModule/RegistrationModule.abi)"' as const;' > packages/core-sdk/src/abi/json/RegistrationModule.abi.ts echo 'export default '"$$(jq --argjson entities "$$(jq -c '.' packages/core-sdk/src/abi/sdkEntities.json)" 'map(select(.name as $$name | $$entities | if type == "array" then index($$name) else false end))' packages/core-sdk/src/abi/json/tmp/TaggingModule/TaggingModule.abi)"' as const;' > packages/core-sdk/src/abi/json/TaggingModule.abi.ts diff --git a/packages/core-sdk/src/abi/json/IPAccountImpl.abi.ts b/packages/core-sdk/src/abi/json/IPAccountImpl.abi.ts new file mode 100644 index 00000000..131a99f8 --- /dev/null +++ b/packages/core-sdk/src/abi/json/IPAccountImpl.abi.ts @@ -0,0 +1,55 @@ +export default [ + { + inputs: [ + { + internalType: "address", + name: "to_", + type: "address", + }, + { + internalType: "uint256", + name: "value_", + type: "uint256", + }, + { + internalType: "bytes", + name: "data_", + type: "bytes", + }, + ], + name: "execute", + outputs: [ + { + internalType: "bytes", + name: "result", + type: "bytes", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "signer_", + type: "address", + }, + { + internalType: "bytes", + name: "data_", + type: "bytes", + }, + ], + name: "isValidSigner", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; diff --git a/packages/core-sdk/src/abi/json/RegistrationModule.abi.ts b/packages/core-sdk/src/abi/json/RegistrationModule.abi.ts index f579ae74..c2d99f25 100644 --- a/packages/core-sdk/src/abi/json/RegistrationModule.abi.ts +++ b/packages/core-sdk/src/abi/json/RegistrationModule.abi.ts @@ -28,7 +28,7 @@ export default [ }, { internalType: "bytes32", - name: "hash", + name: "contentHash", type: "bytes32", }, ], diff --git a/packages/core-sdk/src/abi/sdkEntities.json b/packages/core-sdk/src/abi/sdkEntities.json index 2485aea9..88fadf6c 100644 --- a/packages/core-sdk/src/abi/sdkEntities.json +++ b/packages/core-sdk/src/abi/sdkEntities.json @@ -9,5 +9,7 @@ "setTag", "removeTag", "registerModule", - "isRegistered" + "isRegistered", + "execute", + "isValidSigner" ]