This is an idea to help the contract kit send transactions to the session kit...
The problem right now with the contract kit, when performing transactions, is you need to manually specify and pass in the ABIs to the session.transact call to prevent duplicate calls to retrieve the ABI.
The idea was that in situations where we have the ABI or a Struct, we can embed that into the Action class, which is what's passed into session.transact. If an ABI existed someplace like action.abi, then the Session Kit during the transct call would be able to do something like:
actions.forEach(action => {
if (actions.abi) {
// add ABI to ABI Cache
}
})
Which would then prevent the session kit from needing to go out and fetch the ABI (since it's in the action already).
It's basically a trojan horse to pass along the ABI inside of the Action, for processes upstream that might be interacting with that Action.
This is probably a bad implementation, but it works, and submitted this as a draft to express the idea.
This is an idea to help the contract kit send transactions to the session kit...
The problem right now with the contract kit, when performing transactions, is you need to manually specify and pass in the ABIs to the
session.transact
call to prevent duplicate calls to retrieve the ABI.The idea was that in situations where we have the ABI or a Struct, we can embed that into the
Action
class, which is what's passed intosession.transact
. If an ABI existed someplace likeaction.abi
, then the Session Kit during thetransct
call would be able to do something like:Which would then prevent the session kit from needing to go out and fetch the ABI (since it's in the action already).
It's basically a trojan horse to pass along the
ABI
inside of theAction
, for processes upstream that might be interacting with thatAction
.This is probably a bad implementation, but it works, and submitted this as a draft to express the idea.