-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feature: upload and instantiation of multisig contracts (#83)
* feature: upload & deploy cw4_group and cw3_flex_multisig (#83) Instructions for uploading & deploying these 2 contracts have been added to gauntlet-terra-contracts README.md, along with functionality. This does not include ability to make multisig proposals and vote on them--that will be in a separate PR. This also includes support for downloading wasm artifacts from cwplus repo * refactor command vs contract inputs (#83) * wallet input refactor (#83) * bugfix: Fix base64 encoding in downloader, remove unused params (#83) It looks like downloading remote wasm files and uploading them was never actually working (even on main). The terra network was rejecting the contract uploads due to them not being base64 encoded. I think the toString('base64') operation on a string must have been a no-op. Seems to work after this change. Other changes: - Separate default versions for cwplus contracts and chainlink-terra contracts - Remove unused params - Workaround for exceptional naming of the execute shcema for cw20_base (cw20_execute.json instead of execute.json) * chore: rebase to latest main, and update gauntlet README.md (#83) * chore: validate that owners.length != 0, and improve error reporting (#83) * chore: Merge changes from (#98) with changes from (#86) An automatic merge of PR "implement additional gauntlet command (#98)" with PR "multisig instantiation (#86)" resulted in lots of stuff either not compiling or not working. This fixes the bugs introduced by the automatic merge, by manually merging the two branches. Mostly, needed to add categories for all of the new commands. Co-authored-by: RodrigoAD <[email protected]>
- Loading branch information
1 parent
bf293c9
commit f5b5504
Showing
54 changed files
with
2,820 additions
and
48 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
16 changes: 16 additions & 0 deletions
16
.../gauntlet-terra-contracts/artifacts/contracts/cw20_base/schema/all_accounts_response.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
{ | ||
"$schema": "http://json-schema.org/draft-07/schema#", | ||
"title": "AllAccountsResponse", | ||
"type": "object", | ||
"required": [ | ||
"accounts" | ||
], | ||
"properties": { | ||
"accounts": { | ||
"type": "array", | ||
"items": { | ||
"type": "string" | ||
} | ||
} | ||
} | ||
} |
99 changes: 99 additions & 0 deletions
99
...auntlet-terra-contracts/artifacts/contracts/cw20_base/schema/all_allowances_response.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,99 @@ | ||
{ | ||
"$schema": "http://json-schema.org/draft-07/schema#", | ||
"title": "AllAllowancesResponse", | ||
"type": "object", | ||
"required": [ | ||
"allowances" | ||
], | ||
"properties": { | ||
"allowances": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "#/definitions/AllowanceInfo" | ||
} | ||
} | ||
}, | ||
"definitions": { | ||
"AllowanceInfo": { | ||
"type": "object", | ||
"required": [ | ||
"allowance", | ||
"expires", | ||
"spender" | ||
], | ||
"properties": { | ||
"allowance": { | ||
"$ref": "#/definitions/Uint128" | ||
}, | ||
"expires": { | ||
"$ref": "#/definitions/Expiration" | ||
}, | ||
"spender": { | ||
"type": "string" | ||
} | ||
} | ||
}, | ||
"Expiration": { | ||
"description": "Expiration represents a point in time when some event happens. It can compare with a BlockInfo and will return is_expired() == true once the condition is hit (and for every block in the future)", | ||
"anyOf": [ | ||
{ | ||
"description": "AtHeight will expire when `env.block.height` >= height", | ||
"type": "object", | ||
"required": [ | ||
"at_height" | ||
], | ||
"properties": { | ||
"at_height": { | ||
"type": "integer", | ||
"format": "uint64", | ||
"minimum": 0.0 | ||
} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
{ | ||
"description": "AtTime will expire when `env.block.time` >= time", | ||
"type": "object", | ||
"required": [ | ||
"at_time" | ||
], | ||
"properties": { | ||
"at_time": { | ||
"$ref": "#/definitions/Timestamp" | ||
} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
{ | ||
"description": "Never will never expire. Used to express the empty variant", | ||
"type": "object", | ||
"required": [ | ||
"never" | ||
], | ||
"properties": { | ||
"never": { | ||
"type": "object" | ||
} | ||
}, | ||
"additionalProperties": false | ||
} | ||
] | ||
}, | ||
"Timestamp": { | ||
"description": "A point in time in nanosecond precision.\n\nThis type can represent times from 1970-01-01T00:00:00Z to 2554-07-21T23:34:33Z.\n\n## Examples\n\n``` # use cosmwasm_std::Timestamp; let ts = Timestamp::from_nanos(1_000_000_202); assert_eq!(ts.nanos(), 1_000_000_202); assert_eq!(ts.seconds(), 1); assert_eq!(ts.subsec_nanos(), 202);\n\nlet ts = ts.plus_seconds(2); assert_eq!(ts.nanos(), 3_000_000_202); assert_eq!(ts.seconds(), 3); assert_eq!(ts.subsec_nanos(), 202); ```", | ||
"allOf": [ | ||
{ | ||
"$ref": "#/definitions/Uint64" | ||
} | ||
] | ||
}, | ||
"Uint128": { | ||
"description": "A thin wrapper around u128 that is using strings for JSON encoding/decoding, such that the full u128 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u128` to get the value out:\n\n``` # use cosmwasm_std::Uint128; let a = Uint128::from(123u128); assert_eq!(a.u128(), 123);\n\nlet b = Uint128::from(42u64); assert_eq!(b.u128(), 42);\n\nlet c = Uint128::from(70u32); assert_eq!(c.u128(), 70); ```", | ||
"type": "string" | ||
}, | ||
"Uint64": { | ||
"description": "A thin wrapper around u64 that is using strings for JSON encoding/decoding, such that the full u64 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u64` to get the value out:\n\n``` # use cosmwasm_std::Uint64; let a = Uint64::from(42u64); assert_eq!(a.u64(), 42);\n\nlet b = Uint64::from(70u32); assert_eq!(b.u64(), 70); ```", | ||
"type": "string" | ||
} | ||
} | ||
} |
81 changes: 81 additions & 0 deletions
81
...-ts/gauntlet-terra-contracts/artifacts/contracts/cw20_base/schema/allowance_response.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
{ | ||
"$schema": "http://json-schema.org/draft-07/schema#", | ||
"title": "AllowanceResponse", | ||
"type": "object", | ||
"required": [ | ||
"allowance", | ||
"expires" | ||
], | ||
"properties": { | ||
"allowance": { | ||
"$ref": "#/definitions/Uint128" | ||
}, | ||
"expires": { | ||
"$ref": "#/definitions/Expiration" | ||
} | ||
}, | ||
"definitions": { | ||
"Expiration": { | ||
"description": "Expiration represents a point in time when some event happens. It can compare with a BlockInfo and will return is_expired() == true once the condition is hit (and for every block in the future)", | ||
"anyOf": [ | ||
{ | ||
"description": "AtHeight will expire when `env.block.height` >= height", | ||
"type": "object", | ||
"required": [ | ||
"at_height" | ||
], | ||
"properties": { | ||
"at_height": { | ||
"type": "integer", | ||
"format": "uint64", | ||
"minimum": 0.0 | ||
} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
{ | ||
"description": "AtTime will expire when `env.block.time` >= time", | ||
"type": "object", | ||
"required": [ | ||
"at_time" | ||
], | ||
"properties": { | ||
"at_time": { | ||
"$ref": "#/definitions/Timestamp" | ||
} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
{ | ||
"description": "Never will never expire. Used to express the empty variant", | ||
"type": "object", | ||
"required": [ | ||
"never" | ||
], | ||
"properties": { | ||
"never": { | ||
"type": "object" | ||
} | ||
}, | ||
"additionalProperties": false | ||
} | ||
] | ||
}, | ||
"Timestamp": { | ||
"description": "A point in time in nanosecond precision.\n\nThis type can represent times from 1970-01-01T00:00:00Z to 2554-07-21T23:34:33Z.\n\n## Examples\n\n``` # use cosmwasm_std::Timestamp; let ts = Timestamp::from_nanos(1_000_000_202); assert_eq!(ts.nanos(), 1_000_000_202); assert_eq!(ts.seconds(), 1); assert_eq!(ts.subsec_nanos(), 202);\n\nlet ts = ts.plus_seconds(2); assert_eq!(ts.nanos(), 3_000_000_202); assert_eq!(ts.seconds(), 3); assert_eq!(ts.subsec_nanos(), 202); ```", | ||
"allOf": [ | ||
{ | ||
"$ref": "#/definitions/Uint64" | ||
} | ||
] | ||
}, | ||
"Uint128": { | ||
"description": "A thin wrapper around u128 that is using strings for JSON encoding/decoding, such that the full u128 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u128` to get the value out:\n\n``` # use cosmwasm_std::Uint128; let a = Uint128::from(123u128); assert_eq!(a.u128(), 123);\n\nlet b = Uint128::from(42u64); assert_eq!(b.u128(), 42);\n\nlet c = Uint128::from(70u32); assert_eq!(c.u128(), 70); ```", | ||
"type": "string" | ||
}, | ||
"Uint64": { | ||
"description": "A thin wrapper around u64 that is using strings for JSON encoding/decoding, such that the full u64 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u64` to get the value out:\n\n``` # use cosmwasm_std::Uint64; let a = Uint64::from(42u64); assert_eq!(a.u64(), 42);\n\nlet b = Uint64::from(70u32); assert_eq!(b.u64(), 70); ```", | ||
"type": "string" | ||
} | ||
} | ||
} |
19 changes: 19 additions & 0 deletions
19
...es-ts/gauntlet-terra-contracts/artifacts/contracts/cw20_base/schema/balance_response.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
{ | ||
"$schema": "http://json-schema.org/draft-07/schema#", | ||
"title": "BalanceResponse", | ||
"type": "object", | ||
"required": [ | ||
"balance" | ||
], | ||
"properties": { | ||
"balance": { | ||
"$ref": "#/definitions/Uint128" | ||
} | ||
}, | ||
"definitions": { | ||
"Uint128": { | ||
"description": "A thin wrapper around u128 that is using strings for JSON encoding/decoding, such that the full u128 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u128` to get the value out:\n\n``` # use cosmwasm_std::Uint128; let a = Uint128::from(123u128); assert_eq!(a.u128(), 123);\n\nlet b = Uint128::from(42u64); assert_eq!(b.u128(), 42);\n\nlet c = Uint128::from(70u32); assert_eq!(c.u128(), 70); ```", | ||
"type": "string" | ||
} | ||
} | ||
} |
Oops, something went wrong.