From bc5d9f982cef8777f6f408089bce65b4cc0f1a35 Mon Sep 17 00:00:00 2001
From: Claudia <claudiabarcelovaldes40@gmail.com>
Date: Fri, 8 Nov 2024 16:45:22 +0100
Subject: [PATCH 1/2] feat: update changelog

---
 packages/contracts/CHANGELOG.md | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/packages/contracts/CHANGELOG.md b/packages/contracts/CHANGELOG.md
index d6c00078..c395950d 100644
--- a/packages/contracts/CHANGELOG.md
+++ b/packages/contracts/CHANGELOG.md
@@ -10,6 +10,14 @@ and this project adheres to the [Aragon OSx Plugin Versioning Convention](https:
 ### Added
 
 - Copied files from [aragon/osx commit 1130df](https://github.com/aragon/osx/commit/1130dfce94fd294c4341e91a8f3faccc54cf43b7)
+- `createProposal` standardized function. 
+- `createProposal` function is auth protected.
+- `ListedCheckCondition` permission condition to grant the create proposal permission. This condition will allow the creation based on plugin's setup.
+- `execute` function is auth protected, when the plugin is installed this permission will be granted to `ANY_ADDRESS`. 
+- The plugin inherits now from `MetadataExtensionUpgradeable`, meaning that the plugin has metadata that can be get/set (`getMetadata`, `setMetadata`).
+- `initialize` function receives also `pluginMetadata` and `TargetConfig`.
+- `hasSucceeded` and `customProposalParamsABI` function implementing to `IProposal` interface.
+- `minApproval` configuration to the plugin, to restrict the minimal amount of approvals needed to the proposal succeed.
 
 ### Changed
 

From 5bbe5984343b82687ac24d328078975275a448a5 Mon Sep 17 00:00:00 2001
From: Claudia <claudiabarcelovaldes40@gmail.com>
Date: Fri, 8 Nov 2024 16:51:42 +0100
Subject: [PATCH 2/2] feat: update building metadata

---
 packages/contracts/src/build-metadata.json | 38 +++++++++++-----------
 1 file changed, 19 insertions(+), 19 deletions(-)

diff --git a/packages/contracts/src/build-metadata.json b/packages/contracts/src/build-metadata.json
index afa47b68..5805c5f8 100644
--- a/packages/contracts/src/build-metadata.json
+++ b/packages/contracts/src/build-metadata.json
@@ -8,59 +8,59 @@
         {
           "components": [
             {
-              "internalType": "enum MajorityVotingBase.VotingMode",
               "name": "votingMode",
               "type": "uint8",
+              "internalType": "enum MajorityVotingBase.VotingMode",
               "description": "A parameter to select the vote mode. In standard mode (0), early execution and vote replacement are disabled. In early execution mode (1), a proposal can be executed early before the end date if the vote outcome cannot mathematically change by more voters voting. In vote replacement mode (2), voters can change their vote multiple times and only the latest vote option is tallied."
             },
             {
-              "internalType": "uint32",
               "name": "supportThreshold",
               "type": "uint32",
+              "internalType": "uint32",
               "description": "The support threshold value. Its value has to be in the interval [0, 10^6] defined by `RATIO_BASE = 10**6`."
             },
             {
-              "internalType": "uint32",
               "name": "minParticipation",
               "type": "uint32",
+              "internalType": "uint32",
               "description": "The minimum participation value. Its value has to be in the interval [0, 10^6] defined by `RATIO_BASE = 10**6`."
             },
             {
-              "internalType": "uint64",
               "name": "minDuration",
               "type": "uint64",
+              "internalType": "uint64",
               "description": "The minimum duration of the proposal vote in seconds."
             },
             {
-              "internalType": "uint256",
               "name": "minProposerVotingPower",
               "type": "uint256",
+              "internalType": "uint256",
               "description": "The minimum voting power required to create a proposal."
             }
           ],
-          "internalType": "struct MajorityVotingBase.VotingSettings",
           "name": "votingSettings",
           "type": "tuple",
+          "internalType": "struct MajorityVotingBase.VotingSettings",
           "description": "The voting settings that will be enforced when proposals are created."
         },
         {
           "components": [
             {
-              "internalType": "address",
               "name": "token",
               "type": "address",
+              "internalType": "address",
               "description": "The token address. If this is `address(0)`, a new `GovernanceERC20` token is deployed. If not, the existing token is wrapped as an `GovernanceWrappedERC20`."
             },
             {
-              "internalType": "string",
               "name": "name",
               "type": "string",
+              "internalType": "string",
               "description": "The token name. This parameter is only relevant if the token address is `address(0)`."
             },
             {
-              "internalType": "string",
               "name": "symbol",
               "type": "string",
+              "internalType": "string",
               "description": "The token symbol. This parameter is only relevant if the token address is `address(0)`."
             }
           ],
@@ -72,35 +72,35 @@
         {
           "components": [
             {
-              "internalType": "address[]",
               "name": "receivers",
               "type": "address[]",
+              "internalType": "address[]",
               "description": "The receivers of the tokens."
             },
             {
-              "internalType": "uint256[]",
               "name": "amounts",
               "type": "uint256[]",
+              "internalType": "uint256[]",
               "description": "The amounts of tokens to be minted for each receiver."
             }
           ],
-          "internalType": "struct GovernanceERC20.MintSettings",
           "name": "mintSettings",
           "type": "tuple",
+          "internalType": "struct GovernanceERC20.MintSettings",
           "description": "The token mint settings struct containing the `receivers` and `amounts`."
         },
         {
           "components": [
             {
-              "internalType": "address",
               "name": "target",
               "type": "address",
+              "internalType": "address",
               "description": "The target contract to which actions will be forwarded to for execution."
             },
             {
-              "internalType": "uint8",
               "name": "operation",
               "type": "uint8",
+              "internalType": "uint8",
               "description": "The operation type(either `call` or `delegatecall`) that will be used for execution forwarding."
             }
           ],
@@ -110,16 +110,16 @@
           "description": "The initial target config"
         },
         {
-          "internalType": "uint256",
           "name": "minApproval",
           "type": "uint256",
+          "internalType": "uint256",
           "description": "The minimum amount of yes votes needed for the proposal advance."
         },
         {
-          "internalType": "bytes",
           "name": "metadata",
           "type": "bytes",
-          "description": "The metadata that contains the information about the multisig."
+          "internalType": "bytes",
+          "description": "The metadata that contains the information about the token voting plugin."
         }
       ]
     },
@@ -136,9 +136,9 @@
         "description": "The information required for the update.",
         "inputs": [
           {
-            "internalType": "uint256",
             "name": "minApprovals",
             "type": "uint256",
+            "internalType": "uint256",
             "description": "The minimum amount of yes votes needed for the proposal advance."
           },
           {
@@ -165,7 +165,7 @@
             "internalType": "bytes",
             "name": "metadata",
             "type": "bytes",
-            "description": "The metadata that contains the information about the multisig."
+            "description": "The metadata that contains the information about the token voting plugin."
           }
         ]
       }