Skip to content

Commit

Permalink
Merge branch 'gov-2.0.0' into xchain-module-refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
barrasso committed Aug 14, 2023
2 parents 3f8b1bb + b19fa66 commit 31592bb
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 8 deletions.
2 changes: 1 addition & 1 deletion protocol/governance/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"private": true,
"scripts": {
"clean": "hardhat clean && rm -rf test/generated",
"build": "rm -rf contracts/generated && hardhat storage:verify && hardhat generate-testable && hardhat cannon:build",
"build": "yarn clean && hardhat storage:verify && hardhat generate-testable && hardhat cannon:build",
"build-testable": "yarn build cannonfile.test.toml",
"check:storage": "git diff --exit-code storage.dump.sol",
"test": "yarn build-testable && hardhat test",
Expand Down
19 changes: 12 additions & 7 deletions utils/hardhat-storage/templates/TestableStorage.sol.mustache
Original file line number Diff line number Diff line change
Expand Up @@ -27,36 +27,40 @@ contract Testable{{{libraryName}}}Storage {

{{#fields}}
function {{{libraryName}}}_set_{{{name}}}({{#loadParams}}{{{loadParams}}}, {{/loadParams}}{{{type}}} val) external {
{{{libraryName}}}.Data storage store = _getInstanceStore({{{loadInject}}});
{{{libraryName}}}.Data storage store = _getInstanceStore({{#supportedLoadFunction}}{{{loadInject}}}{{/supportedLoadFunction}});

store.{{{name}}} = val;
}

function {{{libraryName}}}_get_{{{name}}}({{{loadParams}}}) external view returns ({{type}}) {
{{{libraryName}}}.Data storage store = _getInstanceStore({{{loadInject}}});
{{{libraryName}}}.Data storage store = _getInstanceStore({{#supportedLoadFunction}}{{{loadInject}}}{{/supportedLoadFunction}});

return store.{{{name}}};
}

{{/fields}}
{{#indexedFields}}
function {{{libraryName}}}_set_{{{name}}}({{#loadParams}}{{{loadParams}}}, {{/loadParams}}{{{indexType}}} idx, {{{type}}} val) external {
{{{libraryName}}}.Data storage store = _getInstanceStore({{{loadInject}}});
{{{libraryName}}}.Data storage store = _getInstanceStore({{#supportedLoadFunction}}{{{loadInject}}}{{/supportedLoadFunction}});

store.{{{name}}}[idx] = val;
}

function {{{libraryName}}}_get_{{{name}}}({{#loadParams}}{{{loadParams}}}, {{/loadParams}}{{{indexType}}} idx) external view returns ({{type}}) {
{{{libraryName}}}.Data storage store = _getInstanceStore({{{loadInject}}});
{{{libraryName}}}.Data storage store = _getInstanceStore({{#supportedLoadFunction}}{{{loadInject}}}{{/supportedLoadFunction}});

return store.{{{name}}}[idx];
}

{{#isArray}}
function {{{libraryName}}}_push_{{{name}}}({{#loadParams}}{{{loadParams}}}, {{/loadParams}}{{{type}}} val) external {
{{{libraryName}}}.Data storage store = _getInstanceStore({{{loadInject}}});
{{{libraryName}}}.Data storage store = _getInstanceStore({{#supportedLoadFunction}}{{{loadInject}}}{{/supportedLoadFunction}});

store.{{{name}}}.push(val);
}

function {{{libraryName}}}_pop_{{{name}}}({{{loadParams}}}) external {
{{{libraryName}}}.Data storage store = _getInstanceStore({{{loadInject}}});
{{{libraryName}}}.Data storage store = _getInstanceStore({{#supportedLoadFunction}}{{{loadInject}}}{{/supportedLoadFunction}});

store.{{{name}}}.pop();
}
Expand All @@ -65,7 +69,8 @@ contract Testable{{{libraryName}}}Storage {
{{/indexedFields}}
{{#methods}}
function {{{libraryName}}}_{{{name}}}({{#loadParams}}{{{loadParams}}}{{#params}}, {{/params}}{{/loadParams}}{{{params}}}) external{{#mutability}} {{{mutability}}}{{/mutability}} {{#returns}}returns ({{{returns}}}) {{/returns}}{
{{{libraryName}}}.Data storage store = _getInstanceStore({{{loadInject}}});
{{{libraryName}}}.Data storage store = _getInstanceStore({{#supportedLoadFunction}}{{{loadInject}}}{{/supportedLoadFunction}});

return {{{libraryName}}}.{{{name}}}({{{paramsInject}}});
}

Expand Down

0 comments on commit 31592bb

Please sign in to comment.