Skip to content

Commit

Permalink
Merge pull request #50 from valory-xyz/feat/check-for-total-supply
Browse files Browse the repository at this point in the history
Feat/check for total supply
  • Loading branch information
jmoreira-valory authored Aug 18, 2023
2 parents 510349b + 59f2ae4 commit ccdf298
Show file tree
Hide file tree
Showing 8 changed files with 35 additions and 19 deletions.
10 changes: 5 additions & 5 deletions packages/packages.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
"contract/valory/conditional_tokens/0.1.0": "bafybeic5hrqfz7smtkbq4hmxfvx4f2fm64i2c7cyr6jwm4o4tz4lalenzq",
"contract/valory/fpmm_deterministic_factory/0.1.0": "bafybeif7hgwamqm6iljhtr32ap6eazn5yhmxrtlvicmpo746gv2s4tyzqq",
"contract/valory/realtio/0.1.0": "bafybeigsciwpawqiyxtk7klpnx6vyaz4nic5s6afl4eahab5ub4hftu4du",
"skill/valory/market_creation_manager_abci/0.1.0": "bafybeihgwm2j7cdmz3ua76bgmmiptvuq3ybomulnr6whgmy6lq7kz5m5bm",
"skill/valory/market_maker_abci/0.1.0": "bafybeiflb4bh5ssjt7ezkoaicwrza6zasyge5yvquvf3t3jibeyrswl6ia",
"agent/valory/market_maker/0.1.0": "bafybeid2e6oh6tyo3fpttcikhwwwotaqeijpthenix7535ji3ri4mxhalq",
"service/valory/market_maker/0.1.0": "bafybeibez2jmichhsz6szuix54dcqezprwq2uur3f5tajogzjagfpw3rda",
"skill/valory/market_creation_manager_abci/0.1.0": "bafybeifwno2wfewpcvh6ypxhx2kbqi6pt7al2hjjpogxglilbxjibarmnm",
"skill/valory/market_maker_abci/0.1.0": "bafybeiakglhkmkryr23gl6afgfnhjuzjluytvpcexu3p6r2o4cdwjfw7x4",
"agent/valory/market_maker/0.1.0": "bafybeiajtiybsoms7vr5rljmuenva6vgf2t7p734bogdlnzb2qrf7zox74",
"service/valory/market_maker/0.1.0": "bafybeiahwqswc24jvcadad3hyjbundqn2zenklh5amerlv4v23hkaso2ta",
"contract/valory/wxdai/0.1.0": "bafybeihn5dn4kbgybibgy7pjc22anuc5kdyfazv7ktz3guqfby2cwznnky",
"skill/valory/market_validation_abci/0.1.0": "bafybeibpap5cezvrpz3kjigrvh7zjzhh5doh3hh77wjmjid4dvwwazs6my",
"contract/valory/fpmm/0.1.0": "bafybeife25lidzjbnbqv7mzdws2m3bvohffjrwjuj5dqcyqmzzzzw4sj4a"
"contract/valory/fpmm/0.1.0": "bafybeid4gqlupq63g2vqehli6jsm5m45we5i2dhnj5faoxsazjphk4zw6m"
},
"third_party": {
"protocol/valory/contract_api/1.0.0": "bafybeiasywsvax45qmugus5kxogejj66c5taen27h4voriodz7rgushtqa",
Expand Down
6 changes: 3 additions & 3 deletions packages/valory/agents/market_maker/aea-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ contracts:
- valory/fpmm_deterministic_factory:0.1.0:bafybeif7hgwamqm6iljhtr32ap6eazn5yhmxrtlvicmpo746gv2s4tyzqq
- valory/service_registry:0.1.0:bafybeidjm7w7pugc6kzrxlhbtnnc4rpgr3pkrg3owdxacrccar5qqwyu2e
- valory/wxdai:0.1.0:bafybeihn5dn4kbgybibgy7pjc22anuc5kdyfazv7ktz3guqfby2cwznnky
- valory/fpmm:0.1.0:bafybeife25lidzjbnbqv7mzdws2m3bvohffjrwjuj5dqcyqmzzzzw4sj4a
- valory/fpmm:0.1.0:bafybeid4gqlupq63g2vqehli6jsm5m45we5i2dhnj5faoxsazjphk4zw6m
protocols:
- open_aea/signing:1.0.0:bafybeifuxs7gdg2okbn7uofymenjlmnih2wxwkym44lsgwmklgwuckxm2m
- valory/abci:0.1.0:bafybeigootsvqpk6th5xpdtzanxum3earifrrezfyhylfrit7yvqdrtgpe
Expand All @@ -37,9 +37,9 @@ protocols:
skills:
- valory/abstract_abci:0.1.0:bafybeih3bwx5apteinnoxts7sqmjlskntdbo7vvnmdbs5noo2pv76by7fu
- valory/abstract_round_abci:0.1.0:bafybeibqpzbklnljvtc67yon4ciijxj75d7vazm7rurcvbbfnk6jtudukm
- valory/market_maker_abci:0.1.0:bafybeiflb4bh5ssjt7ezkoaicwrza6zasyge5yvquvf3t3jibeyrswl6ia
- valory/market_maker_abci:0.1.0:bafybeiakglhkmkryr23gl6afgfnhjuzjluytvpcexu3p6r2o4cdwjfw7x4
- valory/registration_abci:0.1.0:bafybeia25gpusnkakb2dp4heqkwtuftbc2apppq3i4bds6sphltsovgzvi
- valory/market_creation_manager_abci:0.1.0:bafybeihgwm2j7cdmz3ua76bgmmiptvuq3ybomulnr6whgmy6lq7kz5m5bm
- valory/market_creation_manager_abci:0.1.0:bafybeifwno2wfewpcvh6ypxhx2kbqi6pt7al2hjjpogxglilbxjibarmnm
- valory/market_validation_abci:0.1.0:bafybeibpap5cezvrpz3kjigrvh7zjzhh5doh3hh77wjmjid4dvwwazs6my
- valory/reset_pause_abci:0.1.0:bafybeigzvwbzktclahjbsyiwqnj6poree4iveon5pric6s5ixb6wrhkdhq
- valory/termination_abci:0.1.0:bafybeibcdgnarxyyqexncpfewcemraryywtwueuv7qthsjuean5l77lp2e
Expand Down
10 changes: 8 additions & 2 deletions packages/valory/contracts/fpmm/contract.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,18 @@
"internalType": "address[]",
"name": "_markets",
"type": "address[]"
},
{
"internalType": "address",
"name": "safeAddress",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
}
],
"bytecode": "0x608060405234801561001057600080fd5b5060405161069b38038061069b83398181016040528101906100329190610468565b60008151905060008167ffffffffffffffff811115610054576100536102c7565b5b6040519080825280602002602001820160405280156100825781602001602082028036833780820191505090505b5090506000805b838110156101a25760008582815181106100a6576100a56104b1565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061011c9190610516565b111561019757848181518110610135576101346104b1565b5b60200260200101518383815181106101505761014f6104b1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508161019490610572565b91505b806001019050610089565b5060008167ffffffffffffffff8111156101bf576101be6102c7565b5b6040519080825280602002602001820160405280156101ed5781602001602082028036833780820191505090505b50905060005b8281101561026e5783818151811061020e5761020d6104b1565b5b6020026020010151828281518110610229576102286104b1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508060010190506101f3565b506000816040516020016102829190610678565b60405160208183030381529060405290506020810180590381f35b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6102ff826102b6565b810181811067ffffffffffffffff8211171561031e5761031d6102c7565b5b80604052505050565b600061033161029d565b905061033d82826102f6565b919050565b600067ffffffffffffffff82111561035d5761035c6102c7565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061039e82610373565b9050919050565b6103ae81610393565b81146103b957600080fd5b50565b6000815190506103cb816103a5565b92915050565b60006103e46103df84610342565b610327565b905080838252602082019050602084028301858111156104075761040661036e565b5b835b81811015610430578061041c88826103bc565b845260208401935050602081019050610409565b5050509392505050565b600082601f83011261044f5761044e6102b1565b5b815161045f8482602086016103d1565b91505092915050565b60006020828403121561047e5761047d6102a7565b5b600082015167ffffffffffffffff81111561049c5761049b6102ac565b5b6104a88482850161043a565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b6104f3816104e0565b81146104fe57600080fd5b50565b600081519050610510816104ea565b92915050565b60006020828403121561052c5761052b6102a7565b5b600061053a84828501610501565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061057d826104e0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036105af576105ae610543565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6105ef81610393565b82525050565b600061060183836105e6565b60208301905092915050565b6000602082019050919050565b6000610625826105ba565b61062f81856105c5565b935061063a836105d6565b8060005b8381101561066b57815161065288826105f5565b975061065d8361060d565b92505060018101905061063e565b5085935050505092915050565b60006020820190508181036000830152610692818461061a565b90509291505056fe",
"bytecode": "0x608060405234801561001057600080fd5b506040516106e33803806106e383398181016040528101906100329190610473565b60008251905060008167ffffffffffffffff811115610054576100536102d2565b5b6040519080825280602002602001820160405280156100825781602001602082028036833780820191505090505b5090506000805b838110156101ad5760008682815181106100a6576100a56104cf565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff166370a08231876040518263ffffffff1660e01b81526004016100e6919061050d565b602060405180830381865afa158015610103573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610127919061055e565b11156101a2578581815181106101405761013f6104cf565b5b602002602001015183838151811061015b5761015a6104cf565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508161019f906105ba565b91505b806001019050610089565b5060008167ffffffffffffffff8111156101ca576101c96102d2565b5b6040519080825280602002602001820160405280156101f85781602001602082028036833780820191505090505b50905060005b8281101561027957838181518110610219576102186104cf565b5b6020026020010151828281518110610234576102336104cf565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508060010190506101fe565b5060008160405160200161028d91906106c0565b60405160208183030381529060405290506020810180590381f35b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61030a826102c1565b810181811067ffffffffffffffff82111715610329576103286102d2565b5b80604052505050565b600061033c6102a8565b90506103488282610301565b919050565b600067ffffffffffffffff821115610368576103676102d2565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006103a98261037e565b9050919050565b6103b98161039e565b81146103c457600080fd5b50565b6000815190506103d6816103b0565b92915050565b60006103ef6103ea8461034d565b610332565b9050808382526020820190506020840283018581111561041257610411610379565b5b835b8181101561043b578061042788826103c7565b845260208401935050602081019050610414565b5050509392505050565b600082601f83011261045a576104596102bc565b5b815161046a8482602086016103dc565b91505092915050565b6000806040838503121561048a576104896102b2565b5b600083015167ffffffffffffffff8111156104a8576104a76102b7565b5b6104b485828601610445565b92505060206104c5858286016103c7565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6105078161039e565b82525050565b600060208201905061052260008301846104fe565b92915050565b6000819050919050565b61053b81610528565b811461054657600080fd5b50565b60008151905061055881610532565b92915050565b600060208284031215610574576105736102b2565b5b600061058284828501610549565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006105c582610528565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036105f7576105f661058b565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6106378161039e565b82525050565b6000610649838361062e565b60208301905092915050565b6000602082019050919050565b600061066d82610602565b610677818561060d565b93506106828361061e565b8060005b838110156106b357815161069a888261063d565b97506106a583610655565b925050600181019050610686565b5085935050505092915050565b600060208201905081810360008301526106da8184610662565b90509291505056fe",
}


Expand Down Expand Up @@ -163,6 +168,7 @@ def get_markets_with_funds(
ledger_api: LedgerApi,
contract_address: str,
markets: List[str],
safe_address: str,
**kwargs: Any,
) -> JSONLike:
"""Get the markets with funds."""
Expand All @@ -174,7 +180,7 @@ def get_markets_with_funds(

# Encode the input data (constructor params)
encoded_input_data = ledger_api.api.codec.encode_abi(
["address[]"], [markets]
["address[]", "address"], [markets, safe_address]
)

# Concatenate the bytecode with the encoded input data to create the contract creation code
Expand Down
2 changes: 1 addition & 1 deletion packages/valory/contracts/fpmm/contract.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ aea_version: '>=1.0.0, <2.0.0'
fingerprint:
__init__.py: bafybeieeus2bbbexmthy4pnsdtgen4flxzk3ao5ekjbocvmrkhhszffbgu
build/FPMM.json: bafybeidvvevt5hderny4jme6oml4srnm3jf2gwht2hxcxjixjeygejyrvy
contract.py: bafybeignupokuiu2dk2doam3vya26jb6bwiydiqdbwfarzlgtfztkuiuhe
contract.py: bafybeihny7bp6fe7afcenmsns6lkn7a4pf37l7oe675xyll5ycjrhntrxe
fingerprint_ignore_patterns: []
class_name: FPMMContract
contract_interface_paths:
Expand Down
2 changes: 1 addition & 1 deletion packages/valory/services/market_maker/service.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ license: Apache-2.0
fingerprint:
README.md: bafybeibwz3af6326msp4h3kqehijvmyhaytvyfbo3o2npc2w4b6zrg6pfq
fingerprint_ignore_patterns: []
agent: valory/market_maker:0.1.0:bafybeid2e6oh6tyo3fpttcikhwwwotaqeijpthenix7535ji3ri4mxhalq
agent: valory/market_maker:0.1.0:bafybeiajtiybsoms7vr5rljmuenva6vgf2t7p734bogdlnzb2qrf7zox74
number_of_agents: 1
deployment:
agent:
Expand Down
18 changes: 14 additions & 4 deletions packages/valory/skills/market_creation_manager_abci/behaviours.py
Original file line number Diff line number Diff line change
Expand Up @@ -465,10 +465,17 @@ def get_markets(self) -> Generator[None, None, Tuple[List[Dict[str, Any]], int]]
markets.append(market)

market_addresses = [market["address"] for market in markets]
markets_with_funds = yield from self._get_markets_with_funds(market_addresses)
market_addresses_with_funds = yield from self._get_markets_with_funds(
market_addresses, self.synchronized_data.safe_contract_address
)
market_addresses_with_funds_str = [
str(market).lower() for market in market_addresses_with_funds
]
markets_with_funds = []
for market in markets:
if market["address"] not in markets_with_funds:
if str(market["address"]).lower() not in market_addresses_with_funds_str:
continue
markets_with_funds.append(market)
log_msg = "\n\t".join(
[
"Adding market with",
Expand All @@ -482,10 +489,12 @@ def get_markets(self) -> Generator[None, None, Tuple[List[Dict[str, Any]], int]]
)
self.context.logger.info(log_msg)

return markets, 0
return markets_with_funds, 0

def _get_markets_with_funds(
self, market_addresses: List[str]
self,
market_addresses: List[str],
safe_address: str,
) -> Generator[None, None, List[str]]:
"""Get markets with funds."""
# no need to query the contract if there are no markets
Expand All @@ -498,6 +507,7 @@ def _get_markets_with_funds(
contract_id=str(FPMMContract.contract_id),
contract_callable=get_callable_name(FPMMContract.get_markets_with_funds),
markets=market_addresses,
safe_address=safe_address,
)
if response.performative != ContractApiMessage.Performative.STATE:
self.context.logger.error(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ aea_version: '>=1.0.0, <2.0.0'
fingerprint:
.gitignore: bafybeihdfdezgtr3s2lzq5y3oaitfrdy4u4pehionju2bdez35wcjgqx6y
__init__.py: bafybeibkyjt4covc4yhd22aw7kav45zozk3exdv344emt3lilln64soaxm
behaviours.py: bafybeidjoh2wak6vbw45ycasw643fex62inzfolxogzlexytinmxqp4him
behaviours.py: bafybeic6wit7zvbbykofyykbx2ajqsfioflluify2dn2x5nrb647y5mpiy
dialogues.py: bafybeicmaufkl7vdomnfciv7lw4536ssld7x4uemdapuhsyvfpd4ncibza
fsm_specification.yaml: bafybeiay4aepnfdkcsriajxqige65bsszrujin57riubflm7dyw2keapoi
handlers.py: bafybeietxjfli2i57kb7heoy772rcq2znusl36gg7jjj5g3pddw7egny3q
Expand All @@ -26,7 +26,7 @@ contracts:
- valory/conditional_tokens:0.1.0:bafybeic5hrqfz7smtkbq4hmxfvx4f2fm64i2c7cyr6jwm4o4tz4lalenzq
- valory/fpmm_deterministic_factory:0.1.0:bafybeif7hgwamqm6iljhtr32ap6eazn5yhmxrtlvicmpo746gv2s4tyzqq
- valory/wxdai:0.1.0:bafybeihn5dn4kbgybibgy7pjc22anuc5kdyfazv7ktz3guqfby2cwznnky
- valory/fpmm:0.1.0:bafybeife25lidzjbnbqv7mzdws2m3bvohffjrwjuj5dqcyqmzzzzw4sj4a
- valory/fpmm:0.1.0:bafybeid4gqlupq63g2vqehli6jsm5m45we5i2dhnj5faoxsazjphk4zw6m
protocols:
- valory/llm:1.0.0:bafybeicpd5hxe5rlgp75kaqotzpy3jkdyl5pbdcutwqdzlqfknnmkgadsy
- valory/contract_api:1.0.0:bafybeiasywsvax45qmugus5kxogejj66c5taen27h4voriodz7rgushtqa
Expand Down
2 changes: 1 addition & 1 deletion packages/valory/skills/market_maker_abci/skill.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ skills:
- valory/abstract_round_abci:0.1.0:bafybeibqpzbklnljvtc67yon4ciijxj75d7vazm7rurcvbbfnk6jtudukm
- valory/registration_abci:0.1.0:bafybeia25gpusnkakb2dp4heqkwtuftbc2apppq3i4bds6sphltsovgzvi
- valory/reset_pause_abci:0.1.0:bafybeigzvwbzktclahjbsyiwqnj6poree4iveon5pric6s5ixb6wrhkdhq
- valory/market_creation_manager_abci:0.1.0:bafybeihgwm2j7cdmz3ua76bgmmiptvuq3ybomulnr6whgmy6lq7kz5m5bm
- valory/market_creation_manager_abci:0.1.0:bafybeifwno2wfewpcvh6ypxhx2kbqi6pt7al2hjjpogxglilbxjibarmnm
- valory/market_validation_abci:0.1.0:bafybeibpap5cezvrpz3kjigrvh7zjzhh5doh3hh77wjmjid4dvwwazs6my
- valory/termination_abci:0.1.0:bafybeibcdgnarxyyqexncpfewcemraryywtwueuv7qthsjuean5l77lp2e
- valory/transaction_settlement_abci:0.1.0:bafybeiepus7qsa47gt7dyk32gaqsoae6whjoxfnplttulxrvmcauyerrdm
Expand Down

0 comments on commit ccdf298

Please sign in to comment.