Class BoostCore

The core contract for the Boost protocol. Used to create and retrieve deployed Boosts.

BoostCore

Hierarchy (view full)

Constructors

Properties

abi: readonly [{
    type: "constructor";
    inputs: readonly [{
        name: "registry_";
        internalType: "contract BoostRegistry";
        type: "address";
    }, {
        name: "protocolFeeReceiver_";
        internalType: "address";
        type: "address";
    }];
    stateMutability: "nonpayable";
}, {
    type: "error";
    inputs: readonly [];
    name: "AlreadyInitialized";
}, {
    type: "error";
    inputs: readonly [{
        name: "caller";
        internalType: "address";
        type: "address";
    }, {
        name: "data";
        internalType: "bytes";
        type: "bytes";
    }];
    name: "ClaimFailed";
}, {
    type: "error";
    inputs: readonly [{
        name: "asset";
        internalType: "address";
        type: "address";
    }, {
        name: "available";
        internalType: "uint256";
        type: "uint256";
    }, {
        name: "required";
        internalType: "uint256";
        type: "uint256";
    }];
    name: "InsufficientFunds";
}, {
    type: "error";
    inputs: readonly [{
        name: "expectedInterface";
        internalType: "bytes4";
        type: "bytes4";
    }, {
        name: "instance";
        internalType: "address";
        type: "address";
    }];
    name: "InvalidInstance";
}, {
    type: "error";
    inputs: readonly [];
    name: "NewOwnerIsZeroAddress";
}, {
    type: "error";
    inputs: readonly [];
    name: "NoHandoverRequest";
}, {
    type: "error";
    inputs: readonly [];
    name: "Reentrancy";
}, {
    type: "error";
    inputs: readonly [];
    name: "Unauthorized";
}, {
    type: "error";
    inputs: readonly [];
    name: "Unauthorized";
}, {
    type: "event";
    anonymous: false;
    inputs: readonly [{
        name: "boostIndex";
        internalType: "uint256";
        type: "uint256";
        indexed: true;
    }, {
        name: "owner";
        internalType: "address";
        type: "address";
        indexed: true;
    }, {
        name: "action";
        internalType: "address";
        type: "address";
        indexed: true;
    }, {
        name: "incentiveCount";
        internalType: "uint256";
        type: "uint256";
        indexed: false;
    }, {
        name: "validator";
        internalType: "address";
        type: "address";
        indexed: false;
    }, {
        name: "allowList";
        internalType: "address";
        type: "address";
        indexed: false;
    }, {
        name: "budget";
        internalType: "address";
        type: "address";
        indexed: false;
    }];
    name: "BoostCreated";
}, {
    type: "event";
    anonymous: false;
    inputs: readonly [{
        name: "pendingOwner";
        internalType: "address";
        type: "address";
        indexed: true;
    }];
    name: "OwnershipHandoverCanceled";
}, {
    type: "event";
    anonymous: false;
    inputs: readonly [{
        name: "pendingOwner";
        internalType: "address";
        type: "address";
        indexed: true;
    }];
    name: "OwnershipHandoverRequested";
}, {
    type: "event";
    anonymous: false;
    inputs: readonly [{
        name: "oldOwner";
        internalType: "address";
        type: "address";
        indexed: true;
    }, {
        name: "newOwner";
        internalType: "address";
        type: "address";
        indexed: true;
    }];
    name: "OwnershipTransferred";
}, {
    type: "function";
    inputs: readonly [];
    name: "FEE_DENOMINATOR";
    outputs: readonly [{
        name: "";
        internalType: "uint64";
        type: "uint64";
    }];
    stateMutability: "view";
}, {
    type: "function";
    inputs: readonly [];
    name: "cancelOwnershipHandover";
    outputs: readonly [];
    stateMutability: "payable";
}, {
    type: "function";
    inputs: readonly [];
    name: "claimFee";
    outputs: readonly [{
        name: "";
        internalType: "uint256";
        type: "uint256";
    }];
    stateMutability: "view";
}, {
    type: "function";
    inputs: readonly [{
        name: "boostId_";
        internalType: "uint256";
        type: "uint256";
    }, {
        name: "incentiveId_";
        internalType: "uint256";
        type: "uint256";
    }, {
        name: "referrer_";
        internalType: "address";
        type: "address";
    }, {
        name: "data_";
        internalType: "bytes";
        type: "bytes";
    }];
    name: "claimIncentive";
    outputs: readonly [];
    stateMutability: "payable";
}, {
    type: "function";
    inputs: readonly [{
        name: "boostId_";
        internalType: "uint256";
        type: "uint256";
    }, {
        name: "incentiveId_";
        internalType: "uint256";
        type: "uint256";
    }, {
        name: "referrer_";
        internalType: "address";
        type: "address";
    }, {
        name: "data_";
        internalType: "bytes";
        type: "bytes";
    }, {
        name: "claimant";
        internalType: "address";
        type: "address";
    }];
    name: "claimIncentiveFor";
    outputs: readonly [];
    stateMutability: "payable";
}, {
    type: "function";
    inputs: readonly [{
        name: "pendingOwner";
        internalType: "address";
        type: "address";
    }];
    name: "completeOwnershipHandover";
    outputs: readonly [];
    stateMutability: "payable";
}, {
    type: "function";
    inputs: readonly [{
        name: "data_";
        internalType: "bytes";
        type: "bytes";
    }];
    name: "createBoost";
    outputs: readonly [{
        name: "";
        internalType: "struct BoostLib.Boost";
        type: "tuple";
        components: readonly [{
            name: "action";
            internalType: "contract AAction";
            type: "address";
        }, {
            name: "validator";
            internalType: "contract AValidator";
            type: "address";
        }, {
            name: "allowList";
            internalType: "contract AAllowList";
            type: "address";
        }, {
            name: "budget";
            internalType: "contract ABudget";
            type: "address";
        }, {
            name: "incentives";
            internalType: "contract AIncentive[]";
            type: "address[]";
        }, {
            name: "protocolFee";
            internalType: "uint64";
            type: "uint64";
        }, {
            name: "referralFee";
            internalType: "uint64";
            type: "uint64";
        }, {
            name: "maxParticipants";
            internalType: "uint256";
            type: "uint256";
        }, {
            name: "owner";
            internalType: "address";
            type: "address";
        }];
    }];
    stateMutability: "nonpayable";
}, {
    type: "function";
    inputs: readonly [];
    name: "createBoostAuth";
    outputs: readonly [{
        name: "";
        internalType: "contract IAuth";
        type: "address";
    }];
    stateMutability: "view";
}, {
    type: "function";
    inputs: readonly [{
        name: "index";
        internalType: "uint256";
        type: "uint256";
    }];
    name: "getBoost";
    outputs: readonly [{
        name: "";
        internalType: "struct BoostLib.Boost";
        type: "tuple";
        components: readonly [{
            name: "action";
            internalType: "contract AAction";
            type: "address";
        }, {
            name: "validator";
            internalType: "contract AValidator";
            type: "address";
        }, {
            name: "allowList";
            internalType: "contract AAllowList";
            type: "address";
        }, {
            name: "budget";
            internalType: "contract ABudget";
            type: "address";
        }, {
            name: "incentives";
            internalType: "contract AIncentive[]";
            type: "address[]";
        }, {
            name: "protocolFee";
            internalType: "uint64";
            type: "uint64";
        }, {
            name: "referralFee";
            internalType: "uint64";
            type: "uint64";
        }, {
            name: "maxParticipants";
            internalType: "uint256";
            type: "uint256";
        }, {
            name: "owner";
            internalType: "address";
            type: "address";
        }];
    }];
    stateMutability: "view";
}, {
    type: "function";
    inputs: readonly [];
    name: "getBoostCount";
    outputs: readonly [{
        name: "";
        internalType: "uint256";
        type: "uint256";
    }];
    stateMutability: "view";
}, {
    type: "function";
    inputs: readonly [];
    name: "owner";
    outputs: readonly [{
        name: "result";
        internalType: "address";
        type: "address";
    }];
    stateMutability: "view";
}, {
    type: "function";
    inputs: readonly [{
        name: "pendingOwner";
        internalType: "address";
        type: "address";
    }];
    name: "ownershipHandoverExpiresAt";
    outputs: readonly [{
        name: "result";
        internalType: "uint256";
        type: "uint256";
    }];
    stateMutability: "view";
}, {
    type: "function";
    inputs: readonly [];
    name: "protocolFee";
    outputs: readonly [{
        name: "";
        internalType: "uint64";
        type: "uint64";
    }];
    stateMutability: "view";
}, {
    type: "function";
    inputs: readonly [];
    name: "protocolFeeReceiver";
    outputs: readonly [{
        name: "";
        internalType: "address";
        type: "address";
    }];
    stateMutability: "view";
}, {
    type: "function";
    inputs: readonly [];
    name: "referralFee";
    outputs: readonly [{
        name: "";
        internalType: "uint64";
        type: "uint64";
    }];
    stateMutability: "view";
}, {
    type: "function";
    inputs: readonly [];
    name: "registry";
    outputs: readonly [{
        name: "";
        internalType: "contract BoostRegistry";
        type: "address";
    }];
    stateMutability: "view";
}, {
    type: "function";
    inputs: readonly [];
    name: "renounceOwnership";
    outputs: readonly [];
    stateMutability: "payable";
}, {
    type: "function";
    inputs: readonly [];
    name: "requestOwnershipHandover";
    outputs: readonly [];
    stateMutability: "payable";
}, {
    type: "function";
    inputs: readonly [{
        name: "claimFee_";
        internalType: "uint256";
        type: "uint256";
    }];
    name: "setClaimFee";
    outputs: readonly [];
    stateMutability: "nonpayable";
}, {
    type: "function";
    inputs: readonly [{
        name: "auth_";
        internalType: "address";
        type: "address";
    }];
    name: "setCreateBoostAuth";
    outputs: readonly [];
    stateMutability: "nonpayable";
}, {
    type: "function";
    inputs: readonly [{
        name: "protocolFee_";
        internalType: "uint64";
        type: "uint64";
    }];
    name: "setProtocolFee";
    outputs: readonly [];
    stateMutability: "nonpayable";
}, {
    type: "function";
    inputs: readonly [{
        name: "protocolFeeReceiver_";
        internalType: "address";
        type: "address";
    }];
    name: "setProtocolFeeReceiver";
    outputs: readonly [];
    stateMutability: "nonpayable";
}, {
    type: "function";
    inputs: readonly [{
        name: "referralFee_";
        internalType: "uint64";
        type: "uint64";
    }];
    name: "setReferralFee";
    outputs: readonly [];
    stateMutability: "nonpayable";
}, {
    type: "function";
    inputs: readonly [{
        name: "newOwner";
        internalType: "address";
        type: "address";
    }];
    name: "transferOwnership";
    outputs: readonly [];
    stateMutability: "payable";
}]
_payload: undefined | [`0x${string}`, `0x${string}`]

The deployable payload used either for contract construction or initialization

_config: Config
_address: undefined | `0x${string}`

The internally managed address for this contract

_account?: Account

If it exists, Viem Local Account, if in a Node environment

Accessors

  • get address(): undefined | `0x${string}`
  • A getter returning this contract's deployed address, if it exists.

    Returns undefined | `0x${string}`

Methods

  • Claims one incentive from a given Boost by boostId and incentiveId

    Parameters

    • boostId: bigint
    • incentiveId: bigint
    • address: `0x${string}`
    • data: `0x${string}`
    • Optionalparams: Partial<Omit<WriteContractParameters<readonly [{
          type: "constructor";
          inputs: readonly [{
              name: "registry_";
              internalType: "contract BoostRegistry";
              type: "address";
          }, {
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "nonpayable";
      }, {
          type: "error";
          inputs: readonly [];
          name: "AlreadyInitialized";
      }, {
          type: "error";
          inputs: readonly [{
              name: "caller";
              internalType: "address";
              type: "address";
          }, {
              name: "data";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "ClaimFailed";
      }, {
          type: "error";
          inputs: readonly [{
              name: "asset";
              internalType: "address";
              type: "address";
          }, {
              name: "available";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "required";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "InsufficientFunds";
      }, {
          type: "error";
          inputs: readonly [{
              name: "expectedInterface";
              internalType: "bytes4";
              type: "bytes4";
          }, {
              name: "instance";
              internalType: "address";
              type: "address";
          }];
          name: "InvalidInstance";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NewOwnerIsZeroAddress";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NoHandoverRequest";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Reentrancy";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "boostIndex";
              internalType: "uint256";
              type: "uint256";
              indexed: true;
          }, {
              name: "owner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "action";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "incentiveCount";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "validator";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "allowList";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "budget";
              internalType: "address";
              type: "address";
              indexed: false;
          }];
          name: "BoostCreated";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverCanceled";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverRequested";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "oldOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "newOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipTransferred";
      }, {
          type: "function";
          inputs: readonly [];
          name: "FEE_DENOMINATOR";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "cancelOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "claimFee";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "claimIncentive";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }, {
              name: "claimant";
              internalType: "address";
              type: "address";
          }];
          name: "claimIncentiveFor";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "completeOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "createBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "createBoostAuth";
          outputs: readonly [{
              name: "";
              internalType: "contract IAuth";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "index";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "getBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "getBoostCount";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "owner";
          outputs: readonly [{
              name: "result";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "ownershipHandoverExpiresAt";
          outputs: readonly [{
              name: "result";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFeeReceiver";
          outputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "referralFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "registry";
          outputs: readonly [{
              name: "";
              internalType: "contract BoostRegistry";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "renounceOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "requestOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "claimFee_";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "setClaimFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "auth_";
              internalType: "address";
              type: "address";
          }];
          name: "setCreateBoostAuth";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setProtocolFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          name: "setProtocolFeeReceiver";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "referralFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setReferralFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "newOwner";
              internalType: "address";
              type: "address";
          }];
          name: "transferOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }], "claimIncentive">,
          | "address"
          | "args"
          | "abi"
          | "functionName">>

    Returns Promise<void>

  • Claim an incentive for a Boost

    Parameters

    • boostId: bigint

      The ID of the Boost

    • incentiveId: bigint

      The ID of the Incentive

    • address: `0x${string}`

      The address of the referrer (if any)

    • data: `0x${string}`

      The data for the claim

    • Optionalparams: Partial<Omit<WriteContractParameters<readonly [{
          type: "constructor";
          inputs: readonly [{
              name: "registry_";
              internalType: "contract BoostRegistry";
              type: "address";
          }, {
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "nonpayable";
      }, {
          type: "error";
          inputs: readonly [];
          name: "AlreadyInitialized";
      }, {
          type: "error";
          inputs: readonly [{
              name: "caller";
              internalType: "address";
              type: "address";
          }, {
              name: "data";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "ClaimFailed";
      }, {
          type: "error";
          inputs: readonly [{
              name: "asset";
              internalType: "address";
              type: "address";
          }, {
              name: "available";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "required";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "InsufficientFunds";
      }, {
          type: "error";
          inputs: readonly [{
              name: "expectedInterface";
              internalType: "bytes4";
              type: "bytes4";
          }, {
              name: "instance";
              internalType: "address";
              type: "address";
          }];
          name: "InvalidInstance";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NewOwnerIsZeroAddress";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NoHandoverRequest";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Reentrancy";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "boostIndex";
              internalType: "uint256";
              type: "uint256";
              indexed: true;
          }, {
              name: "owner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "action";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "incentiveCount";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "validator";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "allowList";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "budget";
              internalType: "address";
              type: "address";
              indexed: false;
          }];
          name: "BoostCreated";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverCanceled";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverRequested";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "oldOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "newOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipTransferred";
      }, {
          type: "function";
          inputs: readonly [];
          name: "FEE_DENOMINATOR";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "cancelOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "claimFee";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "claimIncentive";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }, {
              name: "claimant";
              internalType: "address";
              type: "address";
          }];
          name: "claimIncentiveFor";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "completeOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "createBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "createBoostAuth";
          outputs: readonly [{
              name: "";
              internalType: "contract IAuth";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "index";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "getBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "getBoostCount";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "owner";
          outputs: readonly [{
              name: "result";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "ownershipHandoverExpiresAt";
          outputs: readonly [{
              name: "result";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFeeReceiver";
          outputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "referralFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "registry";
          outputs: readonly [{
              name: "";
              internalType: "contract BoostRegistry";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "renounceOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "requestOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "claimFee_";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "setClaimFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "auth_";
              internalType: "address";
              type: "address";
          }];
          name: "setCreateBoostAuth";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setProtocolFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          name: "setProtocolFeeReceiver";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "referralFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setReferralFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "newOwner";
              internalType: "address";
              type: "address";
          }];
          name: "transferOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }], "claimIncentive">,
          | "address"
          | "args"
          | "abi"
          | "functionName">>

    Returns Promise<{
        hash: `0x${string}`;
        result: void;
    }>

  • Claims one incentive for a given Boost on behalf of another user by boostId and incentiveId

    Parameters

    • boostId: bigint
    • incentiveId: bigint
    • referrer: `0x${string}`
    • data: `0x${string}`
    • claimant: `0x${string}`
    • Optionalparams: Partial<Omit<WriteContractParameters<readonly [{
          type: "constructor";
          inputs: readonly [{
              name: "registry_";
              internalType: "contract BoostRegistry";
              type: "address";
          }, {
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "nonpayable";
      }, {
          type: "error";
          inputs: readonly [];
          name: "AlreadyInitialized";
      }, {
          type: "error";
          inputs: readonly [{
              name: "caller";
              internalType: "address";
              type: "address";
          }, {
              name: "data";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "ClaimFailed";
      }, {
          type: "error";
          inputs: readonly [{
              name: "asset";
              internalType: "address";
              type: "address";
          }, {
              name: "available";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "required";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "InsufficientFunds";
      }, {
          type: "error";
          inputs: readonly [{
              name: "expectedInterface";
              internalType: "bytes4";
              type: "bytes4";
          }, {
              name: "instance";
              internalType: "address";
              type: "address";
          }];
          name: "InvalidInstance";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NewOwnerIsZeroAddress";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NoHandoverRequest";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Reentrancy";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "boostIndex";
              internalType: "uint256";
              type: "uint256";
              indexed: true;
          }, {
              name: "owner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "action";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "incentiveCount";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "validator";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "allowList";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "budget";
              internalType: "address";
              type: "address";
              indexed: false;
          }];
          name: "BoostCreated";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverCanceled";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverRequested";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "oldOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "newOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipTransferred";
      }, {
          type: "function";
          inputs: readonly [];
          name: "FEE_DENOMINATOR";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "cancelOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "claimFee";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "claimIncentive";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }, {
              name: "claimant";
              internalType: "address";
              type: "address";
          }];
          name: "claimIncentiveFor";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "completeOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "createBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "createBoostAuth";
          outputs: readonly [{
              name: "";
              internalType: "contract IAuth";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "index";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "getBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "getBoostCount";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "owner";
          outputs: readonly [{
              name: "result";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "ownershipHandoverExpiresAt";
          outputs: readonly [{
              name: "result";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFeeReceiver";
          outputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "referralFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "registry";
          outputs: readonly [{
              name: "";
              internalType: "contract BoostRegistry";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "renounceOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "requestOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "claimFee_";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "setClaimFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "auth_";
              internalType: "address";
              type: "address";
          }];
          name: "setCreateBoostAuth";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setProtocolFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          name: "setProtocolFeeReceiver";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "referralFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setReferralFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "newOwner";
              internalType: "address";
              type: "address";
          }];
          name: "transferOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }], "claimIncentiveFor">,
          | "address"
          | "args"
          | "abi"
          | "functionName">>

    Returns Promise<void>

  • Claim an incentive for a Boost on behalf of another user

    Parameters

    • boostId: bigint

      The ID of the Boost

    • incentiveId: bigint

      The ID of the Incentive

    • referrer: `0x${string}`

      The address of the referrer (if any)

    • data: `0x${string}`

      The data for the claim

    • claimant: `0x${string}`

      The address of the user eligible for the incentive payout

    • Optionalparams: Partial<Omit<WriteContractParameters<readonly [{
          type: "constructor";
          inputs: readonly [{
              name: "registry_";
              internalType: "contract BoostRegistry";
              type: "address";
          }, {
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "nonpayable";
      }, {
          type: "error";
          inputs: readonly [];
          name: "AlreadyInitialized";
      }, {
          type: "error";
          inputs: readonly [{
              name: "caller";
              internalType: "address";
              type: "address";
          }, {
              name: "data";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "ClaimFailed";
      }, {
          type: "error";
          inputs: readonly [{
              name: "asset";
              internalType: "address";
              type: "address";
          }, {
              name: "available";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "required";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "InsufficientFunds";
      }, {
          type: "error";
          inputs: readonly [{
              name: "expectedInterface";
              internalType: "bytes4";
              type: "bytes4";
          }, {
              name: "instance";
              internalType: "address";
              type: "address";
          }];
          name: "InvalidInstance";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NewOwnerIsZeroAddress";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NoHandoverRequest";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Reentrancy";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "boostIndex";
              internalType: "uint256";
              type: "uint256";
              indexed: true;
          }, {
              name: "owner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "action";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "incentiveCount";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "validator";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "allowList";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "budget";
              internalType: "address";
              type: "address";
              indexed: false;
          }];
          name: "BoostCreated";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverCanceled";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverRequested";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "oldOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "newOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipTransferred";
      }, {
          type: "function";
          inputs: readonly [];
          name: "FEE_DENOMINATOR";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "cancelOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "claimFee";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "claimIncentive";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }, {
              name: "claimant";
              internalType: "address";
              type: "address";
          }];
          name: "claimIncentiveFor";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "completeOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "createBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "createBoostAuth";
          outputs: readonly [{
              name: "";
              internalType: "contract IAuth";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "index";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "getBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "getBoostCount";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "owner";
          outputs: readonly [{
              name: "result";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "ownershipHandoverExpiresAt";
          outputs: readonly [{
              name: "result";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFeeReceiver";
          outputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "referralFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "registry";
          outputs: readonly [{
              name: "";
              internalType: "contract BoostRegistry";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "renounceOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "requestOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "claimFee_";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "setClaimFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "auth_";
              internalType: "address";
              type: "address";
          }];
          name: "setCreateBoostAuth";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setProtocolFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          name: "setProtocolFeeReceiver";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "referralFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setReferralFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "newOwner";
              internalType: "address";
              type: "address";
          }];
          name: "transferOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }], "claimIncentiveFor">,
          | "address"
          | "args"
          | "abi"
          | "functionName">>

    Returns Promise<{
        hash: `0x${string}`;
        result: void;
    }>

  • Get a Boost by index, will return the raw on chain representation of a Boost.

    Parameters

    • id: bigint
    • Optionalparams: Partial<Omit<ReadContractParameters<readonly [{
          type: "constructor";
          inputs: readonly [{
              name: "registry_";
              internalType: "contract BoostRegistry";
              type: "address";
          }, {
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "nonpayable";
      }, {
          type: "error";
          inputs: readonly [];
          name: "AlreadyInitialized";
      }, {
          type: "error";
          inputs: readonly [{
              name: "caller";
              internalType: "address";
              type: "address";
          }, {
              name: "data";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "ClaimFailed";
      }, {
          type: "error";
          inputs: readonly [{
              name: "asset";
              internalType: "address";
              type: "address";
          }, {
              name: "available";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "required";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "InsufficientFunds";
      }, {
          type: "error";
          inputs: readonly [{
              name: "expectedInterface";
              internalType: "bytes4";
              type: "bytes4";
          }, {
              name: "instance";
              internalType: "address";
              type: "address";
          }];
          name: "InvalidInstance";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NewOwnerIsZeroAddress";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NoHandoverRequest";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Reentrancy";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "boostIndex";
              internalType: "uint256";
              type: "uint256";
              indexed: true;
          }, {
              name: "owner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "action";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "incentiveCount";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "validator";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "allowList";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "budget";
              internalType: "address";
              type: "address";
              indexed: false;
          }];
          name: "BoostCreated";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverCanceled";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverRequested";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "oldOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "newOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipTransferred";
      }, {
          type: "function";
          inputs: readonly [];
          name: "FEE_DENOMINATOR";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "cancelOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "claimFee";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "claimIncentive";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }, {
              name: "claimant";
              internalType: "address";
              type: "address";
          }];
          name: "claimIncentiveFor";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "completeOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "createBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "createBoostAuth";
          outputs: readonly [{
              name: "";
              internalType: "contract IAuth";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "index";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "getBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "getBoostCount";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "owner";
          outputs: readonly [{
              name: "result";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "ownershipHandoverExpiresAt";
          outputs: readonly [{
              name: "result";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFeeReceiver";
          outputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "referralFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "registry";
          outputs: readonly [{
              name: "";
              internalType: "contract BoostRegistry";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "renounceOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "requestOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "claimFee_";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "setClaimFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "auth_";
              internalType: "address";
              type: "address";
          }];
          name: "setCreateBoostAuth";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setProtocolFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          name: "setProtocolFeeReceiver";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "referralFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setReferralFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "newOwner";
              internalType: "address";
              type: "address";
          }];
          name: "transferOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }], "getBoost">,
          | "address"
          | "args"
          | "abi"
          | "functionName">>

    Returns Promise<{
        action: `0x${string}`;
        validator: `0x${string}`;
        allowList: `0x${string}`;
        budget: `0x${string}`;
        incentives: readonly `0x${string}`[];
        protocolFee: bigint;
        referralFee: bigint;
        maxParticipants: bigint;
        owner: `0x${string}`;
    }>

  • Get a Boost by index, will return a new Boost with correct target implementations instantiated, ie (await core.getBoost(0n)).allowList instanceof SimpleAllowList vs SimpleDenyList

    Parameters

    • _id: string | bigint
    • Optionalparams: Partial<Omit<ReadContractParameters<readonly [{
          type: "constructor";
          inputs: readonly [{
              name: "registry_";
              internalType: "contract BoostRegistry";
              type: "address";
          }, {
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "nonpayable";
      }, {
          type: "error";
          inputs: readonly [];
          name: "AlreadyInitialized";
      }, {
          type: "error";
          inputs: readonly [{
              name: "caller";
              internalType: "address";
              type: "address";
          }, {
              name: "data";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "ClaimFailed";
      }, {
          type: "error";
          inputs: readonly [{
              name: "asset";
              internalType: "address";
              type: "address";
          }, {
              name: "available";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "required";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "InsufficientFunds";
      }, {
          type: "error";
          inputs: readonly [{
              name: "expectedInterface";
              internalType: "bytes4";
              type: "bytes4";
          }, {
              name: "instance";
              internalType: "address";
              type: "address";
          }];
          name: "InvalidInstance";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NewOwnerIsZeroAddress";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NoHandoverRequest";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Reentrancy";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "boostIndex";
              internalType: "uint256";
              type: "uint256";
              indexed: true;
          }, {
              name: "owner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "action";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "incentiveCount";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "validator";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "allowList";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "budget";
              internalType: "address";
              type: "address";
              indexed: false;
          }];
          name: "BoostCreated";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverCanceled";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverRequested";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "oldOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "newOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipTransferred";
      }, {
          type: "function";
          inputs: readonly [];
          name: "FEE_DENOMINATOR";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "cancelOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "claimFee";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "claimIncentive";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }, {
              name: "claimant";
              internalType: "address";
              type: "address";
          }];
          name: "claimIncentiveFor";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "completeOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "createBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "createBoostAuth";
          outputs: readonly [{
              name: "";
              internalType: "contract IAuth";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "index";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "getBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "getBoostCount";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "owner";
          outputs: readonly [{
              name: "result";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "ownershipHandoverExpiresAt";
          outputs: readonly [{
              name: "result";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFeeReceiver";
          outputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "referralFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "registry";
          outputs: readonly [{
              name: "";
              internalType: "contract BoostRegistry";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "renounceOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "requestOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "claimFee_";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "setClaimFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "auth_";
              internalType: "address";
              type: "address";
          }];
          name: "setCreateBoostAuth";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setProtocolFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          name: "setProtocolFeeReceiver";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "referralFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setReferralFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "newOwner";
              internalType: "address";
              type: "address";
          }];
          name: "transferOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }], "getBoost">,
          | "address"
          | "args"
          | "abi"
          | "functionName">>

    Returns Promise<Boost>

  • Retrieve the total number of deployed Boosts

    Parameters

    • Optionalparams: Partial<Omit<ReadContractParameters<readonly [{
          type: "constructor";
          inputs: readonly [{
              name: "registry_";
              internalType: "contract BoostRegistry";
              type: "address";
          }, {
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "nonpayable";
      }, {
          type: "error";
          inputs: readonly [];
          name: "AlreadyInitialized";
      }, {
          type: "error";
          inputs: readonly [{
              name: "caller";
              internalType: "address";
              type: "address";
          }, {
              name: "data";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "ClaimFailed";
      }, {
          type: "error";
          inputs: readonly [{
              name: "asset";
              internalType: "address";
              type: "address";
          }, {
              name: "available";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "required";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "InsufficientFunds";
      }, {
          type: "error";
          inputs: readonly [{
              name: "expectedInterface";
              internalType: "bytes4";
              type: "bytes4";
          }, {
              name: "instance";
              internalType: "address";
              type: "address";
          }];
          name: "InvalidInstance";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NewOwnerIsZeroAddress";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NoHandoverRequest";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Reentrancy";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "boostIndex";
              internalType: "uint256";
              type: "uint256";
              indexed: true;
          }, {
              name: "owner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "action";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "incentiveCount";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "validator";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "allowList";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "budget";
              internalType: "address";
              type: "address";
              indexed: false;
          }];
          name: "BoostCreated";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverCanceled";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverRequested";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "oldOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "newOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipTransferred";
      }, {
          type: "function";
          inputs: readonly [];
          name: "FEE_DENOMINATOR";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "cancelOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "claimFee";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "claimIncentive";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }, {
              name: "claimant";
              internalType: "address";
              type: "address";
          }];
          name: "claimIncentiveFor";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "completeOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "createBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "createBoostAuth";
          outputs: readonly [{
              name: "";
              internalType: "contract IAuth";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "index";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "getBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "getBoostCount";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "owner";
          outputs: readonly [{
              name: "result";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "ownershipHandoverExpiresAt";
          outputs: readonly [{
              name: "result";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFeeReceiver";
          outputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "referralFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "registry";
          outputs: readonly [{
              name: "";
              internalType: "contract BoostRegistry";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "renounceOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "requestOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "claimFee_";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "setClaimFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "auth_";
              internalType: "address";
              type: "address";
          }];
          name: "setCreateBoostAuth";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setProtocolFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          name: "setProtocolFeeReceiver";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "referralFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setReferralFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "newOwner";
              internalType: "address";
              type: "address";
          }];
          name: "transferOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }], "getBoostCount">,
          | "address"
          | "args"
          | "abi"
          | "functionName">>

    Returns Promise<bigint>

  • Checks if an address is authorized

    Parameters

    • address: `0x${string}`
    • Optionalparams: Partial<Omit<ReadContractParameters<readonly [{
          type: "constructor";
          inputs: readonly [{
              name: "registry_";
              internalType: "contract BoostRegistry";
              type: "address";
          }, {
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "nonpayable";
      }, {
          type: "error";
          inputs: readonly [];
          name: "AlreadyInitialized";
      }, {
          type: "error";
          inputs: readonly [{
              name: "caller";
              internalType: "address";
              type: "address";
          }, {
              name: "data";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "ClaimFailed";
      }, {
          type: "error";
          inputs: readonly [{
              name: "asset";
              internalType: "address";
              type: "address";
          }, {
              name: "available";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "required";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "InsufficientFunds";
      }, {
          type: "error";
          inputs: readonly [{
              name: "expectedInterface";
              internalType: "bytes4";
              type: "bytes4";
          }, {
              name: "instance";
              internalType: "address";
              type: "address";
          }];
          name: "InvalidInstance";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NewOwnerIsZeroAddress";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NoHandoverRequest";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Reentrancy";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "boostIndex";
              internalType: "uint256";
              type: "uint256";
              indexed: true;
          }, {
              name: "owner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "action";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "incentiveCount";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "validator";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "allowList";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "budget";
              internalType: "address";
              type: "address";
              indexed: false;
          }];
          name: "BoostCreated";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverCanceled";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverRequested";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "oldOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "newOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipTransferred";
      }, {
          type: "function";
          inputs: readonly [];
          name: "FEE_DENOMINATOR";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "cancelOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "claimFee";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "claimIncentive";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }, {
              name: "claimant";
              internalType: "address";
              type: "address";
          }];
          name: "claimIncentiveFor";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "completeOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "createBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: ...;
                  internalType: ...;
                  type: ...;
              }, {
                  name: ...;
                  internalType: ...;
                  type: ...;
              }, {
                  name: ...;
                  internalType: ...;
                  type: ...;
              }, {
                  name: ...;
                  internalType: ...;
                  type: ...;
              }, {
                  name: ...;
                  internalType: ...;
                  type: ...;
              }, {
                  name: ...;
                  internalType: ...;
                  type: ...;
              }, {
                  name: ...;
                  internalType: ...;
                  type: ...;
              }, {
                  name: ...;
                  internalType: ...;
                  type: ...;
              }, {
                  name: ...;
                  internalType: ...;
                  type: ...;
              }];
          }];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "createBoostAuth";
          outputs: readonly [{
              name: "";
              internalType: "contract IAuth";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "index";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "getBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: ...;
                  internalType: ...;
                  type: ...;
              }, {
                  name: ...;
                  internalType: ...;
                  type: ...;
              }, {
                  name: ...;
                  internalType: ...;
                  type: ...;
              }, {
                  name: ...;
                  internalType: ...;
                  type: ...;
              }, {
                  name: ...;
                  internalType: ...;
                  type: ...;
              }, {
                  name: ...;
                  internalType: ...;
                  type: ...;
              }, {
                  name: ...;
                  internalType: ...;
                  type: ...;
              }, {
                  name: ...;
                  internalType: ...;
                  type: ...;
              }, {
                  name: ...;
                  internalType: ...;
                  type: ...;
              }];
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "getBoostCount";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "owner";
          outputs: readonly [{
              name: "result";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "ownershipHandoverExpiresAt";
          outputs: readonly [{
              name: "result";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFeeReceiver";
          outputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "referralFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "registry";
          outputs: readonly [{
              name: "";
              internalType: "contract BoostRegistry";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "renounceOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "requestOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "claimFee_";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "setClaimFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "auth_";
              internalType: "address";
              type: "address";
          }];
          name: "setCreateBoostAuth";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setProtocolFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          name: "setProtocolFeeReceiver";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "referralFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setReferralFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "newOwner";
              internalType: "address";
              type: "address";
          }];
          name: "transferOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }], "createBoostAuth">,
          | "address"
          | "args"
          | "abi"
          | "functionName">> & Partial<Omit<ReadContractParameters<readonly [{
          type: "function";
          inputs: readonly [{
              name: "addr";
              internalType: "address";
              type: "address";
          }];
          name: "isAuthorized";
          outputs: readonly [{
              name: "";
              internalType: "bool";
              type: "bool";
          }];
          stateMutability: "view";
      }], "isAuthorized">,
          | "address"
          | "args"
          | "abi"
          | "functionName">>

    Returns Promise<boolean>

  • Retrieve the address of the current creation auth provider.

    Parameters

    • Optionalparams: Partial<Omit<ReadContractParameters<readonly [{
          type: "constructor";
          inputs: readonly [{
              name: "registry_";
              internalType: "contract BoostRegistry";
              type: "address";
          }, {
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "nonpayable";
      }, {
          type: "error";
          inputs: readonly [];
          name: "AlreadyInitialized";
      }, {
          type: "error";
          inputs: readonly [{
              name: "caller";
              internalType: "address";
              type: "address";
          }, {
              name: "data";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "ClaimFailed";
      }, {
          type: "error";
          inputs: readonly [{
              name: "asset";
              internalType: "address";
              type: "address";
          }, {
              name: "available";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "required";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "InsufficientFunds";
      }, {
          type: "error";
          inputs: readonly [{
              name: "expectedInterface";
              internalType: "bytes4";
              type: "bytes4";
          }, {
              name: "instance";
              internalType: "address";
              type: "address";
          }];
          name: "InvalidInstance";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NewOwnerIsZeroAddress";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NoHandoverRequest";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Reentrancy";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "boostIndex";
              internalType: "uint256";
              type: "uint256";
              indexed: true;
          }, {
              name: "owner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "action";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "incentiveCount";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "validator";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "allowList";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "budget";
              internalType: "address";
              type: "address";
              indexed: false;
          }];
          name: "BoostCreated";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverCanceled";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverRequested";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "oldOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "newOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipTransferred";
      }, {
          type: "function";
          inputs: readonly [];
          name: "FEE_DENOMINATOR";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "cancelOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "claimFee";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "claimIncentive";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }, {
              name: "claimant";
              internalType: "address";
              type: "address";
          }];
          name: "claimIncentiveFor";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "completeOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "createBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "createBoostAuth";
          outputs: readonly [{
              name: "";
              internalType: "contract IAuth";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "index";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "getBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "getBoostCount";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "owner";
          outputs: readonly [{
              name: "result";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "ownershipHandoverExpiresAt";
          outputs: readonly [{
              name: "result";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFeeReceiver";
          outputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "referralFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "registry";
          outputs: readonly [{
              name: "";
              internalType: "contract BoostRegistry";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "renounceOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "requestOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "claimFee_";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "setClaimFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "auth_";
              internalType: "address";
              type: "address";
          }];
          name: "setCreateBoostAuth";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setProtocolFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          name: "setProtocolFeeReceiver";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "referralFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setReferralFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "newOwner";
              internalType: "address";
              type: "address";
          }];
          name: "transferOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }], "createBoostAuth">,
          | "address"
          | "args"
          | "abi"
          | "functionName">>

    Returns Promise<`0x${string}`>

  • Replace the current auth scheme.

    Parameters

    • auth: PassthroughAuth
    • Optionalparams: Partial<Omit<WriteContractParameters<readonly [{
          type: "constructor";
          inputs: readonly [{
              name: "registry_";
              internalType: "contract BoostRegistry";
              type: "address";
          }, {
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "nonpayable";
      }, {
          type: "error";
          inputs: readonly [];
          name: "AlreadyInitialized";
      }, {
          type: "error";
          inputs: readonly [{
              name: "caller";
              internalType: "address";
              type: "address";
          }, {
              name: "data";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "ClaimFailed";
      }, {
          type: "error";
          inputs: readonly [{
              name: "asset";
              internalType: "address";
              type: "address";
          }, {
              name: "available";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "required";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "InsufficientFunds";
      }, {
          type: "error";
          inputs: readonly [{
              name: "expectedInterface";
              internalType: "bytes4";
              type: "bytes4";
          }, {
              name: "instance";
              internalType: "address";
              type: "address";
          }];
          name: "InvalidInstance";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NewOwnerIsZeroAddress";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NoHandoverRequest";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Reentrancy";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "boostIndex";
              internalType: "uint256";
              type: "uint256";
              indexed: true;
          }, {
              name: "owner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "action";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "incentiveCount";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "validator";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "allowList";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "budget";
              internalType: "address";
              type: "address";
              indexed: false;
          }];
          name: "BoostCreated";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverCanceled";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverRequested";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "oldOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "newOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipTransferred";
      }, {
          type: "function";
          inputs: readonly [];
          name: "FEE_DENOMINATOR";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "cancelOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "claimFee";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "claimIncentive";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }, {
              name: "claimant";
              internalType: "address";
              type: "address";
          }];
          name: "claimIncentiveFor";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "completeOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "createBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "createBoostAuth";
          outputs: readonly [{
              name: "";
              internalType: "contract IAuth";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "index";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "getBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "getBoostCount";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "owner";
          outputs: readonly [{
              name: "result";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "ownershipHandoverExpiresAt";
          outputs: readonly [{
              name: "result";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFeeReceiver";
          outputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "referralFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "registry";
          outputs: readonly [{
              name: "";
              internalType: "contract BoostRegistry";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "renounceOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "requestOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "claimFee_";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "setClaimFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "auth_";
              internalType: "address";
              type: "address";
          }];
          name: "setCreateBoostAuth";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setProtocolFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          name: "setProtocolFeeReceiver";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "referralFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setReferralFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "newOwner";
              internalType: "address";
              type: "address";
          }];
          name: "transferOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }], "setCreateBoostAuth">,
          | "address"
          | "args"
          | "abi"
          | "functionName">>

    Returns Promise<void>

  • Set the createBoostAuth address

    Parameters

    • address: `0x${string}`
    • Optionalparams: Partial<Omit<WriteContractParameters<readonly [{
          type: "constructor";
          inputs: readonly [{
              name: "registry_";
              internalType: "contract BoostRegistry";
              type: "address";
          }, {
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "nonpayable";
      }, {
          type: "error";
          inputs: readonly [];
          name: "AlreadyInitialized";
      }, {
          type: "error";
          inputs: readonly [{
              name: "caller";
              internalType: "address";
              type: "address";
          }, {
              name: "data";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "ClaimFailed";
      }, {
          type: "error";
          inputs: readonly [{
              name: "asset";
              internalType: "address";
              type: "address";
          }, {
              name: "available";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "required";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "InsufficientFunds";
      }, {
          type: "error";
          inputs: readonly [{
              name: "expectedInterface";
              internalType: "bytes4";
              type: "bytes4";
          }, {
              name: "instance";
              internalType: "address";
              type: "address";
          }];
          name: "InvalidInstance";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NewOwnerIsZeroAddress";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NoHandoverRequest";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Reentrancy";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "boostIndex";
              internalType: "uint256";
              type: "uint256";
              indexed: true;
          }, {
              name: "owner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "action";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "incentiveCount";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "validator";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "allowList";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "budget";
              internalType: "address";
              type: "address";
              indexed: false;
          }];
          name: "BoostCreated";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverCanceled";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverRequested";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "oldOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "newOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipTransferred";
      }, {
          type: "function";
          inputs: readonly [];
          name: "FEE_DENOMINATOR";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "cancelOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "claimFee";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "claimIncentive";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }, {
              name: "claimant";
              internalType: "address";
              type: "address";
          }];
          name: "claimIncentiveFor";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "completeOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "createBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "createBoostAuth";
          outputs: readonly [{
              name: "";
              internalType: "contract IAuth";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "index";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "getBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "getBoostCount";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "owner";
          outputs: readonly [{
              name: "result";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "ownershipHandoverExpiresAt";
          outputs: readonly [{
              name: "result";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFeeReceiver";
          outputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "referralFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "registry";
          outputs: readonly [{
              name: "";
              internalType: "contract BoostRegistry";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "renounceOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "requestOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "claimFee_";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "setClaimFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "auth_";
              internalType: "address";
              type: "address";
          }];
          name: "setCreateBoostAuth";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setProtocolFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          name: "setProtocolFeeReceiver";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "referralFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setReferralFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "newOwner";
              internalType: "address";
              type: "address";
          }];
          name: "transferOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }], "setCreateBoostAuth">,
          | "address"
          | "args"
          | "abi"
          | "functionName">>

    Returns Promise<{
        hash: `0x${string}`;
        result: void;
    }>

  • Get the protocol fee.

    Parameters

    • Optionalparams: Partial<Omit<ReadContractParameters<readonly [{
          type: "constructor";
          inputs: readonly [{
              name: "registry_";
              internalType: "contract BoostRegistry";
              type: "address";
          }, {
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "nonpayable";
      }, {
          type: "error";
          inputs: readonly [];
          name: "AlreadyInitialized";
      }, {
          type: "error";
          inputs: readonly [{
              name: "caller";
              internalType: "address";
              type: "address";
          }, {
              name: "data";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "ClaimFailed";
      }, {
          type: "error";
          inputs: readonly [{
              name: "asset";
              internalType: "address";
              type: "address";
          }, {
              name: "available";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "required";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "InsufficientFunds";
      }, {
          type: "error";
          inputs: readonly [{
              name: "expectedInterface";
              internalType: "bytes4";
              type: "bytes4";
          }, {
              name: "instance";
              internalType: "address";
              type: "address";
          }];
          name: "InvalidInstance";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NewOwnerIsZeroAddress";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NoHandoverRequest";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Reentrancy";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "boostIndex";
              internalType: "uint256";
              type: "uint256";
              indexed: true;
          }, {
              name: "owner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "action";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "incentiveCount";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "validator";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "allowList";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "budget";
              internalType: "address";
              type: "address";
              indexed: false;
          }];
          name: "BoostCreated";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverCanceled";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverRequested";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "oldOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "newOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipTransferred";
      }, {
          type: "function";
          inputs: readonly [];
          name: "FEE_DENOMINATOR";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "cancelOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "claimFee";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "claimIncentive";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }, {
              name: "claimant";
              internalType: "address";
              type: "address";
          }];
          name: "claimIncentiveFor";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "completeOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "createBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "createBoostAuth";
          outputs: readonly [{
              name: "";
              internalType: "contract IAuth";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "index";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "getBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "getBoostCount";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "owner";
          outputs: readonly [{
              name: "result";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "ownershipHandoverExpiresAt";
          outputs: readonly [{
              name: "result";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFeeReceiver";
          outputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "referralFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "registry";
          outputs: readonly [{
              name: "";
              internalType: "contract BoostRegistry";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "renounceOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "requestOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "claimFee_";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "setClaimFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "auth_";
              internalType: "address";
              type: "address";
          }];
          name: "setCreateBoostAuth";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setProtocolFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          name: "setProtocolFeeReceiver";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "referralFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setReferralFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "newOwner";
              internalType: "address";
              type: "address";
          }];
          name: "transferOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }], "protocolFee">,
          | "address"
          | "args"
          | "abi"
          | "functionName">>

    Returns Promise<bigint>

  • Get the protocol fee receiver.

    Parameters

    • Optionalparams: Partial<Omit<ReadContractParameters<readonly [{
          type: "constructor";
          inputs: readonly [{
              name: "registry_";
              internalType: "contract BoostRegistry";
              type: "address";
          }, {
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "nonpayable";
      }, {
          type: "error";
          inputs: readonly [];
          name: "AlreadyInitialized";
      }, {
          type: "error";
          inputs: readonly [{
              name: "caller";
              internalType: "address";
              type: "address";
          }, {
              name: "data";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "ClaimFailed";
      }, {
          type: "error";
          inputs: readonly [{
              name: "asset";
              internalType: "address";
              type: "address";
          }, {
              name: "available";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "required";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "InsufficientFunds";
      }, {
          type: "error";
          inputs: readonly [{
              name: "expectedInterface";
              internalType: "bytes4";
              type: "bytes4";
          }, {
              name: "instance";
              internalType: "address";
              type: "address";
          }];
          name: "InvalidInstance";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NewOwnerIsZeroAddress";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NoHandoverRequest";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Reentrancy";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "boostIndex";
              internalType: "uint256";
              type: "uint256";
              indexed: true;
          }, {
              name: "owner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "action";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "incentiveCount";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "validator";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "allowList";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "budget";
              internalType: "address";
              type: "address";
              indexed: false;
          }];
          name: "BoostCreated";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverCanceled";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverRequested";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "oldOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "newOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipTransferred";
      }, {
          type: "function";
          inputs: readonly [];
          name: "FEE_DENOMINATOR";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "cancelOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "claimFee";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "claimIncentive";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }, {
              name: "claimant";
              internalType: "address";
              type: "address";
          }];
          name: "claimIncentiveFor";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "completeOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "createBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "createBoostAuth";
          outputs: readonly [{
              name: "";
              internalType: "contract IAuth";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "index";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "getBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "getBoostCount";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "owner";
          outputs: readonly [{
              name: "result";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "ownershipHandoverExpiresAt";
          outputs: readonly [{
              name: "result";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFeeReceiver";
          outputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "referralFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "registry";
          outputs: readonly [{
              name: "";
              internalType: "contract BoostRegistry";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "renounceOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "requestOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "claimFee_";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "setClaimFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "auth_";
              internalType: "address";
              type: "address";
          }];
          name: "setCreateBoostAuth";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setProtocolFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          name: "setProtocolFeeReceiver";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "referralFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setReferralFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "newOwner";
              internalType: "address";
              type: "address";
          }];
          name: "transferOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }], "protocolFeeReceiver">,
          | "address"
          | "args"
          | "abi"
          | "functionName">>

    Returns Promise<`0x${string}`>

  • Set the protocol fee receiver address. This function is only callable by the owner.

    Parameters

    • address: `0x${string}`
    • Optionalparams: Partial<Omit<WriteContractParameters<readonly [{
          type: "constructor";
          inputs: readonly [{
              name: "registry_";
              internalType: "contract BoostRegistry";
              type: "address";
          }, {
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "nonpayable";
      }, {
          type: "error";
          inputs: readonly [];
          name: "AlreadyInitialized";
      }, {
          type: "error";
          inputs: readonly [{
              name: "caller";
              internalType: "address";
              type: "address";
          }, {
              name: "data";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "ClaimFailed";
      }, {
          type: "error";
          inputs: readonly [{
              name: "asset";
              internalType: "address";
              type: "address";
          }, {
              name: "available";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "required";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "InsufficientFunds";
      }, {
          type: "error";
          inputs: readonly [{
              name: "expectedInterface";
              internalType: "bytes4";
              type: "bytes4";
          }, {
              name: "instance";
              internalType: "address";
              type: "address";
          }];
          name: "InvalidInstance";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NewOwnerIsZeroAddress";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NoHandoverRequest";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Reentrancy";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "boostIndex";
              internalType: "uint256";
              type: "uint256";
              indexed: true;
          }, {
              name: "owner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "action";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "incentiveCount";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "validator";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "allowList";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "budget";
              internalType: "address";
              type: "address";
              indexed: false;
          }];
          name: "BoostCreated";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverCanceled";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverRequested";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "oldOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "newOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipTransferred";
      }, {
          type: "function";
          inputs: readonly [];
          name: "FEE_DENOMINATOR";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "cancelOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "claimFee";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "claimIncentive";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }, {
              name: "claimant";
              internalType: "address";
              type: "address";
          }];
          name: "claimIncentiveFor";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "completeOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "createBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "createBoostAuth";
          outputs: readonly [{
              name: "";
              internalType: "contract IAuth";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "index";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "getBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "getBoostCount";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "owner";
          outputs: readonly [{
              name: "result";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "ownershipHandoverExpiresAt";
          outputs: readonly [{
              name: "result";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFeeReceiver";
          outputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "referralFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "registry";
          outputs: readonly [{
              name: "";
              internalType: "contract BoostRegistry";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "renounceOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "requestOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "claimFee_";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "setClaimFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "auth_";
              internalType: "address";
              type: "address";
          }];
          name: "setCreateBoostAuth";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setProtocolFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          name: "setProtocolFeeReceiver";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "referralFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setReferralFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "newOwner";
              internalType: "address";
              type: "address";
          }];
          name: "transferOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }], "setProtocolFeeReceiver">,
          | "address"
          | "args"
          | "abi"
          | "functionName">>

    Returns Promise<void>

  • Set the protocol fee receiver address. This function is only callable by the owner.

    Parameters

    • address: `0x${string}`
    • Optionalparams: Partial<Omit<WriteContractParameters<readonly [{
          type: "constructor";
          inputs: readonly [{
              name: "registry_";
              internalType: "contract BoostRegistry";
              type: "address";
          }, {
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "nonpayable";
      }, {
          type: "error";
          inputs: readonly [];
          name: "AlreadyInitialized";
      }, {
          type: "error";
          inputs: readonly [{
              name: "caller";
              internalType: "address";
              type: "address";
          }, {
              name: "data";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "ClaimFailed";
      }, {
          type: "error";
          inputs: readonly [{
              name: "asset";
              internalType: "address";
              type: "address";
          }, {
              name: "available";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "required";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "InsufficientFunds";
      }, {
          type: "error";
          inputs: readonly [{
              name: "expectedInterface";
              internalType: "bytes4";
              type: "bytes4";
          }, {
              name: "instance";
              internalType: "address";
              type: "address";
          }];
          name: "InvalidInstance";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NewOwnerIsZeroAddress";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NoHandoverRequest";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Reentrancy";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "boostIndex";
              internalType: "uint256";
              type: "uint256";
              indexed: true;
          }, {
              name: "owner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "action";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "incentiveCount";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "validator";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "allowList";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "budget";
              internalType: "address";
              type: "address";
              indexed: false;
          }];
          name: "BoostCreated";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverCanceled";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverRequested";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "oldOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "newOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipTransferred";
      }, {
          type: "function";
          inputs: readonly [];
          name: "FEE_DENOMINATOR";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "cancelOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "claimFee";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "claimIncentive";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }, {
              name: "claimant";
              internalType: "address";
              type: "address";
          }];
          name: "claimIncentiveFor";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "completeOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "createBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "createBoostAuth";
          outputs: readonly [{
              name: "";
              internalType: "contract IAuth";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "index";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "getBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "getBoostCount";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "owner";
          outputs: readonly [{
              name: "result";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "ownershipHandoverExpiresAt";
          outputs: readonly [{
              name: "result";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFeeReceiver";
          outputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "referralFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "registry";
          outputs: readonly [{
              name: "";
              internalType: "contract BoostRegistry";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "renounceOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "requestOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "claimFee_";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "setClaimFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "auth_";
              internalType: "address";
              type: "address";
          }];
          name: "setCreateBoostAuth";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setProtocolFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          name: "setProtocolFeeReceiver";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "referralFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setReferralFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "newOwner";
              internalType: "address";
              type: "address";
          }];
          name: "transferOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }], "setProtocolFeeReceiver">,
          | "address"
          | "args"
          | "abi"
          | "functionName">>

    Returns Promise<{
        hash: `0x${string}`;
        result: void;
    }>

  • Get the claim fee.

    Parameters

    • Optionalparams: Partial<Omit<ReadContractParameters<readonly [{
          type: "constructor";
          inputs: readonly [{
              name: "registry_";
              internalType: "contract BoostRegistry";
              type: "address";
          }, {
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "nonpayable";
      }, {
          type: "error";
          inputs: readonly [];
          name: "AlreadyInitialized";
      }, {
          type: "error";
          inputs: readonly [{
              name: "caller";
              internalType: "address";
              type: "address";
          }, {
              name: "data";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "ClaimFailed";
      }, {
          type: "error";
          inputs: readonly [{
              name: "asset";
              internalType: "address";
              type: "address";
          }, {
              name: "available";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "required";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "InsufficientFunds";
      }, {
          type: "error";
          inputs: readonly [{
              name: "expectedInterface";
              internalType: "bytes4";
              type: "bytes4";
          }, {
              name: "instance";
              internalType: "address";
              type: "address";
          }];
          name: "InvalidInstance";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NewOwnerIsZeroAddress";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NoHandoverRequest";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Reentrancy";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "boostIndex";
              internalType: "uint256";
              type: "uint256";
              indexed: true;
          }, {
              name: "owner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "action";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "incentiveCount";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "validator";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "allowList";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "budget";
              internalType: "address";
              type: "address";
              indexed: false;
          }];
          name: "BoostCreated";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverCanceled";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverRequested";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "oldOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "newOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipTransferred";
      }, {
          type: "function";
          inputs: readonly [];
          name: "FEE_DENOMINATOR";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "cancelOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "claimFee";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "claimIncentive";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }, {
              name: "claimant";
              internalType: "address";
              type: "address";
          }];
          name: "claimIncentiveFor";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "completeOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "createBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "createBoostAuth";
          outputs: readonly [{
              name: "";
              internalType: "contract IAuth";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "index";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "getBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "getBoostCount";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "owner";
          outputs: readonly [{
              name: "result";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "ownershipHandoverExpiresAt";
          outputs: readonly [{
              name: "result";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFeeReceiver";
          outputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "referralFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "registry";
          outputs: readonly [{
              name: "";
              internalType: "contract BoostRegistry";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "renounceOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "requestOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "claimFee_";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "setClaimFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "auth_";
              internalType: "address";
              type: "address";
          }];
          name: "setCreateBoostAuth";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setProtocolFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          name: "setProtocolFeeReceiver";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "referralFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setReferralFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "newOwner";
              internalType: "address";
              type: "address";
          }];
          name: "transferOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }], "claimFee">,
          | "address"
          | "args"
          | "abi"
          | "functionName">>

    Returns Promise<bigint>

  • Sets the claim fee.

    Parameters

    • claimFee: bigint
    • Optionalparams: Partial<Omit<WriteContractParameters<readonly [{
          type: "constructor";
          inputs: readonly [{
              name: "registry_";
              internalType: "contract BoostRegistry";
              type: "address";
          }, {
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "nonpayable";
      }, {
          type: "error";
          inputs: readonly [];
          name: "AlreadyInitialized";
      }, {
          type: "error";
          inputs: readonly [{
              name: "caller";
              internalType: "address";
              type: "address";
          }, {
              name: "data";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "ClaimFailed";
      }, {
          type: "error";
          inputs: readonly [{
              name: "asset";
              internalType: "address";
              type: "address";
          }, {
              name: "available";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "required";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "InsufficientFunds";
      }, {
          type: "error";
          inputs: readonly [{
              name: "expectedInterface";
              internalType: "bytes4";
              type: "bytes4";
          }, {
              name: "instance";
              internalType: "address";
              type: "address";
          }];
          name: "InvalidInstance";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NewOwnerIsZeroAddress";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NoHandoverRequest";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Reentrancy";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "boostIndex";
              internalType: "uint256";
              type: "uint256";
              indexed: true;
          }, {
              name: "owner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "action";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "incentiveCount";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "validator";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "allowList";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "budget";
              internalType: "address";
              type: "address";
              indexed: false;
          }];
          name: "BoostCreated";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverCanceled";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverRequested";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "oldOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "newOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipTransferred";
      }, {
          type: "function";
          inputs: readonly [];
          name: "FEE_DENOMINATOR";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "cancelOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "claimFee";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "claimIncentive";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }, {
              name: "claimant";
              internalType: "address";
              type: "address";
          }];
          name: "claimIncentiveFor";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "completeOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "createBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "createBoostAuth";
          outputs: readonly [{
              name: "";
              internalType: "contract IAuth";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "index";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "getBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "getBoostCount";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "owner";
          outputs: readonly [{
              name: "result";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "ownershipHandoverExpiresAt";
          outputs: readonly [{
              name: "result";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFeeReceiver";
          outputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "referralFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "registry";
          outputs: readonly [{
              name: "";
              internalType: "contract BoostRegistry";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "renounceOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "requestOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "claimFee_";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "setClaimFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "auth_";
              internalType: "address";
              type: "address";
          }];
          name: "setCreateBoostAuth";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setProtocolFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          name: "setProtocolFeeReceiver";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "referralFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setReferralFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "newOwner";
              internalType: "address";
              type: "address";
          }];
          name: "transferOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }], "setClaimFee">,
          | "address"
          | "args"
          | "abi"
          | "functionName">>

    Returns Promise<void>

  • Sets the claim fee.

    Parameters

    • claimFee: bigint
    • Optionalparams: Partial<Omit<WriteContractParameters<readonly [{
          type: "constructor";
          inputs: readonly [{
              name: "registry_";
              internalType: "contract BoostRegistry";
              type: "address";
          }, {
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "nonpayable";
      }, {
          type: "error";
          inputs: readonly [];
          name: "AlreadyInitialized";
      }, {
          type: "error";
          inputs: readonly [{
              name: "caller";
              internalType: "address";
              type: "address";
          }, {
              name: "data";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "ClaimFailed";
      }, {
          type: "error";
          inputs: readonly [{
              name: "asset";
              internalType: "address";
              type: "address";
          }, {
              name: "available";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "required";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "InsufficientFunds";
      }, {
          type: "error";
          inputs: readonly [{
              name: "expectedInterface";
              internalType: "bytes4";
              type: "bytes4";
          }, {
              name: "instance";
              internalType: "address";
              type: "address";
          }];
          name: "InvalidInstance";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NewOwnerIsZeroAddress";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NoHandoverRequest";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Reentrancy";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "boostIndex";
              internalType: "uint256";
              type: "uint256";
              indexed: true;
          }, {
              name: "owner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "action";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "incentiveCount";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "validator";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "allowList";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "budget";
              internalType: "address";
              type: "address";
              indexed: false;
          }];
          name: "BoostCreated";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverCanceled";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverRequested";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "oldOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "newOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipTransferred";
      }, {
          type: "function";
          inputs: readonly [];
          name: "FEE_DENOMINATOR";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "cancelOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "claimFee";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "claimIncentive";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }, {
              name: "claimant";
              internalType: "address";
              type: "address";
          }];
          name: "claimIncentiveFor";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "completeOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "createBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "createBoostAuth";
          outputs: readonly [{
              name: "";
              internalType: "contract IAuth";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "index";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "getBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "getBoostCount";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "owner";
          outputs: readonly [{
              name: "result";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "ownershipHandoverExpiresAt";
          outputs: readonly [{
              name: "result";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFeeReceiver";
          outputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "referralFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "registry";
          outputs: readonly [{
              name: "";
              internalType: "contract BoostRegistry";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "renounceOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "requestOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "claimFee_";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "setClaimFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "auth_";
              internalType: "address";
              type: "address";
          }];
          name: "setCreateBoostAuth";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setProtocolFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          name: "setProtocolFeeReceiver";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "referralFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setReferralFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "newOwner";
              internalType: "address";
              type: "address";
          }];
          name: "transferOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }], "setClaimFee">,
          | "address"
          | "args"
          | "abi"
          | "functionName">>

    Returns Promise<{
        hash: `0x${string}`;
        result: void;
    }>

  • Bound PassthroughAuth constructor that reuses the same configuration as the Boost Core instance.

    Parameters

    • Optionaladdress: `0x${string}`

    Returns PassthroughAuth

    const auth = core.PassthroughAuth('0x') // is roughly equivalent to
    const auth = new PassthroughAuth({ config: core._config, account: core._account }, '0x')
  • High level deployment function to deploy and await the contract address. This is mainly a convenience method to easily deploy a contract, but will not initialize a Cloneable, which makes it useless for Boost components. Obviously you can ignore the TS warnings and use this, but you shouldn't in most all cases.

    Parameters

    Returns Promise<BoostCore>

  • A typed wrapper for (viem.getLogs)[https://viem.sh/docs/actions/public/getLogs#getlogs]. Accepts eventName and eventNames as optional parameters to narrow the returned log types.

    Type Parameters

    • event extends
          | "OwnershipHandoverCanceled"
          | "OwnershipHandoverRequested"
          | "OwnershipTransferred"
          | "BoostCreated"
    • const abiEvent extends
          | {
              name: event;
          } & {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "boostIndex";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: true;
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "action";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "incentiveCount";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }, {
                  name: "validator";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "allowList";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "budget";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }];
              name: "BoostCreated";
          }
          | {
              name: event;
          } & {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "pendingOwner";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }];
              name: "OwnershipHandoverCanceled";
          }
          | {
              name: event;
          } & {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "pendingOwner";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }];
              name: "OwnershipHandoverRequested";
          }
          | {
              name: event;
          } & {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "oldOwner";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "newOwner";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }];
              name: "OwnershipTransferred";
          } =
          | Extract<{
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "boostIndex";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: true;
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "action";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "incentiveCount";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }, {
                  name: "validator";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "allowList";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "budget";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }];
              name: "BoostCreated";
          }, {
              name: event;
          }>
          | Extract<{
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "pendingOwner";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }];
              name: "OwnershipHandoverCanceled";
          }, {
              name: event;
          }>
          | Extract<{
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "pendingOwner";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }];
              name: "OwnershipHandoverRequested";
          }, {
              name: event;
          }>
          | Extract<{
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "oldOwner";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "newOwner";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }];
              name: "OwnershipTransferred";
          }, {
              name: event;
          }>

    Parameters

    • Optionalparams: Omit<GetLogsParams<readonly [{
          type: "constructor";
          inputs: readonly [{
              name: "registry_";
              internalType: "contract BoostRegistry";
              type: "address";
          }, {
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "nonpayable";
      }, {
          type: "error";
          inputs: readonly [];
          name: "AlreadyInitialized";
      }, {
          type: "error";
          inputs: readonly [{
              name: "caller";
              internalType: "address";
              type: "address";
          }, {
              name: "data";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "ClaimFailed";
      }, {
          type: "error";
          inputs: readonly [{
              name: "asset";
              internalType: "address";
              type: "address";
          }, {
              name: "available";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "required";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "InsufficientFunds";
      }, {
          type: "error";
          inputs: readonly [{
              name: "expectedInterface";
              internalType: "bytes4";
              type: "bytes4";
          }, {
              name: "instance";
              internalType: "address";
              type: "address";
          }];
          name: "InvalidInstance";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NewOwnerIsZeroAddress";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NoHandoverRequest";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Reentrancy";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "boostIndex";
              internalType: "uint256";
              type: "uint256";
              indexed: true;
          }, {
              name: "owner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "action";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "incentiveCount";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "validator";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "allowList";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "budget";
              internalType: "address";
              type: "address";
              indexed: false;
          }];
          name: "BoostCreated";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverCanceled";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipHandoverRequested";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "oldOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "newOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipTransferred";
      }, {
          type: "function";
          inputs: readonly [];
          name: "FEE_DENOMINATOR";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "cancelOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "claimFee";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "claimIncentive";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "boostId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "incentiveId_";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "referrer_";
              internalType: "address";
              type: "address";
          }, {
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }, {
              name: "claimant";
              internalType: "address";
              type: "address";
          }];
          name: "claimIncentiveFor";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "completeOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "data_";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "createBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "createBoostAuth";
          outputs: readonly [{
              name: "";
              internalType: "contract IAuth";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "index";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "getBoost";
          outputs: readonly [{
              name: "";
              internalType: "struct BoostLib.Boost";
              type: "tuple";
              components: readonly [{
                  name: "action";
                  internalType: "contract AAction";
                  type: "address";
              }, {
                  name: "validator";
                  internalType: "contract AValidator";
                  type: "address";
              }, {
                  name: "allowList";
                  internalType: "contract AAllowList";
                  type: "address";
              }, {
                  name: "budget";
                  internalType: "contract ABudget";
                  type: "address";
              }, {
                  name: "incentives";
                  internalType: "contract AIncentive[]";
                  type: "address[]";
              }, {
                  name: "protocolFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "referralFee";
                  internalType: "uint64";
                  type: "uint64";
              }, {
                  name: "maxParticipants";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }];
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "getBoostCount";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "owner";
          outputs: readonly [{
              name: "result";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: "pendingOwner";
              internalType: "address";
              type: "address";
          }];
          name: "ownershipHandoverExpiresAt";
          outputs: readonly [{
              name: "result";
              internalType: "uint256";
              type: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFeeReceiver";
          outputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "referralFee";
          outputs: readonly [{
              name: "";
              internalType: "uint64";
              type: "uint64";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "registry";
          outputs: readonly [{
              name: "";
              internalType: "contract BoostRegistry";
              type: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "renounceOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "requestOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "claimFee_";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "setClaimFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "auth_";
              internalType: "address";
              type: "address";
          }];
          name: "setCreateBoostAuth";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setProtocolFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "protocolFeeReceiver_";
              internalType: "address";
              type: "address";
          }];
          name: "setProtocolFeeReceiver";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "referralFee_";
              internalType: "uint64";
              type: "uint64";
          }];
          name: "setReferralFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: "newOwner";
              internalType: "address";
              type: "address";
          }];
          name: "transferOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }], event, abiEvent, abiEvent[]>, "event" | "events"> & {
          eventName?: event;
          eventNames?: event[];
      }

    Returns Promise<GetLogsReturnType<abiEvent, abiEvent[]>>

    const logs = contract.getLogs({ eventName: 'EventName' })
    const logs = contract.getLogs({ eventNames: ['EventName'] })

    @public
    @async
    @template {ContractEvent} event
    @template {ExtractAbiEvent<
    ContractAbi,
    event
    >} [abiEvent=ExtractAbiEvent<ContractAbi, event>]
    @param {?Omit<
    GetLogsParams<ContractAbi, event, abiEvent, abiEvent[]>,
    'event' | 'events'
    > & {
    eventName?: event;
    eventNames?: event[];
    }} [params]
    @returns {Promise<GetLogsReturnType<abiEvent, abiEvent
  • A typed wrapper for wagmi.watchContractEvent

    Type Parameters

    • event extends
          | "OwnershipHandoverCanceled"
          | "OwnershipHandoverRequested"
          | "OwnershipTransferred"
          | "BoostCreated"

    Parameters

    • cb: ((log: Log<bigint, number, false,
          | Extract<{
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "boostIndex";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: true;
              }, {
                  name: "owner";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "action";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "incentiveCount";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }, {
                  name: "validator";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "allowList";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "budget";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }];
              name: "BoostCreated";
          }, {
              name: event;
          }>
          | Extract<{
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "pendingOwner";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }];
              name: "OwnershipHandoverCanceled";
          }, {
              name: event;
          }>
          | Extract<{
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "pendingOwner";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }];
              name: "OwnershipHandoverRequested";
          }, {
              name: event;
          }>
          | Extract<{
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "oldOwner";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "newOwner";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }];
              name: "OwnershipTransferred";
          }, {
              name: event;
          }>, true>) => unknown)
        • (log): unknown
        • Parameters

          • log: Log<bigint, number, false,
                | Extract<{
                    type: "event";
                    anonymous: false;
                    inputs: readonly [{
                        name: "boostIndex";
                        internalType: "uint256";
                        type: "uint256";
                        indexed: true;
                    }, {
                        name: "owner";
                        internalType: "address";
                        type: "address";
                        indexed: true;
                    }, {
                        name: "action";
                        internalType: "address";
                        type: "address";
                        indexed: true;
                    }, {
                        name: "incentiveCount";
                        internalType: "uint256";
                        type: "uint256";
                        indexed: false;
                    }, {
                        name: "validator";
                        internalType: "address";
                        type: "address";
                        indexed: false;
                    }, {
                        name: "allowList";
                        internalType: "address";
                        type: "address";
                        indexed: false;
                    }, {
                        name: "budget";
                        internalType: "address";
                        type: "address";
                        indexed: false;
                    }];
                    name: "BoostCreated";
                }, {
                    name: event;
                }>
                | Extract<{
                    type: "event";
                    anonymous: false;
                    inputs: readonly [{
                        name: "pendingOwner";
                        internalType: "address";
                        type: "address";
                        indexed: true;
                    }];
                    name: "OwnershipHandoverCanceled";
                }, {
                    name: event;
                }>
                | Extract<{
                    type: "event";
                    anonymous: false;
                    inputs: readonly [{
                        name: "pendingOwner";
                        internalType: "address";
                        type: "address";
                        indexed: true;
                    }];
                    name: "OwnershipHandoverRequested";
                }, {
                    name: event;
                }>
                | Extract<{
                    type: "event";
                    anonymous: false;
                    inputs: readonly [{
                        name: "oldOwner";
                        internalType: "address";
                        type: "address";
                        indexed: true;
                    }, {
                        name: "newOwner";
                        internalType: "address";
                        type: "address";
                        indexed: true;
                    }];
                    name: "OwnershipTransferred";
                }, {
                    name: event;
                }>, true>

          Returns unknown

    • Optionalparams: Partial<Omit<UnionCompute<WatchContractEventParameters<readonly [{
          type: "constructor";
          inputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
          }, {
              name: ...;
              internalType: ...;
              type: ...;
          }];
          stateMutability: "nonpayable";
      }, {
          type: "error";
          inputs: readonly [];
          name: "AlreadyInitialized";
      }, {
          type: "error";
          inputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
          }, {
              name: ...;
              internalType: ...;
              type: ...;
          }];
          name: "ClaimFailed";
      }, {
          type: "error";
          inputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
          }, {
              name: ...;
              internalType: ...;
              type: ...;
          }, {
              name: ...;
              internalType: ...;
              type: ...;
          }];
          name: "InsufficientFunds";
      }, {
          type: "error";
          inputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
          }, {
              name: ...;
              internalType: ...;
              type: ...;
          }];
          name: "InvalidInstance";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NewOwnerIsZeroAddress";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NoHandoverRequest";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Reentrancy";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "error";
          inputs: readonly [];
          name: "Unauthorized";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
              indexed: ...;
          }, {
              name: ...;
              internalType: ...;
              type: ...;
              indexed: ...;
          }, {
              name: ...;
              internalType: ...;
              type: ...;
              indexed: ...;
          }, {
              name: ...;
              internalType: ...;
              type: ...;
              indexed: ...;
          }, {
              name: ...;
              internalType: ...;
              type: ...;
              indexed: ...;
          }, {
              name: ...;
              internalType: ...;
              type: ...;
              indexed: ...;
          }, {
              name: ...;
              internalType: ...;
              type: ...;
              indexed: ...;
          }];
          name: "BoostCreated";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
              indexed: ...;
          }];
          name: "OwnershipHandoverCanceled";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
              indexed: ...;
          }];
          name: "OwnershipHandoverRequested";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
              indexed: ...;
          }, {
              name: ...;
              internalType: ...;
              type: ...;
              indexed: ...;
          }];
          name: "OwnershipTransferred";
      }, {
          type: "function";
          inputs: readonly [];
          name: "FEE_DENOMINATOR";
          outputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "cancelOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "claimFee";
          outputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
          }, {
              name: ...;
              internalType: ...;
              type: ...;
          }, {
              name: ...;
              internalType: ...;
              type: ...;
          }, {
              name: ...;
              internalType: ...;
              type: ...;
          }];
          name: "claimIncentive";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
          }, {
              name: ...;
              internalType: ...;
              type: ...;
          }, {
              name: ...;
              internalType: ...;
              type: ...;
          }, {
              name: ...;
              internalType: ...;
              type: ...;
          }, {
              name: ...;
              internalType: ...;
              type: ...;
          }];
          name: "claimIncentiveFor";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
          }];
          name: "completeOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
          }];
          name: "createBoost";
          outputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
              components: ...;
          }];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "createBoostAuth";
          outputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
          }];
          name: "getBoost";
          outputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
              components: ...;
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "getBoostCount";
          outputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "owner";
          outputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
          }];
          name: "ownershipHandoverExpiresAt";
          outputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFee";
          outputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "protocolFeeReceiver";
          outputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "referralFee";
          outputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "registry";
          outputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
          }];
          stateMutability: "view";
      }, {
          type: "function";
          inputs: readonly [];
          name: "renounceOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [];
          name: "requestOwnershipHandover";
          outputs: readonly [];
          stateMutability: "payable";
      }, {
          type: "function";
          inputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
          }];
          name: "setClaimFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
          }];
          name: "setCreateBoostAuth";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
          }];
          name: "setProtocolFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
          }];
          name: "setProtocolFeeReceiver";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
          }];
          name: "setReferralFee";
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          inputs: readonly [{
              name: ...;
              internalType: ...;
              type: ...;
          }];
          name: "transferOwnership";
          outputs: readonly [];
          stateMutability: "payable";
      }], event, undefined, WebSocketTransport> & ChainIdParameter<Config, number> & SyncConnectedChainParameter>, "address" | "abi">> & {
          eventName?: event;
      }

    Returns Promise<(() => void)>

  • Protected

    Internal function to attach the connected account to write methods to avoid manually passing in an account each call.

    Parameters

    • Optionalaccount: Account

    Returns {
        account: Account;
    } | {
        account: undefined;
    }