Skip to main content

celocli releasecelo

View and manage ReleaseGold contracts

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