celocli releasecelo
View and manage ReleaseGold contracts
celocli releasecelo:authorize
celocli releasecelo:create-account
celocli releasecelo:locked-gold
celocli releasecelo:refund-and-finalize
celocli releasecelo:revoke
celocli releasecelo:revoke-votes
celocli releasecelo:set-account
celocli releasecelo:set-account-wallet-address
celocli releasecelo:set-beneficiary
celocli releasecelo:set-can-expire
celocli releasecelo:set-liquidity-provision
celocli releasecelo:set-max-distribution
celocli releasecelo:show
celocli releasecelo:transfer-dollars
celocli releasecelo:withdraw
celocli releasecelo:authorize
Authorize an alternative key to be used for a given action (Vote, Validate, Attest) on behalf of the ReleaseGold instance contract.
USAGE
$ celocli releasecelo:authorize --contract <value> --role vote|validator|attestation
--signer <value> --signature <value> [--gasCurrency <value>] [--globalHelp]
[--blsKey <value> --blsPop <value>]
FLAGS
--blsKey=0x The BLS public key that the
validator is using for
consensus, should pass proof
of possession. 96 bytes.
--blsPop=0x The BLS public key
proof-of-possession, which
consists of a signature on
the account address. 48
bytes.
--contract=0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d (required) Address of the
ReleaseGold Contract
--gasCurrency=0x1234567890123456789012345678901234567890 Use a specific gas currency
for transaction fees
(defaults to CELO if no gas
currency is supplied). It
must be a whitelisted token.
--globalHelp View all available global
flags
--role=<option> (required)
<options:
vote|validator|attestation>
--signature=0x (required) Signature (a.k.a.
proof-of-possession) of the
signer key
--signer=0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d (required) The signer key
that is to be used for
voting through the
ReleaseGold instance
DESCRIPTION
Authorize an alternative key to be used for a given action (Vote, Validate, Attest) on
behalf of the ReleaseGold instance contract.
EXAMPLES
authorize --contract 0x5409ED021D9299bf6814279A6A1411A7e866A631 --role vote --signer 0x6ecbe1db9ef729cbe972c83fb886247691fb6beb --signature 0x1b9fca4bbb5bfb1dbe69ef1cddbd9b4202dcb6b134c5170611e1e36ecfa468d7b46c85328d504934fce6c2a1571603a50ae224d2b32685e84d4d1a1eebad8452eb
authorize --contract 0x5409ED021D9299bf6814279A6A1411A7e866A631 --role validator --signer 0x6ecbe1db9ef729cbe972c83fb886247691fb6beb --signature 0x1b9fca4bbb5bfb1dbe69ef1cddbd9b4202dcb6b134c5170611e1e36ecfa468d7b46c85328d504934fce6c2a1571603a50ae224d2b32685e84d4d1a1eebad8452eb --blsKey 0x4fa3f67fc913878b068d1fa1cdddc54913d3bf988dbe5a36a20fa888f20d4894c408a6773f3d7bde11154f2a3076b700d345a42fd25a0e5e83f4db5586ac7979ac2053cd95d8f2efd3e959571ceccaa743e02cf4be3f5d7aaddb0b06fc9aff00 --blsPop 0xcdb77255037eb68897cd487fdd85388cbda448f617f874449d4b11588b0b7ad8ddc20d9bb450b513bb35664ea3923900
authorize --contract 0x5409ED021D9299bf6814279A6A1411A7e866A631 --role attestation --signer 0x6ecbe1db9ef729cbe972c83fb886247691fb6beb --signature 0x1b9fca4bbb5bfb1dbe69ef1cddbd9b4202dcb6b134c5170611e1e36ecfa468d7b46c85328d504934fce6c2a1571603a50ae224d2b32685e84d4d1a1eebad8452eb
See code: src/commands/releasecelo/authorize.ts
celocli releasecelo:create-account
Creates a new account for the ReleaseGold instance
USAGE
$ celocli releasecelo:create-account --contract <value> [--gasCurrency <value>]
[--globalHelp]
FLAGS
--contract=0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d (required) Address of the
ReleaseGold Contract
--gasCurrency=0x1234567890123456789012345678901234567890 Use a specific gas currency
for transaction fees
(defaults to CELO if no gas
currency is supplied). It
must be a whitelisted token.
--globalHelp View all available global
flags
DESCRIPTION
Creates a new account for the ReleaseGold instance
EXAMPLES
create-account --contract 0x5409ED021D9299bf6814279A6A1411A7e866A631
See code: src/commands/releasecelo/create-account.ts
celocli releasecelo:locked-gold
Perform actions [lock, unlock, withdraw] on CELO that has been locked via the provided ReleaseGold contract.
USAGE
$ celocli releasecelo:locked-gold --contract <value> -a lock|unlock|withdraw --value
<value> [--gasCurrency <value>] [--globalHelp] [--yes]
FLAGS
-a, --action=<option>
(required) Action to perform on contract's celo
<options: lock|unlock|withdraw>
--contract=0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d
(required) Address of the ReleaseGold Contract
--gasCurrency=0x1234567890123456789012345678901234567890
Use a specific gas currency for transaction fees (defaults to CELO if no gas
currency is supplied). It must be a whitelisted token.
--globalHelp
View all available global flags
--value=10000000000000000000000
(required) Amount of celo to perform `action` with
--yes
Answer yes to prompt
DESCRIPTION
Perform actions [lock, unlock, withdraw] on CELO that has been locked via the provided
ReleaseGold contract.
EXAMPLES
locked-gold --contract 0xCcc8a47BE435F1590809337BB14081b256Ae26A8 --action lock --value 10000000000000000000000
locked-gold --contract 0xCcc8a47BE435F1590809337BB14081b256Ae26A8 --action unlock --value 10000000000000000000000
locked-gold --contract 0xCcc8a47BE435F1590809337BB14081b256Ae26A8 --action withdraw --value 10000000000000000000000
See code: src/commands/releasecelo/locked-gold.ts
celocli releasecelo:refund-and-finalize
Refund the given contract's balance to the appopriate parties and destroy the contact. Can only be called by the release owner of revocable ReleaseGold instances.
USAGE
$ celocli releasecelo:refund-and-finalize --contract <value> [--gasCurrency <value>]
[--globalHelp]
FLAGS
--contract=0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d (required) Address of the
ReleaseGold Contract
--gasCurrency=0x1234567890123456789012345678901234567890 Use a specific gas currency
for transaction fees
(defaults to CELO if no gas
currency is supplied). It
must be a whitelisted token.
--globalHelp View all available global
flags
DESCRIPTION
Refund the given contract's balance to the appopriate parties and destroy the contact.
Can only be called by the release owner of revocable ReleaseGold instances.
EXAMPLES
refund-and-finalize --contract 0x5409ED021D9299bf6814279A6A1411A7e866A631
See code: src/commands/releasecelo/refund-and-finalize.ts
celocli releasecelo:revoke
Revoke the given contract instance. Once revoked, any Locked Gold can be unlocked by the release owner. The beneficiary will then be able to withdraw any released Gold that had yet to be withdrawn, and the remainder can be transferred by the release owner to the refund address. Note that not all ReleaseGold instances are revokable.
USAGE
$ celocli releasecelo:revoke --contract <value> [--gasCurrency <value>] [--globalHelp]
[--yesreally]
FLAGS
--contract=0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d (required) Address of the
ReleaseGold Contract
--gasCurrency=0x1234567890123456789012345678901234567890 Use a specific gas currency
for transaction fees
(defaults to CELO if no gas
currency is supplied). It
must be a whitelisted token.
--globalHelp View all available global
flags
--yesreally Override prompt to set
liquidity (be careful!)
DESCRIPTION
Revoke the given contract instance. Once revoked, any Locked Gold can be unlocked by
the release owner. The beneficiary will then be able to withdraw any released Gold
that had yet to be withdrawn, and the remainder can be transferred by the release
owner to the refund address. Note that not all ReleaseGold instances are revokable.
EXAMPLES
revoke --contract 0x5409ED021D9299bf6814279A6A1411A7e866A631
See code: src/commands/releasecelo/revoke.ts
celocli releasecelo:revoke-votes
Revokes votes
for the given contract's account from the given group's account
USAGE
$ celocli releasecelo:revoke-votes --contract <value> [--gasCurrency <value>] [--globalHelp]
[--group <value> | --allGroups] [--votes <value> | --allVotes | ]
FLAGS
--allGroups Revoke all votes from all
groups
--allVotes Revoke all votes
--contract=0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d (required) Address of the
ReleaseGold Contract
--gasCurrency=0x1234567890123456789012345678901234567890 Use a specific gas currency
for transaction fees
(defaults to CELO if no gas
currency is supplied). It
must be a whitelisted token.
--globalHelp View all available global
flags
--group=0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d Address of the group to
revoke votes from
--votes=<value> The number of votes to
revoke
DESCRIPTION
Revokes `votes` for the given contract's account from the given group's account
EXAMPLES
revoke-votes --contract 0x47e172F6CfB6c7D01C1574fa3E2Be7CC73269D95 --group 0x5409ED021D9299bf6814279A6A1411A7e866A631 --votes 100
revoke-votes --contract 0x47e172F6CfB6c7D01C1574fa3E2Be7CC73269D95 --allVotes --allGroups
See code: src/commands/releasecelo/revoke-votes.ts
celocli releasecelo:set-account
Set account properties of the ReleaseGold instance account such as name, data encryption key, and the metadata URL
USAGE
$ celocli releasecelo:set-account --contract <value> -p name|dataEncryptionKey|metaURL -v
<value> [--gasCurrency <value>] [--globalHelp]
FLAGS
-p, --property=<option>
(required) Property type to set
<options: name|dataEncryptionKey|metaURL>
-v, --value=<value>
(required) Property value to set
--contract=0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d
(required) Address of the ReleaseGold Contract
--gasCurrency=0x1234567890123456789012345678901234567890
Use a specific gas currency for transaction fees (defaults to CELO if no gas
currency is supplied). It must be a whitelisted token.
--globalHelp
View all available global flags
DESCRIPTION
Set account properties of the ReleaseGold instance account such as name, data
encryption key, and the metadata URL
EXAMPLES
set-account --contract 0x5719118266779B58D0f9519383A4A27aA7b829E5 --property name --value mywallet
set-account --contract 0x5719118266779B58D0f9519383A4A27aA7b829E5 --property dataEncryptionKey --value 0x041bb96e35f9f4b71ca8de561fff55a249ddf9d13ab582bdd09a09e75da68ae4cd0ab7038030f41b237498b4d76387ae878dc8d98fd6f6db2c15362d1a3bf11216
set-account --contract 0x5719118266779B58D0f9519383A4A27aA7b829E5 --property metaURL --value www.example.com
See code: src/commands/releasecelo/set-account.ts
celocli releasecelo:set-account-wallet-address
Set the ReleaseGold contract account's wallet address
USAGE
$ celocli releasecelo:set-account-wallet-address --contract <value> --walletAddress <value> [--gasCurrency
<value>] [--globalHelp] [--pop <value>]
FLAGS
--contract=0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d
(required) Address of the ReleaseGold Contract
--gasCurrency=0x1234567890123456789012345678901234567890
Use a specific gas currency for transaction fees (defaults to CELO if no gas
currency is supplied). It must be a whitelisted token.
--globalHelp
View all available global flags
--pop=<value>
ECDSA PoP for signer over contract's account
--walletAddress=0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d
(required) Address of wallet to set for contract's account and signer of PoP. 0x0 if
owner wants payers to contact them directly.
DESCRIPTION
Set the ReleaseGold contract account's wallet address
EXAMPLES
set-account-wallet-address --contract 0x5409ED021D9299bf6814279A6A1411A7e866A631 --walletAddress 0xE36Ea790bc9d7AB70C55260C66D52b1eca985f84 --pop 0x1b3e611d05e46753c43444cdc55c2cc3d95c54da0eba2464a8cc8cb01bd57ae8bb3d82a0e293ca97e5813e7fb9b624127f42ef0871d025d8a56fe2f8f08117e25b
See code: src/commands/releasecelo/set-account-wallet-address.ts
celocli releasecelo:set-beneficiary
Set the beneficiary of the ReleaseGold contract. This command is gated via a multi-sig, so this is expected to be called twice: once by the contract's beneficiary and once by the contract's releaseOwner. Once both addresses call this command with the same parameters, the tx will execute.
USAGE
$ celocli releasecelo:set-beneficiary --contract <value> --from <value> --beneficiary <value>
[--gasCurrency <value>] [--globalHelp] [--yesreally]
FLAGS
--beneficiary=0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d (required) Address of the
new beneficiary
--contract=0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d (required) Address of the
ReleaseGold Contract
--from=0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d (required) Address to submit
multisig transaction from
(one of the owners)
--gasCurrency=0x1234567890123456789012345678901234567890 Use a specific gas currency
for transaction fees
(defaults to CELO if no gas
currency is supplied). It
must be a whitelisted token.
--globalHelp View all available global
flags
--yesreally Override prompt to set new
beneficiary (be careful!)
DESCRIPTION
Set the beneficiary of the ReleaseGold contract. This command is gated via a
multi-sig, so this is expected to be called twice: once by the contract's beneficiary
and once by the contract's releaseOwner. Once both addresses call this command with
the same parameters, the tx will execute.
EXAMPLES
set-beneficiary --contract 0x5409ED021D9299bf6814279A6A1411A7e866A631 --from 0xE36Ea790bc9d7AB70C55260C66D52b1eca985f84 --beneficiary 0x6Ecbe1DB9EF729CBe972C83Fb886247691Fb6beb
See code: src/commands/releasecelo/set-beneficiary.ts
celocli releasecelo:set-can-expire
Set the canExpire flag for the given ReleaseGold contract
USAGE
$ celocli releasecelo:set-can-expire --contract <value> --value true|false|True|False
[--gasCurrency <value>] [--globalHelp] [--yesreally]
FLAGS
--contract=0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d (required) Address of the
ReleaseGold Contract
--gasCurrency=0x1234567890123456789012345678901234567890 Use a specific gas currency
for transaction fees
(defaults to CELO if no gas
currency is supplied). It
must be a whitelisted token.
--globalHelp View all available global
flags
--value=<option> (required) canExpire value
<options:
true|false|True|False>
--yesreally Override prompt to set
expiration flag (be
careful!)
DESCRIPTION
Set the canExpire flag for the given ReleaseGold contract
EXAMPLES
set-can-expire --contract 0x5409ED021D9299bf6814279A6A1411A7e866A631 --value true
See code: src/commands/releasecelo/set-can-expire.ts
celocli releasecelo:set-liquidity-provision
Set the liquidity provision to true, allowing the beneficiary to withdraw released gold.
USAGE
$ celocli releasecelo:set-liquidity-provision --contract <value> [--gasCurrency <value>] [--globalHelp]
[--yesreally]
FLAGS
--contract=0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d (required) Address of the
ReleaseGold Contract
--gasCurrency=0x1234567890123456789012345678901234567890 Use a specific gas currency
for transaction fees
(defaults to CELO if no gas
currency is supplied). It
must be a whitelisted token.
--globalHelp View all available global
flags
--yesreally Override prompt to set
liquidity (be careful!)
DESCRIPTION
Set the liquidity provision to true, allowing the beneficiary to withdraw released
gold.
EXAMPLES
set-liquidity-provision --contract 0x5409ED021D9299bf6814279A6A1411A7e866A631
See code: src/commands/releasecelo/set-liquidity-provision.ts
celocli releasecelo:set-max-distribution
Set the maximum distribution of celo for the given contract
USAGE
$ celocli releasecelo:set-max-distribution --contract <value> --distributionRatio <value>
[--gasCurrency <value>] [--globalHelp] [--yesreally]
FLAGS
--contract=0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d (required) Address of the
ReleaseGold Contract
--distributionRatio=<value> (required) Amount in range
[0, 1000] (3 significant
figures) indicating % of
total balance available for
distribution.
--gasCurrency=0x1234567890123456789012345678901234567890 Use a specific gas currency
for transaction fees
(defaults to CELO if no gas
currency is supplied). It
must be a whitelisted token.
--globalHelp View all available global
flags
--yesreally Override prompt to set new
maximum distribution (be
careful!)
DESCRIPTION
Set the maximum distribution of celo for the given contract
EXAMPLES
set-max-distribution --contract 0x5409ED021D9299bf6814279A6A1411A7e866A631 --distributionRatio 1000
See code: src/commands/releasecelo/set-max-distribution.ts
celocli releasecelo:show
Show info on a ReleaseGold instance contract.
USAGE
$ celocli releasecelo:show --contract <value> [--gasCurrency <value>] [--globalHelp]
FLAGS
--contract=0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d (required) Address of the
ReleaseGold Contract
--gasCurrency=0x1234567890123456789012345678901234567890 Use a specific gas currency
for transaction fees
(defaults to CELO if no gas
currency is supplied). It
must be a whitelisted token.
--globalHelp View all available global
flags
DESCRIPTION
Show info on a ReleaseGold instance contract.
EXAMPLES
show --contract 0x47e172F6CfB6c7D01C1574fa3E2Be7CC73269D95
See code: src/commands/releasecelo/show.ts
celocli releasecelo:transfer-dollars
Transfer Celo Dollars from the given contract address. Dollars may be accrued to the ReleaseGold contract via validator epoch rewards.
USAGE
$ celocli releasecelo:transfer-dollars --contract <value> --to <value> --value <value>
[--gasCurrency <value>] [--globalHelp]
FLAGS
--contract=0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d (required) Address of the
ReleaseGold Contract
--gasCurrency=0x1234567890123456789012345678901234567890 Use a specific gas currency
for transaction fees
(defaults to CELO if no gas
currency is supplied). It
must be a whitelisted token.
--globalHelp View all available global
flags
--to=0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d (required) Address of the
recipient of Celo Dollars
transfer
--value=10000000000000000000000 (required) Value (in Wei) of
Celo Dollars to transfer
DESCRIPTION
Transfer Celo Dollars from the given contract address. Dollars may be accrued to the
ReleaseGold contract via validator epoch rewards.
EXAMPLES
transfer-dollars --contract 0x5409ED021D9299bf6814279A6A1411A7e866A631 --to 0x6Ecbe1DB9EF729CBe972C83Fb886247691Fb6beb --value 10000000000000000000000
See code: src/commands/releasecelo/transfer-dollars.ts
celocli releasecelo:withdraw
Withdraws value
released celo to the beneficiary address. Fails if value
worth of celo has not been released yet.
USAGE
$ celocli releasecelo:withdraw --contract <value> --value <value> [--gasCurrency
<value>] [--globalHelp]
FLAGS
--contract=0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d (required) Address of the
ReleaseGold Contract
--gasCurrency=0x1234567890123456789012345678901234567890 Use a specific gas currency
for transaction fees
(defaults to CELO if no gas
currency is supplied). It
must be a whitelisted token.
--globalHelp View all available global
flags
--value=10000000000000000000000 (required) Amount of
released celo (in wei) to
withdraw
DESCRIPTION
Withdraws `value` released celo to the beneficiary address. Fails if `value` worth of
celo has not been released yet.
EXAMPLES
withdraw --contract 0x5409ED021D9299bf6814279A6A1411A7e866A631 --value 10000000000000000000000
See code: src/commands/releasecelo/withdraw.ts